Search Results relation_exist




Overview

APPS.GL_FC_XLATE_PKG is a General Ledger utility package used by Oracle E-Business Suite to manage the metadata that surrounds currency translation in a multi-ledger environment. Translation is the process by which an entire ledger's balances are restated from the functional currency into a target (reporting) currency. Because a single source ledger may be translated into several different target currencies — and because Oracle Financials Consolidation and translation flows require a distinct target ledger, ledger relationship, and ledger set assignment for each such combination — the application must be able to generate and validate the names of these synthetic target ledgers deterministically.

GL_FC_XLATE_PKG provides exactly that capability. It generates unique ledger names and short names, resolves the correct ledger name for a given source ledger and target currency combination (creating one when none exists), and verifies whether the required translation relationship already exists. It also supplies the period-based checks that determine whether translation has ever occurred and whether the current period is the first period for which translation is being performed. The package is declared with AUTHID CURRENT_USER, meaning its SQL executes under the privileges of the calling user rather than the definer, and it is referenced by five other packages in the application, indicating its role as a shared service rather than an end-user-facing standalone program.

Key Procedures and Functions

  • GET_UNIQUE_NAME — Generates a unique target ledger name from the source ledger name, ledger identifier, and target currency code, ensuring the generated name does not collide with existing ledger names.
  • GET_UNIQUE_SHORT_NAME — The parallel function for the ledger short name; it produces a unique, length-constrained short name for the target ledger.
  • GET_LEDGER_NAME — Retrieves the ledger name associated with a specific ledger and target currency, or creates one through GET_UNIQUE_NAME when no such ledger/currency combination exists, then returns it.
  • GET_LEDGER_SHORT_NAME — The analogous retrieval-or-creation function for the short name, falling back to GET_UNIQUE_SHORT_NAME when required.
  • RELATION_EXIST — Determines whether a translation accounting ledger configuration (ALC) relationship has already been defined for the specified ledger and target currency.
  • XLATED_EVER — Indicates whether translation has ever been run for the ledger, based on translation tracking and period status data.
  • FIRST_EVER_PERIOD_CHECK — Evaluates whether the period being processed is the first period in which translation is being performed for the ledger. This is the function that the search term "first_ever_period_check" refers to. It is significant because the first translated period requires special treatment: opening balances, retained earnings, and cumulative translation adjustment accounts must be handled differently from subsequent periods. Callers use this check to branch logic during translation run preparation.

Tables Accessed

The package reads and writes a defined set of GL tables through APPS synonyms. GL_LEDGERS holds the source and generated target ledger definitions. GL_LEDGER_RELATIONSHIPS stores the parent/child translation relationships validated by RELATION_EXIST. GL_LEDGER_SET_ASSIGNMENTS records how target ledgers participate in ledger sets used for reporting and consolidation. GL_PERIODS and GL_PERIOD_STATUSES provide the calendar and open/closed status information required by XLATED_EVER and FIRST_EVER_PERIOD_CHECK. GL_TRANSLATION_TRACKING records the history of translation runs and is central to determining whether translation has ever executed for a ledger/currency pair. DUAL is queried for single-row computations and naming logic.

Usage Notes

GL_FC_XLATE_PKG is an internal utility invoked by other EBS packages rather than by direct user action. Its documented callers include the five packages that reference it, which typically drive translation submission, consolidation setup, and reporting ledger maintenance. It is not exposed through a standard concurrent program or form, and Oracle does not document it as a public API. Custom code that provisions translation ledgers or validates translation readiness may call these functions, but doing so should be treated as an unsupported extension: signatures may change between patch levels. The header comment ($Header: glfcxlts.pls 120.4) confirms the file is under Oracle version control, with the most recent documented revision dated 2005, prior to both 12.1.1 and 12.2.2; the package has therefore remained stable across those releases, though its behavior depends on the ledger and period data present in each instance.