Skip to content
D365 Reference

WHSWorkTable

worksheet header

Warehouse work header — one row per work order (pick, put, count, replenish) created by wave processing, with status, priority, and the load/shipment it serves

Module: Warehouse ManagementCompany-partitioned (DataAreaId)

Header & line

WHSWorkTable is the header for its lines in WHSWorkLine.

Fields

17 fields · 1 key

KeyFieldEDTDescriptionTypeLengthFlags
KeyWorkIdWorkIdThe work order number — the natural key work lines join back onstring
WorkStatusWork status across its life cycle (open, in process, closed, cancelled)enum
WorkTransTypeWhat kind of order the work serves — sales, transfer, purchase, counting…enum
InventSiteIdInventSiteIdSite the work executes atstring10
InventLocationIdInventLocationIdWarehouse the work executes instring10
LoadIdLoadIdLoad the work was created forstring
ShipmentIdShipmentIdShipment the work was created forstring
OrderNumOrderNumSource order number behind the workstring
WaveIdWave that generated the workstring
WorkPoolIdWork pool the order is grouped into for dispatchingstring
WorkPriorityDispatching priority of the work orderint
LockedUserWarehouse worker currently holding the work on a mobile devicestring
TargetLicensePlateIdLicense plate the work builds ontostring
ContainerIdContainer the work is associated with, for containerized pickingstring
WorkClosedUTCDateTimeWhen the work order was completed, stored in UTC — the labor-productivity timestampdatetime
WorkInProcessUTCDateTimeWhen the work was first picked up by a worker, stored in UTCdatetime
WorkCancelledUTCDateTimeWhen the work was cancelled, stored in UTCdatetime

Field provenance: hand-curated.

Boilerplate SQL

Starting point for reading WHSWorkTableon 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.

Query parameters
-- ============================================================
-- Table  : WHSWorkTable Warehouse work header — one row per work order (pick, put, count, replenish) created by wave processing, with status, priority, and the load/shipment it serves
-- Purpose: Column-selected read of WHSWorkTable — auto-generated from field metadata
-- Grain  : One row per company (dataareaid) + WorkId
-- 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.workid AS "The work order number — the natural key work lines join back on",
  w.workstatus AS "Work status across its life cycle (open, in process, closed, cancelled)",  -- enum: decode w.workstatus via GlobalOptionsetMetadata join — see quirks guide #enums
  w.worktranstype AS "What kind of order the work serves — sales, transfer, purchase, counting…",  -- enum: decode w.worktranstype via GlobalOptionsetMetadata join — see quirks guide #enums
  w.inventsiteid AS "Site the work executes at",
  w.inventlocationid AS "Warehouse the work executes in",
  w.loadid AS "Load the work was created for",
  w.shipmentid AS "Shipment the work was created for",
  w.ordernum AS "Source order number behind the work",
  w.waveid AS "Wave that generated the work",
  w.workpoolid AS "Work pool the order is grouped into for dispatching",
  w.workpriority AS "Dispatching priority of the work order",
  w.lockeduser AS "Warehouse worker currently holding the work on a mobile device",
  w.targetlicenseplateid AS "License plate the work builds onto",
  w.containerid AS "Container the work is associated with, for containerized picking",
  w.workclosedutcdatetime AS "When the work order was completed, stored in UTC — the labor-productivity timestamp",  -- stored in UTC
  w.workinprocessutcdatetime AS "When the work was first picked up by a worker, stored in UTC",  -- stored in UTC
  w.workcancelledutcdatetime AS "When the work was cancelled, stored in UTC"  -- stored in UTC
FROM <catalog>.<schema>.whsworktable w
WHERE
  w.dataareaid = '<company>'
  -- AND w.workclosedutcdatetime >= '<DATE_FROM>'  -- yyyy-MM-dd (UTC)
  -- AND w.workclosedutcdatetime <= '<DATE_TO>'  -- yyyy-MM-dd (UTC)
ORDER BY w.workid;

5 parameters not filled: <catalog>, <schema>, <company>, <DATE_FROM>, <DATE_TO>

Relationships

1-hop neighbors — click a table to navigate there. RecId and InventDim edges are highlighted; they’re the joins newcomers most often get wrong.

Join details

  • WHSWorkTableWHSWorkLineheader line · 1:N
    ON whsworktable.workid = whsworkline.workid
  • WHSWorkTableWHSLoadTableforeign key · N:1
    ON whsworktable.loadid = whsloadtable.loadid
  • WHSWorkTableWHSShipmentTableforeign key · N:1
    ON whsworktable.shipmentid = whsshipmenttable.shipmentid

Data Entities That Expose This Table

No standard header export entity — warehouse work is exposed line-level via WHSWarehouseWorkLineEntity; land the raw table for header-grain analysis.