Search Results cancel_requisition




Overview

PO_REQ_DOCUMENT_CANCEL_GRP is a public API group package (API classification: GRP) owned by the APPS schema in Oracle E-Business Suite, documented for releases 12.1.1 and 12.2.2. Its single business purpose is to provide the supported entry point for cancelling purchasing requisitions through the Oracle EBS public API layer. The package itself is intentionally thin: it acts as a validation and dispatch wrapper that checks API call compatibility and then delegates all substantive processing to the corresponding private package, PO_REQ_DOCUMENT_CANCEL_PVT. This GRP/PVT split is the standard Oracle EBS public API architecture, in which the group package stabilises the public signature and the private package encapsulates the business rules, locking and DML. The header comment embedded in the package body records a $Header value of POXGRCAB.pls, version 115.0, dated 2003/08/28, indicating that this interface has been stable since the early 11i lineage and carried forward unchanged into the 12.x code lines. Two other packages reference it, confirming its role as a dependency within the requisition lifecycle API set.

Key Procedures and Functions

The ETRM metadata documents exactly one public procedure on this package.

  • CANCEL_REQUISITION — The group procedure that cancels a requisition. Per the in-source comments, it "validates and calls private procedure," and explicitly notes that at the time of the header it "does not do any validations" but "may do validations in the future." The procedure performs an FND_API.Compatible_API_Call check against the API version and raises FND_API.G_EXC_UNEXPECTED_ERROR if the caller's version is incompatible, then calls PO_REQ_DOCUMENT_CANCEL_PVT.cancel_requisition with the incoming arguments (requisition header, requisition line, cancellation date, cancellation reason, source, and the standard FND_API return status, message count and message data out parameters). Detailed validation logic is documented as being maintained in the private package body, not here.

Tables Accessed

The documented metadata records no direct table references for this package via APPS synonyms. This is consistent with its role as a pass-through group layer: PO_REQ_DOCUMENT_CANCEL_GRP declares no cursors or DML of its own, so any reads or writes against requisition data — principally the PO_REQUISITION_HEADERS_ALL and PO_REQUISITION_LINES_ALL tables, together with associated action-history tables — occur inside PO_REQ_DOCUMENT_CANCEL_PVT. For impact analysis and tracing purposes, the private package body should be inspected rather than this group package.

Usage Notes

The package is invoked as a standard Oracle EBS public API, using the FND_API calling convention: the caller supplies p_api_version, the requisition identifiers and cancellation attributes, and receives x_return_status, x_msg_count and x_msg_data for error handling. FND_MSG_PUB.Get must be used to retrieve individual messages when x_msg_count exceeds one.

  • Forms: Cancel Requisition actions in the Purchasing and iProcurement requisition forms ultimately call into this interface or its private counterpart.
  • Concurrent programs and workflows: Requisition cancellation workflows and purge/cancel concurrent processes may invoke CANCEL_REQUISITION programmatically.
  • Custom code: Any custom extension that must cancel a requisition should call APPS.PO_REQ_DOCUMENT_CANCEL_GRP.CANCEL_REQUISITION rather than updating requisition tables directly, since this preserves API version checking, message propagation and the private package's validation and locking behaviour.

Callers must always inspect x_return_status for FND_API.G_RET_STS_SUCCESS, G_RET_STS_ERROR or G_RET_STS_UNEXP_ERROR. Because the group layer currently performs no business validation itself, error conditions arising from requisition state, approval status or matching will be reported by the private package through the same message stack.