Search Results bom_globals




Overview

APPS.BOM_GLOBALS is a foundational PL/SQL package body in the Oracle E-Business Suite Bills of Material module. Its principal design objective is to provide a session-level repository of global context information — organization, user, login, request, and program identifiers — together with controlled accessors that other Bill of Materials packages, forms, and concurrent programs use throughout a transaction. Rather than requiring each dependent program to query FND_GLOBAL, FND_PROFILE, and related sources independently, BOM_GLOBALS centralizes the retrieval, storage, and retrieval of these values in a single package-level state area. In the ETRM metadata for Release 12.2.2 the package is classified as OTHER and is recorded as VALID in the APPS schema. It exposes 124 documented procedures and functions and is referenced by 78 other database objects, confirming its role as a widely shared utility rather than an end-user-facing API. The package body additionally contains logic that traverses Bill of Materials, engineering change, and item attribute structures, and it depends on a broad set of APPS tables, FND utilities, and EGO (Application Object Library Attribute) constructs.

Key Procedures and Functions

The documented entry points follow a consistent getter/setter pattern that establishes and retrieves the global context for a session or concurrent request:

These accessors shield callers from the mechanics of how context is obtained and persisted, allowing consistent behavior across forms, concurrent managers, and custom extensions.

Tables Accessed

The package body references a wide spectrum of APPS synonyms reflecting its supporting role for BOM, engineering, and item processing. Bill of material structures and components are represented through BOM_STRUCTURES_B, BOM_COMPONENTS_B, BOM_INVENTORY_COMPONENTS_S, BOM_COMPONENT_OPERATIONS, BOM_COMPONENT_OPERATIONS_S, BOM_SUBSTITUTE_COMPONENTS, and BOM_REFERENCE_DESIGNATORS. Structure classification and bill header data are drawn from BOM_STRUCTURE_TYPES_B and BOM_STRUCTURE_TYPES_VL, while BOM_BILL_OF_MATERIALS and BOM_REVISIONS supply bill and revision information. Engineering change context is obtained from ENG_ENGINEERING_CHANGES, ENG_CHANGE_TYPE_PROCESSES, and ENG_REVISED_ITEMS. Item and revision data come from MTL_SYSTEM_ITEMS, MTL_SYSTEM_ITEMS_B, MTL_SYSTEM_ITEMS_KFV, and MTL_ITEM_REVISIONS_B, with catalog grouping from MTL_ITEM_CATALOG_GROUPS and MTL_ITEM_CATALOG_GROUPS_B. Attribute security and lifecycle handling use EGO_DATA_LEVEL_B and EGO_OBJ_TYPE_LIFECYCLES. Reference and setup data are read from FND_LOOKUP_VALUES, FND_OBJECTS, and MFG_LOOKUPS. The package also relies heavily on FND utilities such as FND_API, FND_GLOBAL, FND_PROFILE, FND_MESSAGE, FND_MSG_PUB, FND_LOG, FND_FILE, FND_FLEX_EXT, FND_FLEX_SERVER, and FND_INSTALLATION, along with ERROR_HANDLER, BOM_BO_PUB, BOM_UDA_OVERRIDES_PVT, EGO_USER_ATTRS_DATA_PVT, INV_ORGHIERARCHY_PVT, and EGO_DATA_SECURITY.

Usage Notes

BOM_GLOBALS is typically invoked indirectly. Oracle Bills of Material forms and concurrent programs call the setter procedures early in their execution to establish organization, user, request, and program context, then reference the corresponding getters during subsequent processing. Because it is referenced by 78 other packages and references no fewer than fifteen documented base tables, it functions as an internal plumbing layer for the module rather than a public integration API. Custom code extending Bills of Material functionality may call the getter procedures to obtain the current organization or request identifier without re-deriving those values, but developers should treat the package as Oracle-owned and avoid modifying it. The metadata records no dependent objects referencing BOM_GLOBALS directly from outside the APPS schema beyond the listed package references, reinforcing its role as an internal utility. On upgrade between 12.1.1 and 12.2.2, the object is expected to remain VALID; any invalidation after patching should be resolved by recompiling the package body.