Search Results po_all_cannot_reserve_record
Overview
APPS.PO_RELEASES_SV is a server-side PL/SQL package body in Oracle E-Business Suite Purchasing that provides row-level locking and delete services for purchasing document releases. A release in Oracle Purchasing represents a shipment or scheduling agreement line that has been authorized against an existing blanket purchase agreement or contract; the release entity is stored in PO_RELEASES and PO_RELEASES_ALL and participates in the Oracle Workflow notification model used for approval routing. The package centralizes low-level data manipulation for these release rows so that the Purchasing forms, when they need to lock a release for a status change or remove a release that has already been created, invoke a single trusted API rather than issuing unguarded DML directly. The presence of this package in APPS and its classification as API "OTHER" indicate that it is an internal service component supporting the Purchasing transaction forms rather than a public, customer-facing extension API.
Key Procedures and Functions
The ETRM metadata documents three named procedures. The procedure names, as reflected in the source header, are lock_row_for_status_update, delete_release, and the third documented name in the metadata set.
- lock_row_for_status_update — Acquires an exclusive row lock on the identified release record so that a subsequent status update proceeds without concurrent modification. It operates on PO_RELEASES using a SELECT ... FOR UPDATE OF po_release_id NOWAIT cursor, raises a form record deleted exception when the release no longer exists, and traps lock contention to report the PO_ALL_CANNOT_RESERVE_RECORD message. When invoked outside a transaction holding the lock, the operation fails predictably rather than blocking the form.
- delete_release — Removes a release row. Before deletion it selects the two Oracle Workflow attributes (workflow item key and item type) and the release type from PO_RELEASES. This lookup allows the package to determine whether the release is still attached to an active workflow process and to behave correctly according to the release type. The procedure carries an internal progress marker and, per its comments, delegates the physical deletion to the release table handler.
- Third documented procedure — The ETRM record lists three procedures, one of which is represented in the metadata excerpt only by the placeholder NAME; no parameter list or body is reproduced here. It performs a supporting release-service operation within the same package and should be treated as an internal helper of equal standing. No parameter details are asserted because the supplied documentation does not include them.
Tables Accessed
- PO_RELEASES — The primary transaction table. Read for lock acquisition and workflow attribute lookup, and the target of the delete operation.
- PO_RELEASES_ALL — The multi-organization view/table that exposes release columns (for example WF_ITEM_TYPE, WF_ITEM_KEY, RELEASE_TYPE) used to populate local variables during delete_release.
- PO_LINE_LOCATIONS — Referenced to relate the release back to its shipment line location.
- PO_ACTION_HISTORY — Referenced to capture or verify action-history entries associated with the release.
- DBMS_OUTPUT — Used only for diagnostic output during exception handling.
Usage Notes
PO_RELEASES_SV is invoked from the Oracle Purchasing release forms and from the delete_children style delete logic exercised by the release entry user interface. Typical call order is lock_row_for_status_update to reserve the release row, then delete_release when the user confirms removal. Because the package uses SELECT ... FOR UPDATE NOWAIT, callers must be prepared for the record-lock exception and should not invoke it inside long-running batch jobs that hold locks across commits. The package is referenced by one other package in the APPS schema, which suggests it is consumed from a shared release-shipment handler rather than being called directly by external integrations. Custom code should generally call the corresponding public release API instead; PO_RELEASES_SV is intended to keep release row locking, workflow awareness, and deletion consistent across the concurrent manager and the Purchasing forms.
-
PACKAGE BODY: APPS.PO_RELEASES_SV
12.1.1
-
PACKAGE BODY: APPS.PO_RELEASES_SV
12.2.2
-
PACKAGE BODY: APPS.PO_RELEASES_PKG_S1
12.2.2
-
PACKAGE BODY: APPS.PO_REQS_SV
12.2.2
-
PACKAGE BODY: APPS.PO_REQS_SV
12.1.1
-
PACKAGE BODY: APPS.PO_REQUISITION_HEADERS_PKG1
12.2.2
-
PACKAGE BODY: APPS.PO_HEADERS_SV1
12.1.1
-
APPS.PO_RELEASES_SV dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_REQUISITION_HEADERS_PKG1 dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_RELEASES_SV dependencies on PO_MESSAGE_S
12.1.1
-
APPS.PO_RELEASES_PKG_S1 dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_HEADERS_PKG_S1 dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_HEADERS_SV1 dependencies on PO_MESSAGE_S
12.1.1
-
APPS.PO_REQS_SV dependencies on PO_MESSAGE_S
12.1.1
-
APPS.PO_REQS_SV dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_HEADERS_SV1 dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_HEADERS_SV1 dependencies on APP_EXCEPTION
12.1.1
-
APPS.PO_RELEASES_SV dependencies on APP_EXCEPTION
12.2.2
-
APPS.PO_RELEASES_PKG_S1 dependencies on PO_RELEASES_PKG_S1
12.2.2
-
APPS.PO_REQS_SV dependencies on APP_EXCEPTION
12.2.2
-
APPS.PO_REQ_LINES_SV dependencies on APP_EXCEPTION
12.2.2
-
APPS.PO_RELEASES_PKG_S1 dependencies on PO_RELEASES
12.2.2
-
APPS.PO_RELEASES_SV dependencies on APP_EXCEPTION
12.1.1
-
APPS.PO_REQ_LINES_SV dependencies on APP_EXCEPTION
12.1.1
-
APPS.PO_REQS_SV dependencies on APP_EXCEPTION
12.1.1
-
APPS.PO_HEADERS_SV1 dependencies on APP_EXCEPTION
12.2.2
-
APPS.PO_REQUISITION_HEADERS_PKG1 dependencies on PO_REQUISITION_HEADERS_PKG1
12.2.2
-
APPS.PO_REQUISITION_HEADERS_PKG1 dependencies on APP_EXCEPTION
12.2.2
-
APPS.PO_RELEASES_PKG_S1 dependencies on APP_EXCEPTION
12.2.2
-
PACKAGE BODY: APPS.PO_HEADERS_SV1
12.2.2
-
APPS.PO_REQUISITION_HEADERS_PKG1 dependencies on PO_REQUISITION_HEADERS
12.2.2
-
APPS.PO_REQ_LINES_SV dependencies on PO_MESSAGE_S
12.1.1
-
APPS.PO_REQ_LINES_SV dependencies on PO_MESSAGE_S
12.2.2
-
APPS.PO_RELEASES_SV dependencies on DBMS_OUTPUT
12.2.2
-
APPS.PO_HEADERS_PKG_S1 dependencies on APP_EXCEPTION
12.2.2
-
APPS.PO_RELEASES_SV dependencies on DBMS_OUTPUT
12.1.1
-
PACKAGE BODY: APPS.PO_REQ_LINES_SV
12.1.1
-
APPS.PO_DOCUMENT_CONTROL_PVT dependencies on FND_MESSAGE
12.2.2
-
APPS.PO_DOCUMENT_CONTROL_PVT dependencies on FND_MESSAGE
12.1.1
-
PACKAGE BODY: APPS.PO_REQ_LINES_SV
12.2.2
-
PACKAGE BODY: APPS.PO_HEADERS_PKG_S1
12.2.2
-
APPS.PO_DOCUMENT_CONTROL_PVT dependencies on FND_MSG_PUB
12.1.1
-
APPS.PO_DOCUMENT_CONTROL_PVT dependencies on FND_MSG_PUB
12.2.2
-
PACKAGE BODY: APPS.PO_DOCUMENT_CONTROL_PVT
12.2.2
-
PACKAGE BODY: APPS.PO_DOCUMENT_CONTROL_PVT
12.1.1
-
APPS.PO_DOCUMENT_CONTROL_PVT dependencies on FND_API
12.2.2
-
APPS.PO_DOCUMENT_CONTROL_PVT dependencies on FND_API
12.1.1