WMSLocation
mainWarehouse location (bin) master — one row per storage location within a warehouse, with its aisle/rack/level coordinates, zone, profile, and capacity limits
Referenced from InventDim.wMSLocationId. Several columns are camelCase with a lowercase first letter in the AOT (wMSLocationId, inventLocationId, aisleId) — display case only; landed columns are lowercase anyway.
What the badges mean
- main
- Table group: how F&O categorizes the table's role — main entity, group/header, transaction, worksheet header, worksheet line, reference, parameter, or framework.
- Shared across companies
- The table carries no
DataAreaId— rows aren’t partitioned per company, so a query never needs (and can’t use) a company filter here (see the quirks guide). - Date-effective
- The table carries a
ValidFrom/ValidToeffectivity window — a join without a date filter multiplies every key by its history (see the quirks guide).
Fields
17 fields · 2 key
17 fields.
| Key | Field | EDT | Description | Type | Length | Flags |
|---|---|---|---|---|---|---|
| Key | wMSLocationId | WMSLocationId | The location (bin) code within the warehouse — referenced by InventDim.wMSLocationId | string | ||
| Key | inventLocationId | InventLocationId | Warehouse the location belongs to — locations are unique per warehouse, so joins need both columns | string | ||
| locationType | What the location is used for (picking, bulk, inbound/outbound dock…) | enum | ||||
| ZoneId | Warehouse zone the location is grouped into for work and location directives | string | ||||
| LocProfileId | Location profile controlling mixing, license-plate tracking, and capacity behavior | string | ||||
| aisleId | Aisle the location sits in | string | ||||
| rack | Rack coordinate within the aisle | int | ||||
| level | Level (shelf height) coordinate of the location | int | ||||
| position | Position coordinate within the rack and level | int | ||||
| sortCode | Sort code driving the picking route sequence through the warehouse | int | ||||
| checkText | Check text a worker confirms to prove they are at the right location | string | ||||
| inputBlockingCauseId | Blocking cause preventing put-away into the location, when set | string | ||||
| outputBlockingCauseId | Blocking cause preventing picking from the location, when set | string | ||||
| maxVolume | Maximum volume the location can hold | real | ||||
| maxWeight | Maximum weight the location can hold | real | ||||
| volume | Calculated volume of the location from its physical dimensions | real | ||||
| LastCountedUTCDateTime | When the location was last cycle counted, stored in UTC | datetime |
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading WMSLocation on Databricks — enums are decoded, 1900-01-01 dates are wrapped to NULL, and the DataAreaId anchor is in place. Set your Unity Catalog location, company, and filter values below; they’re substituted into the SQL and the copy button.
4 parameters not filled: <catalog>, <schema>, <company>, <InventLocationId>
-- ============================================================
-- Table : WMSLocation Warehouse location (bin) master — one row per storage location within a warehouse, with its aisle/rack/level coordinates, zone, profile, and capacity limits
-- Purpose: Column-selected read of WMSLocation — auto-generated from field metadata
-- Grain : One row per company (dataareaid) + wMSLocationId + inventLocationId
-- Notes : Auto-generated skeleton for Synapse Link / Fabric Link-landed F&O data (lowercase column names). Enums decoded inline where verified; datetimes stored in UTC; 1900-01-01 dates are sentinels mapped to NULL. System/audit columns omitted — see the quirks guide.
-- ============================================================
SELECT
w.wmslocationid AS "The location (bin) code within the warehouse — referenced by InventDim.wMSLocationId",
w.inventlocationid AS "Warehouse the location belongs to — locations are unique per warehouse, so joins need both columns",
w.locationtype AS "What the location is used for (picking, bulk, inbound/outbound dock…)", -- enum: decode w.locationtype via GlobalOptionsetMetadata join — see quirks guide #enums
w.zoneid AS "Warehouse zone the location is grouped into for work and location directives",
w.locprofileid AS "Location profile controlling mixing, license-plate tracking, and capacity behavior",
w.aisleid AS "Aisle the location sits in",
w.rack AS "Rack coordinate within the aisle",
w.level_ AS "Level (shelf height) coordinate of the location",
w.position AS "Position coordinate within the rack and level",
w.sortcode AS "Sort code driving the picking route sequence through the warehouse",
w.checktext AS "Check text a worker confirms to prove they are at the right location",
w.inputblockingcauseid AS "Blocking cause preventing put-away into the location, when set",
w.outputblockingcauseid AS "Blocking cause preventing picking from the location, when set",
w.maxvolume AS "Maximum volume the location can hold",
w.maxweight AS "Maximum weight the location can hold",
w.volume AS "Calculated volume of the location from its physical dimensions",
w.lastcountedutcdatetime AS "When the location was last cycle counted, stored in UTC" -- stored in UTC
FROM <catalog>.<schema>.wmslocation w
WHERE
w.dataareaid = '<company>'
-- AND w.inventlocationid = '<InventLocationId>'
ORDER BY w.wmslocationid;Verified September 2026
Relationships
Diagram of 1-hop neighbors — join details below. RecId and InventDim edges are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON wmslocation.inventlocationid = inventlocation.inventlocationid AND wmslocation.dataareaid = inventlocation.dataareaidON inventdim.wmslocationid = wmslocation.wmslocationid AND inventdim.dataareaid = wmslocation.dataareaid
Data Entities That Expose This Table
More Inventory tables
- InventBatchBatch master — one row per item and batch number, carrying expiry and manufacturing dates plus vendor batch details; the record behind the inventBatchId dimension
- InventDimThe inventory dimension hub — one row per unique combination of site, warehouse, location, batch, and serial that every stock quantity hangs off by InventDimId
- InventItemPriceItem price records — activated cost, purchase, and sales prices per item, costing version, and dimension; the source for standard-cost analysis
- InventJournalTableInventory journal header — one row per movement, adjustment, transfer, BOM, or counting journal, with its type, posting status, and line count
- InventJournalTransInventory journal line — one row per item movement in a journal, with quantity, cost, counted figures, and the dimension combination it posts against
- InventLocationWarehouse master — one row per warehouse (inventory location) with its site and type