Skip to content
EBS Reference

MTL_LOT_NUMBERS

Schema: INVmasterPer inventory org

The lot master — definition, genealogy (parent lot), status, grade, and the origination/expiration/retest dates for every lot, keyed by item + organization + lot number

Identity
Module: InventoryInventory-org partitioned (ORGANIZATION_ID)
Fusion equivalents (1)
Notes

Lot definitions are per item per org — the same lot number can legitimately exist under different items or orgs, so lot joins always carry item and org alongside the lot number. DISABLE_FLAG is a NUMBER, not a Y/N character flag.

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.

Structural facts — how the table is partitioned, not a trap by itself

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 with ORGANIZATION_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 LANGUAGE column (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to one LANGUAGE or a join multiplies rows (see the quirks guide).

Join & extract hazards — verify before you rely on this

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.
In field listings, the Key chip marks a primary-key field.

Fields

11 fields · 3 key

11 fields.

Table fields: position, field name, description, data type, and flags. 11 fields.
#FieldDescriptionTypeFlags
1INVENTORY_ITEM_IDItem id — lots are defined per itemNUMBER
Primary-key field
2ORGANIZATION_IDInventory organization — lots are defined per org tooNUMBER
Primary-key field
3LOT_NUMBERThe lot number — only meaningful together with item and orgVARCHAR2
Primary-key field
4PARENT_LOT_NUMBERParent lot for split/merge genealogyVARCHAR2
5ORIGINATION_DATEWhen the lot came into existenceDATE
6EXPIRATION_DATEWhen the lot expires — the shelf-life analysis dateDATE
The table's primary analysis date — a real DATE column, no conversion needed
7RETEST_DATEWhen the lot is due for retestDATE
8STATUS_IDMaterial status of the lotNUMBER
9GRADE_CODEQuality grade of the lotVARCHAR2
10DISABLE_FLAGWhether the lot is disabled — a NUMBER, not a Y/N character flagNUMBER
11SUPPLIER_LOT_NUMBERThe supplier's own lot number, kept for traceabilityVARCHAR2

Field provenance: hand-curated. 3 key fields.

Boilerplate SQL

Starting point for reading MTL_LOT_NUMBERS 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.

Query parameters

8 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <INVENTORY_ITEM_ID>, <LOT_NUMBER>, <DATE_FROM>, <DATE_TO>, <watermark>

-- ============================================================
-- Table  : MTL_LOT_NUMBERS — The lot master — definition, genealogy (parent lot), status, grade, and the origination/expiration/retest dates for every lot, keyed by item + organization + lot number
-- Purpose: Column-selected read of MTL_LOT_NUMBERS — auto-generated from field metadata
-- Grain  : One row per inventory org (ORGANIZATION_ID) + INVENTORY_ITEM_ID + LOT_NUMBER
-- 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 — lots are defined per item",
  t.ORGANIZATION_ID AS "Inventory organization — lots are defined per org too",
  t.LOT_NUMBER AS "The lot number — only meaningful together with item and org",
  t.PARENT_LOT_NUMBER AS "Parent lot for split/merge genealogy",
  t.ORIGINATION_DATE AS "When the lot came into existence",
  t.EXPIRATION_DATE AS "When the lot expires — the shelf-life analysis date",
  t.RETEST_DATE AS "When the lot is due for retest",
  t.STATUS_ID AS "Material status of the lot",
  t.GRADE_CODE AS "Quality grade of the lot",
  t.DISABLE_FLAG AS "Whether the lot is disabled — a NUMBER, not a Y/N character flag",
  t.SUPPLIER_LOT_NUMBER AS "The supplier's own lot number, kept for traceability"
FROM <catalog>.<schema>.MTL_LOT_NUMBERS t
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.LOT_NUMBER = '<LOT_NUMBER>'
  -- AND t.EXPIRATION_DATE >= DATE '<DATE_FROM>'
  -- AND t.EXPIRATION_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.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

  • MTL_ONHAND_QUANTITIES_DETAILMTL_LOT_NUMBERSforeign key · N:1
    ON MTL_ONHAND_QUANTITIES_DETAIL.LOT_NUMBER = MTL_LOT_NUMBERS.LOT_NUMBER AND MTL_ONHAND_QUANTITIES_DETAIL.INVENTORY_ITEM_ID = MTL_LOT_NUMBERS.INVENTORY_ITEM_ID AND MTL_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = MTL_LOT_NUMBERS.ORGANIZATION_ID
  • MTL_TRANSACTION_LOT_NUMBERSMTL_LOT_NUMBERSforeign key · N:1
    ON MTL_TRANSACTION_LOT_NUMBERS.LOT_NUMBER = MTL_LOT_NUMBERS.LOT_NUMBER AND MTL_TRANSACTION_LOT_NUMBERS.INVENTORY_ITEM_ID = MTL_LOT_NUMBERS.INVENTORY_ITEM_ID AND MTL_TRANSACTION_LOT_NUMBERS.ORGANIZATION_ID = MTL_LOT_NUMBERS.ORGANIZATION_ID
  • MTL_LOT_NUMBERSMTL_SYSTEM_ITEMS_Bforeign key · N:1
    ON MTL_LOT_NUMBERS.INVENTORY_ITEM_ID = MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND MTL_LOT_NUMBERS.ORGANIZATION_ID = MTL_SYSTEM_ITEMS_B.ORGANIZATION_ID
  • MTL_SERIAL_NUMBERSMTL_LOT_NUMBERSforeign key · N:1
    ON MTL_SERIAL_NUMBERS.LOT_NUMBER = MTL_LOT_NUMBERS.LOT_NUMBER AND MTL_SERIAL_NUMBERS.INVENTORY_ITEM_ID = MTL_LOT_NUMBERS.INVENTORY_ITEM_ID AND MTL_SERIAL_NUMBERS.CURRENT_ORGANIZATION_ID = MTL_LOT_NUMBERS.ORGANIZATION_ID

Browse more Inventory tables

More Inventory tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Oracle. Oracle and Oracle E-Business Suite are registered trademarks of Oracle and/or its affiliates.