662: -- Archive the lines.
663: -- This will be an exact copy of po_lines except for the
664: -- latest_external_flag and the revision_num. Keep the columns
665: -- in alphabetical order for easy verification.
666: INSERT INTO PO_LINES_ARCHIVE
667: (
668: ALLOW_PRICE_OVERRIDE_FLAG ,
669: ATTRIBUTE1 ,
670: ATTRIBUTE10 ,
822: POL.USER_HOLD_FLAG ,
823: POL.USSGL_TRANSACTION_CODE ,
824: POL.VENDOR_PRODUCT_NUM
825: FROM PO_LINES POL,
826: PO_LINES_ARCHIVE POLA
827: WHERE POL.PO_HEADER_ID = p_document_id
828: AND POL.PO_LINE_ID = POLA.PO_LINE_ID (+)
829: AND POLA.LATEST_EXTERNAL_FLAG (+) = 'Y'
830: AND (
909: -- - latest_external_flag = 'Y'
910: -- - revision_num < p_revision_num (the new revision of the
911: -- header)
912: -- - have no new archived row
913: UPDATE PO_LINES_ARCHIVE POL1
914: SET LATEST_EXTERNAL_FLAG = 'N'
915: WHERE PO_HEADER_ID = p_document_id
916: AND LATEST_EXTERNAL_FLAG = 'Y'
917: AND REVISION_NUM < p_revision_num
916: AND LATEST_EXTERNAL_FLAG = 'Y'
917: AND REVISION_NUM < p_revision_num
918: AND EXISTS
919: (SELECT 'A new archived row'
920: FROM PO_LINES_ARCHIVE POL2
921: WHERE POL2.PO_LINE_ID = POL1.PO_LINE_ID
922: AND POL2.LATEST_EXTERNAL_FLAG = 'Y'
923: AND POL2.REVISION_NUM = p_revision_num);
924: END IF;