INV_ITEM_LOCATIONS
Product: INVmasterPer inventory orgThe stock locator master — the physical bin/row/rack positions inside a subinventory, with the human-readable locator name, capacity limits, and pick sequencing
Locator ids are unique only within an organization (the working key is INVENTORY_LOCATION_ID + ORGANIZATION_ID) — joining on the id alone crosses orgs silently. LOCATOR_NAME carries the concatenated flexfield segments as one readable string — use it rather than the SEGMENTn columns. An INVENTORY_ITEM_ID here, when populated, dedicates the locator to a single item.
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.
- 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 withINVENTORY_ITEM_IDon 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_IDon the GL journal tables), or a named business-unit column (PRC_BU_ID/REQ_BU_IDin 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
LANGUAGEcolumn (a _TL translation table or FND_LOOKUP_VALUES) — one row per language. Filter to oneLANGUAGEor a join multiplies rows. - Date-effective
- This is an
_Ftable — one row per entity per effectivity window, withEFFECTIVE_START_DATEandEFFECTIVE_END_DATEpart 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.
Structural facts — how the table is partitioned, not a trap by itself
Join & extract hazards — verify before you rely on this
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.InventoryLocatorExtractPVOOTBI: Inventory Organization Real Time
Keyed on InventoryLocationId, the locator master's key. Do not confuse with InvItemLocatorExtractPVO — that store is item-to-locator assignments, a different grain.
Oracle data-store documentation (opens in new tab)
Fields
18 fields · 2 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | INVENTORY_LOCATION_ID | Locator surrogate key — unique only within an organization | NUMBER | Key |
| 2 | ORGANIZATION_ID | Owning inventory org — carry it in every locator join | NUMBER | Key |
| 3 | SUBINVENTORY_CODE | Parent subinventory name | VARCHAR2 | |
| 4 | SUBINVENTORY_ID | Parent subinventory surrogate id | NUMBER | |
| 5 | LOCATOR_NAME | The concatenated, human-readable locator — use this rather than the SEGMENTn columns | VARCHAR2 | |
| 6 | DESCRIPTION | Short locator description | VARCHAR2 | |
| 7 | INVENTORY_LOCATION_TYPE | Locator type (dock door, staging, storage…) | VARCHAR2 | |
| 8 | LOCATOR_STATUS | Material status id of the locator | NUMBER | |
| 9 | PICKING_ORDER | Pick-sequencing rank | NUMBER | |
| 10 | DISABLE_DATE | Date the locator stops being usable | DATE | |
| 11 | ENABLED_FLAG | Whether the locator is active | VARCHAR2 | |
| 12 | START_DATE_ACTIVE | Active window start | DATE | |
| 13 | END_DATE_ACTIVE | Active window end | DATE | |
| 14 | INVENTORY_ITEM_ID | When populated, the locator is dedicated to this single item | NUMBER | |
| 15 | EMPTY_FLAG | Y when nothing is stored in the locator | VARCHAR2 | |
| 16 | MIXED_ITEMS_FLAG | Y when more than one item occupies the locator | VARCHAR2 | |
| 17 | LOCATION_MAXIMUM_UNITS | Unit capacity of the locator | NUMBER | |
| 18 | LOCATION_CURRENT_UNITS | Units currently occupying the locator | NUMBER |
Field provenance: hand-curated. 2 key fields.
Boilerplate SQL
Starting point for reading the BICC-landed copy of INV_ITEM_LOCATIONS 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.
5 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <INVENTORY_LOCATION_ID>, <watermark>
-- ============================================================
-- Table : INV_ITEM_LOCATIONS — The stock locator master — the physical bin/row/rack positions inside a subinventory, with the human-readable locator name, capacity limits, and pick sequencing
-- Purpose: Column-selected read of INV_ITEM_LOCATIONS — auto-generated from field metadata
-- Grain : One row per inventory org (ORGANIZATION_ID) + INVENTORY_LOCATION_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.INVENTORY_LOCATION_ID AS "Locator surrogate key — unique only within an organization",
t.ORGANIZATION_ID AS "Owning inventory org — carry it in every locator join",
t.SUBINVENTORY_CODE AS "Parent subinventory name",
t.SUBINVENTORY_ID AS "Parent subinventory surrogate id",
t.LOCATOR_NAME AS "The concatenated, human-readable locator — use this rather than the SEGMENTn columns",
t.DESCRIPTION AS "Short locator description",
t.INVENTORY_LOCATION_TYPE AS "Locator type (dock door, staging, storage…)",
t.LOCATOR_STATUS AS "Material status id of the locator",
t.PICKING_ORDER AS "Pick-sequencing rank",
t.DISABLE_DATE AS "Date the locator stops being usable",
t.ENABLED_FLAG AS "Whether the locator is active",
t.START_DATE_ACTIVE AS "Active window start",
t.END_DATE_ACTIVE AS "Active window end",
t.INVENTORY_ITEM_ID AS "When populated, the locator is dedicated to this single item",
t.EMPTY_FLAG AS "Y when nothing is stored in the locator",
t.MIXED_ITEMS_FLAG AS "Y when more than one item occupies the locator",
t.LOCATION_MAXIMUM_UNITS AS "Unit capacity of the locator",
t.LOCATION_CURRENT_UNITS AS "Units currently occupying the locator"
FROM <catalog>.<schema>.INV_ITEM_LOCATIONS t
WHERE
t.ORGANIZATION_ID = <inventory_org_id> -- inventory org, NOT the business unit — see quirks guide #item-org-striping
-- AND t.INVENTORY_LOCATION_ID = <INVENTORY_LOCATION_ID>
-- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>' -- the column incremental BICC extracts key on
ORDER BY t.INVENTORY_LOCATION_ID;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
ON INV_MATERIAL_TXNS.LOCATOR_ID = INV_ITEM_LOCATIONS.INVENTORY_LOCATION_ID AND INV_MATERIAL_TXNS.ORGANIZATION_ID = INV_ITEM_LOCATIONS.ORGANIZATION_IDON INV_ONHAND_QUANTITIES_DETAIL.LOCATOR_ID = INV_ITEM_LOCATIONS.INVENTORY_LOCATION_ID AND INV_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = INV_ITEM_LOCATIONS.ORGANIZATION_IDON INV_ITEM_LOCATIONS.SUBINVENTORY_CODE = INV_SECONDARY_INVENTORIES.SECONDARY_INVENTORY_NAME AND INV_ITEM_LOCATIONS.ORGANIZATION_ID = INV_SECONDARY_INVENTORIES.ORGANIZATION_IDON INV_ITEM_LOCATIONS.ORGANIZATION_ID = INV_ORG_PARAMETERS.ORGANIZATION_ID
More Inventory tables
- INV_LOT_NUMBERSThe lot master — definition, genealogy (parent lot), grade, and the origination/expiration/retest dates for every lot, keyed by item + organization + lot number
- INV_MATERIAL_TXNSThe material transaction ledger — one row per inventory movement or cost update, classified by transaction type, action, and source type, with quantity, date, and the document reference that caused it; the reconciliation backbone for every stock question
- INV_ONHAND_QUANTITIES_DETAILThe on-hand balance detail — receipt-level slices of stock per item, org, subinventory, locator, and lot, consumed in FIFO order as material issues
- INV_ONHAND_QUANTITIES_SUMMARYPre-aggregated on-hand at the item + location grain, maintained automatically in step with the detail table — the ready-made balance EBS never had
- INV_RESERVATIONSFirm reservations tying a demand source (a sales order line, most commonly) to a supply source (on-hand or expected supply) for an item in an org, optionally pinned down to subinventory, locator, and lot
- INV_SECONDARY_INVENTORIESThe subinventory master — each row a named section of stock within an organization (stores, staging, receiving, rejects) with its asset/expense nature, tracking and reservability controls, and replenishment source