/SCDL/DB_HU
transactionGUID keyDelivery handling units — the HUs attached to a delivery document, with the readable HU number, the packaging material, and the packaging specification and packing instruction that built them
Delivery-side HUs, not warehouse-side ones: the key is the delivery document GUID plus an HUID that is local to the /SCDL layer. Nothing on the public pages says that HUID equals the warehouse HU GUID on /SCWM/HUHDR, so this reference bridges the two on the readable HU number (HUNO here, HUIDENT there) rather than asserting a GUID equality. CROSS_HU marks an HU shared across deliveries — the row that makes a per-delivery HU count double-count.
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
Header & item
/SCDL/DB_HU is the header for its items in /SCDL/DB_HUITEM.
Fields
17 fields · 3 key
17 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | MANDT | Client | CLNT(3) | Key |
| 2 | DOCID | Document GUID of the delivery the handling unit is attached to | RAW(16) | Key |
| 3 | HUID | Handling unit GUID within the delivery layer — not documented as the same value as the warehouse HU GUID | RAW(16) | Key |
| 4 | HUNO | Readable handling unit number — the bridge to the warehouse-side HU header | CHAR(20) | |
| 5 | ACTION_CODE | Action code from the message that created or changed the handling unit | CHAR(2) | |
| 6 | CROSS_HU | Flag: the handling unit spans more than one delivery — the row that makes per-delivery HU counts double-count | CHAR(1) | |
| 7 | DLV_COUNTER | Counter distinguishing repeated handling unit entries on one delivery | INT4(10) | |
| 8 | PRODUCTID | Packaging material of the handling unit, as a product GUID (RAW16 form) | RAW(16) | |
| 9 | PRODUCTNO | Readable packaging material number | CHAR(40) | |
| 10 | BATCHNO | Batch number of the packaging material | CHAR(20) | |
| 11 | HU_GUID_EXT | External handling unit GUID, where the HU originated outside this system | RAW(16) | |
| 12 | PB_ENGINE | Package building engine that produced the handling unit | CHAR(2) | |
| 13 | PS_GUID | GUID of the packaging specification the handling unit was built from | RAW(16) | |
| 14 | PS_ID | Readable packaging specification identifier | CHAR(20) | |
| 15 | PS_LEVEL_SEQ | Which level of the packaging specification produced this handling unit | CHAR(2) | |
| 16 | PI_GUID | GUID of the packing instruction applied | RAW(16) | |
| 17 | PI_ID | Readable packing instruction identifier | CHAR(20) |
Field provenance: hand-curated. 3 key fields.
Boilerplate SQL
Starting point for reading the replicated copy of /SCDL/DB_HUon 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.
4 parameters not filled: <catalog>, <schema>, <client>, <DOCID>
-- ============================================================
-- Table : /SCDL/DB_HU — Delivery handling units — the HUs attached to a delivery document, with the readable HU number, the packaging material, and the packaging specification and packing instruction that built them
-- Purpose: Column-selected read of /SCDL/DB_HU — auto-generated from field metadata
-- Grain : One row per client + DOCID + HUID
-- Notes : Auto-generated skeleton for SAP EWM data replicated into your lakehouse — it reads the replicated copy, not the SAP database. Source table /SCDL/DB_HU; slashes aren't legal in unquoted Databricks identifiers, so replication targets conventionally land it as scdl_db_hu — 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.DOCID AS "Document GUID of the delivery the handling unit is attached to",
lower(hex(t.DOCID)) AS "Document GUID of the delivery the handling unit is attached to (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.HUID AS "Handling unit GUID within the delivery layer — not documented as the same value as the warehouse HU GUID",
lower(hex(t.HUID)) AS "Handling unit GUID within the delivery layer — not documented as the same value as the warehouse HU GUID (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.HUNO AS "Readable handling unit number — the bridge to the warehouse-side HU header",
t.ACTION_CODE AS "Action code from the message that created or changed the handling unit",
t.CROSS_HU AS "Flag: the handling unit spans more than one delivery — the row that makes per-delivery HU counts double-count",
t.DLV_COUNTER AS "Counter distinguishing repeated handling unit entries on one delivery",
t.PRODUCTID AS "Packaging material of the handling unit, as a product GUID (RAW16 form)",
lower(hex(t.PRODUCTID)) AS "Packaging material of the handling unit, as a product GUID (RAW16 form) (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.PRODUCTNO AS "Readable packaging material number",
t.BATCHNO AS "Batch number of the packaging material",
t.HU_GUID_EXT AS "External handling unit GUID, where the HU originated outside this system",
lower(hex(t.HU_GUID_EXT)) AS "External handling unit GUID, where the HU originated outside this system (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.PB_ENGINE AS "Package building engine that produced the handling unit",
t.PS_GUID AS "GUID of the packaging specification the handling unit was built from",
lower(hex(t.PS_GUID)) AS "GUID of the packaging specification the handling unit was built from (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.PS_ID AS "Readable packaging specification identifier",
t.PS_LEVEL_SEQ AS "Which level of the packaging specification produced this handling unit",
t.PI_GUID AS "GUID of the packing instruction applied",
lower(hex(t.PI_GUID)) AS "GUID of the packing instruction applied (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.PI_ID AS "Readable packing instruction identifier"
FROM <catalog>.<schema>.scdl_db_hu t
WHERE
t.MANDT = '<client>' -- client filter — drop on single-client systems
-- AND t.DOCID = unhex('<DOCID>') -- pass the 32-character hex form
ORDER BY t.DOCID;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 scdl_db_hu.MANDT = scdl_db_dlvh_o.MANDT AND scdl_db_hu.DOCID = scdl_db_dlvh_o.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance only · the same table also holds the HUs of the other /SCDL document categories — DOCID identifies which document, whatever its categorythe same table also holds the HUs of the other /SCDL document categories — DOCID identifies which document, whatever its category
ON scdl_db_hu.MANDT = scdl_db_huitem.MANDT AND scdl_db_hu.HUID = scdl_db_huitem.HUID AND scdl_db_hu.DOCID = scdl_db_huitem.DOCIDON scdl_db_hurefhu.MANDT = scdl_db_hu.MANDT AND scdl_db_hurefhu.HUID = scdl_db_hu.HUID AND scdl_db_hurefhu.DOCID = scdl_db_hu.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance only · the higher-level side of the nestingthe higher-level side of the nesting
ON scdl_db_hurefhu.MANDT = scdl_db_hu.MANDT AND scdl_db_hurefhu.HUID_LOW = scdl_db_hu.HUID AND scdl_db_hurefhu.DOCID = scdl_db_hu.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance only · the nested side — the two edges together are one recursive hierarchy, not two independent joinsthe nested side — the two edges together are one recursive hierarchy, not two independent joins
ON scdl_db_huident.MANDT = scdl_db_hu.MANDT AND scdl_db_huident.HUID = scdl_db_hu.HUID AND scdl_db_huident.DOCID = scdl_db_hu.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance only · several identifiers per HU — filter HUIDTYPE before joining or the HU multipliesseveral identifiers per HU — filter HUIDTYPE before joining or the HU multiplies
ON scdl_db_hu.MANDT = scwm_huhdr.MANDT AND scdl_db_hu.HUNO = scwm_huhdr.HUIDENT -- the delivery-side HU to the warehouse-side HU on the READABLE number: nothing public says the /SCDL HUID equals /SCWM/HUHDR's GUID_HU, so no GUID equality is asserted here. HU numbers are unique per warehouse and this table carries no warehouse column — qualify through the delivery header's warehouse before trusting this join in a multi-warehouse estatethe delivery-side HU to the warehouse-side HU on the READABLE number: nothing public says the /SCDL HUID equals /SCWM/HUHDR's GUID_HU, so no GUID equality is asserted here. HU numbers are unique per warehouse and this table carries no warehouse column — qualify through the delivery header's warehouse before trusting this join in a multi-warehouse estate
ON scdl_db_hu.MANDT = sapapo_matkey.MANDT AND scdl_db_hu.PRODUCTID = sapapo_matkey.MATID -- the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equalitythe /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality
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 Delivery Processing (Warehouse Requests) tables
- /SCDL/DB_HUIDENTAlternative handling unit identifiers — the other numbers an HU is known by, one row per identifier type
- /SCDL/DB_HUITEMDelivery handling unit contents — one row per delivery item packed into an HU, with the packed quantity and unit
- /SCDL/DB_HUREFHUDelivery handling unit hierarchy — the parent-to-child links between nested HUs on a delivery, and nothing else
- /SCDL/DB_PROCH_IInbound delivery header — the EWM-side inbound delivery document with its readable number, type, warehouse, vendor and carrier parties, status, and delivery date
- /SCDL/DB_PROCH_OOutbound delivery order header — the EWM-side outbound document with its readable number, type, warehouse, ship-to and carrier parties, route, and sales organization
- /SCDL/DB_PROCI_IInbound delivery item — the line grain of the inbound delivery: product, batch, quantity, entitled party, and the goods-receipt and completion statuses