Search Results po_position_controls




Overview

PACKAGE BODY APPS.POREQ is a private implementation unit within the Oracle E-Business Suite Purchasing module that encapsulates the approval routing logic used by the Requisition Approval workflow. The package resolves how a requisition should be routed through the approval hierarchy and determines which employee currently owns a requisition at any point in its lifecycle. It is classified in ETRM as an "OTHER" API, meaning it is not a formally published public interface but rather an internal engine consumed by Oracle's seeded workflow and approval processes.

The body originates from an early Purchasing code line, as indicated by its header comment (ICXPORQB.pls 115.1) and the presence of $Header versioning, and it remains functionally intact through Oracle EBS 12.1.1 and 12.2.2. Its responsibilities centre on requisition approval authority, approval path determination, and ownership resolution, drawing on Purchasing control tables and Financials system parameters.

Key Procedures and Functions

  • GETREQINFO — Returns a ReqInfoType record describing the requisition: the preparer, the document type literal ('REQUISITION'), the requisition type lookup code, the forwarding mode, the default approval path identifier (defaulted to zero when null), and the preparer-approval flag (defaulted to 'N'). It joins PO_REQUISITION_HEADERS to PO_DOCUMENT_TYPES to obtain document-type configuration.
  • GETCURRENTOWNER — Determines the current owner of a requisition by reading the latest open action-history row for the requisition and falling back to the preparer when no active owner exists. It handles NO_DATA_FOUND by returning null.
  • GETAPPROVER — Resolves the approver for a requisition, using the direct and hierarchical approver lookup logic declared internally (GetApproverDirect and GetApproverHier) together with the approval path.
  • VERIFYAUTHORITY — Validates that a given approver holds the authority required to approve the requisition, consulting the Purchasing control functions, control groups, control rules, and position controls.

Tables Accessed

All tables are referenced through APPS synonyms, consistent with standard EBS schema access conventions.

Usage Notes

POREQ is not intended for direct invocation by external code and ETRM records no other packages referencing it. It is invoked indirectly by the Oracle Requisition Approval workflow, which calls these routines during the routing and authority-checking phases of requisition approval processing. Because the procedures and functions are defined without a public specification beyond the package interface, customizations that need approval-routing behaviour should rely on the supported PO approval APIs rather than calling POREQ directly. The package depends on the Purchasing control hierarchy being correctly configured; missing rows in the control tables or in PO_DOCUMENT_TYPES will cause the internal queries to fail or return incomplete routing data.