BOM_OPERATIONAL_ROUTINGS
Schema: BOMmasterPer inventory orgThe routing header — one routing per assembly item, organization, and alternate designator, with the common-routing pointer and the completion subinventory finished assemblies land in
Same alternate and common-pointer traps as bills: NULL alternate designator is the primary routing, and a common routing's operations live under the shared routing.
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.
- 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 withORGANIZATION_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
LANGUAGEcolumn (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to oneLANGUAGEor a join multiplies rows (see the quirks guide). - 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.
Structural facts — how the table is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
Header & line
BOM_OPERATIONAL_ROUTINGS is the header for its lines in BOM_OPERATION_SEQUENCES.
Fields
11 fields · 1 key
11 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | ROUTING_SEQUENCE_ID | Surrogate key of the routing — what operations hang off | NUMBER | Primary-key field |
| 2 | ASSEMBLY_ITEM_ID | The assembly the routing builds | NUMBER | |
| 3 | ORGANIZATION_ID | Owning inventory organization | NUMBER | |
| 4 | ALTERNATE_ROUTING_DESIGNATOR | NULL for the primary routing | VARCHAR2 | |
| 5 | ROUTING_TYPE | 1 = manufacturing, 2 = engineering (per the data dictionary's own comment) | NUMBER | |
| 6 | COMMON_ROUTING_SEQUENCE_ID | The shared routing the operations actually live under — equals the own id when not common | NUMBER | |
| 7 | COMPLETION_SUBINVENTORY | Where completed assemblies land by default | VARCHAR2 | |
| 8 | COMPLETION_LOCATOR_ID | Default completion locator | NUMBER | |
| 9 | CFM_ROUTING_FLAG | Flow-manufacturing routing marker | NUMBER | |
| 10 | PRIORITY | Routing priority among alternates | NUMBER | |
| 11 | TOTAL_PRODUCT_CYCLE_TIME | Total product cycle time for flow routings | NUMBER |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading BOM_OPERATIONAL_ROUTINGS 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.
5 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <ROUTING_SEQUENCE_ID>, <watermark>
-- ============================================================
-- Table : BOM_OPERATIONAL_ROUTINGS — The routing header — one routing per assembly item, organization, and alternate designator, with the common-routing pointer and the completion subinventory finished assemblies land in
-- Purpose: Column-selected read of BOM_OPERATIONAL_ROUTINGS — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + ROUTING_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.ROUTING_SEQUENCE_ID AS "Surrogate key of the routing — what operations hang off",
t.ASSEMBLY_ITEM_ID AS "The assembly the routing builds",
t.ORGANIZATION_ID AS "Owning inventory organization",
t.ALTERNATE_ROUTING_DESIGNATOR AS "NULL for the primary routing",
t.ROUTING_TYPE AS "1 = manufacturing, 2 = engineering (per the data dictionary's own comment)",
t.COMMON_ROUTING_SEQUENCE_ID AS "The shared routing the operations actually live under — equals the own id when not common",
t.COMPLETION_SUBINVENTORY AS "Where completed assemblies land by default",
t.COMPLETION_LOCATOR_ID AS "Default completion locator",
t.CFM_ROUTING_FLAG AS "Flow-manufacturing routing marker",
t.PRIORITY AS "Routing priority among alternates",
t.TOTAL_PRODUCT_CYCLE_TIME AS "Total product cycle time for flow routings"
FROM <catalog>.<schema>.BOM_OPERATIONAL_ROUTINGS t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.ROUTING_SEQUENCE_ID = <ROUTING_SEQUENCE_ID>
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.ROUTING_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
ON BOM_OPERATIONAL_ROUTINGS.ROUTING_SEQUENCE_ID = BOM_OPERATION_SEQUENCES.ROUTING_SEQUENCE_IDON BOM_OPERATIONAL_ROUTINGS.ASSEMBLY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND BOM_OPERATIONAL_ROUTINGS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID- BOM_OPERATIONAL_ROUTINGSBOM_OPERATIONAL_ROUTINGSforeign key · N:1
ON BOM_OPERATIONAL_ROUTINGS1.COMMON_ROUTING_SEQUENCE_ID = BOM_OPERATIONAL_ROUTINGS2.ROUTING_SEQUENCE_ID AND BOM_OPERATIONAL_ROUTINGS1.ORGANIZATION_ID = BOM_OPERATIONAL_ROUTINGS2.ORGANIZATION_ID ON WIP_DISCRETE_JOBS.COMMON_ROUTING_SEQUENCE_ID = BOM_OPERATIONAL_ROUTINGS.ROUTING_SEQUENCE_ID AND WIP_DISCRETE_JOBS.ORGANIZATION_ID = BOM_OPERATIONAL_ROUTINGS.ORGANIZATION_ID
More BOM & Costing tables
- BOM_RESOURCESThe resource master — machines, labor, and outside processing, plus overhead and material sub-elements sharing the table (the cost element discriminates), each with its UOM, charge behavior, and absorption account
- BOM_STRUCTURES_BThe 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
- CST_COST_TYPESThe cost type master — the seeded Frozen, Average, and Pending types plus user-defined types for rollups and simulations, with the fallback pointer rollups use for missing costs
- CST_ITEM_COST_DETAILSThe cost-element breakdown under each item cost — one row per element, level, and department/operation/resource contribution; where a rolled-up cost's ingredients live
- CST_ITEM_COSTSThe item cost header — one row per item, organization, and cost type, carrying the total unit cost and its five cost-element buckets plus this-level/previous-level splits
- BOM_BILL_OF_MATERIALSThe compatibility view legacy queries know BOM headers by — a window onto the structures table under the familiar 11i name