The following lines contain the word 'select', 'insert', 'update' or 'delete':
l_process_update_replace BOOLEAN := FALSE;
SELECT interface_header_id
BULK COLLECT
INTO l_intf_header_id_tbl
FROM (SELECT interface_header_id
FROM po_headers_interface
WHERE processing_round_num IS NULL
AND processing_id = PO_PDOI_PARAMS.g_processing_id
AND action IN (PO_PDOI_CONSTANTS.g_action_ORIGINAL,
PO_PDOI_CONSTANTS.g_action_ADD)
ORDER BY interface_header_id)
WHERE rownum <= PO_PDOI_PARAMS.g_request.batch_size;
l_process_update_replace := TRUE;
UPDATE po_headers_interface
SET processing_round_num = PO_PDOI_PARAMS.g_current_round_num
WHERE interface_header_id = l_intf_header_id_tbl(i);
PO_LOG.stmt(d_module, d_position, 'updated ' || SQL%ROWCOUNT ||
'rows with current round number ');
l_process_update_replace := TRUE;
IF (l_process_update_replace) THEN
d_position := 50;
SELECT interface_header_id,
po_header_id
BULK COLLECT
INTO l_intf_header_id_tbl,
l_po_header_id_tbl
FROM po_headers_interface
WHERE processing_round_num IS NULL
AND processing_id = PO_PDOI_PARAMS.g_processing_id
AND po_header_id IS NOT NULL
AND action IN (PO_PDOI_CONSTANTS.g_action_UPDATE,
PO_PDOI_CONSTANTS.g_action_REPLACE)
ORDER BY interface_header_id;
UPDATE po_headers_interface
SET processing_round_num = PO_PDOI_PARAMS.g_current_round_num
WHERE interface_header_id = l_process_list(i);
PO_LOG.stmt(d_module, d_position, 'updated ' || SQL%ROWCOUNT ||
'rows with current round number ');
SELECT PHI.interface_header_id,
PHI.po_header_id,
PHI.action,
NVL(PH.revision_num, 0)
BULK COLLECT
INTO l_intf_header_id_tbl,
l_po_header_id_tbl,
l_action_tbl,
l_revision_num_tbl
FROM po_headers_interface PHI,
po_headers_all PH
WHERE PHI.processing_id = PO_PDOI_PARAMS.g_processing_id
AND PHI.processing_round_num = PO_PDOI_PARAMS.g_current_round_num
AND PHI.po_header_id = PH.po_header_id(+)
FOR UPDATE OF PH.po_header_id;
IF (l_action_tbl(i) = PO_PDOI_CONSTANTS.g_action_UPDATE) THEN
d_position := 20;
UPDATE po_headers_interface
SET draft_id = l_draft_id_tbl(i)
WHERE interface_header_id = l_intf_header_id_tbl(i)
AND processing_id = PO_PDOI_PARAMS.g_processing_id;
INSERT INTO po_drafts
( draft_id,
document_id,
revision_num,
owner_user_id,
owner_role,
status,
last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
request_id
)
VALUES
( l_draft_id_tbl(i),
l_po_header_id_tbl(i),
l_revision_num_tbl(i),
FND_GLOBAL.user_id,
PO_PDOI_PARAMS.g_request.role,
l_status,
SYSDATE,
FND_GLOBAL.user_id,
FND_GLOBAL.login_id,
SYSDATE,
FND_GLOBAL.user_id,
FND_GLOBAL.conc_request_id
);
UPDATE po_drafts
SET status = l_status,
request_id = FND_GLOBAL.conc_request_id,
last_update_date = SYSDATE,
last_updated_by = FND_GLOBAL.user_id
WHERE draft_id = l_draft_id_tbl(i);
l_delete_flag_tbl PO_TBL_VARCHAR1 := PO_TBL_VARCHAR1();
SELECT PHI.draft_id,
POL.po_line_id
BULK COLLECT
INTO l_draft_id_tbl,
l_line_id_tbl
FROM po_headers_interface PHI,
po_lines_all POL
WHERE PHI.processing_id = PO_PDOI_PARAMS.g_processing_id
AND PHI.processing_round_num = PO_PDOI_PARAMS.g_current_round_num
AND PHI.po_header_id = POL.po_header_id
AND POL.catalog_name = PO_PDOI_PARAMS.g_request.catalog_to_expire
AND NVL(POL.cancel_flag, 'N') = 'N'
AND NVL(POL.closed_code, 'OPEN') <> 'FINALLY CLOSED'
AND NVL(POL.expiration_date, SYSDATE+1) > SYSDATE;
l_delete_flag_tbl.EXTEND(l_line_id_tbl.COUNT);
p_delete_flag_tbl => l_delete_flag_tbl,
x_record_already_exist_tbl => l_record_exist_tbl
);
UPDATE po_lines_draft_all
SET expiration_date = TRUNC(SYSDATE-1)
WHERE po_line_id = l_line_id_tbl(i)
AND draft_id = l_draft_id_tbl(i);
PO_PDOI_PARAMS.g_docs_info.DELETE;
SELECT count(*)
INTO l_reject_count
FROM po_lines_interface PLI
WHERE PLI.interface_header_id = p_intf_header_id_tbl(i)
AND PLI.process_code = PO_PDOI_CONSTANTS.g_PROCESS_CODE_REJECTED;