MTL_SECONDARY_INVENTORIES
Schema: INVmasterPer inventory orgThe subinventory master — each row a named section of stock within an organization (stores, staging, WIP, rejects) with its asset/expense nature, tracking and reservability controls, and default accounts
The name column is only 10 characters (SECONDARY_INVENTORY_NAME, VARCHAR2(10)) — size landed columns accordingly.
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
10 fields · 2 key
10 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | SECONDARY_INVENTORY_NAME | The subinventory code (10 characters max) balances and transactions carry | VARCHAR2 | Primary-key field |
| 2 | ORGANIZATION_ID | Inventory organization — subinventory names are unique per org, not globally | NUMBER | Primary-key field |
| 3 | DESCRIPTION | Subinventory description | VARCHAR2 | |
| 4 | AVAILABILITY_TYPE | Whether the subinventory's stock nets into available-to-promise | NUMBER | |
| 5 | RESERVABLE_TYPE | Whether stock here can be reserved | NUMBER | |
| 6 | LOCATOR_TYPE | Locator control for the subinventory (none, prespecified, dynamic) | NUMBER | |
| 7 | ASSET_INVENTORY | Asset vs expense subinventory — expense subinventories don't carry inventory value | NUMBER | |
| 8 | QUANTITY_TRACKED | Whether on-hand is tracked here at all | NUMBER | |
| 9 | DISABLE_DATE | When the subinventory was disabled — NULL while active | DATE | |
| 10 | MATERIAL_ACCOUNT | The GL account combination (CCID) material value in this subinventory posts to | NUMBER |
Field provenance: hand-curated. 2 key fields.
Boilerplate SQL
Starting point for reading MTL_SECONDARY_INVENTORIES 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>, <SECONDARY_INVENTORY_NAME>, <watermark>
-- ============================================================
-- Table : MTL_SECONDARY_INVENTORIES — The subinventory master — each row a named section of stock within an organization (stores, staging, WIP, rejects) with its asset/expense nature, tracking and reservability controls, and default accounts
-- Purpose: Column-selected read of MTL_SECONDARY_INVENTORIES — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + SECONDARY_INVENTORY_NAME
-- 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.SECONDARY_INVENTORY_NAME AS "The subinventory code (10 characters max) balances and transactions carry",
t.ORGANIZATION_ID AS "Inventory organization — subinventory names are unique per org, not globally",
t.DESCRIPTION AS "Subinventory description",
t.AVAILABILITY_TYPE AS "Whether the subinventory's stock nets into available-to-promise",
t.RESERVABLE_TYPE AS "Whether stock here can be reserved",
t.LOCATOR_TYPE AS "Locator control for the subinventory (none, prespecified, dynamic)",
t.ASSET_INVENTORY AS "Asset vs expense subinventory — expense subinventories don't carry inventory value",
t.QUANTITY_TRACKED AS "Whether on-hand is tracked here at all",
t.DISABLE_DATE AS "When the subinventory was disabled — NULL while active",
t.MATERIAL_ACCOUNT AS "The GL account combination (CCID) material value in this subinventory posts to"
FROM <catalog>.<schema>.MTL_SECONDARY_INVENTORIES t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the operating unit — see quirks guide #two-orgs
-- AND t.SECONDARY_INVENTORY_NAME = '<SECONDARY_INVENTORY_NAME>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.SECONDARY_INVENTORY_NAME;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_SECONDARY_INVENTORIES.ORGANIZATION_ID = MTL_PARAMETERS.ORGANIZATION_IDON MTL_ITEM_LOCATIONS.SUBINVENTORY_CODE = MTL_SECONDARY_INVENTORIES.SECONDARY_INVENTORY_NAME AND MTL_ITEM_LOCATIONS.ORGANIZATION_ID = MTL_SECONDARY_INVENTORIES.ORGANIZATION_IDON MTL_ONHAND_QUANTITIES_DETAIL.SUBINVENTORY_CODE = MTL_SECONDARY_INVENTORIES.SECONDARY_INVENTORY_NAME AND MTL_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = MTL_SECONDARY_INVENTORIES.ORGANIZATION_IDON MTL_MATERIAL_TRANSACTIONS.SUBINVENTORY_CODE = MTL_SECONDARY_INVENTORIES.SECONDARY_INVENTORY_NAME AND MTL_MATERIAL_TRANSACTIONS.ORGANIZATION_ID = MTL_SECONDARY_INVENTORIES.ORGANIZATION_ID
More Inventory tables
- MTL_SERIAL_NUMBERSThe serial number master — definition and current position (status, org, subinventory, locator, lot) of every serialized unit; a serial is unique per item, not per org
- MTL_SUPPLYThe incoming-supply picture — one row per open requisition, purchase order, or in-transit shipment element expected into an org, with the supply type migrating as the document progresses
- MTL_TRANSACTION_ACCOUNTSAccounting distributions for material transactions — the debit and credit lines behind each material transaction, valued and pointed at a GL account combination
- MTL_TRANSACTION_LOT_NUMBERSLot-level detail for material transactions — one row per lot consumed or received per material transaction, with the lot's share of the quantity
- MTL_TRANSACTION_TYPESThe transaction type list — seeded and user-defined types, each mapping to the transaction action and source type that together classify material transactions
- MTL_TXN_REQUEST_HEADERSMove order headers — the user-visible move order number, type, status, and required date for requests to move material within an organization