The following lines contain the word 'select', 'insert', 'update' or 'delete':
, x_delete_list OUT NOCOPY PO_TBL_NUMBER
, x_insert_list OUT NOCOPY PO_TBL_NUMBER
, x_update_list OUT NOCOPY PO_TBL_NUMBER
);
INSERT INTO po_session_gt
( key,
num1
)
SELECT l_key,
l_index_tbl(i)
FROM DUAL
WHERE EXISTS (SELECT 1
FROM po_lines_draft_all PLD
WHERE PLD.draft_id = p_draft_id_tbl(i)
AND PLD.po_line_id = NVL(p_po_line_id_tbl(i),
PLD.po_line_id)
AND NVL(PLD.change_accepted_flag, 'Y') = 'Y');
DELETE FROM po_session_gt
WHERE key = l_key
RETURNING num1
BULK COLLECT INTO l_dft_exists_index_tbl;
l_delete_list PO_TBL_NUMBER;
l_insert_list PO_TBL_NUMBER;
l_update_list PO_TBL_NUMBER;
, x_delete_list => l_delete_list
, x_insert_list => l_insert_list
, x_update_list => l_update_list
);
IF (l_delete_list.COUNT > 0) THEN
d_position := 30;
FOR i IN 1..l_delete_list.COUNT LOOP
FND_ATTACHED_DOCUMENTS2_PKG.delete_attachments
( 'PO_LINES',
l_delete_list(i),
'','','','','', 'Y'
);
l_update_retro_date_flag_tbl PO_TBL_VARCHAR1;
SELECT POLD.po_line_id,
NVL(POLD.price_break_lookup_code, 'NON CUMULATIVE'),
'N'
BULK COLLECT
INTO l_po_line_id_tbl,
l_price_break_lookup_code_tbl,
l_update_retro_date_flag_tbl
FROM po_lines_all POL,
po_lines_draft_all POLD
WHERE POLD.draft_id = p_draft_info.draft_id
AND POLD.po_line_id = POL.po_line_Id
AND NVL(POLD.delete_flag, 'N') = 'N'
AND NVL(POLD.change_accepted_flag, 'Y') = 'Y'
AND DECODE(POLD.unit_price, POL.unit_price, 'Y', 'N') = 'N' ;
l_update_retro_date_flag_tbl(i) := 'Y';
l_update_retro_date_flag_tbl(i) := 'Y';
UPDATE po_lines_draft_all
SET retroactive_date = SYSDATE
WHERE draft_id = p_draft_info.draft_id
AND po_line_id = l_po_line_id_tbl(i)
AND l_update_retro_date_flag_tbl(i) = 'Y';
, x_delete_list OUT NOCOPY PO_TBL_NUMBER
, x_insert_list OUT NOCOPY PO_TBL_NUMBER
, x_update_list OUT NOCOPY PO_TBL_NUMBER
) IS
d_api_name CONSTANT VARCHAR2(30) := 'group_records_by_dml_type';
x_delete_list := PO_TBL_NUMBER();
x_insert_list := PO_TBL_NUMBER();
x_update_list := PO_TBL_NUMBER();
SELECT PLD.po_line_id,
NVL(PLD.delete_flag, 'N'),
DECODE(PL.po_line_id, NULL, 'N', 'Y')
BULK COLLECT
INTO l_id_list,
l_del_flag_list,
l_txn_exists_list
FROM po_lines_draft_all PLD,
po_lines_all PL
WHERE PLD.draft_id = p_draft_info.draft_id
AND NVL(PLD.change_accepted_flag, 'Y') = 'Y'
AND PLD.po_line_id = PL.po_line_id(+);
x_delete_list.extend;
x_delete_list(x_delete_list.LAST) := l_id_list(i);
x_update_list.extend;
x_update_list(x_update_list.LAST) := l_id_list(i);
x_insert_list.extend;
x_insert_list(x_insert_list.LAST) := l_id_list(i);