Skip to content
EWM Reference

/SAPAPO/MATKEY

masterGUID key

The product master key table — the bridge between the internal product GUID every EWM table carries and the readable material number, with the base unit, weights, volumes, and shelf-life control

Identity
Module: Master Data & PartiesBronze: sapapo_matkey
Grain note

MATID here is the CHAR(22) compressed GUID, while /SCWM tables carry the RAW(16) form — the two encodings need conversion, not raw equality (see quirks #guid-keys)

Notes

The table name survives in embedded S/4HANA EWM even though the ERP material master (MARA) holds the basic data — MATKEY stays the GUID-to-number bridge EWM resolves through. /SCMB/TOENTITY carries both GUID encodings on one row, which is the clearest public evidence that the RAW16 and CHAR22 forms are the same value in different clothes.

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.

Structural facts — how the table is keyed, not a trap by itself

Semantic key
Every non-client key column is readable business data — LGNUM plus a bin, task, or order number. Joins run on the columns you can see (see the quirks guide).

Join & extract hazards — verify before you rely on this

GUID key
Every non-client key column is a GUID — RAW(16) on the /SCWM, /SCDL, /LIME, and /SCMB tables, and the CHAR(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.
In field listings, the Key chip marks a primary-key field, and UTC marks a timestamp stored in UTC rather than warehouse-local time.

Fields

14 fields · 2 key

14 fields.

Table fields: position, field name, description, data type, and flags. 14 fields.
#FieldDescriptionTypeFlags
1MANDTClientCLNT(3)
Key
2MATIDInternal product ID — the product GUID in its 22-character compressed form, not the RAW16 form the /SCWM tables carryCHAR(22)
Key
3MATNRProduct or material number — the readable identifierCHAR(40)
4PRODUCT_TYPEProduct type classificationCHAR(2)
5LVORMDeletion flagCHAR(1)
6MEINSBase unit of measureUNIT(3)
7BRGEWGross weight per base unitQUAN(13,3)
8NTGEWNet weight per base unitQUAN(13,3)
9GEWEIWeight unitUNIT(3)
10VOLUMVolume per base unitQUAN(13,3)
11VOLEHVolume unitUNIT(3)
12SHELF_LIFE_FLAGWhether planning considers the product's shelf lifeCHAR(1)
13SHELF_LIFE_DURShelf life durationDEC(11)
14IPRKZPeriod indicator for interpreting the shelf-life durationCHAR(1)

Field provenance: hand-curated. 2 key fields.

Boilerplate SQL

Starting point for reading the replicated copy of /SAPAPO/MATKEYon 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.

Query parameters

4 parameters not filled: <catalog>, <schema>, <client>, <MATID>

-- ============================================================
-- Table  : /SAPAPO/MATKEY — The product master key table — the bridge between the internal product GUID every EWM table carries and the readable material number, with the base unit, weights, volumes, and shelf-life control
-- Purpose: Column-selected read of /SAPAPO/MATKEY — auto-generated from field metadata
-- Grain  : One row per client + MATID
-- Caution: MATID here is the CHAR(22) compressed GUID, while /SCWM tables carry the RAW(16) form — the two encodings need conversion, not raw equality (see quirks #guid-keys)
-- Notes  : Auto-generated skeleton for SAP EWM data replicated into your lakehouse — it reads the replicated copy, not the SAP database. Source table /SAPAPO/MATKEY; slashes aren't legal in unquoted Databricks identifiers, so replication targets conventionally land it as sapapo_matkey — adjust to your landing convention (see quirks #namespace-slashes). Timestamps flagged UTC are DEC(15) yyyymmddhhmmss values in UTC, not warehouse local time (#utc-timestamps).
-- ============================================================
SELECT
  t.MANDT AS "Client",
  t.MATID AS "Internal product ID — the product GUID in its 22-character compressed form, not the RAW16 form the /SCWM tables carry",
  t.MATNR AS "Product or material number — the readable identifier",
  t.PRODUCT_TYPE AS "Product type classification",
  t.LVORM AS "Deletion flag",
  t.MEINS AS "Base unit of measure",
  t.BRGEW AS "Gross weight per base unit",
  t.NTGEW AS "Net weight per base unit",
  t.GEWEI AS "Weight unit",
  t.VOLUM AS "Volume per base unit",
  t.VOLEH AS "Volume unit",
  t.SHELF_LIFE_FLAG AS "Whether planning considers the product's shelf life",
  t.SHELF_LIFE_DUR AS "Shelf life duration",
  t.IPRKZ AS "Period indicator for interpreting the shelf-life duration"
FROM <catalog>.<schema>.sapapo_matkey t
WHERE
  t.MANDT = '<client>'  -- client filter — drop on single-client systems
  -- AND t.MATID = '<MATID>'
ORDER BY t.MATID;

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

  • /SCWM/TWORKST/SAPAPO/MATKEYGUID join · N:1
    ON scwm_tworkst.MANDT = sapapo_matkey.MANDT AND scwm_tworkst.DLFT_PMAT = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/BINMAT/SAPAPO/MATKEYGUID join · N:1
    ON scwm_binmat.MANDT = sapapo_matkey.MANDT AND scwm_binmat.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/AQUA/SAPAPO/MATKEYGUID join · N:1
    ON scwm_aqua.MANDT = sapapo_matkey.MANDT AND scwm_aqua.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/HUHDR/SAPAPO/MATKEYGUID join · N:1
    ON scwm_huhdr.MANDT = sapapo_matkey.MANDT AND scwm_huhdr.PMAT_GUID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/ORDIM_O/SAPAPO/MATKEYGUID join · N:1
    ON scwm_ordim_o.MANDT = sapapo_matkey.MANDT AND scwm_ordim_o.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/ORDIM_C/SAPAPO/MATKEYGUID join · N:1
    ON scwm_ordim_c.MANDT = sapapo_matkey.MANDT AND scwm_ordim_c.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/ORDIM_L/SAPAPO/MATKEYGUID join · N:1
    ON scwm_ordim_l.MANDT = sapapo_matkey.MANDT AND scwm_ordim_l.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCDL/DB_HU/SAPAPO/MATKEYGUID join · N:1
    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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCDL/DB_PROCI_I/SAPAPO/MATKEYGUID join · N:1
    ON scdl_db_proci_i.MANDT = sapapo_matkey.MANDT AND scdl_db_proci_i.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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCDL/DB_PROCI_O/SAPAPO/MATKEYGUID join · N:1
    ON scdl_db_proci_o.MANDT = sapapo_matkey.MANDT AND scdl_db_proci_o.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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCDL/DB_REQI/SAPAPO/MATKEYGUID join · N:1
    ON scdl_db_reqi.MANDT = sapapo_matkey.MANDT AND scdl_db_reqi.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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SAPAPO/MATLWH/SAPAPO/MATKEYGUID join · N:1
    ON sapapo_matlwh.MANDT = sapapo_matkey.MANDT AND sapapo_matlwh.MATID = sapapo_matkey.MATID -- compressed CHAR(22) GUID equality — join as-is
  • /SAPAPO/MATLWHST/SAPAPO/MATKEYGUID join · N:1
    ON sapapo_matlwhst.MANDT = sapapo_matkey.MANDT AND sapapo_matlwhst.MATID = sapapo_matkey.MATID -- compressed CHAR(22) GUID equality — join as-is
  • /SCWM/PVPAKL/SAPAPO/MATKEYGUID join · N:1
    ON scwm_pvpakl.MANDT = sapapo_matkey.MANDT AND scwm_pvpakl.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /SCWM/PVPAKC/SAPAPO/MATKEYGUID join · N:1
    ON scwm_pvpakc.MANDT = sapapo_matkey.MANDT AND scwm_pvpakc.MATID = 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 equality

    the /SCWM side is RAW(16) and MATKEY keys the CHAR 22 compressed form — convert before comparing; this is not a raw equality

  • /LIME/PI_IT_BIZ/SAPAPO/MATKEYGUID join · N:1
    ON lime_pi_it_biz.MANDT = sapapo_matkey.MANDT AND lime_pi_it_biz.MATID = 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 equality

    the /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

Browse more Master Data & Parties tables

More Master Data & Parties tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by SAP. SAP, SAP S/4HANA, and SAP Extended Warehouse Management are trademarks or registered trademarks of SAP SE.