Search Results po_lines_pkg_si




Overview

PO_LINES_PKG_SI is an Oracle Application Object Library package owned by the APPS schema in Oracle E-Business Suite Release 12.1.1 and 12.2.2. The "_SI" suffix identifies it as a server-side interface or support package used in the internal processing chain of the Purchasing module. It is not a public, documented API for external integration; the ETRM classifies it as "OTHER," meaning it is an internal implementation helper rather than a formally published interface such as PO_LINES_SV1 or PO_LINES_SV2.

The package operates on the purchase order line entity and its underlying storage objects. Its documented capability is limited to a single procedure, INSERT_ROW, which indicates that the package is a low-level insert utility invoked by higher-level routines rather than a business-logic entry point exposed to end users. In the R12.1.1 / 12.2.2 architecture, such packages are commonly referenced by wrapper packages that build the row payload and then rely on this routine to persist the line record.

Key Procedures and Functions

  • INSERT_ROW — The single documented procedure. It performs an insert into the purchase order line storage structures and is intended to be called from within a larger transaction controlled by the calling package or concurrent program. It does not expose the line-level business validation logic of the public Purchasing APIs; instead, it accepts an already-constructed row and persists it. Because the ETRM excerpt does not publish a parameter list, no signature is stated here; callers must obtain the exact parameter order from the package specification in the database.

The package specification and body both carry a VALID status in the data dictionary, confirming that the compiled PL/SQL objects exist and resolve against the current schema.

Tables Accessed

  • PO_LINES_ALL — The base table storing purchase order line records across all operating units. This is the primary target of the INSERT_ROW operation.
  • PO_LINES — An APPS synonym typically resolving to PO_LINES_ALL, used by the package for line-level access.
  • PO_LINES_S — The sequence-backed structure used to obtain the next primary key value for newly created line records.
  • PO_HEADERS_ALL — Referenced to associate the inserted line with its parent purchase order header and to validate the header context.

Access to these objects is through APPS synonyms, consistent with standard Oracle EBS design.

Usage Notes

PO_LINES_PKG_SI is referenced by PO_LINES_PKG_SI itself (internal recursion or nested calls) and by PO_LINES_SV3. In the Purchasing codebase, the SV-type packages form the view or service layer that implements the high-level operations consumed by Oracle Purchasing forms and by the public PO_LINES_SV1/SV2 APIs. Because PO_LINES_PKG_SI sits below PO_LINES_SV3, it is indirectly reachable whenever the Purchasing forms create a new PO line, or when a concurrent program or custom extension invokes the line API.

Custom code should generally invoke the supported APIs (PO_LINES_SV1 or PO_LINES_SV2) rather than calling INSERT_ROW directly. Direct invocation bypasses validation, defaulting, and security logic enforced at the API layer and risks data inconsistency. Typical direct callers are Oracle's own internal packages and, occasionally, migration or data-fix scripts where the row is fully pre-validated. Only the SYS.STANDARD package is listed as an external dependency, which confirms the unit is a thin persistence helper.