Skip to content
Fusion Reference

INV_LOT_NUMBERS

Product: INVmasterPer inventory org

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

Identity
Module: InventoryInventory-org partitioned (ORGANIZATION_ID)
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 VARCHAR2 code in the Fusion dictionary (it was a NUMBER in EBS).

What the badges mean
Product: EGP
Product: the Oracle product family that owns the object — the short code Oracle's Tables and Views documentation lists as the object owner. Fusion is SaaS, so this isn't a database schema; there's no SQL path to the tables at all (see the quirks guide).
master
Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.

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

BU-striped (ORG_ID)
Rows are scoped to a business unit. The column is still named ORG_ID, but in Fusion it means business unit, not the EBS operating unit — treat any migrated “operating unit” filter as suspect (see the quirks guide).
Per inventory org
Rows are scoped to an inventory organization via ORGANIZATION_ID — always pair it with INVENTORY_ITEM_ID on item-level joins (see the quirks guide).
Set / ledger / named-BU striped
Some tables stripe by a named column instead of ORG_ID: reference data set (SET_ID — see the quirks guide), ledger (LEDGER_ID on the GL journal tables), or a named business-unit column (PRC_BU_ID / REQ_BU_ID in procurement). The table page’s partition line names the column, and the generated SQL anchors on it — never treat these tables as unpartitioned.
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.

Join & extract hazards — verify before you rely on this

Date-effective
This is an _F table — one row per entity per effectivity window, with EFFECTIVE_START_DATE and EFFECTIVE_END_DATE part of the key. Join without a window filter and every fact multiplies by history (see the quirks guide).
View
This is a documented convenience view, not a physical table. Extract through the BICC data store that fronts its base objects instead of assuming the view lands as-is.
In field listings, the Key chip marks a key field — a member of the documented primary key or of a documented unique index.

Extract access

The delivered surfaces that reach this table — the BICC extract data store (PVO) for bulk extraction and the OTBI subject areas for real-time queries. There is no SQL path to the SaaS database.

  • FscmTopModelAM.ScmExtractAM.InvBiccExtractAM.InvLotNumbersExtractPVO
    OTBI: Inventory - Inventory Balance Real Time

    Keyed on LotNumber + InventoryItemId + OrganizationId. In OTBI, lots surface as a dimension of the balance subject area, not standalone.

    Oracle data-store documentation (opens in new tab)

Fields

16 fields · 3 key

16 fields.

Table fields: position, field name, description, data type, and flags. 16 fields.
#FieldDescriptionTypeFlags
1LOT_NUMBERLot identifier — unique only together with item and orgVARCHAR2
Key
2INVENTORY_ITEM_IDItem the lot belongs toNUMBER
Key
3ORGANIZATION_IDOrg the lot record belongs toNUMBER
Key
4PARENT_LOT_NUMBERParent lot for split lots — the genealogy pointerVARCHAR2
5STATUS_IDMaterial status id of the lotNUMBER
6GRADE_CODEQuality grade of the lotVARCHAR2
7DISABLE_FLAGWhether the lot is disabled — a VARCHAR2 code here (it was a NUMBER in EBS)VARCHAR2
8ORIGINATION_DATELot creation dateDATE
9ORIGINATION_TYPEHow the lot originatedVARCHAR2
10EXPIRATION_DATEWhen the lot expiresDATE
Filter date
11RETEST_DATERetest due dateDATE
12MATURITY_DATEMaturity dateDATE
13EXPIRATION_ACTION_CODEAction to take at expiryVARCHAR2
14EXPIRATION_ACTION_DATEWhen the expiry action is dueDATE
15HOLD_DATEHold-until dateDATE
16SUPPLIER_LOT_NUMBERThe vendor's lot number from receiptVARCHAR2

Field provenance: hand-curated. 3 key fields.

Boilerplate SQL

Starting point for reading the BICC-landed copy of INV_LOT_NUMBERS on Databricks — real DATE columns need no conversion, and the org anchor and the LAST_UPDATE_DATE watermark (the column incremental BICC extracts key on) are already in place. 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>, <LOT_NUMBER>, <INVENTORY_ITEM_ID>, <DATE_FROM>, <DATE_TO>, <watermark>

