Skip to content
EWM Reference

/LIME/PI_DOC_IT

transactionMixed key

Physical inventory document item — the countable line: its type and status, when it was created, counted, and posted, who counted it, the physical inventory area it belongs to, and the completeness flags that say whether a bin or handling unit was counted whole

Grain note

The key carries a change version (CHANGE_SEQ) — take the latest per item or a recount is counted twice

Notes

Six key columns, five of them readable, and the versioning matters: a recount writes a new CHANGE_SEQ rather than overwriting the count. The physical inventory area is a bare GUID column (PI_AREA) and no browsable area configuration table renders on the public mirrors, so area names cannot be resolved here — completeness is read from the item-level indicator flags instead. Location and stock identity are GUIDs too; the readable equivalents live on the two business-key tables. The count, creation, and posting stamps are long-form timestamps rather than the DEC(15) form the rest of this reference filters on.

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.

Header & item

/LIME/PI_DOC_IT items join back to their header /LIME/PI_LOGHEAD on the document key, so an item never fans out.

Fields

30 fields · 6 key

30 fields.

Table fields: position, field name, description, data type, and flags. 30 fields.
#FieldDescriptionTypeFlags
1MANDTClientCLNT(3)
Key
2GUID_DOCGUID of the physical inventory document the item belongs toRAW(16)
Key
3ITEM_NOItem number within the counting documentNUMC(6)
Key
4LINE_IDXRow index within the item — part of the key, so one item number can carry several rowsINT4(10)
Key
5CHANGE_SEQChange version — a recount writes a new version rather than overwriting the previous countINT4(10)
Key
6ITEM_TYPELine category of the item — what kind of object is being countedCHAR(2)
Key
7ITEM_GROUPItem group tying related counting lines togetherNUMC(6)
8DOC_TYPEPhysical inventory procedure the item is counted underCHAR(2)
9DOC_STATUSStatus of the counting item (created, counted, posted, and so on)CHAR(4)
10COUNT_DATETime the count was entered — a long-form timestamp, not the short yyyymmddhhmmss form used elsewhere in this referenceDEC(21,7)
11COUNT_USERUser who entered the countCHAR(12)
12COUNT_REFERENCEFree reference captured with the count, such as a count sheet numberCHAR(35)
13CREATE_DATETime the counting item was created — long-form timestampDEC(21,7)
14POST_DATETime the difference was posted — long-form timestamp; the gap from the count time is the count-to-posting lagDEC(21,7)
15DIF_DIRECTIONDirection of the difference posting (stock in or stock out)CHAR(1)
16POST_ITEMWhether the item is to be postedCHAR(1)
17GUID_ITEMGUID of the counted object itself — resolved to readable keys on the item business-key tableRAW(16)
18GUID_PARENTGUID of the parent object the counted stock sits in — resolved to readable keys on the parent business-key tableRAW(16)
19PI_AREAPhysical inventory area, as a bare GUID — no browsable area configuration table renders publicly, so area names cannot be resolved from this catalogRAW(16)
20BLOCK_INDInventory blocking indicator set on the counted stockCHAR(1)
21FREEZE_INDWhether the book quantity is frozen for the countCHAR(1)
22PRIORITYPriority of the counting itemNUMC(1)
23ITEM_NEW_INDFlag: stock was found that the document did not expectCHAR(1)
24IND_LOC_PAR_COMPFlag: the parent location was counted completely — the completeness signal that stands in for a countable-area reportCHAR(1)
25IND_LOC_PAR_EMPTFlag: the parent location was counted as empty — distinct from never countedCHAR(1)
26IND_HU_ITEM_COMPFlag: the handling unit was counted completelyCHAR(1)
27REASONReason code for the count or the differenceCHAR(4)
28EXCCODEException code raised during countingCHAR(4)
29WDATUGoods receipt time of the counted stockDEC(15)
30VFDATShelf-life expiration date of the counted stockDATS(8)

