Skip to content
Fusion Reference

INV_ONHAND_QUANTITIES_DETAIL

Product: INVtransactionPer inventory org

The on-hand balance detail — receipt-level slices of stock per item, org, subinventory, locator, and lot, consumed in FIFO order as material issues

Module: InventoryInventory-org partitioned (ORGANIZATION_ID)EBS equivalent: MTL_ONHAND_QUANTITIES_DETAIL
Grain note

Rows are FIFO receipt slices — SUM PRIMARY_TRANSACTION_QUANTITY at your chosen grain; a single row is not a balance

Notes

One item in one bin can hold many rows (one per receipt). On-hand at any grain is SUM(PRIMARY_TRANSACTION_QUANTITY) — or SUM(TRANSACTION_QUANTITY) in the row's own UOM — grouped by that grain; DATE_RECEIVED orders the slices. Fusion also maintains a ready-made aggregate in INV_ONHAND_QUANTITIES_SUMMARY.

What the badges mean
master
Data class: what the table holds — master data, transaction documents, control/configuration, interface/staging, or a documented view.
In field listings, K marks a primary-key field.

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.InventoryOnhandExtractPVO
    OTBI: Inventory - Inventory Balance Real Time

    Keyed on OnhandQuantitiesId, mirroring the detail table's key. The subject-area name is singular Balance in Oracle's book — not Balances.

    Oracle data-store documentation →

Fields

15 fields · 1 key

Table fields: position, field name, description, data type, and flags. 15 fields.
#FieldDescriptionTypeFlags
1ONHAND_QUANTITIES_IDSurrogate key of the on-hand sliceNUMBER
Key
2INVENTORY_ITEM_IDItem on handNUMBER
3ORGANIZATION_IDInventory org holding the stockNUMBER
4SUBINVENTORY_CODESubinventory holding the stockVARCHAR2
5LOCATOR_IDLocator holding the stockNUMBER
6LOT_NUMBERLot, when lot-controlledVARCHAR2
7PRIMARY_TRANSACTION_QUANTITYSlice quantity in the item's primary UOM — SUM this for on-handNUMBER
8TRANSACTION_QUANTITYSlice quantity in the entered UOMNUMBER
9TRANSACTION_UOM_CODEUOM of the creating transaction — note the _CODE suffix the transaction ledger's TRANSACTION_UOM lacksVARCHAR2
10SECONDARY_TRANSACTION_QUANTITYSlice quantity in the secondary UOM (dual-UOM items)NUMBER
11SECONDARY_UOM_CODESecondary UOMVARCHAR2
12DATE_RECEIVEDReceipt date of the slice — orders the FIFO consumptionDATE
Filter date
13PROJECT_IDProject stripe on the sliceNUMBER
14TASK_IDTask stripe on the sliceNUMBER
15COUNTRY_OF_ORIGIN_CODECountry-of-origin stripe on the sliceVARCHAR2

Field provenance: hand-curated. 1 key field.

Boilerplate SQL

Starting point for reading the BICC-landed copy of INV_ONHAND_QUANTITIES_DETAILon 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
-- ============================================================
-- Table  : INV_ONHAND_QUANTITIES_DETAIL — The on-hand balance detail — receipt-level slices of stock per item, org, subinventory, locator, and lot, consumed in FIFO order as material issues
-- Purpose: Column-selected read of INV_ONHAND_QUANTITIES_DETAIL — auto-generated from field metadata
-- Grain  : One row per inventory org (ORGANIZATION_ID) + ONHAND_QUANTITIES_ID
-- Caution: Rows are FIFO receipt slices — SUM PRIMARY_TRANSACTION_QUANTITY at your chosen grain; a single row is not a balance
-- 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.ONHAND_QUANTITIES_ID AS "Surrogate key of the on-hand slice",
  t.INVENTORY_ITEM_ID AS "Item on hand",
  t.ORGANIZATION_ID AS "Inventory org holding the stock",
  t.SUBINVENTORY_CODE AS "Subinventory holding the stock",
  t.LOCATOR_ID AS "Locator holding the stock",
  t.LOT_NUMBER AS "Lot, when lot-controlled",
  t.PRIMARY_TRANSACTION_QUANTITY AS "Slice quantity in the item's primary UOM — SUM this for on-hand",
  t.TRANSACTION_QUANTITY AS "Slice quantity in the entered UOM",
  t.TRANSACTION_UOM_CODE AS "UOM of the creating transaction — note the _CODE suffix the transaction ledger's TRANSACTION_UOM lacks",
  t.SECONDARY_TRANSACTION_QUANTITY AS "Slice quantity in the secondary UOM (dual-UOM items)",
  t.SECONDARY_UOM_CODE AS "Secondary UOM",
  t.DATE_RECEIVED AS "Receipt date of the slice — orders the FIFO consumption",
  t.PROJECT_ID AS "Project stripe on the slice",
  t.TASK_ID AS "Task stripe on the slice",
  t.COUNTRY_OF_ORIGIN_CODE AS "Country-of-origin stripe on the slice"
FROM <catalog>.<schema>.INV_ONHAND_QUANTITIES_DETAIL t
WHERE
  t.ORGANIZATION_ID = <inventory_org_id>  -- inventory org, NOT the business unit — see quirks guide #item-org-striping
  -- AND t.ONHAND_QUANTITIES_ID = <ONHAND_QUANTITIES_ID>
  -- AND t.DATE_RECEIVED >= DATE '<DATE_FROM>'
  -- AND t.DATE_RECEIVED <= DATE '<DATE_TO>'
  -- AND t.LAST_UPDATE_DATE >= TIMESTAMP '<watermark>'  -- the column incremental BICC extracts key on
ORDER BY t.ONHAND_QUANTITIES_ID;

7 parameters not filled: <catalog>, <schema>, <inventory_org_id>, <ONHAND_QUANTITIES_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

  • INV_ONHAND_QUANTITIES_DETAILEGP_SYSTEM_ITEMS_Bforeign key · N:1
    ON INV_ONHAND_QUANTITIES_DETAIL.INVENTORY_ITEM_ID = EGP_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID AND INV_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = EGP_SYSTEM_ITEMS_B.ORGANIZATION_ID
  • INV_ONHAND_QUANTITIES_DETAILINV_SECONDARY_INVENTORIESforeign key · N:1
    ON INV_ONHAND_QUANTITIES_DETAIL.SUBINVENTORY_CODE = INV_SECONDARY_INVENTORIES.SECONDARY_INVENTORY_NAME AND INV_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = INV_SECONDARY_INVENTORIES.ORGANIZATION_ID
  • INV_ONHAND_QUANTITIES_DETAILINV_ITEM_LOCATIONSforeign key · N:1
    ON INV_ONHAND_QUANTITIES_DETAIL.LOCATOR_ID = INV_ITEM_LOCATIONS.INVENTORY_LOCATION_ID AND INV_ONHAND_QUANTITIES_DETAIL.ORGANIZATION_ID = INV_ITEM_LOCATIONS.ORGANIZATION_ID
  • 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

Browse more Inventorytables →

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.