Search Results remove_session_gt_records




Overview

PO_PDOI_UTL is a utility package within the Oracle E-Business Suite Purchasing module, tightly coupled to the PO Product Data Online (PDOI) interface processing framework. It is declared with AUTHID CURRENT_USER, meaning its unqualified references to database objects resolve against the privileges of the invoking schema rather than the APPS schema owner. The package serves as the backend service layer that supports validation, rejection, and cleanup of records staged in the Purchasing interface tables during import of purchase orders and related documents. Its central responsibility is the "reject" workflow: when a row in an interface table fails validation, the PDOI processor must be able to mark that row, cascade the rejection to dependent child records, and preserve an audit trail. PO_PDOI_UTL encapsulates these operations so that multiple callers — validation programs, the PDOI user interface, and downstream concurrent programs — share a single implementation. The package is referenced by approximately fifteen other packages, confirming its role as a foundational utility rather than an entry-point API.

Key Procedures and Functions

The package exposes fifteen documented procedures and functions, broadly divisible into session management, rejection logic, and supporting utilities.

Tables Accessed

The package reads and writes the core Purchasing interface tables through APPS synonyms: PO_HEADERS_INTERFACE, PO_LINES_INTERFACE, PO_LINE_LOCATIONS_INTERFACE, PO_DISTRIBUTIONS_INTERFACE, PO_PRICE_DIFF_INTERFACE, PO_ATTR_VALUES_INTERFACE, and PO_ATTR_VALUES_TLP_INTERFACE. These are the staging tables populated by the PO Open Interface and purged or flagged on rejection. PO_SESSION_GT is the session-scoped temporary table used to hold working validation state. DBMS_SQL is referenced to support dynamic numeric list generation and PLITBLM provides the PL/SQL integer table type declared within the package.

Usage Notes

PO_PDOI_UTL is not intended for direct end-user invocation. It is called from the PDOI validation and import concurrent programs, from the PDOI forms-based interface, and from other Purchasing packages performing interface cleanup. Customizations should call these procedures only with correctly typed ID tables and should respect the cascade parameter, since improper cascading can leave orphaned child interface rows. In 12.1.1 and 12.2.2 the package interface is unchanged, though the 12.2 codebase continues to reference it from the same fifteen dependent packages.