Search Results bom_components_b




Overview

The BOM_COMPONENTS_B table is a core data object within the Oracle E-Business Suite Bills of Material (BOM) module. It serves as the primary transactional table for storing detailed information about the components that constitute a bill of material. Every record in this table defines a specific component item, its usage quantity, and its relationship to a parent assembly defined in the BOM_STRUCTURES_B table. This table is fundamental to manufacturing, engineering, and cost management processes, as it defines the material structure for products. Its data drives manufacturing execution, material planning, product costing, and engineering change management throughout Oracle EBS applications.

Key Information Stored

The table's structure centers on a surrogate primary key, COMPONENT_SEQUENCE_ID, which uniquely identifies each component record. Critical foreign keys establish its relationships: BILL_SEQUENCE_ID links the component to its parent assembly structure in BOM_STRUCTURES_B, and COMPONENT_ITEM_ID identifies the inventory item used as the component. Other essential columns include EFFECTIVITY_DATE, which controls the active date range for the component on the bill, and OPERATION_SEQ_NUM, which optionally ties the component to a specific manufacturing operation. The table also stores component attributes such as quantity per assembly, yield factor, planning and shrinkage percentages, and component type (e.g., standard, phantom, optional).

Common Use Cases and Queries

A primary use case is generating a single-level or multi-level bill of material explosion for a given assembly. This is essential for material requirements planning (MRP), work order creation, and product costing roll-ups. Developers and analysts frequently query this table to analyze component usage, validate BOM structures, or support custom reporting. A common SQL pattern retrieves all components for a specific assembly item and revision:

  • SELECT bc.component_item_id, bc.component_quantity, bc.effectivity_date FROM bom_components_b bc JOIN bom_structures_b bs ON bc.bill_sequence_id = bs.bill_sequence_id WHERE bs.assembly_item_id = :p_assembly_item_id AND bs.organization_id = :p_org_id AND bs.alternate_bom_designator IS NULL ORDER BY bc.component_sequence_id;

Another critical scenario involves engineering change orders (ECOs), where the REVISED_ITEM_SEQUENCE_ID column links to the ENG_REVISED_ITEMS table to track component revisions.

Related Objects

BOM_COMPONENTS_B is central to the BOM data model, with extensive relationships to other key tables. As documented in the ETRM metadata, its primary relationships include:

  • BOM_STRUCTURES_B: The foundational link via BILL_SEQUENCE_ID. Every component must belong to a defined bill structure.
  • BOM_COMPONENT_OPERATIONS: Links via COMPONENT_SEQUENCE_ID to define detailed operation-specific component requirements.
  • BOM_REFERENCE_DESIGNATORS: References via COMPONENT_SEQUENCE_ID to store specific component locations or designators.
  • BOM_SUBSTITUTE_COMPONENTS: Links via COMPONENT_SEQUENCE_ID to define alternative components that can be used.
  • Transactional Modules: Direct references from WIP_REQUIREMENT_OPERATIONS, OE_ORDER_LINES_ALL, and MTL_DEMAND demonstrate its integration with Work in Process, Order Management, and Inventory for material consumption and planning.
  • Temporary Tables: Used by BOM explosion (BOM_EXPLOSION_TEMP), implosion, and comparison processes, highlighting its role in runtime BOM processing.