Search Results get_source_quotation_header
Overview
APPS.PO_COMPARE_REVISIONS is a PL/SQL package in Oracle E-Business Suite (available in both 12.1.1 and 12.2.2) that supports the Purchasing application's revision comparison feature. Its primary business function is to detect, record, and report the differences between successive revisions of purchasing documents — purchase orders, releases, lines, line locations, and distributions — by comparing archived snapshot rows held in the PO_*_ARCHIVE tables.
The package is declared with AUTHID CURRENT_USER, meaning its database objects are resolved under the privileges of the invoking session rather than the package owner. This design allows the package to be called from various application contexts, including Oracle Forms, concurrent programs, and custom extensions, while honoring the calling user's security profile. The package header carries the revision identifier POXPOCMS.pls 115.4, indicating it is part of the Purchasing module's core revision-management infrastructure.
The user search term "compare_lines" maps directly to the COMPARE_LINES procedure, which is the line-level workhorse of the revision comparison mechanism.
Key Procedures and Functions
The package exposes 19 documented procedures and functions, which fall into three functional groups.
- Comparison routines: COMPARE_HEADERS, COMPARE_RELEASES, COMPARE_LINES, COMPARE_LOCATIONS, and COMPARE_DISTRIBUTIONS. Each accepts a "from" and a "to" archived row (for example, PO_LINES_ARCHIVE records) plus a sequence number, and determines which fields differ between the two revisions. COMPARE_LINES examines line-level attributes such as item, quantity, price, and promised dates.
- Change-recording routines: INSERT_CHANGES persists a detected difference into the revision-tracking tables, capturing the line sequence, document identifiers, the level and field altered, and the "from" and "to" values. VERIFY_NO_DIFFERENCES validates that no changes remain unrecorded for a given line sequence, and PURGE removes obsolete revision-comparison data based on a supplied date.
- Lookup and translation functions: GET_UN_NUMBER, GET_ITEM_NUMBER, GET_HAZARD_CLASS, GET_AP_TERMS, GET_BUYER, GET_VENDOR_CONTACT, GET_LOCATION, GET_SOURCE_QUOTATION_HEADER, GET_SOURCE_QUOTATION_LINE, GET_PO_LOOKUP, and GET_CHARGE_ACCOUNT convert internal numeric identifiers into display-ready values, so that revision reports show meaningful descriptions instead of raw IDs.
Tables Accessed
The package operates primarily against the archival snapshot tables PO_HEADERS_ARCHIVE, PO_RELEASES_ARCHIVE, PO_LINES_ARCHIVE, PO_LINE_LOCATIONS_ARCHIVE, and PO_DISTRIBUTIONS_ARCHIVE, which hold the historical copies of purchasing documents against which current revisions are compared. It also references the live transaction tables PO_HEADERS, PO_LINES, PO_LINES_ALL, and PO_LINE_LOCATIONS_ALL to resolve current values.
Supporting lookups draw on AP_TERMS (payment terms), MTL_SYSTEM_ITEMS (item descriptions), PO_HAZARD_CLASSES and PO_UN_NUMBERS (hazardous material data), and FINANCIALS_SYSTEM_PARAMETERS (financials configuration). ICX_PO_REVISIONS_TEMP serves as a temporary staging area for revision comparison output. All tables are accessed through APPS synonyms, and the package is referenced by five other packages within the Purchasing schema.
Usage Notes
PO_COMPARE_REVISIONS is most commonly invoked from the Oracle Purchasing forms when a user requests a revision comparison for a purchase order, at which point the comparison procedures are driven against the archive tables and the translation functions render the output. The PURGE procedure is typically scheduled as a concurrent program to remove aged revision data and control table growth.
Because the package uses AUTHID CURRENT_USER and exposes a documented public interface, it can also be called from custom PL/SQL to build revision-difference reports or to integrate revision history into external systems. Developers should note that the comparison procedures expect archive row types and that direct calls should honor the same sequence-numbering conventions used internally, as documented in the ETRM 12.2.2 object catalog.
-
PACKAGE: APPS.PO_COMPARE_REVISIONS
12.2.2
-
PACKAGE: APPS.PO_COMPARE_REVISIONS
12.1.1
-
PACKAGE: APPS.POS_COMPARE_REVISIONS
12.1.1
-
PACKAGE: APPS.POS_COMPARE_REVISIONS
12.2.2
-
APPS.PO_COMPARE_REVISIONS SQL Statements
12.1.1
-
APPS.PO_COMPARE_REVISIONS SQL Statements
12.2.2
-
PACKAGE BODY: APPS.PO_COMPARE_REVISIONS
12.2.2
-
PACKAGE BODY: APPS.PO_COMPARE_REVISIONS
12.1.1
-
APPS.POS_COMPARE_REVISIONS SQL Statements
12.1.1
-
APPS.POS_COMPARE_REVISIONS SQL Statements
12.2.2
-
PACKAGE BODY: APPS.POS_COMPARE_REVISIONS
12.2.2
-
PACKAGE BODY: APPS.POS_COMPARE_REVISIONS
12.1.1
-
APPS.PO_COMPARE_REVISIONS dependencies on PO_HEADERS
12.1.1
-
APPS.PO_COMPARE_REVISIONS dependencies on PO_HEADERS
12.2.2
-
APPS.POS_COMPARE_REVISIONS dependencies on PO_HEADERS
12.1.1
-
APPS.POS_COMPARE_REVISIONS dependencies on PO_HEADERS
12.2.2
-
APPS.POS_COMPARE_REVISIONS dependencies on FND_MESSAGE
12.1.1
-
APPS.POS_COMPARE_REVISIONS dependencies on FND_MESSAGE
12.2.2