Search Results gcs_datasub_utility_pkg




Overview

GCS_DATASUB_UTILITY_PKG is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite, classified under the ETRM (Enterprise Transaction and Reporting Model) framework. It belongs to the GCS (Global Consolidation System) product family and, based on its naming and procedure signatures, supports the Financial Consolidation Hub / Enterprise Performance Foundation data submission and balance processing architecture. The package declares AUTHID CURRENT_USER, meaning its procedures execute with the privileges of the invoking user rather than the definer, which is significant in an EBS multi-schema environment where APPS synonyms overlay the FEM (Financial Enterprise Model) tables.

The core business purpose of GCS_DATASUB_UTILITY_PKG is to compute and refresh period-to-date (PTD) and year-to-date (YTD) account balances within the balances table, and to validate that dimension members submitted by or on behalf of source systems conform to the defined FEM dimensions. In EBS 12.1.1 and 12.2.2, this logic underpins consolidation, reporting, and analysis against the Enterprise Performance Foundation repository, allowing source ledger data to be aggregated consistently across ledgers, calendars, datasets, and currencies.

Key Procedures and Functions

  • UPDATE_YTD_BALANCES — Recalculates or refreshes year-to-date balances for a given load and dataset context. The parameters supplied include load identifier, source system code, dataset code, calendar period, ledger, currency type, and currency code. The p_currency_type parameter distinguishes the reporting/functional currency basis (for example, entered versus converted balances), while p_currency_code narrows the scope to a specific currency.
  • UPDATE_PTD_BALANCES — Performs the equivalent period-to-date balance computation, using the same parameter set. This is typically the primary routine invoked during periodic balance roll-forward processing.
  • UPDATE_PTD_BALANCE_SHEET — A specialized variant of the PTD update that targets balance sheet accounts specifically, since balance sheet balances carry forward differently from income statement accounts in consolidation logic. Its parameters mirror those of the other update procedures.
  • VALIDATE_DIMENSION_MEMBERS — Validates dimension member assignments for a given load identifier. It confirms that submitted members exist and are valid against the defined FEM dimensions before balance processing proceeds.

All four procedures are documented as public entry points; no private helper functions are exposed in the package specification.

Tables Accessed

The package references a broad set of FEM tables through APPS synonyms. FEM_BALANCES is the principal target, holding the PTD and YTD balances that the update procedures write or refresh. FEM_DIMENSIONS_TL supplies dimension definitions and translations used during validation. The dimension detail and attribute tables — FEM_CCTR_ORGS_B, FEM_CHANNELS_B, FEM_CUSTOMERS_B, FEM_PRODUCTS_B, FEM_PROJECTS_B, FEM_LN_ITEMS_B, FEM_NAT_ACCTS_B, FEM_FIN_ELEMS_B — provide member records against which VALIDATE_DIMENSION_MEMBERS checks submitted values. Configuration and attribute tables such as FEM_GLOBAL_VS_COMBO_DEFS, FEM_ENTITIES_ATTR, FEM_EXT_ACCT_TYPES_ATTR, FEM_LEDGERS_ATTR, and FEM_LN_ITEMS_ATTR supply ledger, entity, account type, line item, and combination-level attributes needed to determine balance direction, sign conventions, and account classification.

Usage Notes

GCS_DATASUB_UTILITY_PKG is typically invoked by concurrent programs and internal consolidation routines rather than directly by end users. In practice it is called after a data submission or transformation step has populated staging and dimension data, and before consolidated reporting is generated. Custom code that drives FEM balance loads may call UPDATE_PTD_BALANCES and UPDATE_YTD_BALANCES with the appropriate ledger, calendar period, dataset, and currency parameters; p_currency_type must be supplied correctly to select the intended balance basis. VALIDATE_DIMENSION_MEMBERS is normally executed first so that invalid members fail before balances are computed. Because the package runs with invoker's rights, the calling session must have the necessary privileges on the underlying FEM tables. The package is referenced by one other package, indicating it is a utility layer supporting higher-level consolidation logic rather than serving as a standalone interface.