869: END IF;
870:
871: /*Bug7286203 - Added some fields to archival check so that cancellation and archival are in sync*/
872:
873: INSERT INTO PO_LINES_ARCHIVE_ALL
874: (allow_price_override_flag,
875: amount,
876: attribute1,
877: attribute10,
1165: , POL.supplier_part_auxid --
1166: , POL.ip_category_id --
1167: , POL.last_updated_program --
1168: FROM PO_LINES_ALL POL,
1169: PO_LINES_ARCHIVE_ALL POLA
1170: WHERE POL.po_header_id = p_document_id
1171: AND POL.po_line_id = POLA.po_line_id (+)
1172: AND POLA.latest_external_flag (+) = 'Y'
1173: AND ((POLA.po_line_id is NULL) OR
1296: 'Update PO_LINES_ARCHIVE to reset latest_external_flag');
1297: END IF;
1298:
1299: -- If a row was inserted into PO_LINES_ARCHIVE, then set the appropriate flags
1300: UPDATE PO_LINES_ARCHIVE_ALL POL1
1301: SET latest_external_flag = 'N'
1302: WHERE po_header_id = p_document_id
1303: AND latest_external_flag = 'Y'
1304: AND revision_num < p_revision_num
1303: AND latest_external_flag = 'Y'
1304: AND revision_num < p_revision_num
1305: AND EXISTS
1306: (SELECT 'A new archived row'
1307: FROM PO_LINES_ARCHIVE_ALL POL2
1308: WHERE POL2.po_line_id = POL1.po_line_id
1309: AND POL2.latest_external_flag = 'Y'
1310: AND POL2.revision_num = p_revision_num);
1311: ELSE
3185: RETURN BOOLEAN
3186: IS
3187: CURSOR archived_line_csr IS
3188: SELECT 'Line archive records'
3189: FROM po_lines_archive_all
3190: WHERE po_line_id = p_po_line_id;
3191:
3192: l_archived_line_csr_type archived_line_csr%ROWTYPE;
3193: l_line_is_archived BOOLEAN;