SAP transaction codeObjectQS41ModuleQM

QS41 — Create Selected Set (QM Catalog)

QS41 creates a Selected Set (Auswahlmenge) in the QM catalog system: a curated subset of codes pulled from one or more existing code groups, used to restrict the list of values shown to a user in a specific context such as a defect type field, a usage decision code, or an inspection characteristic. It does not create new codes; it only bundles codes that already exist.

This page covers QS41, the transaction for building QM selected sets from existing catalog codes and code groups. It focuses on why a selected set silently fails to appear where it is expected, and how to trace that back through the catalog profile and code group status.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,172 words

Purpose

QS41 creates a Selected Set, one of four layers in the QM catalog hierarchy (catalog type, code group, code, selected set). A selected set is a named, restricted list drawn from one or more code groups within a given catalog type; it exists so that a specific screen field (defect type on a notification, valuation code on a usage decision, a characteristic's valid values) can offer a short, purpose-built dropdown instead of every code ever defined for that catalog type. The structural fact that causes most confusion: QS41 does not originate codes. Codes and code groups are maintained separately (via QS21 and related transactions); QS41 only assembles references to codes that already exist. If a code is missing from a selected set, the fix is almost never in QS41 itself, it is in the code group the set draws from, or in the status of the code.

When it is used

QS41 is a configuration-time transaction, used once catalog types and code groups are already in place, before those codes are exposed to end users. A consultant reaches for it when setting up or extending the notification catalog profile, the usage decision code groups for inspection lot completion, or the valid-values list for an inspection characteristic. It sits upstream of QA32 (lot completion), QM01/QM02 (notification creation), and QE51N (results recording) — those transactions are where the selected set actually gets consumed via an F4 help. There is no Fiori app for this; it remains backend catalog configuration, done once per business scenario rather than repeatedly. It is not something an end user or a shift-level operator would ever open.

How to use it in practice

  • Determine the catalog type the target field expects (for example, the catalog type used for defect codes on notifications, or for usage decision codes) before starting, since the selected set is only valid within that catalog type.
  • Call QS41, enter the catalog type and a key/number for the new selected set, and execute.
  • On the header screen, enter a description for the set so it is identifiable later in the catalog profile or characteristic master.
  • Add line items by referencing existing code group and code combinations; do not attempt to create new codes here.
  • Save. Then go to the downstream configuration point (catalog profile, characteristic master, or plan/task list) and explicitly assign the selected set there — creating it alone has no effect until it is referenced.

Key data objects

  • QPGR - the code group master, holding the group key within a catalog type; this is what the selected set draws its codes from and where a group can be blocked entirely.
  • QPCO - the individual codes belonging to a group, including short/long text and the code's own status (usable versus locked).
  • QPAM - the selected set header created by QS41, storing the set key, catalog type, and descriptive text.
  • QPAK - the line-item assignment table linking a selected set to the specific group/code combinations it contains.

How to prove it in the data

Start in SE16 on the selected-set line table, filtered by catalog type and selected set number, to list every group/code pair actually assigned to the set. Cross-check each code against the code master table filtered on the same catalog type and group, comparing status flags — a code can be present in the selected set but still suppressed at runtime if its own status is blocked. Separately, check the configuration point where the set is assigned (catalog profile entry, characteristic master, or plan/task list) to confirm the selected set key referenced there matches the one just inspected, rather than an older or differently-named set.

ECC vs S/4HANA

QM catalog and selected-set maintenance is functionally unchanged on S/4HANA. There is no Fiori app replacing QS41; it remains a SAP GUI configuration transaction, consistent with the rest of the QM catalog family. Consultants moving from ECC should not expect a simplified UI here, and any S/4HANA-specific behavior differences would be limited to general catalog authorization or transport handling rather than the object model itself.

Common pitfalls and how to diagnose them

  • Set not offered in the dropdown at all: the selected set was created but never assigned at the consuming point (catalog profile, characteristic master, or task list operation). Check the assignment first, before touching the set itself.
  • Codes missing from the F4 list even though the selected set looks complete: the underlying code or code group has a blocked/inactive status. The selected set line still exists in QPAK, but the runtime check on QPCO or QPGR status filters it out silently.
  • Wrong catalog type: each consuming field expects one specific catalog type. A selected set built against the wrong catalog type will save without error but simply never appear as an option, because the field-level check filters by catalog type before it even looks at the set key.
  • Language gaps: a code exists and is active but has no short text maintained in the user's logon language, producing a blank or numeric-only entry in the F4 help that looks like a data error but is a text maintenance gap.
  • Destructive reflex fix: rebuilding a fresh code group or selected set with a new key instead of adding the missing code to the existing group is the most common escalation. It leaves the old set referenced in some places and the new one in others, and duplicates catalog structures that then have to be reconciled manually.
  • Reused key trap: deleting and recreating a selected set under the same key to 'reset' it can silently break every downstream assignment that pointed to the old internal structure, especially if code group references were not identical.

Whose problem this is

This is functional QM configuration territory, owned by the QM consultant responsible for the catalog structure, not by ABAP or Basis. A handover should state the catalog type, the selected set key, the code group(s) it draws from, and every place the set is assigned downstream (catalog profile, characteristic, task list) so the receiving consultant does not have to reverse-engineer the assignment chain.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/qs41ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.