Search Results okl_sid_pvt




Overview

OKL_SID_PVT is the private PL/SQL package body that supports Supplier Invoice Detail (SID) processing within the Oracle Lease and Finance Management (OKL) module of Oracle E-Business Suite. The package belongs to the APPS schema and carries the "PVT" classification, indicating that it is an internal implementation package whose API surface is not intended for direct public consumption. Its role is to encapsulate the DML, validation, locking, and versioning logic that governs supplier invoice detail records attached to lease contract lines. In EBS 12.1.1 and 12.2.2, this package operates alongside the public OKL_API and OKC_API packages to maintain the integrity of contract line structures and their associated supplier invoice data. The package is a "Package Body" object with a VALID status and is not referenced by any other database object, confirming that it sits at the leaf of the dependency chain and is invoked only by application-layer or higher-level API code.

Key Procedures and Functions

The ETRM documentation identifies 15 procedures and functions within this package. The principal documented entry points include:

  • QC — A quality-control or consistency check routine that validates supplier invoice detail rows against expected business rules before or after processing.
  • CHANGE_VERSION — Manages the versioning of a supplier invoice detail record, typically invoked when a contract line revision requires a new version of the associated detail.
  • CREATE_VERSION — Creates a new version of an existing supplier invoice detail row, preserving historical data in the corresponding history table.
  • RESTORE_VERSION — Reinstates a prior version of a supplier invoice detail record, supporting rollback or audit-driven restoration scenarios.
  • API_COPY — Copies supplier invoice detail data, commonly used when duplicating contract lines or contract structures.
  • INSERT_ROW — Inserts a new supplier invoice detail row, applying defaulting and validation logic.
  • LOCK_ROW — Acquires a row-level lock on a supplier invoice detail record to prevent concurrent modification.
  • UPDATE_ROW — Updates an existing supplier invoice detail row with validated attribute changes.
  • DELETE_ROW — Removes a supplier invoice detail row, respecting referential and versioning constraints.
  • VALIDATE_ROW — Runs validation rules against a supplier invoice detail row prior to committing changes.

Tables Accessed

The package reads and writes several core tables through APPS synonyms. The primary operational table is OKL_SUPP_INVOICE_DTLS, with OKL_SUPP_INVOICE_DTLS_H providing the historical/versioned counterpart and OKL_SUPP_INVOICE_DTLS_V exposing a view layer. Contract line structures are accessed via OKC_K_LINES_B and OKC_K_LINES_V, while line style configuration is drawn from OKC_LINE_STYLES_B and OKC_LINE_STYLES_V. The OKC_SUBCLASS_TOP_LINE table links subclass top lines to the contract hierarchy. JTF_OBJECTS_B is referenced for object registry metadata. DUAL and PLITBLM support utility and bulk-processing operations. These accesses ensure that supplier invoice detail records remain synchronized with their parent contract lines and comply with OKC framework conventions.

Usage Notes

OKL_SID_PVT is not documented as being referenced by any database object, meaning it is not called from other stored PL/SQL units in the schema. Instead, it is invoked by higher-level EBS API packages such as OKL_API and by Supplier Invoice Detail processing forms and concurrent programs in the Lease and Finance Management module. The package is referenced by 12 other packages according to the ETRM metadata, indicating broad internal reuse across the OKL codebase. Developers should not call OKL_SID_PVT procedures directly from custom code; the supported integration path is through the public OKL_API and OKC_API packages, which in turn delegate to this private package body. Any customization touching supplier invoice detail logic should account for the versioning behavior implemented by CREATE_VERSION, CHANGE_VERSION, and RESTORE_VERSION.