Search Results icx_po_locations_diff_v




Overview

ICX_PO_LOCATIONS_DIFF_V is an APPS-owned database view in Oracle E-Business Suite, delivered under the ICX (Oracle iProcurement) product. It is documented in the E-Business Suite Technical Reference Manual (ETRM) for releases 12.1.1 and 12.2.2 with a status of VALID. Its functional description in the ETRM is simply "Obsolete," indicating that the object is retained only for backward compatibility and that Oracle no longer actively maintains or enhances it.

The view is designed to expose change or "difference" records captured for purchase order shipment locations during iProcurement's shopping and checkout flow. iProcurement allows a requester to alter a destination location on a requisition-derived or template-derived PO line; internally the application records before-and-after values of the altered field into a temporary revisions table. ICX_PO_LOCATIONS_DIFF_V surfaces only those revision rows where the altered level is a location (LEVEL_ALTERED = 'ICX_LOCATION'), joining them back to the affected archived PO line and item so the change can be presented, audited, or reconciled. Because the object is flagged obsolete, it is not referenced by supported iProcurement features in the current release, and any custom integration relying on it carries maintenance risk.

Underlying Base Objects

The view text references exactly three base objects, all accessed through APPS-level synonyms:

The join structure is an inner-join chain keyed on the PO line identifier, with the driving filter restricting output to location-level alterations. No other tables, packages, or functions are involved; the view is a pure relational projection with no PL/SQL logic.

Key Columns

  • LINE_SEQ — sequence number of the revision record within the temporary revisions table, used for ordering multiple changes.
  • HEADER_ID / RELEASE_ID — identifiers of the PO header and, where applicable, the release (blanket agreement) associated with the changed line.
  • LINE_ID — identifier of the purchase order line whose location was altered; joins to PO_LINES_ARCHIVE.PO_LINE_ID.
  • LINE_NUM — displayed line number from the archived PO line.
  • ITEM_ID / ITEM_NUM — internal item identifier and the concatenated item key flexfield segments (from MTL_SYSTEM_ITEMS_KFV) for readability.
  • LOCATION_ID / LOCATION_NUM — the new location identifier and its human-readable location code.
  • LEVEL_ALTERED — the level at which the change occurred; always 'ICX_LOCATION' in this view.
  • FIELD_ALTERED — the specific shipment/location attribute that was changed.
  • CHANGES_FROM / CHANGES_TO — the prior and new values of the altered field, forming the actual before/after delta.

Common Use Cases and Queries

Because the object is obsolete, its realistic uses are diagnostic and historical: investigating why an iProcurement checkout changed a destination location, auditing location edits captured in ICX_PO_REVISIONS_TEMP, or validating custom code inherited from earlier releases. A typical query to list all recorded location changes for a given item is:

  • SELECT line_num, item_num, location_num, field_altered, changes_from, changes_to FROM apps.icx_po_locations_diff_v WHERE item_id = :item_id ORDER BY line_seq;
  • SELECT header_id, line_id, COUNT(*) FROM apps.icx_po_locations_diff_v GROUP BY header_id, line_id;
  • SELECT d.location_num, d.changes_from, d.changes_to FROM apps.icx_po_locations_diff_v d WHERE d.line_id = :po_line_id ORDER BY d.line_seq;

Viewing the object requires SELECT privilege on the APPS synonyms or direct access to the base tables. Given the OBsolete designation in the ETRM, customizations should preferably query ICX_PO_REVISIONS_TEMP and PO_LINES_ARCHIVE directly, or migrate to supported iProcurement revision-handling APIs, rather than depending on this view across upgrades.