Search Results po_req_dist_interface




Overview

APPS.PO_POXREQIM_XMLP_PKG is the packaged body that supports the Oracle EBS concurrent program used to review, purge, and manage the Requisitions Import interface. It corresponds to the requisition import (REQIMPORT) workflow, which moves rows staged in the purchasing interface tables into the live purchasing tables. The PL/SQL package is named after the XML Publisher report definition (POXREQIM) that the concurrent program executes, and it encapsulates the report's supporting logic rather than the import validation itself.

The package's central business function is conditional cleanup of failed interface records. Its AfterReport logic inspects three concurrent program parameters — the interface source code, the batch identifier, and the delete flag — and issues targeted DELETEs against the interface error and staging tables when the delete flag is set to Y. This allows an administrator to purge erroneous requisition import rows by source, by batch, by both, or across the entire interface, depending on which parameters were supplied. The package header carries 120.1 and the source timestamp of 2007/12/25, indicating a long-stable member of the PO product family.

Key Procedures and Functions

Two functions are documented for this package:

  • BeforeReport — The XML Publisher/Reports "before report" trigger function. It runs prior to the report query being executed and is used to initialize or validate the runtime environment, such as confirming the parameter combination passed by the user is coherent before any report output is produced.
  • AfterReport — The XML Publisher/Reports "after report" trigger function. This is the substantive member of the package. It evaluates P_interface_source_code, P_batch_id, and P_delete_flag, and when deletion is requested, removes matching error and staging rows. Four distinct branches are implemented: delete all errors; delete by interface source only; delete by batch only; and delete by interface source combined with batch. Each branch first removes orphaned rows from PO_INTERFACE_ERRORS (restricted to interface_type = 'REQIMPORT'), then from PO_REQUISITIONS_INTERFACE, and finally from PO_REQ_DIST_INTERFACE, always limiting removal to rows whose process_flag is 'ERROR'.

The package exposes no other public procedures; the documented API classification is OTHER, and it is not referenced by any other package (0 inbound references), confirming it is a leaf-level report support object rather than a shared utility.

Tables Accessed

The package acts exclusively on the requisition import interface tables through APPS synonyms:

  • PO_INTERFACE_ERRORS — Holds error messages raised during import. The package deletes entries for interface_type = 'REQIMPORT', scoped by transaction identifiers drawn from the failing requisition interface rows, so that error text does not outlive the records it describes.
  • PO_REQUISITIONS_INTERFACE — The primary requisition staging table. Rows with process_flag = 'ERROR' are the deletion target, optionally filtered by interface_source_code or batch_id.
  • PO_REQ_DIST_INTERFACE — The requisition distribution staging table holding accounting distributions for the staged requisitions. Its error rows are purged under the same filtering criteria to keep header and distribution data synchronized.

The dependency order — errors, then requisitions, then distributions — preserves referential consistency during the purge.

Usage Notes

This package is not intended for direct invocation by users or custom code; it is bound to the Requisitions Import concurrent program and its XML Publisher report template. The report is submitted with the source code, batch ID, and delete flag parameters, with the delete flag typically defaulted to N so that a diagnostic listing can be produced before any destructive action. When the flag is set to Y, submitting the report also performs the purge, making the concurrent program both a reporting and a housekeeping vehicle.

Because the report is the only entry point and no other package references this object, the object is not part of an integration API surface. Users investigating the po_requisitions_interface table should be aware that the delete logic touches only rows whose process_flag equals 'ERROR'; successfully processed or pending rows are never removed by this package. In 12.1.1 and 12.2.2 the object exists under APPS with the same structure, and the version 120.1 header indicates it has not required revision for online patching compatibility.