Search Results validate_source_id_table




Overview

OKL_SEL_PVT is the private (PVT-classified) PL/SQL package body that implements the low-level data access layer for the OKL_STRM_ELEMENTS entity within the Oracle Lease and Finance Management (OKL) module. In Oracle EBS 12.1.1 and 12.2.2, packages suffixed with _PVT conventionally hold the private procedures and functions invoked by their corresponding public (_PUB) wrappers, and OKL_SEL_PVT follows this pattern precisely. The package encapsulates the row-level DML and validation logic for stream elements — the individual dated amounts, accrual indicators, and billing adjustments that compose a lease or financing stream. The header identifier OKLSSELB.pls with version 120.6 dated 2007/03/13 reflects an actively patched object, including customer-driven extensions such as the addition of SOURCE_ID and SOURCE_TABLE columns (noted as added by Keerthi, 15-Sep-2003) and bill_adj_flag (referenced to bug 4212626). The abbreviation "SEL" refers to stream elements, and the private scope means the package is not intended for direct external invocation but is called by the public API layer and by 32 other dependent packages.

Key Procedures and Functions

The package exposes the standard Oracle EBS private-table handler interface alongside utility and record-mapping routines:

  • QC — A no-op quality-control stub returning NULL, present to satisfy the standardized API template; it performs no data operation.
  • CHANGE_VERSION — A placeholder procedure, likewise empty, reserved for version-management hooks in the generated API pattern.
  • API_COPY — A stub procedure retained for interface completeness; it currently performs no processing.
  • GET_SEQ_ID — A function returning a NUMBER generated via Okc_P_Util.raw_to_number(sys_guid()), supplying a unique synthetic identifier for new rows.
  • GET_REC — A function that accepts a sel_rec_type record and returns the populated sel_rec_type record for OKL_STRM_ELEMENTS, using a primary-key cursor keyed on ID and returning a NOCOPY boolean flag (x_no_data_found) to indicate an empty result set.
  • INSERT_ROW — Inserts a new stream element row into OKL_STRM_ELEMENTS.
  • LOCK_ROW — Acquires a row-level lock on an existing stream element, typically using SELECT ... FOR UPDATE, to serialize concurrent modification.
  • UPDATE_ROW — Updates the mutable columns of an existing stream element record.
  • DELETE_ROW — Removes a stream element row.
  • VALIDATE_ROW — Executes the validation logic that governs whether attributes such as SOURCE_ID, SOURCE_TABLE, amounts, and flags are acceptable prior to persistence.

Tables Accessed

The documented table references are OKL_STRM_ELEMENTS, DUAL, and PLITBLM (all accessed through APPS synonyms).

Usage Notes

Because OKL_SEL_PVT is classified PVT, it should never be called directly from forms, concurrent programs, or custom code. Instead, invocations flow through the public API layer (OKL_SEL_PUB and its callers). The documented metadata notes the package is referenced by 32 other packages, indicating it is deeply embedded in the stream-element dependency chain — for example, contract, stream, and billing-adjustment processing routines that must create or maintain element rows. Customizations that must preserve referential integrity of SOURCE_ID and SOURCE_TABLE (the "validate_source_id_table" concern) should extend or wrap the validation performed by VALIDATE_ROW rather than bypassing it, since the presence of these columns in the GET_REC cursor confirms they are treated as first-class entity attributes. Any direct DML against OKL_STRM_ELEMENTS outside this package risks violating the audit-column and object-version conventions enforced by INSERT_ROW and UPDATE_ROW.