Search Results po_price_diff_interface




Overview

The PO_PRICE_DIFF_INTERFACE table in the PO (Purchasing) schema serves as the open interface staging area for price differential definitions tied to rate-based purchasing lines. Price differentials represent adjustments applied to a base price for rate-based documents — such as discounts, surcharges, or negotiated modifiers — and this interface captures them in flat or converted form before the Purchasing pricing engine validates and migrates them into the destination operational tables. Rows enter this table through SQL*Loader, external systems, or Oracle Purchasing's own API-based import routines, and are subsequently processed by the Purchasing Documents Open Interface (PDOI) or the price differential conversion program. Each row is transient by design: successful processing promotes the data downstream, while failures are logged in the PO_INTERFACE_ERRORS table for user correction and reprocessing.

From a Data Vault modeling perspective, the ETRM metadata's heuristic classification places this object as standalone. In practice, this is consistent with an interface/staging artifact rather than a normalized business entity: it lacks inbound foreign keys from the primary operational tables and instead carries a surrogate key that is referenced by the error-tracking table. The table is not a persistent composite entity or relationship; it is a technical landing zone whose lifecycle ends upon successful import.

Key Information Stored

The table's documented physical schema contains twenty columns. The most significant include:

The distinction between the surrogate key (PRICE_DIFF_INTERFACE_ID) and business-key candidates is important: only the surrogate identifier is enforced uniquely, so users relying on PRICE_DIFFERENTIAL_NUM for de-duplication should do so with awareness of the interface's transient nature.

Common Use Cases and Queries

The primary use case is monitoring and troubleshooting price differential imports. Typical queries include:

  • Pending rows awaiting processing: SELECT PRICE_DIFF_INTERFACE_ID, PRICE_DIFFERENTIAL_NUM, PROCESS_STATUS FROM PO.PO_PRICE_DIFF_INTERFACE WHERE PROCESS_STATUS = 'PENDING';
  • Correlating errors to staged rows: joining PO_INTERFACE_ERRORS to PO_PRICE_DIFF_INTERFACE on PRICE_DIFF_INTERFACE_ID to surface the error text for failed imports.
  • Reconciliation by processing run: grouping rows by PROCESSING_ID and PROCESS_CODE to confirm batch completion and identify partial loads.

Reporting teams also use the table to audit which differentials entered the system during a given period, comparing CREATION_DATE ranges against the promoted definitions.

Related Objects

The most significant related object is PO_INTERFACE_ERRORS, which references this table via PRICE_DIFF_INTERFACE_ID; this FK is the only documented relationship and is the standard mechanism for capturing validation failures. Other functionally related objects — based on the columns present — include the purchasing document open interface header and line staging tables (referenced via INTERFACE_HEADER_ID and INTERFACE_LINE_ID), the interface line location table (INTERFACE_LINE_LOCATION_ID), and the destination price differential definition tables into which validated rows are promoted. The Purchasing Documents Open Interface program (POXPDOI) is the primary concurrent process that consumes this table, while the PO_Interface_Errors API surface supports error retrieval and correction. Finally, Oracle's standard audit columns tie the table to FND_USER for user attribution during troubleshooting.