148: -- Case entity.document_subtype is
149: -- When STANDARD or PLANNED
150: -- archive PO_HEADERS
151: -- when modified archive PO_LINES, PO_LINE_LOCATIONS and
152: -- PO_DISTRIBUTIONS.
153: -- End Case
154: -- When PA
155: -- Case entity.document_subtype is
156: -- When BLANKET
159: -- When CONTRACT
160: -- archive PO_HEADERS
161: -- When RELEASE
162: -- archive PO_RELEASES
163: -- when modified archive PO_LINE_LOCATIONS and PO_DISTRIBUTIONS.
164: -- End Case
165: -- Note: Private Procedure
166: -- ============================================================================
167:
933: END PORARLINES;
934:
935: -- ============================================================================
936: -- Name: porarshipdist
937: -- Desc: Archive PO_LINE_LOCATIONS and PO_DISTRIBUTIONS
938: -- Args: IN: p_document_id - The unique identifier of the Purchase Order
939: -- p_revision_num - The revision number of the header
940: -- Err : Error message context returned in global_stack.
941: -- Algr: Set the LATEST_EXTERNAL_FLAG of the currently archived line locations
1214: AND POL2.REVISION_NUM = p_revision_num);
1215: END IF;
1216:
1217: -- Archive the distributions.
1218: -- This will be an exact copy of po_distributions except for the
1219: -- latest_external_flag and the revision_num. Keep the columns
1220: -- in alphabetical order for easy verification.
1221: INSERT INTO PO_DISTRIBUTIONS_ARCHIVE
1222: (
1217: -- Archive the distributions.
1218: -- This will be an exact copy of po_distributions except for the
1219: -- latest_external_flag and the revision_num. Keep the columns
1220: -- in alphabetical order for easy verification.
1221: INSERT INTO PO_DISTRIBUTIONS_ARCHIVE
1222: (
1223: ACCRUAL_ACCOUNT_ID ,
1224: ACCRUED_FLAG ,
1225: ACCRUE_ON_RECEIPT_FLAG ,
1382: POD.WIP_LINE_ID ,
1383: POD.WIP_OPERATION_SEQ_NUM ,
1384: POD.WIP_REPETITIVE_SCHEDULE_ID ,
1385: POD.WIP_RESOURCE_SEQ_NUM
1386: FROM PO_DISTRIBUTIONS POD,
1387: PO_DISTRIBUTIONS_ARCHIVE PODA
1388: WHERE POD.PO_HEADER_ID = p_document_id
1389: AND POD.PO_DISTRIBUTION_ID = PODA.PO_DISTRIBUTION_ID (+)
1390: AND PODA.LATEST_EXTERNAL_FLAG (+) = 'Y'
1383: POD.WIP_OPERATION_SEQ_NUM ,
1384: POD.WIP_REPETITIVE_SCHEDULE_ID ,
1385: POD.WIP_RESOURCE_SEQ_NUM
1386: FROM PO_DISTRIBUTIONS POD,
1387: PO_DISTRIBUTIONS_ARCHIVE PODA
1388: WHERE POD.PO_HEADER_ID = p_document_id
1389: AND POD.PO_DISTRIBUTION_ID = PODA.PO_DISTRIBUTION_ID (+)
1390: AND PODA.LATEST_EXTERNAL_FLAG (+) = 'Y'
1391: AND (
1408: -- - latest_external_flag = 'Y'
1409: -- - revision_num < p_revision_num (the new revision of the
1410: -- header)
1411: -- - have no new archived row
1412: UPDATE PO_DISTRIBUTIONS_ARCHIVE POD1
1413: SET LATEST_EXTERNAL_FLAG = 'N'
1414: WHERE PO_HEADER_ID = p_document_id
1415: AND LATEST_EXTERNAL_FLAG = 'Y'
1416: AND REVISION_NUM < p_revision_num
1415: AND LATEST_EXTERNAL_FLAG = 'Y'
1416: AND REVISION_NUM < p_revision_num
1417: AND EXISTS
1418: (SELECT 'A new archived row'
1419: FROM PO_DISTRIBUTIONS_ARCHIVE POD2
1420: WHERE POD2.PO_DISTRIBUTION_ID = POD1.PO_DISTRIBUTION_ID
1421: AND POD2.LATEST_EXTERNAL_FLAG = 'Y'
1422: AND POD2.REVISION_NUM = p_revision_num);
1423:
1433: END PORARSHIPDIST;
1434:
1435: -- ============================================================================
1436: -- Name: porarrelease
1437: -- Desc: Archive PO_RELEASES, PO_LINE_LOCATIONS and PO_DISTRIBUTIONS
1438: -- Args: IN: p_document_id - The unique identifier of the Release
1439: -- p_revision_num - The revision number of the header
1440: -- Err : Error message context returned in global_stack.
1441: -- Algr: Set the LATEST_EXTERNAL_FLAG of the currently archived release
1441: -- Algr: Set the LATEST_EXTERNAL_FLAG of the currently archived release
1442: -- to "N"
1443: -- Archive PO_RELEASES
1444: -- Archive PO_LINE_LOCATIONS
1445: -- Archive PO_DISTRIBUTIONS
1446: -- Note: Private Procedure
1447: -- ============================================================================
1448:
1449: PROCEDURE PORARRELEASE (
1835:
1836: END IF;
1837:
1838: -- Archive the distributions.
1839: INSERT INTO PO_DISTRIBUTIONS_ARCHIVE
1840: (
1841: ACCRUAL_ACCOUNT_ID ,
1842: ACCRUED_FLAG ,
1843: ACCRUE_ON_RECEIPT_FLAG ,
2000: POD.WIP_LINE_ID ,
2001: POD.WIP_OPERATION_SEQ_NUM ,
2002: POD.WIP_REPETITIVE_SCHEDULE_ID ,
2003: POD.WIP_RESOURCE_SEQ_NUM
2004: FROM PO_DISTRIBUTIONS POD,
2005: PO_DISTRIBUTIONS_ARCHIVE PODA
2006: WHERE POD.PO_RELEASE_ID = p_document_id
2007: AND POD.PO_DISTRIBUTION_ID = PODA.PO_DISTRIBUTION_ID (+)
2008: AND PODA.LATEST_EXTERNAL_FLAG (+) = 'Y'
2001: POD.WIP_OPERATION_SEQ_NUM ,
2002: POD.WIP_REPETITIVE_SCHEDULE_ID ,
2003: POD.WIP_RESOURCE_SEQ_NUM
2004: FROM PO_DISTRIBUTIONS POD,
2005: PO_DISTRIBUTIONS_ARCHIVE PODA
2006: WHERE POD.PO_RELEASE_ID = p_document_id
2007: AND POD.PO_DISTRIBUTION_ID = PODA.PO_DISTRIBUTION_ID (+)
2008: AND PODA.LATEST_EXTERNAL_FLAG (+) = 'Y'
2009: AND (
2026: -- - latest_external_flag = 'Y'
2027: -- - revision_num < p_revision_num (the new revision of the
2028: -- header)
2029: -- - no new archived row
2030: UPDATE PO_DISTRIBUTIONS_ARCHIVE POD1
2031: SET LATEST_EXTERNAL_FLAG = 'N'
2032: WHERE PO_RELEASE_ID = p_document_id
2033: AND LATEST_EXTERNAL_FLAG = 'Y'
2034: AND REVISION_NUM < p_revision_num
2033: AND LATEST_EXTERNAL_FLAG = 'Y'
2034: AND REVISION_NUM < p_revision_num
2035: AND EXISTS
2036: (SELECT 'A new archived row'
2037: FROM PO_DISTRIBUTIONS_ARCHIVE POD2
2038: WHERE POD2.PO_DISTRIBUTION_ID = POD1.PO_DISTRIBUTION_ID
2039: AND POD2.LATEST_EXTERNAL_FLAG = 'Y'
2040: AND POD2.REVISION_NUM = p_revision_num);
2041: