INV_LOT_NUMBERS
Product: INVmasterPer inventory orgThe lot master — definition, genealogy (parent lot), grade, and the origination/expiration/retest dates for every lot, keyed by item + organization + lot number
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
- master
- Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.
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.InvLotNumbersExtractPVOOTBI: 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 →
Fields
16 fields · 3 key
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | LOT_NUMBER | Lot identifier — unique only together with item and org | VARCHAR2 | Key |
| 2 | INVENTORY_ITEM_ID | Item the lot belongs to | NUMBER | Key |
| 3 | ORGANIZATION_ID | Org the lot record belongs to | NUMBER | Key |
| 4 | PARENT_LOT_NUMBER | Parent lot for split lots — the genealogy pointer | VARCHAR2 | |
| 5 | STATUS_ID | Material status id of the lot | NUMBER | |
| 6 | GRADE_CODE | Quality grade of the lot | VARCHAR2 | |
| 7 | DISABLE_FLAG | Whether the lot is disabled — a VARCHAR2 code here (it was a NUMBER in EBS) | VARCHAR2 | |
| 8 | ORIGINATION_DATE | Lot creation date | DATE | |
| 9 | ORIGINATION_TYPE | How the lot originated | VARCHAR2 | |
| 10 | EXPIRATION_DATE | When the lot expires | DATE | Filter date |
| 11 | RETEST_DATE | Retest due date | DATE | |
| 12 | MATURITY_DATE | Maturity date | DATE | |
| 13 | EXPIRATION_ACTION_CODE | Action to take at expiry | VARCHAR2 | |
| 14 | EXPIRATION_ACTION_DATE | When the expiry action is due | DATE | |
| 15 | HOLD_DATE | Hold-until date | DATE | |
| 16 | SUPPLIER_LOT_NUMBER | The vendor's lot number from receipt | VARCHAR2 |
Field provenance: hand-curated. 3 key fields.
Boilerplate SQL
Starting point for reading the BICC-landed copy of INV_LOT_NUMBERSon 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.
-- ============================================================
-- 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;8 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <LOT_NUMBER>, <INVENTORY_ITEM_ID>, <DATE_FROM>, <DATE_TO>, <watermark>
Relationships
1-hop neighbors — click a table to navigate there. FND lookup decode and translation edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
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_IDON INV_LOT_NUMBERS.INVENTORY_ITEM_ID = EGP_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND INV_LOT_NUMBERS.ORGANIZATION_ID = EGP_SYSTEM_ITEMS_B.ORGANIZATION_IDON 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