MTL_SUPPLY
Schema: INVtransactionThe 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
Column quirks: the item column is ITEM_ID (not INVENTORY_ITEM_ID) and the orgs are TO_ORGANIZATION_ID / FROM_ORGANIZATION_ID (no plain ORGANIZATION_ID), so the table gets no automatic org anchor — filter TO_ORGANIZATION_ID. Rows mutate and disappear as documents progress: this is current open supply, never history.
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
14 fields · 2 key
14 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | SUPPLY_TYPE_CODE | The supply stage — requisition, PO, receiving, or shipment; migrates as the document progresses | VARCHAR2 | Primary-key field |
| 2 | SUPPLY_SOURCE_ID | Id of the supplying document element at the current stage | NUMBER | Primary-key field |
| 3 | ITEM_ID | Item id — this table's name for it (not INVENTORY_ITEM_ID) | NUMBER | |
| 4 | TO_ORGANIZATION_ID | The org the supply is coming INTO — the org filter for supply pictures | NUMBER | |
| 5 | FROM_ORGANIZATION_ID | The shipping org on internal transfers | NUMBER | |
| 6 | QUANTITY | Open supply quantity | NUMBER | |
| 7 | EXPECTED_DELIVERY_DATE | When the supply is expected to arrive | DATE | The table's primary analysis date — a real DATE column, no conversion needed |
| 8 | NEED_BY_DATE | When the org needs it, from the document | DATE | |
| 9 | RECEIPT_DATE | Receipt date for supply already in receiving | DATE | |
| 10 | PO_HEADER_ID | The purchase order header, for PO-stage supply | NUMBER | |
| 11 | PO_LINE_ID | The purchase order line | NUMBER | |
| 12 | REQ_HEADER_ID | The requisition header, for requisition-stage supply | NUMBER | |
| 13 | SHIPMENT_HEADER_ID | The receiving shipment header, once in receiving | NUMBER | |
| 14 | DESTINATION_TYPE_CODE | Where the supply is destined (inventory, expense, shop floor) | VARCHAR2 |
Field provenance: hand-curated. 2 key fields.
Boilerplate SQL
Starting point for reading MTL_SUPPLY 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>, <DATE_FROM>, <DATE_TO>, <watermark>
-- ============================================================
-- Table : MTL_SUPPLY — The 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
-- Purpose: Column-selected read of MTL_SUPPLY — auto-generated from field metadata
-- Grain : One row per SUPPLY_TYPE_CODE + SUPPLY_SOURCE_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.SUPPLY_TYPE_CODE AS "The supply stage — requisition, PO, receiving, or shipment; migrates as the document progresses",
t.SUPPLY_SOURCE_ID AS "Id of the supplying document element at the current stage",
t.ITEM_ID AS "Item id — this table's name for it (not INVENTORY_ITEM_ID)",
t.TO_ORGANIZATION_ID AS "The org the supply is coming INTO — the org filter for supply pictures",
t.FROM_ORGANIZATION_ID AS "The shipping org on internal transfers",
t.QUANTITY AS "Open supply quantity",
t.EXPECTED_DELIVERY_DATE AS "When the supply is expected to arrive",
t.NEED_BY_DATE AS "When the org needs it, from the document",
t.RECEIPT_DATE AS "Receipt date for supply already in receiving",
t.PO_HEADER_ID AS "The purchase order header, for PO-stage supply",
t.PO_LINE_ID AS "The purchase order line",
t.REQ_HEADER_ID AS "The requisition header, for requisition-stage supply",
t.SHIPMENT_HEADER_ID AS "The receiving shipment header, once in receiving",
t.DESTINATION_TYPE_CODE AS "Where the supply is destined (inventory, expense, shop floor)"
FROM <catalog>.<schema>.MTL_SUPPLY t
WHERE
1 = 1 -- no partition column on this table; the filters below are optional
-- AND t.EXPECTED_DELIVERY_DATE >= DATE '<DATE_FROM>'
-- AND t.EXPECTED_DELIVERY_DATE <= DATE '<DATE_TO>'
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- WHO watermark, bulk-stamped by batch jobs; see quirks guide #who-columns
ORDER BY t.SUPPLY_TYPE_CODE;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_SUPPLY.ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_SUPPLY.TO_ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_IDON MTL_SUPPLY.TO_ORGANIZATION_ID = MTL_PARAMETERS.ORGANIZATION_IDON MTL_SUPPLY.PO_HEADER_ID = PO_HEADERS_ALL.PO_HEADER_IDON MTL_SUPPLY.PO_LINE_ID = PO_LINES_ALL.PO_LINE_IDON MTL_SUPPLY.REQ_HEADER_ID = PO_REQUISITION_HEADERS_ALL.REQUISITION_HEADER_IDON MTL_SUPPLY.SHIPMENT_HEADER_ID = RCV_SHIPMENT_HEADERS.SHIPMENT_HEADER_ID
More Inventory tables
- 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
- MTL_TXN_REQUEST_LINESMove order lines — each row requests moving a quantity of an item from a source to a destination subinventory, individually statused, allocated (quantity detailed), and transacted (quantity delivered)
- MTL_DEMANDThe legacy demand picture used by ATP and planning — summary demand, open demand, and pre-R12 reservation rows for an item in an org, keyed to the order document that generated them