MTL_CATEGORIES_B
Schema: INVmasterThe category master — one row per category code combination, with the SEGMENTn flexfield columns the category name concatenates from, keyed by the flexfield structure
Categories are org-independent. The DESCRIPTION here is the untranslated copy; the language-correct description lives on the translation companion (MTL_CATEGORIES_TL, not yet cataloged).
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
Fields
9 fields · 1 key
9 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | CATEGORY_ID | Surrogate key of the category | NUMBER | Primary-key field |
| 2 | STRUCTURE_ID | The flexfield structure the category's segments belong to | NUMBER | |
| 3 | SEGMENT1 | Category flexfield segment 1 — the category name is the configured concatenation | VARCHAR2 | |
| 4 | SEGMENT2 | Category flexfield segment 2 | VARCHAR2 | |
| 5 | SEGMENT3 | Category flexfield segment 3 | VARCHAR2 | |
| 6 | DESCRIPTION | Category description — untranslated copy; the language-correct text is on the TL companion | VARCHAR2 | |
| 7 | ENABLED_FLAG | Whether the category is active | VARCHAR2 | |
| 8 | DISABLE_DATE | When the category was disabled — NULL while active | DATE | |
| 9 | SUMMARY_FLAG | Whether this is a summary (rollup) category | VARCHAR2 |
Field provenance: hand-curated. 1 key field.
Boilerplate SQL
Starting point for reading MTL_CATEGORIES_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.
4 parameters not filled: <catalog>, <schema>, <CATEGORY_ID>, <watermark>
-- ============================================================
-- Table : MTL_CATEGORIES_B — The category master — one row per category code combination, with the SEGMENTn flexfield columns the category name concatenates from, keyed by the flexfield structure
-- Purpose: Column-selected read of MTL_CATEGORIES_B — auto-generated from field metadata
-- Grain : One row per CATEGORY_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.CATEGORY_ID AS "Surrogate key of the category",
t.STRUCTURE_ID AS "The flexfield structure the category's segments belong to",
t.SEGMENT1 AS "Category flexfield segment 1 — the category name is the configured concatenation", -- flexfield segment: concatenation is configuration-defined — see quirks guide #flexfields
t.SEGMENT2 AS "Category flexfield segment 2", -- flexfield segment: concatenation is configuration-defined — see quirks guide #flexfields
t.SEGMENT3 AS "Category flexfield segment 3", -- flexfield segment: concatenation is configuration-defined — see quirks guide #flexfields
t.DESCRIPTION AS "Category description — untranslated copy; the language-correct text is on the TL companion",
t.ENABLED_FLAG AS "Whether the category is active",
t.DISABLE_DATE AS "When the category was disabled — NULL while active",
t.SUMMARY_FLAG AS "Whether this is a summary (rollup) category"
FROM <catalog>.<schema>.MTL_CATEGORIES_B t
WHERE
1 = 1 -- no partition column on this table; the filters below are optional
-- AND t.CATEGORY_ID = <CATEGORY_ID>
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.CATEGORY_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_ITEM_CATEGORIES.CATEGORY_ID = MTL_CATEGORIES_B.CATEGORY_IDON MTL_CATEGORY_SETS_B.DEFAULT_CATEGORY_ID = MTL_CATEGORIES_B.CATEGORY_IDON PO_LINES_ALL.CATEGORY_ID = MTL_CATEGORIES_B.CATEGORY_ID
More Item & Product Master tables
- 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
- MTL_ITEM_CATEGORIESThe item-to-category assignment — one row per item, organization, category set, and category; the bridge every category rollup crosses
- MTL_ITEM_REVISIONS_BItem revisions — one row per revision level of an item in an organization, with effectivity and implementation dates and the change notice that introduced it
- MTL_SYSTEM_ITEMS_BThe 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
- 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