Search Results okl_til_pvt




Overview

OKL_TIL_PVT is a private PL/SQL package body in the APPS schema that supports Oracle Lease and Finance Management (formerly Oracle Lease Management) within Oracle E-Business Suite 12.1.1 and 12.2.2. The PVT suffix denotes a private API classification: the package encapsulates the internal implementation logic for the Transaction Interface Line (TIL) entity, which governs the invoice and transaction line records generated against lease and finance contracts. Rather than exposing a callable public interface, OKL_TIL_PVT provides the row-level DML, validation, versioning, and language-handling routines that ETRM's public APIs and concurrent interface programs invoke during transaction line processing.

The package performs two closely related roles. First, it manages the Transaction Interface Line records that bridge lease contract transactions to Oracle Receivables and Oracle Payables invoice lines. Second, it supplies the standard multi-language and multi-version concurrency scaffolding — insertion, locking, update, deletion, validation, and translation maintenance — common to Oracle Application Object Library (AOL) table-handler packages in EBS.

Key Procedures and Functions

The documented procedures reflect a conventional table-handler plus validation architecture:

  • QC — the standard "quality check" placeholder routine present throughout AOL-generated package bodies; it exists to satisfy the shared API framework and performs no business logic.
  • CHANGE_VERSION — implements the "who columns" concurrency protocol, stamping or verifying the WHODUNNIT columns (last update date, last updated by, last update login) during DML so that conflicting concurrent updates are detected.
  • API_COPY — creates a new transaction line row by copying an existing row's attribute set, used when duplicating or replicating transaction interface line records.
  • ADD_LANGUAGE — maintains the _TL translation table, inserting or refreshing language-specific descriptive columns for supported FND_LANGUAGES rows.
  • INSERT_ROW — the core insert handler for new transaction interface line records, including who-column population and primary key derivation.
  • LOCK_ROW — acquires and validates a row lock for a given primary key, returning the current row values and raising an error if the row is unavailable or already locked.
  • UPDATE_ROW — applies changes to an existing transaction interface line record, enforcing who-column version checks before committing the update.
  • DELETE_ROW — removes transaction interface line records, including associated translated and detail rows where applicable.
  • VALIDATE_ROW — executes entity-level business validation against the assembled row payload prior to insert or update, returning standard FND_API error codes and messages.

Tables Accessed

According to the documented dependencies, the package reads and writes the transaction interface line base and translation tables — OKL_TXL_AR_INV_LNS_B and OKL_TXL_AR_INV_LNS_TL — together with their views OKL_TXL_AR_INV_LNS_V and OKL_TXL_AR_INV_LNS_TL, which constitute the primary data the package manages. Supporting validation and derivation logic touches OKL_TXL_AP_INV_LNS_B (payables invoice lines), OKL_TRX_AR_INVOICES_B (receivables invoices), OKC_K_LINES_B and OKC_K_LINES_V (contract lines), OKL_K_HEADERS (contract headers), OKL_ASSET_CNDTN_LNS_B (asset condition lines), and the stream type views OKL_STRM_TYPE_V and OKL_STRM_TMPT_FULL_UV. Language support draws on FND_LANGUAGES, and DUAL and the PL/SQL table type PLITBLM furnish utility constructs. Shared services come from OKL_API, OKL_UTIL, OKC_P_UTIL, FND_API, FND_GLOBAL, APP_EXCEPTIONS, and STANDARD.

Usage Notes

OKL_TIL_PVT is a private package and is not intended for direct customer invocation. It is called internally by the Transaction Interface public APIs, lease transaction and invoicing concurrent programs, and inquiry or entry forms that create, amend, or validate transaction interface lines. The documented dependency graph confirms that OKL_TIL_PVT is referenced by 28 other database objects, while it references no external callers of its own — a profile consistent with a low-level implementation package. Customizations should target the documented public APIs (for example OKL_API) and underlying tables through supported extension patterns rather than this package, since its signature and internals may change between ETRM patch levels. Where a row must be manipulated from custom code, the documented INSERT_ROW, UPDATE_ROW, DELETE_ROW, LOCK_ROW, and VALIDATE_ROW handlers should be invoked as a set so that version and language integrity are preserved.