Search Results delete_children
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.
-
APPS.PO_RELEASES_SV SQL Statements
12.2.2
-
APPS.PO_RELEASES_SV SQL Statements
12.1.1
-
PACKAGE BODY: APPS.PO_RELEASES_SV
12.2.2
-
PACKAGE: APPS.PO_RELEASES_SV
12.2.2
-
PACKAGE: APPS.PO_RELEASES_SV
12.1.1
-
APPS.PO_HEADERS_SV1 SQL Statements
12.2.2
-
APPS.PO_HEADERS_SV1 SQL Statements
12.1.1
-
PACKAGE BODY: APPS.PO_RELEASES_SV
12.1.1
-
APPS.WIP_INTERFACE_TH SQL Statements
12.2.2
-
APPS.WIP_INTERFACE_TH SQL Statements
12.1.1
-
APPS.PO_REQS_SV SQL Statements
12.1.1
-
APPS.PO_REQS_SV SQL Statements
12.2.2
-
APPS.WIP_SUBS_MERGE SQL Statements
12.1.1
-
APPS.WIP_SUBS_MERGE SQL Statements
12.2.2
-
APPS.PO_SHIPMENTS_SV4 SQL Statements
12.2.2
-
APPS.FND_CONC_REQUEST_PKG SQL Statements
12.1.1
-
APPS.PO_SHIPMENTS_SV4 SQL Statements
12.1.1
-
APPS.FND_CONC_REQUEST_PKG SQL Statements
12.2.2
-
APPS.PO_REQ_LINES_SV SQL Statements
12.1.1
-
PACKAGE: APPS.PO_REQS_SV
12.2.2
-
PACKAGE: APPS.PO_REQS_SV
12.1.1
-
APPS.OE_CONFIG_UTIL SQL Statements
12.1.1
-
PACKAGE: APPS.PO_LINES_SV
12.1.1
-
APPS.PO_LINES_SV SQL Statements
12.1.1
-
APPS.HR_FORM_TEMPLATES_PKG SQL Statements
12.1.1
-
APPS.HR_FORM_TEMPLATES_PKG SQL Statements
12.2.2
-
PACKAGE: APPS.PO_LINES_SV
12.2.2
-
PACKAGE BODY: APPS.WIP_INTERFACE_TH
12.2.2
-
APPS.PO_LINES_SV SQL Statements
12.2.2
-
PACKAGE BODY: APPS.PO_HEADERS_SV1
12.1.1
-
APPS.OE_CONFIG_UTIL SQL Statements
12.2.2
-
PACKAGE BODY: APPS.WIP_INTERFACE_TH
12.1.1
-
PACKAGE BODY: APPS.PO_HEADERS_SV1
12.2.2
-
PACKAGE: APPS.PO_HEADERS_SV1
12.1.1
-
PACKAGE BODY: APPS.PO_REQS_SV
12.2.2
-
PACKAGE: APPS.FND_CONC_REQUEST_PKG
12.1.1
-
PACKAGE BODY: APPS.PO_REQS_SV
12.1.1
-
PACKAGE: APPS.PO_HEADERS_SV1
12.2.2
-
PACKAGE: APPS.PO_SHIPMENTS_SV4
12.2.2
-
PACKAGE: APPS.PO_SHIPMENTS_SV4
12.1.1
-
PACKAGE: APPS.FND_CONC_REQUEST_PKG
12.2.2
-
PACKAGE: APPS.WIP_INTERFACE_TH
12.1.1
-
PACKAGE: APPS.WIP_INTERFACE_TH
12.2.2
-
PACKAGE BODY: APPS.WIP_SUBS_MERGE
12.1.1
-
PACKAGE BODY: APPS.WIP_SUBS_MERGE
12.2.2
-
PACKAGE: APPS.PO_REQ_LINES_SV
12.1.1
-
APPS.PO_REQ_LINES_SV SQL Statements
12.2.2
-
PACKAGE: APPS.PO_REQ_LINES_SV
12.2.2
-
PACKAGE BODY: APPS.PO_SHIPMENTS_SV4
12.1.1
-
PACKAGE BODY: APPS.FND_CONC_REQUEST_PKG
12.1.1