MTL_SYSTEM_ITEMS_B
Schema: INVmasterPer inventory orgThe item master — one row per item per inventory organization, carrying identity (the SEGMENTn flexfield the user-visible item number concatenates from), status, unit of measure, and the control flags for every functional area; every balance, transaction, and order line joins back to it on INVENTORY_ITEM_ID + ORGANIZATION_ID
Items repeat per organization: the master-org row is the definition, child-org rows carry org-level attribute overrides. The DESCRIPTION here is the untranslated copy — translated descriptions live in MTL_SYSTEM_ITEMS_TL.
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
Translations
MTL_SYSTEM_ITEMS_B is the base table for its translations in MTL_SYSTEM_ITEMS_TL — base ↔ translations, one row per LANGUAGE. Filter to one LANGUAGE or rows multiply.
Fields
18 fields · 2 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | INVENTORY_ITEM_ID | Item id — the surrogate key every balance, transaction, and order line joins on (always together with the org) | NUMBER | Primary-key field |
| 2 | ORGANIZATION_ID | Inventory organization — items repeat per org, master-org row plus child-org overrides | NUMBER | Primary-key field |
| 3 | SEGMENT1 | System Items flexfield segment 1 — the item number users see, in single-segment configurations | VARCHAR2 | |
| 4 | DESCRIPTION | Item description — the untranslated copy; translations live on the TL companion | VARCHAR2 | |
| 5 | ITEM_TYPE | User item type — finished good, purchased, subassembly…; decodes through the FND lookup | VARCHAR2 | Decodes via FND lookup type ITEM_TYPE (verified — inline CASE decode) |
| 6 | INVENTORY_ITEM_STATUS_CODE | Item status — controls which functions accept the item; statuses are site-defined | VARCHAR2 | |
| 7 | PRIMARY_UOM_CODE | Primary unit of measure — the unit balances and primary quantities are stored in | VARCHAR2 | |
| 8 | LOT_CONTROL_CODE | Lot control — 1 = no control, 2 = full lot control | NUMBER | |
| 9 | SERIAL_NUMBER_CONTROL_CODE | Serial control — no control, at receipt, at sales-order issue, or predefined | NUMBER | |
| 10 | INVENTORY_ITEM_FLAG | Whether this is an inventory item at all | VARCHAR2 | |
| 11 | STOCK_ENABLED_FLAG | Whether the item can be stocked | VARCHAR2 | |
| 12 | MTL_TRANSACTIONS_ENABLED_FLAG | Whether material transactions are allowed for the item | VARCHAR2 | |
| 13 | PURCHASING_ITEM_FLAG | Whether the item can be purchased | VARCHAR2 | |
| 14 | CUSTOMER_ORDER_FLAG | Whether the item can be put on a customer order | VARCHAR2 | |
| 15 | PLANNER_CODE | The planner responsible for the item in this org | VARCHAR2 | |
| 16 | FULL_LEAD_TIME | Processing lead time in days, used by planning | NUMBER | |
| 17 | ENABLED_FLAG | Whether the item row is enabled | VARCHAR2 | |
| 18 | START_DATE_ACTIVE | Effectivity start date | DATE |
Field provenance: hand-curated. 2 key fields.
Boilerplate SQL
Starting point for reading MTL_SYSTEM_ITEMS_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.
6 parameters not filled: <catalog>, <schema>, <language>, <inventory_org_id>, <INVENTORY_ITEM_ID>, <watermark>
-- ============================================================
-- Table : MTL_SYSTEM_ITEMS_B — The item master — one row per item per inventory organization, carrying identity (the SEGMENTn flexfield the user-visible item number concatenates from), status, unit of measure, and the control flags for every functional area; every balance, transaction, and order line joins back to it on INVENTORY_ITEM_ID + ORGANIZATION_ID
-- Purpose: Column-selected read of MTL_SYSTEM_ITEMS_B — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + INVENTORY_ITEM_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.INVENTORY_ITEM_ID AS "Item id — the surrogate key every balance, transaction, and order line joins on (always together with the org)",
t.ORGANIZATION_ID AS "Inventory organization — items repeat per org, master-org row plus child-org overrides",
t.SEGMENT1 AS "System Items flexfield segment 1 — the item number users see, in single-segment configurations", -- flexfield segment: concatenation is configuration-defined — see quirks guide #flexfields
t.DESCRIPTION AS "Item description — the untranslated copy; translations live on the TL companion",
CASE t.ITEM_TYPE WHEN 'FG' THEN 'Finished good' WHEN 'K' THEN 'Kit' WHEN 'OP' THEN 'Outside processing item' WHEN 'P' THEN 'Purchased item' WHEN 'PH' THEN 'Phantom item' WHEN 'PL' THEN 'Planning item' WHEN 'REF' THEN 'Reference item' WHEN 'SA' THEN 'Subassembly' WHEN 'SI' THEN 'Supply item' ELSE t.ITEM_TYPE END AS "User item type — finished good, purchased, subassembly…; decodes through the FND lookup", -- lookup: ITEM_TYPE
t.INVENTORY_ITEM_STATUS_CODE AS "Item status — controls which functions accept the item; statuses are site-defined",
t.PRIMARY_UOM_CODE AS "Primary unit of measure — the unit balances and primary quantities are stored in",
t.LOT_CONTROL_CODE AS "Lot control — 1 = no control, 2 = full lot control",
t.SERIAL_NUMBER_CONTROL_CODE AS "Serial control — no control, at receipt, at sales-order issue, or predefined",
t.INVENTORY_ITEM_FLAG AS "Whether this is an inventory item at all",
t.STOCK_ENABLED_FLAG AS "Whether the item can be stocked",
t.MTL_TRANSACTIONS_ENABLED_FLAG AS "Whether material transactions are allowed for the item",
t.PURCHASING_ITEM_FLAG AS "Whether the item can be purchased",
t.CUSTOMER_ORDER_FLAG AS "Whether the item can be put on a customer order",
t.PLANNER_CODE AS "The planner responsible for the item in this org",
t.FULL_LEAD_TIME AS "Processing lead time in days, used by planning",
t.ENABLED_FLAG AS "Whether the item row is enabled",
t.START_DATE_ACTIVE AS "Effectivity start date",
tl.DESCRIPTION AS "Item description in this row's language",
tl.LONG_DESCRIPTION AS "Long item description in this row's language"
FROM <catalog>.<schema>.MTL_SYSTEM_ITEMS_B t
LEFT JOIN <catalog>.<schema>.MTL_SYSTEM_ITEMS_TL tl
ON tl.INVENTORY_ITEM_ID = t.INVENTORY_ITEM_ID
AND tl.ORGANIZATION_ID = t.ORGANIZATION_ID
AND tl.LANGUAGE = '<language>' -- one language or rows multiply
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.INVENTORY_ITEM_ID = <INVENTORY_ITEM_ID>
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.INVENTORY_ITEM_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 MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_TL.INVENTORY_ITEM_ID AND MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_TL.ORGANIZATION_ID AND MTL_SYSTEM_ITEMS_TL.LANGUAGE = '<language>'ON MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID = MTL_PARAMETERS.ORGANIZATION_IDON MTL_SYSTEM_ITEMS_B.PRIMARY_UOM_CODE = MTL_UNITS_OF_MEASURE_TL.UOM_CODEON MTL_SYSTEM_ITEMS_B.ITEM_TYPE = FND_LOOKUP_VALUES.LOOKUP_CODE AND FND_LOOKUP_VALUES.LOOKUP_TYPE = 'ITEM_TYPE' AND FND_LOOKUP_VALUES.LANGUAGE = '<language>'ON MTL_ITEM_REVISIONS_B.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_ITEM_REVISIONS_B.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_ITEM_CATEGORIES.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_ITEM_CATEGORIES.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_CROSS_REFERENCES_B.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_IDON MTL_UOM_CONVERSIONS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_IDON MTL_ONHAND_QUANTITIES_DETAIL.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_MATERIAL_TRANSACTIONS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_LOT_NUMBERS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_LOT_NUMBERS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_SERIAL_NUMBERS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_SERIAL_NUMBERS.CURRENT_ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_RESERVATIONS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_RESERVATIONS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_SUPPLY.ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_SUPPLY.TO_ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_DEMAND.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_DEMAND.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_TXN_REQUEST_LINES.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_TXN_REQUEST_LINES.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON OE_ORDER_LINES_ALL.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND OE_ORDER_LINES_ALL.SHIP_FROM_ORG_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON WSH_DELIVERY_DETAILS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND WSH_DELIVERY_DETAILS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON PO_LINES_ALL.ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_IDON PO_REQUISITION_LINES_ALL.ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND PO_REQUISITION_LINES_ALL.DESTINATION_ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON RCV_SHIPMENT_LINES.ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND RCV_SHIPMENT_LINES.TO_ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_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_COMPONENTS_B.COMPONENT_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_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_IDON CST_ITEM_COSTS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND CST_ITEM_COSTS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON WIP_ENTITIES.PRIMARY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND WIP_ENTITIES.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON WIP_DISCRETE_JOBS.PRIMARY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND WIP_DISCRETE_JOBS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON WIP_REQUIREMENT_OPERATIONS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND WIP_REQUIREMENT_OPERATIONS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MRP_FORECAST_DATES.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MRP_FORECAST_DATES.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MRP_SCHEDULE_DATES.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MRP_SCHEDULE_DATES.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MSC_SYSTEM_ITEMS.SR_INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MSC_SYSTEM_ITEMS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON RA_CUSTOMER_TRX_LINES_ALL.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND RA_CUSTOMER_TRX_LINES_ALL.WAREHOUSE_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID
More Item & Product Master tables
- MTL_SYSTEM_ITEMS_TLThe item master's translation companion — item description and long description in every installed language, one row per item per organization per language
- MTL_UNITS_OF_MEASURE_TLThe unit-of-measure master — both the 3-char UOM code and the 25-char unit name, the UOM class, and the base-unit flag, one row per unit per language
- MTL_UOM_CONVERSIONSIntra-class UOM conversion rates to each class's base unit — both standard conversions and item-specific overrides, distinguished by the item id
- MTL_CATEGORIES_BThe category master — one row per category code combination, with the SEGMENTn flexfield columns the category name concatenates from, keyed by the flexfield structure
- MTL_CATEGORY_SETS_BCategory set definitions — validation rules, control level (master-org vs org-level), the multiple-assignments flag, and the default category new items inherit
- MTL_CROSS_REFERENCES_BItem cross-references — maps items to external identifiers (GTINs, superseded part numbers, customer and supplier part numbers) by cross-reference type, either per organization or org-independent