/SCDL/DB_STATUS
transactionMixed keyDOCCAT: IDRDOCCAT: ODRDOCCAT: PDIDOCCAT: PDODOCCAT: FDODelivery status — the long, narrow status table every /SCDL document writes into, one row per document or item per status type with its value and validity window
Long and narrow — filter STATUS_TYPE (and DOCCAT) before pivoting, or a document's statuses fan out across every status type it has ever carried
Header-level status rows carry an initial (blank) ITEMID, item-level rows carry the item GUID — the same table serves both grains. Status values are DDIC domain codes; this reference describes them rather than decoding them, since the code lists have no verifiable public enumeration.
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
The /SCDL layer is shared: this table holds IDR (inbound delivery request), ODR (outbound delivery request), PDI (inbound delivery), PDO (outbound delivery order), FDO (final outbound delivery) rows in the same table, discriminated by DOCCAT — pick the one you mean before joining. How DOCCAT works
Fields
10 fields · 4 key
10 fields.
| # | Field | Description | Type | Flags |
|---|---|---|---|---|
| 1 | MANDT | Client | CLNT(3) | Key |
| 2 | DOCID | Document GUID the status row belongs to | RAW(16) | Key |
| 3 | ITEMID | Item GUID — initial (blank) for header-level status rows | RAW(16) | Key |
| 4 | STATUS_TYPE | Status type code (picking, goods issue, warehouse activity, and so on) — filter it before pivoting | CHAR(5) | Key |
| 5 | DOCCAT | Document category of the referenced document — all five categories share this table | CHAR(3) | |
| 6 | STATUS_VALUE | Current value of the status | CHAR(1) | |
| 7 | TZONE | Time zone reference for the status timestamps | CHAR(6) | |
| 8 | TSTFR | Status valid-from time | DEC(15) | UTCFilter date |
| 9 | TSTTO | Status valid-to time | DEC(15) | |
| 10 | CHGUSR | User who last changed the status row | CHAR(12) |
Field provenance: hand-curated. 4 key fields.
Boilerplate SQL
Starting point for reading the replicated copy of /SCDL/DB_STATUSon 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.
8 parameters not filled: <catalog>, <schema>, <client>, <DOCID>, <ITEMID>, <STATUS_TYPE>, <TS_FROM>, <TS_TO>
-- ============================================================
-- Table : /SCDL/DB_STATUS — Delivery status — the long, narrow status table every /SCDL document writes into, one row per document or item per status type with its value and validity window
-- Purpose: Column-selected read of /SCDL/DB_STATUS — auto-generated from field metadata
-- Grain : One row per client + DOCID + ITEMID + STATUS_TYPE
-- Caution: Long and narrow — filter STATUS_TYPE (and DOCCAT) before pivoting, or a document's statuses fan out across every status type it has ever carried
-- 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_STATUS; slashes aren't legal in unquoted Databricks identifiers, so replication targets conventionally land it as scdl_db_status — 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 the status row belongs to",
lower(hex(t.DOCID)) AS "Document GUID the status row belongs to (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.ITEMID AS "Item GUID — initial (blank) for header-level status rows",
lower(hex(t.ITEMID)) AS "Item GUID — initial (blank) for header-level status rows (hex)", -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
t.STATUS_TYPE AS "Status type code (picking, goods issue, warehouse activity, and so on) — filter it before pivoting",
t.DOCCAT AS "Document category of the referenced document — all five categories share this table",
t.STATUS_VALUE AS "Current value of the status",
t.TZONE AS "Time zone reference for the status timestamps",
t.TSTFR AS "Status valid-from time", -- UTC
t.TSTTO AS "Status valid-to time", -- UTC
t.CHGUSR AS "User who last changed the status row"
FROM <catalog>.<schema>.scdl_db_status t
WHERE
t.MANDT = '<client>' -- client filter — drop on single-client systems
AND t.DOCCAT = '<IDR|ODR|PDI|PDO|FDO>' -- document category — one /SCDL table holds every category; see quirks guide #doccat
-- AND t.DOCID = unhex('<DOCID>') -- pass the 32-character hex form
-- AND t.ITEMID = unhex('<ITEMID>') -- pass the 32-character hex form
-- AND t.STATUS_TYPE = '<STATUS_TYPE>'
-- AND t.TSTFR >= <TS_FROM> -- UTC yyyymmddhhmmss — convert warehouse-local dates first (#utc-timestamps)
-- AND t.TSTFR <= <TS_TO>
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_dlvh_o.MANDT = scdl_db_status.MANDT AND scdl_db_dlvh_o.DOCID = scdl_db_status.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance onlyON scdl_db_proch_i.MANDT = scdl_db_status.MANDT AND scdl_db_proch_i.DOCID = scdl_db_status.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance onlyON scdl_db_proch_o.MANDT = scdl_db_status.MANDT AND scdl_db_proch_o.DOCID = scdl_db_status.DOCID -- RAW16 GUID equality — join raw; hex is for display/conformance only
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
- /SCWM/IDNMaintain the inbound delivery notification — the request document that arrives from the connected ERP system before the inbound delivery existsRead/write accessChangedelivery-processing
- /SCWM/ODRMaintain the outbound delivery request — the request document that precedes the outbound delivery orderRead/write accessChangedelivery-processing
- /SCWM/PRDIMaintain the inbound delivery — the EWM-side receipt document goods receipt is posted againstRead/write accessChangedelivery-processing
- /SCWM/PRDOMaintain the outbound delivery order — the document EWM plans, picks, and stages against before goods issueRead/write accessChangedelivery-processing
More Delivery Processing (Warehouse Requests) tables
- /SCDL/DB_DATEDelivery dates — the typed date table for the /SCDL layer, one row per document, item, schedule line, date type, and category, each carrying a from/to timestamp pair
- /SCDL/DB_DLVH_OFinal outbound delivery header — the document that exists after goods issue, carrying the shipped delivery's number, type, incoterms, sales organization, and the flags that mark corrections, pickups, and scrapping
- /SCDL/DB_DLVI_OFinal outbound delivery item — the shipped line, carrying its own item GUID plus the reference document and item it was created from in both GUID and readable form
- /SCDL/DB_HUDelivery 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
- /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