Search Results fem_dimension_util_pkg




Overview

FEM_DIMENSION_UTIL_PKG is an Oracle Enterprise Business Suite (EBS) PL/SQL package body owned by the APPS schema, classified as an "OTHER" API within the Enterprise Tax, Risk, and Treasury Management (ETRM) / Financial Enterprise Management (FEM) module. Its status is VALID in both 12.1.1 and 12.2.2 environments. The package serves as a centralized dimension utility layer that supports the creation, registration, and resolution of the core reference objects used throughout the FEM (Financials Enterprise Management / Profitability and Cost Management) data model. This includes applications, dimensions, datasets, budgets, ledgers, calendars, encumbrance types, value sets, and hierarchical combinations.

The package encapsulates the logic required to translate business identifiers (such as ledger IDs, calendar period IDs, and dimension group IDs) into their internal FEM surrogate keys, and to register or unregister data locations used by downstream engines. Because dimension and member metadata must remain consistent across numerous FEM sub-components, FEM_DIMENSION_UTIL_PKG acts as a shared utility invoked by more than 130 dependent packages, making it one of the more heavily leveraged packages in the FEM schema.

Key Procedures and Functions

The documented package exposes 49 procedures and functions. The principal initializer is FEM_INITIALIZE, which establishes session-level context and initializes global package state. Identifier resolution routines include APPLICATION_GROUP_ID, GLOBAL_VS_COMBO_ID, LOCAL_VS_COMBO_ID, DIMENSION_VALUE_SET_ID, and GENERATE_MEMBER_ID, which return surrogate identifiers for application groups, global and local value set combinations, dimension value sets, and dimension members respectively.

Calendar utilities include RELATIVE_CAL_PERIOD_ID, EFFECTIVE_CAL_PERIOD_ID, and GET_CAL_PERIOD_ID, which resolve calendar period references relative to a base period or effective date. Rule validation is handled by IS_RULE_VALID_FOR_LEDGER, confirming that allocation or dimension rules are applicable to a given ledger. Data location lifecycle is managed by REGISTER_DATA_LOCATION and UNREGISTER_DATA_LOCATION, which attach or detach data sources from the FEM framework.

Object creation and registration routines include GENERATE_DEFAULT_LOAD_MEMBER, NEW_DATASET, NEW_BUDGET, REGISTER_BUDGET, NEW_LEDGER, REGISTER_LEDGER, NEW_ENCUMBRANCE_TYPE, and REGISTER_ENCUMBRANCE_TYPE. These procedures instantiate new FEM objects and register them against the appropriate source system tables so they become available for processing by the FEM engines.

Tables Accessed

The package reads and writes a broad set of FEM and Oracle Financials tables (all accessed via APPS synonyms). Core dimension metadata is stored in FEM_DIMENSIONS_B, FEM_DIMENSIONS_TL, and FEM_DIMENSIONS_VL, with attributes in FEM_DIM_ATTRIBUTES_B/TL/VL, FEM_DIM_ATTRIBUTES_B, and versioning in FEM_DIM_ATTR_VERSIONS_B and FEM_DIM_ATTR_VERSIONS_PKG. Hierarchy and grouping data resides in FEM_HIERARCHIES and FEM_DIMENSION_GRPS_B.

Calendar records are maintained in FEM_CALENDARS_ATTR, FEM_CALENDARS_B, and FEM_CAL_PERIODS_ATTR/B. Datasets and budgets are persisted in FEM_DATASETS_ATTR, FEM_DATASETS_B_S, FEM_BUDGETS_ATTR, and FEM_BUDGETS_B. Ledger and encumbrance metadata use FEM_LEDGERS_ATTR, FEM_LEDGERS_B, FEM_ENCUMBRANCE_TYPES_B, and FEM_ENC_TYPES_ATTR. Value set combinations are stored in FEM_GLOBAL_VS_COMBOS_B and FEM_GLOBAL_VS_COMBO_DEFS. The package also references cross-dimensional and data-load tables such as FEM_XDIM_DIMENSIONS, FEM_DL_DIMENSIONS, FEM_DL_TRANS_CURR, and FEM_OBJECT_CATALOG_B.

Usage Notes

FEM_DIMENSION_UTIL_PKG is not referenced by any database object directly, but is invoked extensively at runtime by 130 dependent FEM packages, including FEM_ENGINES_PKG, FEM_DATASETS_PKG, FEM_BUDGETS_PKG, FEM_CALENDARS_PKG, FEM_LEDGERS_PKG, and FEM_GLOBAL_VS_COMBOS_PKG. It is typically called from FEM concurrent programs during metadata setup, from OAF/Forms-based FEM configuration pages when users create ledgers, budgets, datasets, or encumbrance types, and from custom integration code that programmatically registers FEM data locations.

Because FEM_INITIALIZE establishes session context, dependent callers must invoke it before any of the identifier-resolution or registration routines. The registration procedures (REGISTER_LEDGER, REGISTER_BUDGET, REGISTER_ENCUMBRANCE_TYPE, REGISTER_DATA_LOCATION) generally follow a corresponding NEW_* creation call, and should be wrapped in standard FND_API / FND_MSG_PUB error handling as the package uses FND_MESSAGE, FND_MSG_PUB, FND_LOG, and FND_GLOBAL for diagnostics and audit logging.