Field provenance: hand-curated. 6 key fields.

Boilerplate SQL

Starting point for reading the replicated copy of /LIME/PI_DOC_ITon 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

3 parameters not filled: <catalog>, <schema>, <client>

-- ============================================================
-- Table  : /LIME/PI_DOC_IT — Physical inventory document item — the countable line: its type and status, when it was created, counted, and posted, who counted it, the physical inventory area it belongs to, and the completeness flags that say whether a bin or handling unit was counted whole
-- Purpose: Column-selected read of /LIME/PI_DOC_IT — auto-generated from field metadata
-- Grain  : One row per client + GUID_DOC + ITEM_NO + LINE_IDX + CHANGE_SEQ + ITEM_TYPE
-- Caution: The key carries a change version (CHANGE_SEQ) — take the latest per item or a recount is counted twice
-- Notes  : Auto-generated skeleton for SAP EWM data replicated into your lakehouse — it reads the replicated copy, not the SAP database. Source table /LIME/PI_DOC_IT; slashes aren't legal in unquoted Databricks identifiers, so replication targets conventionally land it as lime_pi_doc_it — 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.GUID_DOC AS "GUID of the physical inventory document the item belongs to",
  lower(hex(t.GUID_DOC)) AS "GUID of the physical inventory document the item belongs to (hex)",  -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
  t.ITEM_NO AS "Item number within the counting document",
  t.LINE_IDX AS "Row index within the item — part of the key, so one item number can carry several rows",
  t.CHANGE_SEQ AS "Change version — a recount writes a new version rather than overwriting the previous count",
  t.ITEM_TYPE AS "Line category of the item — what kind of object is being counted",
  t.ITEM_GROUP AS "Item group tying related counting lines together",
  t.DOC_TYPE AS "Physical inventory procedure the item is counted under",
  t.DOC_STATUS AS "Status of the counting item (created, counted, posted, and so on)",
  t.COUNT_DATE AS "Time the count was entered — a long-form timestamp, not the short yyyymmddhhmmss form used elsewhere in this reference",
  t.COUNT_USER AS "User who entered the count",
  t.COUNT_REFERENCE AS "Free reference captured with the count, such as a count sheet number",
  t.CREATE_DATE AS "Time the counting item was created — long-form timestamp",
  t.POST_DATE AS "Time the difference was posted — long-form timestamp; the gap from the count time is the count-to-posting lag",
  t.DIF_DIRECTION AS "Direction of the difference posting (stock in or stock out)",
  t.POST_ITEM AS "Whether the item is to be posted",
  t.GUID_ITEM AS "GUID of the counted object itself — resolved to readable keys on the item business-key table",
  lower(hex(t.GUID_ITEM)) AS "GUID of the counted object itself — resolved to readable keys on the item business-key table (hex)",  -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
  t.GUID_PARENT AS "GUID of the parent object the counted stock sits in — resolved to readable keys on the parent business-key table",
  lower(hex(t.GUID_PARENT)) AS "GUID of the parent object the counted stock sits in — resolved to readable keys on the parent business-key table (hex)",  -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
  t.PI_AREA AS "Physical inventory area, as a bare GUID — no browsable area configuration table renders publicly, so area names cannot be resolved from this catalog",
  lower(hex(t.PI_AREA)) AS "Physical inventory area, as a bare GUID — no browsable area configuration table renders publicly, so area names cannot be resolved from this catalog (hex)",  -- display rendering of the RAW16 GUID — join on the raw column; see quirks guide #guid-keys
  t.BLOCK_IND AS "Inventory blocking indicator set on the counted stock",
  t.FREEZE_IND AS "Whether the book quantity is frozen for the count",
  t.PRIORITY AS "Priority of the counting item",
  t.ITEM_NEW_IND AS "Flag: stock was found that the document did not expect",
  t.IND_LOC_PAR_COMP AS "Flag: the parent location was counted completely — the completeness signal that stands in for a countable-area report",
  t.IND_LOC_PAR_EMPT AS "Flag: the parent location was counted as empty — distinct from never counted",
  t.IND_HU_ITEM_COMP AS "Flag: the handling unit was counted completely",
  t.REASON AS "Reason code for the count or the difference",
  t.EXCCODE AS "Exception code raised during counting",
  t.WDATU AS "Goods receipt time of the counted stock",  -- UTC
  t.VFDAT AS "Shelf-life expiration date of the counted stock"
