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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user