Search Results lock_tats_and_sources




Overview

XLA_CMP_LOCK_PKG is a technical PL/SQL package owned by the APPS schema in Oracle E-Business Suite, classified under the Subledger Accounting (XLA) product family. Its name derives from the XLA "CMP" (comparison / compilation) family of utilities, and it is specifically responsible for acquiring and managing locks on Subledger Accounting setup metadata — namely accounting types and their associated sources. Subledger Accounting configuration is stored across shared reference tables such as XLA_TAB_ACCT_TYPES_B, XLA_TAB_ACCT_TYPE_SRCS, and XLA_SOURCES_B. Because these tables are read by many concurrent subledger processes and can be modified through the Create Accounting Key Flexfield and related setup forms, a controlled locking mechanism is required to prevent one session from updating a definition while another is compiling or validating the same definition. XLA_CMP_LOCK_PKG provides that synchronization primitive. In both 12.1.1 and 12.2.2 the package is documented as VALID and, aside from SYS.STANDARD, has no external dependency outside the APPS schema, which confirms it is a low-level internal utility rather than an integration API.

Key Procedures and Functions

The ETRM metadata documents exactly two callable programs in this package:

  • LOCK_TATS_AND_SOURCES — Acquires a lock covering Transaction Accounting Templates (TATs) together with the accounting sources they consume. This is the broader of the two entry points, intended for operations that must freeze both the template definition and the source definitions it depends upon, ensuring that a compilation or validation pass sees a consistent snapshot across XLA_TAB_ACCT_TYPE_SRCS and XLA_SOURCES_B.
  • LOCK_TAD — Acquires a lock scoped to the Transaction Account Definition (TAD) level, that is, to the accounting type row and its immediate definition rather than to the full set of dependent sources. It is the narrower lock and is used where only the account type definition itself must be protected.

Both programs are internal helpers. ETRM does not document parameter lists for them, and callers should treat their signatures as private implementation detail subject to change between patch levels.

Tables Accessed

  • XLA_SOURCES_B — the base table of Subledger Accounting source definitions (e.g. transaction and reference sources exposed to the accounting engine). The package references it so that a lock on templates also covers the sources those templates use.
  • XLA_TAB_ACCT_TYPES_B — the base table of Transaction Account Types, which define the accounting rules applied to a given transaction type. This is the core object protected by LOCK_TAD.
  • XLA_TAB_ACCT_TYPE_SRCS — the intersection table linking accounting types to the sources available for use in their rules. LOCK_TATS_AND_SOURCES must account for this relationship to guarantee consistency of the template-to-source mapping.

The package is not documented as writing business data to these tables; the referenced base tables are read as part of the locking protocol so that dependent rows are correctly identified and protected.

Usage Notes

XLA_CMP_LOCK_PKG is never invoked directly by end users. It is called programmatically by higher-level Subledger Accounting packages, and ETRM records exactly one such consumer: XLA_CMP_TAB_PKG, the companion package that performs the actual compilation and comparison of Transaction Account Types and sources. The typical call pattern is therefore internal to XLA_CMP_TAB_PKG, which acquires the appropriate lock before reading or rebuilding accounting configuration and releases it afterwards. Because the package is self-referenced within the APPS schema and depends only on the standard package, it does not appear in concurrent program definitions, Forms, or public APIs. Custom development should not call it directly: the supported extension points for Subledger Accounting are the journal line definition APIs and the Account Derivation Rules setup, not this locking utility. Any direct dependency on XLA_CMP_LOCK_PKG risks breakage during patching, since its procedures are undocumented internals whose behavior may change between 12.1.1 and 12.2.2 patch levels.