/SCWM/TU_DLV
transactionMixed keyTransportation unit assignments — one row per delivery or handling unit loaded onto (or unloaded from) a transportation unit for one shipping-and-receiving activity
The grain is the assignment, not the delivery: a delivery split across two trailers has a row per trailer activity, and an HU-level assignment and a delivery-level assignment can both exist for the same load — read ASGN_TYPE before counting anything
The bridge between the yard and the delivery layer. The delivery is carried in both forms: DOCID/ITEMID as GUIDs and DOCCAT/DOCNO/ITEMNO readable beside them, with DOCCAT deciding whether the GUIDs point at the inbound or the outbound item table. TOP_HU is the warehouse-side HU GUID, so an HU assignment joins straight to the HU header. The creation and change stamps sit on the warehouse-local timestamp domain rather than the UTC one the execution tables use, and are described rather than flagged. Also present as a shallow entry in the SAP reference's EWM module; this reference is authoritative for the /SCWM namespace going forward.
What the badges mean
- master
- Data class: what the table holds — master data, transaction documents, configuration, an organizational object, or a language-striped text companion.
- Semantic key
- Every non-client key column is readable business data —
LGNUMplus a bin, task, or order number. Joins run on the columns you can see (see the quirks guide). - GUID key
- Every non-client key column is a GUID —
RAW(16)on the /SCWM, /SCDL, /LIME, and /SCMB tables, and theCHAR(22)compressed form on the product master. Join the raw column; a hex rendering is for reading only, and the two encodings need converting between (see the quirks guide). - Mixed key
- The key mixes readable and GUID columns in either direction — a product GUID inside an otherwise-readable bin key, or a readable status type inside an otherwise-GUID key. Check which side of a join you are on (see the quirks guide).
- DOCCAT: PDO
- A /SCDL delivery table holds several document categories in one table — inbound and outbound requests, the inbound delivery, the outbound delivery order, and the final outbound delivery — discriminated by
DOCCAT. The chips list the categories this table carries; anchor the one you mean or documents of every kind come back together (see the quirks guide). - Embedded S/4HANA only
- Deployment: shown only when a table does not exist in both embedded S/4HANA EWM and decentralized EWM. No table in this wave is deployment-specific, so the badge stays absent until one is.
Structural facts — how the table is keyed, not a trap by itself
Join & extract hazards — verify before you rely on this
Fields
18 fields · 4 key
18 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | MANDT | Client | CLNT(3) | Key |
| 2 | TU_NUM | Internal transportation unit number the assignment belongs to | CHAR(18) | Key |
| 3 | TU_SR_ACT_NUM | Activity number — which visit of that transportation unit the assignment was made for | NUMC(10) | Key |
| 4 | SEQ_NUM | Sequence number within the activity — what keeps two assignments of the same visit apart | NUMC(5) | Key |
| 5 | LGNUM | Warehouse number the assignment was made in | CHAR(4) | |
| 6 | DOCCAT | Document category of the assigned delivery — decides whether the GUIDs below point at the inbound or the outbound item table | CHAR(3) | |
| 7 | DOCID | GUID of the assigned delivery document | RAW(16) | |
| 8 | ITEMID | GUID of the assigned delivery item | RAW(16) | |
| 9 | DOCNO | Readable number of that delivery document | CHAR(35) | |
| 10 | ITEMNO | Readable item number of that delivery item | NUMC(10) | |
| 11 | ASGN_TYPE | Assignment type — whether the row assigns a delivery or a handling unit to the transportation unit | CHAR(1) | |
| 12 | TOP_HU | GUID of the top-level handling unit assigned, for an HU assignment — the warehouse-side HU, so it joins straight to the HU header | RAW(16) | |
| 13 | TOP_HUIDENT | Readable identification of that handling unit | CHAR(20) | |
| 14 | CROSS_HU | Whether the handling unit spans more than one delivery — the row that makes a per-delivery HU count double-count | CHAR(1) | |
| 15 | STATE | State of the handling-unit assignment | CHAR(1) | |
| 16 | FD_STATUS | Whether a final outbound delivery already exists for the assigned document | CHAR(1) | |
| 17 | CREATED | Creation time of the assignment, on the warehouse-local timestamp domain rather than the UTC one the execution tables use | DEC(15) | |
| 18 | CHANGED | Last change time of the assignment, on the same warehouse-local domain | DEC(15) |
Field provenance: hand-curated. 4 key fields.
Boilerplate SQL
Starting point for reading the replicated copy of /SCWM/TU_DLVon Databricks — the client anchor is already in place, the namespaced name is rendered as the underscore bronze name replication targets conventionally land it under, and any RAW16 GUID column selects a hex rendering alongside the raw value. Set your Unity Catalog location, schema, and filter values below; they’re substituted into the SQL and the copy button.
3 parameters not filled: <catalog>, <schema>, <client>
-- ============================================================
-- Table : /SCWM/TU_DLV — Transportation unit assignments — one row per delivery or handling unit loaded onto (or unloaded from) a transportation unit for one shipping-and-receiving activity
-- Purpose: Column-selected read of /SCWM/TU_DLV — auto-generated from field metadata
-- Grain : One row per client + TU_NUM + TU_SR_ACT_NUM + SEQ_NUM
-- Caution: The grain is the assignment, not the delivery: a delivery split across two trailers has a row per trailer activity, and an HU-level assignment and a delivery-level assignment can both exist for the same load — read ASGN_TYPE before counting anything
-- Notes : Auto-generated skeleton for SAP EWM data replicated into your lakehouse — it reads the replicated copy, not the SAP database. Source table /SCWM/TU_DLV; slashes aren't legal in unquoted Databricks identifiers, so replication targets conventionally land it as scwm_tu_dlv — adjust to your landing convention (see quirks #namespace-slashes). RAW16 GUID columns are joined raw; the hex aliases are for display only (#guid-keys). Timestamps flagged UTC are DEC(15) yyyymmddhhmmss values in UTC, not warehouse local time (#utc-timestamps).
-- ============================================================
SELECT
t.MANDT AS "Client",
t.TU_NUM AS "Internal transportation unit number the assignment belongs to",
t.TU_SR_ACT_NUM AS "Activity number — which visit of that transportation unit the assignment was made for",
t.SEQ_NUM AS "Sequence number within the activity — what keeps two assignments of the same visit apart",
t.LGNUM AS "Warehouse number the assignment was made in",
t.DOCCAT AS "Document category of the assigned delivery — decides whether the GUIDs below point at the inbound or the outbound item table",
t.DOCID AS "GUID of the assigned delivery document",
lower(hex(t.DOCID)) AS "GUID of the assigned delivery document (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.ITEMID AS "GUID of the assigned delivery item",
lower(hex(t.ITEMID)) AS "GUID of the assigned delivery item (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.DOCNO AS "Readable number of that delivery document",
t.ITEMNO AS "Readable item number of that delivery item",
t.ASGN_TYPE AS "Assignment type — whether the row assigns a delivery or a handling unit to the transportation unit",
t.TOP_HU AS "GUID of the top-level handling unit assigned, for an HU assignment — the warehouse-side HU, so it joins straight to the HU header",
lower(hex(t.TOP_HU)) AS "GUID of the top-level handling unit assigned, for an HU assignment — the warehouse-side HU, so it joins straight to the HU header (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.TOP_HUIDENT AS "Readable identification of that handling unit",
t.CROSS_HU AS "Whether the handling unit spans more than one delivery — the row that makes a per-delivery HU count double-count",
t.STATE AS "State of the handling-unit assignment",
t.FD_STATUS AS "Whether a final outbound delivery already exists for the assigned document",
t.CREATED AS "Creation time of the assignment, on the warehouse-local timestamp domain rather than the UTC one the execution tables use",
t.CHANGED AS "Last change time of the assignment, on the same warehouse-local domain"
FROM <catalog>.<schema>.scwm_tu_dlv t
WHERE
t.MANDT = '<client>' -- client filter — drop on single-client systems
ORDER BY t.TU_NUM;Verified August 2026
Landing conventions differ — see namespaced names in a lakehouse.
Relationships
Diagram of 1-hop neighbors — join details below. GUID joins and text-table joins are highlighted; they’re the joins newcomers most often get wrong.
Join details
ON scwm_tu_dlv.MANDT = scwm_tu_sr_act.MANDT AND scwm_tu_dlv.TU_NUM = scwm_tu_sr_act.TU_NUM AND scwm_tu_dlv.TU_SR_ACT_NUM = scwm_tu_sr_act.TU_SR_ACT_NUM -- the exact-grain parent: an assignment belongs to one visit of the transportation unit, not to the unit itself — the TU master is one hop further onthe exact-grain parent: an assignment belongs to one visit of the transportation unit, not to the unit itself — the TU master is one hop further on
ON scwm_tu_dlv.MANDT = scwm_huhdr.MANDT AND scwm_tu_dlv.TOP_HU = scwm_huhdr.GUID_HU -- RAW16 GUID equality — join raw; hex is for display/conformance only · populated on handling-unit assignments; delivery-level assignment rows leave it initialpopulated on handling-unit assignments; delivery-level assignment rows leave it initial
ON scwm_tu_dlv.MANDT = scdl_db_proci_i.MANDT AND scwm_tu_dlv.DOCID = scdl_db_proci_i.DOCID AND scwm_tu_dlv.ITEMID = scdl_db_proci_i.ITEMID -- RAW16 GUID equality — join raw; hex is for display/conformance only · applies when DOCCAT identifies an inbound deliveryapplies when DOCCAT identifies an inbound delivery
ON scwm_tu_dlv.MANDT = scdl_db_proci_o.MANDT AND scwm_tu_dlv.DOCID = scdl_db_proci_o.DOCID AND scwm_tu_dlv.ITEMID = scdl_db_proci_o.ITEMID -- RAW16 GUID equality — join raw; hex is for display/conformance only · applies when DOCCAT identifies an outbound delivery orderapplies when DOCCAT identifies an outbound delivery order
Transaction codes that touch this table
Curated: the EWM transactions an analyst would trace back to these rows, and how each one touches them.
R read · W write · R/W read + write
More Yard & Material Flow tables
- /SCWM/TU_SR_ACTTransportation unit activities — one row per shipping-and-receiving activity of a transportation unit, carrying the planned and actual start and end times, the activity type, category and direction, the carrier of the day, and the weighed weight
- /SCWM/TU_STATUSTransportation unit activity statuses — one row per activity per status type, with its value, the posting time, and a reason code
- /SCWM/TUNITTransportation units — the trailers, containers, and swap bodies goods are loaded into, with the internal and external number, the means of transport, the carrier, and the license plate
- /SCWM/VEH_SR_ACTVehicle activities — the same shipping-and-receiving activity shape for a vehicle: planned and actual times, activity type and direction, the driver, the carrier, and the weighed weight
- /SCWM/VEHICLEVehicles — the tractors and trucks that move transportation units through the yard, with the means of transport, carrier, license plate, and the flag that marks a permanently coupled transportation unit
- /SCWM/DOOR_SRACTDoor activities — the shipping-and-receiving activities assigned to a warehouse door, with the planned and actual occupancy window