Search Results po_req_document_cancel_pvt




Overview

PO_REQ_DOCUMENT_CANCEL_PVT is an Oracle E-Business Suite private PL/SQL package owned by the APPS schema. It belongs to the requisitioning (Purchasing) module and encapsulates the internal logic required to cancel a purchasing requisition document. The package carries the PVT (private) API classification, indicating that it is not intended as a public, externally supported interface. Instead, it supplies the underlying business logic that is exposed and orchestrated through the companion group package, PO_REQ_DOCUMENT_CANCEL_GRP.

In Oracle EBS 12.1.1 and 12.2.2, requisitions are controlled documents that can be canceled once they are no longer required, releasing any associated commitments and preventing downstream processing against the requisition lines. This package centralizes that cancellation behavior so it can be invoked consistently from the requisition form, from concurrent processing, or from other server-side program units without duplicating the validation and update logic. Its status is VALID in the documented environment, confirming that both the package specification and body compile cleanly and that the object is available for use by dependent components.

Key Procedures and Functions

The documented metadata lists a single server-side entry point:

  • CANCEL_REQUISITION — The core routine that performs the cancellation of a requisition document. It applies the business rules governing whether a requisition may be canceled, updates the affected requisition records accordingly, and manages related side effects such as commitment relief and document-status transitions. Because this package is classified as a private API, CANCEL_REQUISITION is not published as a supported integration surface; callers are expected to reach it through the public group package PO_REQ_DOCUMENT_CANCEL_GRP rather than calling the private package directly.

The metadata does not expose the formal parameter list for CANCEL_REQUISITION, and this summary deliberately does not speculate on specific arguments. In practice, the routine operates against an identified requisition record or set of records supplied by the invoking layer.

Tables Accessed

The documented table references, resolved through APPS synonyms, are:

  • PO_REQUISITION_HEADERS_ALL — The base table storing requisition header information. CANCEL_REQUISITION reads the current header state and writes the updated status and related columns that reflect a canceled requisition.
  • PLITBLM — An Oracle EBS PL/SQL table (index-by table) type used internally for in-memory collections. Its presence indicates the package stages sets of values or identifiers in a PL/SQL table while processing the cancellation.

Additional objects referenced by the package include the APPS-owned type PO_TBL_NUMBER and the SYS.STANDARD package, reflecting the use of numeric PL/SQL tables and standard language constructs. These support the package's internal collection handling rather than representing persistent business tables.

Usage Notes

PO_REQ_DOCUMENT_CANCEL_PVT is referenced by exactly one other package, PO_REQ_DOCUMENT_CANCEL_GRP, which acts as the group or wrapper layer. This pattern is standard in Oracle EBS: the group package provides the accessible entry points, while the private package holds the implementation. Typical invocation therefore occurs indirectly — for example, when a user cancels a requisition from the Purchasing requisition form, or when a concurrent program or workflow activity cancels requisitions in bulk.

Because the package is a private API, customizations and integrations should not call CANCEL_REQUISITION directly. Developers requiring cancellation behavior should invoke the supported group package or the documented public requisition APIs, allowing Oracle to change the private implementation across releases without breaking supported code. When investigating cancellation issues, DBAs and developers can query the package in the data dictionary and inspect its dependencies to understand the flow from the group package into this private implementation.