QPCT table — Catalog Code Text Table in Quality Management
QPCT holds the language-dependent short text for a code defined inside a QM catalog (catalog type, code group, code). It does not store the code itself or decide where the code can be used; it only supplies the description that appears on screen and in printouts whenever a defect, cause, task, or usage decision code is displayed in a chosen logon language.
QPCT is the text table behind the QM catalog structure: catalog type, code group, code, held per language. It matters mainly when a defect, cause, task or usage decision code shows a blank or wrong description, or when a text is missing in a language a plant actually uses. The page covers the joins to the code master and to the notification tables that actually reference the codes.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,123 words
What it stores
One row in QPCT represents the short text for a single catalog code, in one language, at one point in the catalog hierarchy: catalog type, code group, code. The catalog hierarchy itself (which code groups and codes exist, and whether a code is blocked) lives in the code master table; QPCT contributes only the human-readable description attached to that code for a given language key. QM uses several catalog types for different purposes: defect type and defect location catalogs, cause catalogs, task catalogs, and usage decision code groups, among others. Every one of those catalog entries can carry a text row per active language. If a plant works in German and English, the same code number can have two QPCT rows, one per language, and either one can be missing without affecting the other.
Key fields
- MANDT - client, standard client field, always the first restriction
- KATART - catalog type, distinguishes defect, cause, task, usage decision and other catalog categories
- CODEGRUPPE - code group within the catalog type, the second level of the hierarchy
- CODE - the individual code within the code group, the actual value stored on notifications and inspection results
- SPRACHE (language key) - identifies which language the text row belongs to
- KURZTEXT (short text) - the descriptive text shown for the code in that language
How it joins the data model
- QPCT-KATART = QPCD-KATART and QPCT-CODEGRUPPE = QPCD-CODEGRUPPE and QPCT-CODE = QPCD-CODE, joining the text row to the code master row it describes
- QPCT-KATART = QPGR-KATART, joining to the catalog group / catalog header that defines what the catalog type is used for
- QMFE-KATART / QMFE-CODEGRUPPE / QMFE-CODE matched against the same fields in QPCD, then QPCT, resolves the defect text shown on a notification item
- QMUR and QMMA carry the same three-field code combination for cause and task records respectively, resolved the same way through QPCD into QPCT
- QPCT-SPRACHE compared against the user or logon language determines which single text row is actually displayed
How to read it safely
Always restrict by client first, then by KATART, then CODEGRUPPE, and finally CODE if the investigation is about one specific code; without at least KATART the table returns text for every catalog in the system, mixing defect, cause, task and usage decision entries with no way to tell them apart quickly. Restricting by SPRACHE to the language actually being complained about is the second filter that matters, since a missing text in one language and a present text in another look identical unless the language field is checked explicitly. The table is not huge by transactional standards, but catalog data tends to accumulate unmaintained entries over years, so a KATART-only selection on an older system can still return an inconveniently long list.
How to prove it in the data
Symptom: a defect code on a notification shows a code number but no description in the user's language. Select QPCT with MANDT = current client, KATART = the catalog type used for defects, CODEGRUPPE and CODE copied from the notification item, and SPRACHE = the user's logon language. No row returned confirms the text was never created for that language; a row with a blank KURZTEXT confirms the text exists but was saved empty; a row in a different SPRACHE than expected confirms a language mismatch rather than a missing text.
ECC vs S/4HANA
The QM catalog structure, including the code master and its associated text table, is part of the classic QM data model and continues to be used on S/4HANA without a structural redesign. Catalog maintenance is still done through the same style of transaction rather than through a new Fiori-first data model, and reporting on catalog codes generally still goes back to the underlying tables or their standard views rather than a dedicated compatibility view built specifically for this text table.
Common pitfalls
- Assuming a missing description means the code itself is invalid. The code can be perfectly usable in QPCD and still have no QPCT row for the language in use; the code master and its text are maintained separately and can drift out of sync.
- Editing QPCT directly instead of through the catalog maintenance transaction. Direct table changes bypass change documentation and can leave the code master and text table pointing at inconsistent language sets, which then surfaces as intermittent blank descriptions depending on user language.
- Forgetting that KATART is not optional context, it is a hard partition. Two completely different catalogs can reuse the same CODEGRUPPE and CODE numbers for unrelated purposes; a lookup that omits KATART can return a text belonging to the wrong catalog entirely and lead to a wrong conclusion about what a code means.
- Treating a short text lookup as proof that the code is actually assigned anywhere. QPCT only proves the text exists; it says nothing about whether that code is currently allowed for selection on a given catalog profile, or whether it has been blocked for future use.
- Concluding a translation gap is a configuration bug. In most cases a missing language text is a data maintenance gap left by whoever created the code, not a system defect, and the fix is adding the text in the catalog maintenance transaction, not raising a technical incident.
Whose problem this is
Catalog and code group content is functional QM master data, owned by whoever administers quality catalogs for the plant or company, typically the QM configuration lead rather than a basis or ABAP resource. A missing text is a master data gap to be closed in the catalog maintenance transaction; a systemic pattern of missing texts across many codes points to an incomplete catalog rollout during implementation, which is a project scope question, not a table-level defect.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tables/qpctERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.