Search Results g_miss




Overview

OKL_TPL_PVT is a private (PVT) PL/SQL package in the Oracle E-Business Suite Applications (APPS) schema that supports the Oracle Lease and Finance Management (OKL) module's transaction processing logic. The package name is derived from the "TPL" functional area, which is associated with the OKL_TXL_AP_INV_LNS_B table — the base table storing transaction line details tied to payables invoices within lease and finance contracts. The package operates with AUTHID CURRENT_USER, meaning its SQL executes with the privileges of the invoking user rather than the package owner, which is standard practice for ETRM private APIs that must respect invoker-level access controls.

The record type tpl_rec_type declares the package's working data structure, mirroring columns from OKL_TXL_AP_INV_LNS_B such as ID, TAP_ID, DISBURSEMENT_BASIS_CODE, TPL_ID_REVERSES, CNSLD_AP_INV_ID, ITC_ID, STY_ID, LINE_NUMBER, OBJECT_VERSION_NUMBER, DATE_ACCOUNTING, AMOUNT, PAYABLES_INVOICE_ID, and the DFF attribute columns. Notably, every field is initialized to the sentinel value OKC_API.G_MISS_NUM, OKC_API.G_MISS_CHAR, or OKC_API.G_MISS_DATE. This is a critical design convention: the g_miss sentinels allow the package's row handlers to distinguish between a column that the caller intentionally left unset (meaning "do not change") and one explicitly assigned a value. This pattern is pervasive across ETRM private APIs and is the likely reason the user's search for "g_miss" surfaced this object.

Key Procedures and Functions

The package exposes fourteen documented program units, several of which are standard for an ETRM private table handler:

  • QC — A quality-control/consistency check that validates that the columns the caller passed are numerically, semantically, and relationally consistent before any DML is attempted.
  • CHANGE_VERSION — Increments the OBJECT_VERSION_NUMBER on a row to support optimistic locking and detect concurrent updates.
  • API_COPY — Copies an existing row, generating a new record from a source row, typically used when reversing, duplicating, or redistributing invoice lines.
  • ADD_LANGUAGE — Populates the translation (_TL) table with language-specific descriptions for a row, coordinating with FND_LANGUAGES.
  • INSERT_ROW — Creates a new TPL detail row, honoring the g_miss sentinel logic so unset attributes are defaulted rather than stored as null.
  • LOCK_ROW — Acquires a row-level lock (via SELECT FOR UPDATE) on the target TPL record prior to modification.
  • UPDATE_ROW — Applies changes to an existing row while preserving columns the caller did not explicitly set.
  • DELETE_ROW — Removes a TPL detail row subject to referential and business validations.
  • VALIDATE_ROW — Performs business-rule validation, ensuring the row's relationships to stream elements, invoices, and AR details are sound before commit.

Tables Accessed

The package reads and writes OKL_TXL_AP_INV_LNS_B (the primary entity), OKL_TXL_AP_INV_LNS_TL (translations), and OKL_TXL_AP_INV_LNS_ALL_B (the _ALL base view). Supporting lookups touch OKL_STRM_ELEMENTS (stream elements), OKL_TRX_AP_INVOICES_B (payables invoice linkage), and OKL_TXD_AR_LN_DTLS_B (AR line details used in disbursement and accounting logic). FND_LANGUAGES is queried by ADD_LANGUAGE, while DUAL and PLITBLM are used for utility purposes such as sequence and language table handling.

Usage Notes

OKL_TPL_PVT is a private package and is not intended for direct invocation by customer code. It is referenced by eighteen other packages, meaning it functions as an internal service layer for higher-level public APIs, concurrent programs, and Oracle Forms based on the OKL transaction invoice schema. Typical invocation pathways include invoice-generation and consolidation concurrent programs, lease accounting and disbursement processes, and form-level transaction entry. Custom extensions should call the documented public OKL APIs rather than this PVT package, since its signature and behavior may change between 12.1.1 and 12.2.2 patches.