-- ============================================================
-- Table  : INV_LOT_NUMBERS — The lot master — definition, genealogy (parent lot), grade, and the origination/expiration/retest dates for every lot, keyed by item + organization + lot number
-- Purpose: Column-selected read of INV_LOT_NUMBERS — auto-generated from field metadata
-- Grain  : One row per inventory org (ORGANIZATION_ID) + LOT_NUMBER + INVENTORY_ITEM_ID
-- Notes  : Auto-generated skeleton for Oracle Fusion Cloud data landed in your lakehouse by a BICC extract — there is no SQL path to the SaaS database. Column names follow Oracle's table documentation — if your landed data still carries PVO attribute headers, map names first; see quirks #pvo-drift. 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.LOT_NUMBER AS "Lot identifier — unique only together with item and org",
  t.INVENTORY_ITEM_ID AS "Item the lot belongs to",
  t.ORGANIZATION_ID AS "Org the lot record belongs to",
  t.PARENT_LOT_NUMBER AS "Parent lot for split lots — the genealogy pointer",
  t.STATUS_ID AS "Material status id of the lot",
  t.GRADE_CODE AS "Quality grade of the lot",
  t.DISABLE_FLAG AS "Whether the lot is disabled — a VARCHAR2 code here (it was a NUMBER in EBS)",
  t.ORIGINATION_DATE AS "Lot creation date",
  t.ORIGINATION_TYPE AS "How the lot originated",
  t.EXPIRATION_DATE AS "When the lot expires",
  t.RETEST_DATE AS "Retest due date",
  t.MATURITY_DATE AS "Maturity date",
  t.EXPIRATION_ACTION_CODE AS "Action to take at expiry",
  t.EXPIRATION_ACTION_DATE AS "When the expiry action is due",
  t.HOLD_DATE AS "Hold-until date",
  t.SUPPLIER_LOT_NUMBER AS "The vendor's lot number from receipt"
FROM <catalog>.<schema>.INV_LOT_NUMBERS t
WHERE
  t.ORGANIZATION_ID = <inventory_org_id>  -- inventory org, NOT the business unit — see quirks guide #item-org-striping
  -- AND t.LOT_NUMBER = '<LOT_NUMBER>'
  -- AND t.INVENTORY_ITEM_ID = <INVENTORY_ITEM_ID>
  -- AND t.EXPIRATION_DATE >= DATE '<DATE_FROM>'
  -- AND t.EXPIRATION_DATE <= DATE '<DATE_TO>'
  -- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>'  -- the column incremental BICC extracts key on
ORDER BY t.LOT_NUMBER;

Verified September 2026 · docs release 26C

Column names differ in BICC extracts — see PVO header drift.

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

  • INV_ONHAND_QUANTITIES_DETAILINV_LOT_NUMBERSforeign key · N:1
    ON INV_ONHAND_QUANTITIES_DETAIL.LOT_NUMBER = INV_LOT_NUMBERS.LOT_NUMBER AND INV_ONHAND_QUANTITIES_DETAIL.INVENTORY_ITEM_ID = INV_LOT_NUMBERS.INVENTORY_ITEM_ID AND INV_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = INV_LOT_NUMBERS.ORGANIZATION_ID
  • INV_LOT_NUMBERSEGP_SYSTEM_ITEMS_Bforeign key · N:1
    ON INV_LOT_NUMBERS.INVENTORY_ITEM_ID = EGP_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND INV_LOT_NUMBERS.ORGANIZATION_ID = EGP_SYSTEM_ITEMS_B.ORGANIZATION_ID
  • INV_SERIAL_NUMBERSINV_LOT_NUMBERSforeign key · N:1
    ON INV_SERIAL_NUMBERS.LOT_NUMBER = INV_LOT_NUMBERS.LOT_NUMBER AND INV_SERIAL_NUMBERS.INVENTORY_ITEM_ID = INV_LOT_NUMBERS.INVENTORY_ITEM_ID AND INV_SERIAL_NUMBERS.CURRENT_ORGANIZATION_ID = INV_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 Fusion Cloud Applications are registered trademarks of Oracle and/or its affiliates.