Search Results get_top_item_attribute_value




Overview

APPS.BOM_ROLLUP_PUB is a public PL/SQL package that implements the bill-of-material rollup engine within Oracle E-Business Suite. Its central purpose is to traverse a BOM structure and compute or propagate attribute values across its constituent objects. As stated in the package header notes, rollup occurs on the objects within a BOM, and every object carries an Attribute Map in which each attribute identifies its compute function. When no compute function is specified for an attribute, the attribute value is passed through unchanged.

The package follows a strictly ordered execution model. Rollup actions are performed in reverse topological order, so attribute computation and propagation begin at the leaf nodes and terminate at the parent. Each object additionally exposes a list of supported rollup actions, and every supported action maps to a rollup function. The calling application selects which actions to perform during a given rollup. Attribute Maps are derived from object attribute metadata and are not expected to be manipulated directly by the calling application. The package is classified as a PUB API, indicating it is a supported public interface, and it is referenced by three other packages in the EBS codebase.

Key Procedures and Functions

Tables Accessed

The package reads and writes through APPS synonyms across BOM, item, and EGO metadata tables. BOM_EXPLOSIONS_ALL, BOM_STRUCTURES_B, and BOM_STRUCTURE_TYPES_B supply the structural hierarchy and structure-type definitions that drive traversal. BOM_SMALL_IMPL_TEMP supports intermediate rollup computation. MTL_SYSTEM_ITEMS and MTL_SYSTEM_ITEMS_B provide item master attributes, while MTL_ITEM_CATEGORIES, MTL_DEFAULT_CATEGORY_SETS, and MTL_PARAMETERS supply category and organizational context. EGO_ITEM_GTN_ATTRS_B and EGO_ITEM_GTN_ATTRS_TL hold global trade item attributes, and EGO_EXTFWK_S provides extensibility framework metadata. FND_LOOKUP_VALUES resolves lookup codes, DUAL serves as a singleton source, and PLITBLM is the standard PL/SQL index-by table used for passing collections.

Usage Notes

BOM_ROLLUP_PUB is invoked from concurrent programs, Oracle Forms, and custom PL/SQL code that requires BOM attribute rollup. Callers configure the attribute and action maps, supply the top item and organization context, and then call PERFORM_ROLLUP. Because the API maintains package globals such as pG_Attribute_Map, pG_Rollup_Action_Map, and pG_Item_Org_Tbl, a session must initialize context before executing a rollup and should not assume state persistence across unrelated calls. The WRITE_DEBUG_LOG function is typically called conditionally, gated by caller-supplied debug flags, to avoid unnecessary logging overhead in production runs. Direct modification of the attribute map is not supported; the map is constructed internally from object metadata.