The following lines contain the word 'select', 'insert', 'update' or 'delete':
INSERT INTO PO_SESSION_GT(key, num1)
VALUES (l_id_key, p_req_header_id_tbl(i))
RETURNING ROWIDTOCHAR(rowid)
BULK COLLECT INTO l_rowid_char_tbl
;
UPDATE PO_SESSION_GT SES
SET
( char1, -- document sub type
num2, -- approval id
num3 -- org_id
)
=
( SELECT prh.type_lookup_code,
podc.default_approval_path_id,
prh.org_id
FROM po_requisition_headers_all prh,
po_document_types_all podc
WHERE prh.requisition_header_id = p_req_header_id_tbl(i)
AND podc.document_type_code = 'REQUISITION'
AND podc.document_subtype = prh.type_lookup_code
AND podc.org_id = prh.org_id --
)
WHERE SES.rowid = CHARTOROWID(l_rowid_char_tbl(i))
RETURNING
char1,
num2,
num3
BULK COLLECT INTO
l_doc_sub_type_tbl,
l_approval_id_tbl,
l_org_id_tbl
;
UPDATE po_drafts
SET status = 'RETURNED'
WHERE draft_id IN (SELECT par_draft_id
FROM po_requisition_headers_all
-- Bug 16778189- Use column_value instaed of requisition_header_id
WHERE requisition_header_id IN (SELECT column_value FROM TABLE(p_req_header_id_tbl)))
AND NOT EXISTS (SELECT par_line_id
FROM po_requisition_lines_all prl
WHERE requisition_header_id IN (SELECT column_value FROM TABLE(p_req_header_id_tbl))
-- Use Exists clause instead of Not in
AND EXISTS (SELECT po_line_id FROM po_lines_draft_all plda WHERE prl.par_line_id = plda.po_line_id
AND mod_draft_id IS NOT NULL)) ;
PO_LOG.stmt(l_api_name, 10, 'No of records updated in po_drafts ', SQL%ROWCOUNT);
UPDATE po_lines_draft_all
SET DRAFT_LINE_STATUS ='RETURNED'
WHERE po_line_id IN (SELECT par_line_id
FROM po_requisition_lines_all
WHERE requisition_header_id IN (SELECT column_value FROM TABLE(p_req_header_id_tbl)))
--Bug 16778189 - Include draftId condition
AND draft_id IN (SELECT par_draft_id
FROM po_requisition_headers_all
WHERE requisition_header_id IN (SELECT column_value FROM TABLE(p_req_header_id_tbl)))
AND mod_draft_id IS NULL;
PO_LOG.stmt(l_api_name, 20, 'No of records updated in po_lines_draft_all ', SQL%ROWCOUNT);