Search Results po_requisition_lines_pkg1




Overview

APPS.PO_REQUISITION_LINES_PKG1 is a PL/SQL package in the Oracle E-Business Suite Applications (APPS) schema that supports the maintenance of requisition line records within the Purchasing module. The package is documented as VALID and is classified under the ETRM "OTHER" API classification, indicating that it is an internal implementation package rather than a publicly certified Open Interface or public API. It is not intended for direct external invocation by customers, but instead functions as a repository-layer helper that shields the core requisition line logic and the relevant error-handling behavior from the calling forms and service layer components.

The package operates against the base table PO_REQUISITION_LINES, which stores the individual lines that make up a requisition. Requisition lines carry the requested item, quantity, price, need-by date, delivery location, and distribution information that are later sourced into purchase orders, RFQs, and internal sales orders. Because this table is one of the principal transactional tables in Oracle Purchasing, any package that updates, locks, or deletes rows in it must observe record-level locking, concurrency control, and referential integrity with related tables such as PO_REQUISITION_HEADERS and PO_REQ_DISTRIBUTIONS.

Key Procedures and Functions

The package exposes two documented program units: LOCK1_ROW and DELETE_ROW.

  • LOCK1_ROW — Acquires a row-level lock on a specific requisition line. It is used to guarantee exclusive access to a line record before a caller updates its attributes, thereby preventing concurrent modifications from multiple sessions. This procedure belongs to the standard EBS optimistic concurrency pattern in which a form or service layer obtains the lock prior to performing an update.
  • DELETE_ROW — Removes a single requisition line record from the base table. It encapsulates the delete operation so that the calling layer does not interact directly with PO_REQUISITION_LINES and so that any associated validation or cascade behavior is applied consistently.

The documentation does not expose parameter lists or return types for these program units; they are described here by name and purpose only.

Tables Accessed

The documented table referenced by this package, through APPS synonyms, is PO_REQUISITION_LINES. This is the table that stores the requisition line detail and it is the sole documented object of the LOCK1_ROW and DELETE_ROW operations. LOCK1_ROW reads and locks existing rows in this table so that callers can detect invalid line identifiers and prevent lost updates. DELETE_ROW removes rows from the same table. No additional documented tables, views, or sequences appear in the ETRM metadata, although related requisition structures such as the header and distribution tables would ordinarily participate in the surrounding transaction through the calling code.

Usage Notes

PO_REQUISITION_LINES_PKG1 is referenced by one other package, PO_REQ_LINES_SV. The SV suffix identifies a service-layer (Service View) package, which is the conventional entry point used by the Requisition form and by internal APIs to perform row-level operations. In practice, the Requisition form invokes the service layer, which then calls PO_REQUISITION_LINES_PKG1 for locking and deletion, rather than the form calling the base package directly.

Because it is classified as an OTHER package, it should be treated as internal. Custom code should invoke the supported public interfaces, such as PO_REQUISITION_LINES_PKG or the requisition Open Interface, instead of calling this package directly. Any direct use inherits a compatibility risk across releases, and Oracle may change the internal implementation without notice. When the package is called at runtime, callers must supply a valid line identifier and must commit or roll back within their own transaction scope; the package itself performs row-level work but does not own the surrounding unit of work.