QAVE
transaction S/4HANA status: ActiveInspection Processing: Usage Decision
MANDANT · PRUEFLOS · KZART · ZAEHLER
All 8 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 QAVE is for
One row per usage decision posted on an inspection lot (QA11 and its variants). The key is PRUEFLOS + KZART + ZAEHLER — decision type plus counter — which is the table telling you a lot can carry more than one decision row. VBEWERTUNG carries the verdict: A accepted, R rejected, blank non-valuated.
Joins that work — and the traps
QALS on (MANDANT, PRUEFLOS)
N:1 up to the lot; dedupe to the latest
ZAEHLERbefore any lot-level metric.Decision codes (
VCODE) decode via QPCD/QPCTThe decision code (
VCODE, selected setVAUSWAHLMG) decodes through the inspection catalogs — QPCD for codes, QPCT for texts, catalog type 3 for usage decisions.QPCDQPCT
What QAVE does not contain
No quantities — the stock-posting split lives on QALS; no defect detail (QMFE); no inspector results (QAMR).
What breaks in practice
- Assuming one decision per lot: the counter exists because re-decisions happen; naive joins double lots in acceptance metrics.
- Treating blank
VBEWERTUNGas rejection: blank is non-valuated, a third state. - Vendor metrics computed on decision date vs lot-creation date answer different questions (when quality was found vs when it arrived) — pick one and name it.
Shape & growth
One row per decision — bounded by lots; effectively insert-only with rare re-decision rows.
ECC vs S/4HANA
No simplification-list entry restructuring QAVE shows up in published material — an absence, not an SAP statement; verify against the simplification list for your release.
Fields
8 fields · 4 key
The join key is all 4 key fields together — matching on any single one fans out. See composite keys in the quirks guide.
8 fields.
| Key | Field | Description | Type | Length | References |
|---|---|---|---|---|---|
| Primary key | MANDANT | Client | CLNT | 3 | |
| Primary key | PRUEFLOS | Inspection Lot Number | NUMC | 12 | QALS |
| Primary key | KZART | Record Type of Usage Decision | CHAR | 1 | |
| Primary key | ZAEHLER | Counter for Usage Decision | CHAR | 6 | |
| VBEWERTUNG | Valuation of the Usage Decision Code | CHAR | 1 | ||
| VCODE | Usage Decision Code | CHAR | 4 | ||
| VAUSWAHLMG | Selected Set of the Usage Decision | CHAR | 8 | ||
| VDATUM | Date of the Usage Decision | DATS | 8 |
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 QAVE 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 : QAVE Inspection Processing: Usage Decision
-- Purpose: Column-selected read of QAVE — auto-generated from field metadata
-- Grain : One row per PRUEFLOS + KZART + ZAEHLER
-- 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
q.MANDANT AS "Client",
q.PRUEFLOS AS "Inspection Lot Number",
q.KZART AS "Record Type of Usage Decision",
q.ZAEHLER AS "Counter for Usage Decision",
q.VBEWERTUNG AS "Valuation of the Usage Decision Code",
q.VCODE AS "Usage Decision Code",
q.VAUSWAHLMG AS "Selected Set of the Usage Decision",
q.VDATUM AS "Date of the Usage Decision"
FROM <catalog>.<schema>.qave q
WHERE
q.MANDANT = '<MANDT>'
ORDER BY q.PRUEFLOS;Verified August 2026
More query patterns: QA11
Relationships
Diagram of 1-hop neighbors — join details below.
Join details
ON qals.PRUEFLOS = qave.PRUEFLOS
Transaction Codes That Use This Table
R read · W write · R/W read + write