FROM <catalog>.<schema>.lime_pi_doc_it t
WHERE
  t.MANDT = '<client>'  -- client filter — drop on single-client systems
ORDER BY t.GUID_DOC;

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

  • /LIME/PI_LOGHEAD/LIME/PI_DOC_ITheader item · 1:N
    ON lime_pi_loghead.MANDT = lime_pi_doc_it.MANDT AND lime_pi_loghead.GUID_DOC = lime_pi_doc_it.GUID_DOC -- the counting document's readable year and number live only on the header — every item row carries the GUID alone, so the join runs on the raw GUID column with hex reserved for display

    the counting document's readable year and number live only on the header — every item row carries the GUID alone, so the join runs on the raw GUID column with hex reserved for display

  • /LIME/PI_DOC_IT/LIME/PI_DOC_TBGUID join · 1:N
    ON lime_pi_doc_it.MANDT = lime_pi_doc_tb.MANDT AND lime_pi_doc_it.GUID_DOC = lime_pi_doc_tb.GUID_DOC AND lime_pi_doc_it.ITEM_NO = lime_pi_doc_tb.ITEM_NO AND lime_pi_doc_it.LINE_IDX = lime_pi_doc_tb.LINE_IDX AND lime_pi_doc_it.CHANGE_SEQ = lime_pi_doc_tb.CHANGE_SEQ AND lime_pi_doc_it.ITEM_TYPE = lime_pi_doc_tb.ITEM_TYPE -- RAW16 GUID equality — join raw; hex is for display/conformance only · join the whole five-column item key including CHANGE_SEQ, or a recount's quantities attach to the original count

    join the whole five-column item key including CHANGE_SEQ, or a recount's quantities attach to the original count

  • /LIME/PI_DOC_IT/LIME/PI_PAR_BIZGUID join · 1:1
    ON lime_pi_doc_it.MANDT = lime_pi_par_biz.MANDT AND lime_pi_doc_it.GUID_DOC = lime_pi_par_biz.GUID_DOC AND lime_pi_doc_it.ITEM_NO = lime_pi_par_biz.ITEM_NO AND lime_pi_doc_it.LINE_IDX = lime_pi_par_biz.LINE_IDX AND lime_pi_doc_it.CHANGE_SEQ = lime_pi_par_biz.CHANGE_SEQ AND lime_pi_doc_it.ITEM_TYPE = lime_pi_par_biz.ITEM_TYPE -- RAW16 GUID equality — join raw; hex is for display/conformance only · the readable location behind the item's parent GUID

    the readable location behind the item's parent GUID

  • /LIME/PI_DOC_IT/LIME/PI_IT_BIZGUID join · 1:1
    ON lime_pi_doc_it.MANDT = lime_pi_it_biz.MANDT AND lime_pi_doc_it.GUID_DOC = lime_pi_it_biz.GUID_DOC AND lime_pi_doc_it.ITEM_NO = lime_pi_it_biz.ITEM_NO AND lime_pi_doc_it.LINE_IDX = lime_pi_it_biz.LINE_IDX AND lime_pi_doc_it.CHANGE_SEQ = lime_pi_it_biz.CHANGE_SEQ AND lime_pi_doc_it.ITEM_TYPE = lime_pi_it_biz.ITEM_TYPE -- RAW16 GUID equality — join raw; hex is for display/conformance only · the readable stock identity behind the item's object GUID

    the readable stock identity behind the item's object GUID

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 Physical Inventory tables

More Physical Inventory 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.