Skip to content
EBS Reference

BOM_COMPONENTS_B

Schema: BOMmaster

Single-level bill components — one row per component per operation per effectivity window, with usage quantity, yield, supply type, and the supply subinventory shop-floor issues pull from

Grain note

Rows are date-effective — the same component reappears per revision window; filter EFFECTIVITY_DATE/DISABLE_DATE around an as-of date (and IMPLEMENTATION_DATE IS NOT NULL) or explosions double-count

Notes

No org column — the organization resolves through the bill header. The legacy BOM_INVENTORY_COMPONENTS compatibility view is an access layer over this table; confirm its exact predicate against your instance before trying to reproduce its row set from the base table.

What the badges mean
Schema: INV
Schema: the Oracle product schema that owns the table (INV, ONT, WSH, PO, BOM, WIP, MRP, MSC, AR, AP, GL, HR, APPLSYS) — tells you which product family the object belongs to, not who can query it.
master
Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or an APPS-schema view.

Structural facts — how the table is partitioned, not a trap by itself

OU-striped (ORG_ID)
Rows are scoped to an operating unit. A landed extract carries every operating unit’s rows — filter or join on ORG_ID, and don’t confuse it with ORGANIZATION_ID (see the quirks guide).
Per inventory org
Rows are scoped to an inventory organization (plant or warehouse) via ORGANIZATION_ID — a different partition from OU-striped tables (see the quirks guide).
Language-striped
The table carries a LANGUAGE column (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to one LANGUAGE or a join multiplies rows (see the quirks guide).

Join & extract hazards — verify before you rely on this

View
This is an APPS-schema convenience view, not a physical table. Extract the base tables it joins instead — views can be slow at scale and aren't guaranteed stable across patches.
In field listings, the Key chip marks a primary-key field.

Header & line

BOM_COMPONENTS_B lines join back to their header BOM_STRUCTURES_B — and the org column — so a line never fans out.

Fields

18 fields · 1 key

18 fields.

Table fields: position, field name, description, data type, and flags. 18 fields.
#FieldDescriptionTypeFlags
1COMPONENT_SEQUENCE_IDSurrogate key of the component rowNUMBER
Primary-key field
2BILL_SEQUENCE_IDThe bill the component belongs to — also where the organization resolves fromNUMBER
3COMPONENT_ITEM_IDThe component itemNUMBER
4OPERATION_SEQ_NUMThe routing operation that consumes the component — 1 when no routing; a value match, not a foreign keyNUMBER
5ITEM_NUMSort/display sequence on the billNUMBER
6COMPONENT_QUANTITYUsage quantity per assemblyNUMBER
7COMPONENT_YIELD_FACTORYield factor applied to usageNUMBER
8EFFECTIVITY_DATEWhen the component row becomes effective — the as-of filter columnDATE
The table's primary analysis date — a real DATE column, no conversion needed
9DISABLE_DATEWhen the row stops being effective — NULL while activeDATE
10IMPLEMENTATION_DATENULL on unimplemented ECO rows — filter it out for the as-built viewDATE
11PLANNING_FACTORPlanning percentage for option/model componentsNUMBER
12QUANTITY_RELATEDWhether the component quantity is tied to the option quantityNUMBER
13WIP_SUPPLY_TYPESupply method — push, pull, phantom, bulk, supplier; numeric, decode from your instance's manufacturing lookupsNUMBER
14SUPPLY_SUBINVENTORYDefault supply subinventory for issuesVARCHAR2
15SUPPLY_LOCATOR_IDDefault supply locatorNUMBER
16OPTIONALWhether the component is optional on a model billNUMBER
17BOM_ITEM_TYPEComponent's BOM item type — standard, model, option class…; numeric, undecodedNUMBER
18BASIS_TYPEItem vs lot basis for the usage quantityNUMBER

Field provenance: hand-curated. 1 key field.

Boilerplate SQL

Starting point for reading BOM_COMPONENTS_B on Databricks — real DATE columns need no conversion, and the org anchor is already in place. The optional LAST_UPDATE_DATE watermark is included. Set your Unity Catalog location, schema, and org values below; they’re substituted into the SQL and the copy button.

Query parameters

6 parameters not filled: <catalog>, <schema>, <COMPONENT_SEQUENCE_ID>, <DATE_FROM>, <DATE_TO>, <watermark>

-- ============================================================
-- Table  : BOM_COMPONENTS_B — Single-level bill components — one row per component per operation per effectivity window, with usage quantity, yield, supply type, and the supply subinventory shop-floor issues pull from
-- Purpose: Column-selected read of BOM_COMPONENTS_B — auto-generated from field metadata
-- Grain  : One row per COMPONENT_SEQUENCE_ID
-- Caution: Rows are date-effective — the same component reappears per revision window; filter EFFECTIVITY_DATE/DISABLE_DATE around an as-of date (and IMPLEMENTATION_DATE IS NOT NULL) or explosions double-count
-- Notes  : Auto-generated skeleton for Oracle EBS R12 data landed in your lakehouse. Dates are real DATE/TIMESTAMP columns — no conversion needed. WHO audit columns omitted (see the quirks guide); the optional LAST_UPDATE_DATE watermark filter supports incremental extracts.
-- ============================================================
SELECT
  t.COMPONENT_SEQUENCE_ID AS "Surrogate key of the component row",
  t.BILL_SEQUENCE_ID AS "The bill the component belongs to — also where the organization resolves from",
  t.COMPONENT_ITEM_ID AS "The component item",
  t.OPERATION_SEQ_NUM AS "The routing operation that consumes the component — 1 when no routing; a value match, not a foreign key",
  t.ITEM_NUM AS "Sort/display sequence on the bill",
  t.COMPONENT_QUANTITY AS "Usage quantity per assembly",
  t.COMPONENT_YIELD_FACTOR AS "Yield factor applied to usage",
  t.EFFECTIVITY_DATE AS "When the component row becomes effective — the as-of filter column",
  t.DISABLE_DATE AS "When the row stops being effective — NULL while active",
  t.IMPLEMENTATION_DATE AS "NULL on unimplemented ECO rows — filter it out for the as-built view",
  t.PLANNING_FACTOR AS "Planning percentage for option/model components",
  t.QUANTITY_RELATED AS "Whether the component quantity is tied to the option quantity",
  t.WIP_SUPPLY_TYPE AS "Supply method — push, pull, phantom, bulk, supplier; numeric, decode from your instance's manufacturing lookups",
  t.SUPPLY_SUBINVENTORY AS "Default supply subinventory for issues",
  t.SUPPLY_LOCATOR_ID AS "Default supply locator",
  t.OPTIONAL AS "Whether the component is optional on a model bill",
  t.BOM_ITEM_TYPE AS "Component's BOM item type — standard, model, option class…; numeric, undecoded",
  t.BASIS_TYPE AS "Item vs lot basis for the usage quantity"
FROM <catalog>.<schema>.BOM_COMPONENTS_B t
WHERE
  1 = 1  -- no partition column on this table; the filters below are optional
  -- AND t.COMPONENT_SEQUENCE_ID = <COMPONENT_SEQUENCE_ID>
  -- AND t.EFFECTIVITY_DATE >= DATE '<DATE_FROM>'
  -- AND t.EFFECTIVITY_DATE <= DATE '<DATE_TO>'
  -- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>'  -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.COMPONENT_SEQUENCE_ID;

Verified September 2026

Relationships

Diagram of 1-hop neighbors — join details below. FND lookup decode and translation edges are highlighted; they’re the joins newcomers most often get wrong.

Join details

  • BOM_STRUCTURES_BBOM_COMPONENTS_Bheader line · 1:N
    ON BOM_STRUCTURES_B.BILL_SEQUENCE_ID = BOM_COMPONENTS_B.BILL_SEQUENCE_ID
  • BOM_COMPONENTS_BMTL_SYSTEM_ITEMS_Bforeign key · N:M
    ON BOM_COMPONENTS_B.COMPONENT_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID
  • BOM_INVENTORY_COMPONENTSBOM_COMPONENTS_Bforeign key · 1:1
    ON BOM_INVENTORY_COMPONENTS.COMPONENT_SEQUENCE_ID = BOM_COMPONENTS_B.COMPONENT_SEQUENCE_ID

Browse more BOM & Costing tables

More BOM & Costing tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Oracle. Oracle and Oracle E-Business Suite are registered trademarks of Oracle and/or its affiliates.