BOMTable
mainBill of materials header — one row per BOM identifier, with its name, approval state, and production site; versions in BOMVersion decide which items use it and when
What the badges mean
- main
- Table group: how F&O categorizes the table's role — main entity, group/header, transaction, worksheet header, worksheet line, reference, parameter, or framework.
- Shared across companies
- The table carries no
DataAreaId— rows aren’t partitioned per company, so a query never needs (and can’t use) a company filter here (see the quirks guide). - Date-effective
- The table carries a
ValidFrom/ValidToeffectivity window — a join without a date filter multiplies every key by its history (see the quirks guide).
Header & line
BOMTable is the header for its lines in BOM.
Fields
8 fields · 1 key
8 fields.
| Key | Field | EDT | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Key | BOMId | BOMId | The BOM identifier — the natural key BOM lines and versions join on | string | 20 | |
| Name | BOM name | string | 60 | |||
| ItemGroupId | Item group used to filter and organize BOMs | string | ||||
| SiteId | InventSiteId | Production site the BOM applies to; blank means site-independent | string | 10 | ||
| Approved | Whether the BOM header is approved for use | enum | ||||
| Approver | RecId | RecId of the worker who approved the BOM | int64 | |||
| CheckBOM | Whether circular-reference checking is enforced for this BOM | enum | ||||
| PmfBOMFormula | Whether the record is a discrete BOM or a process-manufacturing formula | enum |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading BOMTable on Databricks — enums are decoded, 1900-01-01 dates are wrapped to NULL, and the DataAreaId anchor is in place. Set your Unity Catalog location, company, and filter values below; they’re substituted into the SQL and the copy button.
3 parameters not filled: <catalog>, <schema>, <company>
-- ============================================================
-- Table : BOMTable Bill of materials header — one row per BOM identifier, with its name, approval state, and production site; versions in BOMVersion decide which items use it and when
-- Purpose: Column-selected read of BOMTable — auto-generated from field metadata
-- Grain : One row per company (dataareaid) + BOMId
-- Notes : Auto-generated skeleton for Synapse Link / Fabric Link-landed F&O data (lowercase column names). Enums decoded inline where verified; datetimes stored in UTC; 1900-01-01 dates are sentinels mapped to NULL. System/audit columns omitted — see the quirks guide.
-- ============================================================
SELECT
b.bomid AS "The BOM identifier — the natural key BOM lines and versions join on",
b.name AS "BOM name",
b.itemgroupid AS "Item group used to filter and organize BOMs",
b.siteid AS "Production site the BOM applies to; blank means site-independent",
b.approved AS "Whether the BOM header is approved for use", -- enum: decode b.approved via GlobalOptionsetMetadata join — see quirks guide #enums
b.approver AS "RecId of the worker who approved the BOM",
b.checkbom AS "Whether circular-reference checking is enforced for this BOM", -- enum: decode b.checkbom via GlobalOptionsetMetadata join — see quirks guide #enums
b.pmfbomformula AS "Whether the record is a discrete BOM or a process-manufacturing formula" -- enum: decode b.pmfbomformula via GlobalOptionsetMetadata join — see quirks guide #enums
FROM <catalog>.<schema>.bomtable b
WHERE
b.dataareaid = '<company>'
ORDER BY b.bomid;Verified September 2026
Relationships
Diagram of 1-hop neighbors — join details below. RecId and InventDim edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON bomtable.bomid = bom.bomid AND bomtable.dataareaid = bom.dataareaidON prodtable.bomid = bomtable.bomid AND prodtable.dataareaid = bomtable.dataareaidON bomversion.bomid = bomtable.bomid AND bomversion.dataareaid = bomtable.dataareaid
Data Entities That Expose This Table
More Production Control tables
- BOMVersionBOM version — the link that assigns a BOM header to a finished item for a validity period, quantity range, and site; the Active flag decides which version planning and orders pick
- ProdBOMProduction order BOM line — the materials a specific production order plans to consume, copied from the item's active BOM at order creation and then adjusted per order
- ProdTableProduction order header — one row per order carrying the item being built, order status and type, scheduled and actual dates, and the BOM and route it was created from
- RouteRoute operation sequence — one row per operation number on a route, ordering the operations and linking each to the next; operation times live on the related RouteOpr table
- RouteTableRoute header — one row per route identifier with its name and approval state; route versions assign it to items, and Route rows hold its operation sequence
- RouteVersionRoute version — the link that assigns a route to a finished item for a validity period, quantity range, and site, mirroring how BOMVersion assigns a BOM