BOM_STRUCTURES_B
Schema: BOMmasterPer inventory orgThe bill-of-material header — one bill per assembly item, organization, and alternate designator (manufacturing or engineering), with the common-bill pointer that lets organizations share one structure
NULL ALTERNATE_BOM_DESIGNATOR is the primary bill — alternates add rows per assembly, so filter them or double-count structures. When COMMON_BILL_SEQUENCE_ID differs from the bill's own id, the components live under the common bill — resolve it first. The familiar BOM_BILL_OF_MATERIALS name is a view over this table.
What the badges mean
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or an APPS-schema view.
Header & line
BOM_STRUCTURES_B is the header for its lines in BOM_COMPONENTS_B.
Fields
12 fields · 1 key
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | BILL_SEQUENCE_ID | Surrogate key of the bill — what components hang off | NUMBER | Key |
| 2 | ASSEMBLY_ITEM_ID | The assembly item the bill builds | NUMBER | |
| 3 | ORGANIZATION_ID | Owning inventory organization | NUMBER | |
| 4 | ALTERNATE_BOM_DESIGNATOR | NULL for the primary bill — alternates add rows per assembly and org | VARCHAR2 | |
| 5 | ASSEMBLY_TYPE | 1 = manufacturing, 2 = engineering (per the data dictionary's own comment) | NUMBER | |
| 6 | COMMON_BILL_SEQUENCE_ID | The shared bill the components actually live under — equals the own id when the bill is not common | NUMBER | |
| 7 | COMMON_ASSEMBLY_ITEM_ID | Assembly of the common bill, when common | NUMBER | |
| 8 | COMMON_ORGANIZATION_ID | Organization of the common bill — commons can cross orgs | NUMBER | |
| 9 | EFFECTIVITY_CONTROL | Date vs unit effectivity control for the structure | NUMBER | |
| 10 | IMPLEMENTATION_DATE | When the bill was implemented — NULL for pending engineering bills | DATE | Filter date |
| 11 | PENDING_FROM_ECN | The change notice that created a pending bill | VARCHAR2 | |
| 12 | OBJ_NAME | PLM object name — NULL on classic item bills; the legacy views filter on it | VARCHAR2 |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading BOM_STRUCTURES_Bon Databricks — real DATE columns need no conversion, and the org anchor and the LAST_UPDATE_DATE watermark are already in place. Set your Unity Catalog location, schema, and org values below; they’re substituted into the SQL and the copy button.
-- ============================================================
-- Table : BOM_STRUCTURES_B — The bill-of-material header — one bill per assembly item, organization, and alternate designator (manufacturing or engineering), with the common-bill pointer that lets organizations share one structure
-- Purpose: Column-selected read of BOM_STRUCTURES_B — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + BILL_SEQUENCE_ID
-- 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.BILL_SEQUENCE_ID AS "Surrogate key of the bill — what components hang off",
t.ASSEMBLY_ITEM_ID AS "The assembly item the bill builds",
t.ORGANIZATION_ID AS "Owning inventory organization",
t.ALTERNATE_BOM_DESIGNATOR AS "NULL for the primary bill — alternates add rows per assembly and org",
t.ASSEMBLY_TYPE AS "1 = manufacturing, 2 = engineering (per the data dictionary's own comment)",
t.COMMON_BILL_SEQUENCE_ID AS "The shared bill the components actually live under — equals the own id when the bill is not common",
t.COMMON_ASSEMBLY_ITEM_ID AS "Assembly of the common bill, when common",
t.COMMON_ORGANIZATION_ID AS "Organization of the common bill — commons can cross orgs",
t.EFFECTIVITY_CONTROL AS "Date vs unit effectivity control for the structure",
t.IMPLEMENTATION_DATE AS "When the bill was implemented — NULL for pending engineering bills",
t.PENDING_FROM_ECN AS "The change notice that created a pending bill",
t.OBJ_NAME AS "PLM object name — NULL on classic item bills; the legacy views filter on it"
FROM <catalog>.<schema>.BOM_STRUCTURES_B t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.BILL_SEQUENCE_ID = <BILL_SEQUENCE_ID>
-- AND t.IMPLEMENTATION_DATE >= DATE '<DATE_FROM>'
-- AND t.IMPLEMENTATION_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.BILL_SEQUENCE_ID;7 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <BILL_SEQUENCE_ID>, <DATE_FROM>, <DATE_TO>, <watermark>
Relationships
1-hop neighbors — click a table to navigate there. FND lookup decode and translation edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON BOM_STRUCTURES_B.BILL_SEQUENCE_ID = BOM_COMPONENTS_B.BILL_SEQUENCE_IDON BOM_STRUCTURES_B.ASSEMBLY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND BOM_STRUCTURES_B.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON BOM_STRUCTURES_B.ORGANIZATION_ID = MTL_PARAMETERS.ORGANIZATION_ID- BOM_STRUCTURES_BBOM_STRUCTURES_Bforeign key · N:1
ON BOM_STRUCTURES_B1.COMMON_BILL_SEQUENCE_ID = BOM_STRUCTURES_B2.BILL_SEQUENCE_ID AND BOM_STRUCTURES_B1.ORGANIZATION_ID = BOM_STRUCTURES_B2.ORGANIZATION_ID ON BOM_BILL_OF_MATERIALS.BILL_SEQUENCE_ID = BOM_STRUCTURES_B.BILL_SEQUENCE_ID AND BOM_BILL_OF_MATERIALS.ORGANIZATION_ID = BOM_STRUCTURES_B.ORGANIZATION_IDON WIP_DISCRETE_JOBS.COMMON_BOM_SEQUENCE_ID = BOM_STRUCTURES_B.BILL_SEQUENCE_ID AND WIP_DISCRETE_JOBS.ORGANIZATION_ID = BOM_STRUCTURES_B.ORGANIZATION_ID