QALS
transaction S/4HANA status: ActiveInspection Lot Record
MANDANT · PRUEFLOS
All 27 fieldsWhat the badges mean
- S/4HANA status: Active
- Active and unchanged in S/4HANA.
- S/4HANA status: Deprecated
- Still readable today, but no longer SAP's strategic path — plan around it.
- S/4HANA status: Replaced
- Replaced by a new persistence in S/4HANA; the classic name may still answer reads (see read mechanism).
- S/4HANA status: Migrating to IBP
- Planning scope is moving from APO toward IBP.
- S/4HANA status: Active (StRM) · Replaced (EWM)
- Path-dependent: active with SAP Stock Room Management, replaced where EWM is the warehouse path.
- S/4HANA status: Replaced · Compat View
- Compatibility view: the classic table name is redirected to a view over the new persistence — see how the physical model moved.
- S/4HANA status: Active · Proxy View
- Proxy view: reads route through NSDM proxy/CDS views — see how the physical model moved.
- master
- Data class: what the table holds — master data, transaction documents, org structure, config, or texts (one row per language — see the quirks guide).
- Linked type codes
CLNT — the client key; filter it explicitly and carry it through every join.
NUMC — fixed-width numeric text; keep it a string and keep the leading zeros.
DATS, TIMS — character date (YYYYMMDD) and time (HHMMSS), zero-filled when initial.
CURR, CUKY, QUAN, UNIT — amounts and quantities, meaningful only beside the currency key or unit that qualifies them.
LANG — a language key in a text table — one row per language.
What QALS is for
One row per inspection lot, created when an inspection-relevant event happens — a goods receipt, a production order, a manual request; HERKUNFT records the origin. A lot is a question ("is this stock any good?"), not an answer: the answer arrives later in QAVE.
Joins that work — and the traps
QAVE on (MANDANT, PRUEFLOS)
1:N despite what most reports assume: the usage-decision table's key carries a type and counter, so take the latest counter per lot. Trap symptom: acceptance rates over 100% of lots.
QMEL on PRUEFLOS
Lot-origin notifications point back at their lot.
Vendor analytics need no purchasing join
LIFNRandEBELN/EBELPsit on the lot for GR-sourced inspections.The plant field is
WERK, notWERKSAnd the client field is
MANDANT, notMANDT— same class of trap on the same table. Copy-pasted join templates fail silently on both.
What QALS does not contain
No usage decision (QAVE); no measurement results (QAMR characteristic results, QASE sample results); no defect records (QMFE via the notification). The lot knows its quantities and where they were posted — the full standard posting family LMENGE01–LMENGE09 (unrestricted, scrap, sample, blocked, reserves, transfer to another material, return to vendor, and two other-posting buckets) plus LMENGEZUB still open and LMENGEIST actual — but not why. Customer appends and release variance still mean checking your own DDIC before hard-coding the list.
What breaks in practice
- Open lots counted as failures: no QAVE row means undecided, not rejected — LEFT JOIN + NULL-as-fail understates every vendor with recent receipts.
- Disposition read as verdict: the LMENGE split says where stock went, not whether the lot passed; accepted lots can still scrap part of their quantity.
- Lots with
LMENGEZUB > 0are still posting — disposition percentages computed on them drift daily.
Shape & growth
Grows with goods receipts and production volume — one row per lot, no reversal churn; decided lots stop changing once STAT35 is set and postings complete.
ECC vs S/4HANA
No simplification-list entry restructuring QALS shows up in published material — an absence, not an SAP statement; verify against the simplification list for your release.
Fields
27 fields · 2 key
27 fields.
| Key | Field | Description | Type | Length | References |
|---|---|---|---|---|---|
| Primary key | MANDANT | Client | CLNT | 3 | |
| Primary key | PRUEFLOS | Inspection Lot Number | NUMC | 12 | |
| MATNR | Material Number | CHAR | 18 / 40 | MARA | |
| WERK | Plant | CHAR | 4 | T001W | |
| LOSMENGE | Inspection Lot Quantity | QUAN | 13,3 | ||
| HERKUNFT | Inspection Lot Origin | CHAR | 2 | TQ31 | |
| LIFNR | Vendor Account Number | CHAR | 10 | LFA1 | |
| EBELN | Purchasing Document Number | CHAR | 10 | EKKO | |
| EBELP | Item Number of Purchasing Document | NUMC | 5 | EKPO | |
| CHARG | Batch Number | CHAR | 10 | ||
| STAT34 | Stock Postings Completed | CHAR | 1 | ||
| STAT35 | Usage Decision Has Been Made | CHAR | 1 | ||
| LMENGE01 | Quantity Posted to Unrestricted-Use Stock | QUAN | 13,3 | ||
| LMENGE02 | Quantity Posted to Scrap | QUAN | 13,3 | ||
| LMENGE03 | Quantity Posted to Sample | QUAN | 13,3 | ||
| LMENGE04 | Quantity Posted to Blocked Stock | QUAN | 13,3 | ||
| LMENGE05 | Quantity Posted to Reserves | QUAN | 13,3 | ||
| LMENGE06 | Quantity Posted to Another Material | QUAN | 13,3 | ||
| LMENGE07 | Quantity Returned to Vendor | QUAN | 13,3 | ||
| LMENGE08 | Other Quantity Posted from Inspection Lot Stock | QUAN | 13,3 | ||
| LMENGE09 | Other Quantity (2) Posted from Inspection Lot Stock | QUAN | 13,3 | ||
| LMENGEZUB | Quantity That Must Be Posted | QUAN | 13,3 | ||
| LMENGELZ | Sample Quantity for Long-Term Characteristics | QUAN | 13,3 | ||
| LMENGEPR | Quantity Actually Inspected | QUAN | 13,3 | ||
| LMENGEZER | Quantity Destroyed During Inspection | QUAN | 13,3 | ||
| LMENGEIST | Actual Lot Quantity | QUAN | 13,3 | ||
| LMENGESCH | Defective Quantity in Inspected Quantity | QUAN | 13,3 |
Lengths shown as ECC / S/4HANA where the extended material number applies.
Linked type codes in the Type column jump to the matching section of the SAP data quirks guide.
Field provenance: hand-curated.
Boilerplate SQL
Starting point for reading QALS on Databricks. Set your Unity Catalog location and filter values below — they’re substituted into the SQL and the copy button.
3 parameters not filled: <catalog>, <schema>, <MANDT>
-- ============================================================
-- Table : QALS Inspection Lot Record
-- Purpose: Column-selected read of QALS — auto-generated from field metadata
-- Grain : One row per PRUEFLOS
-- Notes : Auto-generated skeleton. For multi-table transaction query patterns, see the linked t-codes on this page. Set catalog/schema to your Unity Catalog location; fill remaining placeholders (<...>) for your tenant.
-- ============================================================
SELECT
h.MANDANT AS "Client",
h.PRUEFLOS AS "Inspection Lot Number",
h.MATNR AS "Material Number",
h.WERK AS "Plant",
h.LOSMENGE AS "Inspection Lot Quantity",
h.HERKUNFT AS "Inspection Lot Origin",
h.LIFNR AS "Vendor Account Number",
h.EBELN AS "Purchasing Document Number",
h.EBELP AS "Item Number of Purchasing Document",
h.CHARG AS "Batch Number",
h.STAT34 AS "Stock Postings Completed",
h.STAT35 AS "Usage Decision Has Been Made",
h.LMENGE01 AS "Quantity Posted to Unrestricted-Use Stock",
h.LMENGE02 AS "Quantity Posted to Scrap",
h.LMENGE03 AS "Quantity Posted to Sample",
h.LMENGE04 AS "Quantity Posted to Blocked Stock",
h.LMENGE05 AS "Quantity Posted to Reserves",
h.LMENGE06 AS "Quantity Posted to Another Material",
h.LMENGE07 AS "Quantity Returned to Vendor",
h.LMENGE08 AS "Other Quantity Posted from Inspection Lot Stock",
h.LMENGE09 AS "Other Quantity (2) Posted from Inspection Lot Stock",
h.LMENGEZUB AS "Quantity That Must Be Posted",
h.LMENGELZ AS "Sample Quantity for Long-Term Characteristics",
h.LMENGEPR AS "Quantity Actually Inspected",
h.LMENGEZER AS "Quantity Destroyed During Inspection",
h.LMENGEIST AS "Actual Lot Quantity",
h.LMENGESCH AS "Defective Quantity in Inspected Quantity"
FROM <catalog>.<schema>.qals h
WHERE
h.MANDANT = '<MANDT>'
ORDER BY h.PRUEFLOS;Verified August 2026
Released CDS views over this table
Released SAP standard VDM views that read over QALS. Prefer these over classic-table reads on S/4HANA where available.
Relationships
Diagram of 1-hop neighbors — join details below.
Transaction Codes That Use This Table
R read · W write · R/W read + write