added delete_enquiry function so that web mip admin and i&c can delete enquiries

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@3436 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
PriestJ
2008-01-31 16:00:40 +00:00
parent e208461112
commit 6833abac25

View File

@@ -7,6 +7,7 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
--
-- Public function and procedure declarations
FUNCTION delete_enquiry(p_enquiryid IN NUMBER) RETURN BOOLEAN;
FUNCTION get_enquiry_status(p_enquiryid IN NUMBER) RETURN VARCHAR2;
FUNCTION get_enquiry_role(p_enquiryid IN NUMBER
@@ -52,6 +53,58 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
END mip_enquiry;
/
CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
/*
FUNCTION delete_enquiry
- This function returns the status of the enquiry provided
%param p_enquiryid - the enquiry we want to delete.
%return boolean - whether the enquiry was deleted or not
*/
FUNCTION delete_enquiry(p_enquiryid IN NUMBER) RETURN BOOLEAN AS
l_uri documents.uri%type;
l_doc_id documents.id%type;
l_count number := 0;
CURSOR c_get_doc_id(cp_enq_id number) is
select id
from document_roles
where enqu_id=cp_enq_id;
CURSOR c_get_uri(cp_id number) is
select uri
from documents
where id=cp_id;
CURSOR c_get_document_files(cp_enq_id number) is
select documents.uri
from documents,document_roles
where document_roles.enqu_id = cp_enq_id
and documents.id = document_roles.docu_id;
begin
--select count(*) into l_count from quotes where quotes.enqu_id=p_enquiryid;
--if l_count > 0 then
-- return false;
--end if;
IF NOT c_get_doc_id%ISOPEN THEN
OPEN c_get_doc_id(p_enquiryid);
END IF;
FETCH c_get_doc_id
INTO l_doc_id;
CLOSE c_get_doc_id;
IF NOT c_get_uri%ISOPEN THEN
OPEN c_get_uri(l_doc_id);
END IF;
FETCH c_get_uri
INTO l_uri;
CLOSE c_get_uri;
delete enquiry_roles where enquiry_roles.enqu_id = p_enquiryid;
delete enquiry_events where enquiry_events.enqu_id = p_enquiryid;
FOR doc_rec IN c_get_document_files(p_enquiryid) LOOP
delete wwv_flow_files where wwv_flow_files.name = doc_rec.uri;
end loop;
delete document_roles where document_roles.enqu_id = p_enquiryid;
delete documents where documents.id = l_doc_id;
delete enquiries where enquiries.id = p_enquiryid;
return true;
END delete_enquiry;
/*
FUNCTION get_enquiry_status
- This function returns the status of the enquiry provided