ABAP Constructor Expressions: VALUE, CORRESPONDING, CONV, REDUCE and FILTER
ABAP constructor and table expressions let code build, convert, map, filter, and aggregate values declaratively: VALUE creates values, CORRESPONDING maps similarly named components, CONV performs typed conversion, FILTER selects table rows, and REDUCE folds a collection into a result. They can replace verbose helper loops, but dense nested expressions become harder to debug and should be split when business logic stops being obvious.
Practitioner guide to ABAP Constructor Expressions: VALUE, CORRESPONDING, CONV, REDUCE and FILTER: what it means, when to use it, how it fits SAP architecture, a concrete support/development example, decision rules, production pitfalls, S/4HANA implications, ownership, and related technical objects.
Reviewed by an ERPClimb SAP consultant on 20 Sept 2026· 773 words
What it is
Constructor expressions produce typed values directly inside an expression context. VALUE can create structures, objects of compatible types, and internal tables; CORRESPONDING maps matching components and can use MAPPING/EXCEPT; CONV makes the target conversion explicit; FILTER constructs a subset using optimized table-key conditions; REDUCE iterates with an accumulator to produce a final value. Table expressions such as itab[ key = value ] complement them by reading a row expression-style. These features are powerful because they expose intent, but they also move error behavior into expressions such as CX_SY_ITAB_LINE_NOT_FOUND.
When to use it
Use expressions when they make a simple transformation visibly closer to the business rule: mapping DTOs, creating small parameter tables, filtering with a suitable key, summing/concatenating with REDUCE, or converting to a precise DDIC type. Keep an explicit LOOP when the transformation contains many branches, logging, side effects, breakpoints, or complex exception recovery. Readability is the criterion, not line count.
How it fits the stack
Expressions are part of modern ABAP and integrate with inline declarations, internal tables, Open SQL results, RAP/EML payload construction, test-data setup, and OO code. FILTER depends on table keys and can therefore intersect with internal-table performance design. CORRESPONDING is useful in API mapping but can silently copy more or fewer fields than intended if structures evolve, so explicit MAPPING is often safer at stable interface boundaries.
A worked example
A RAP handler receives rows from one structure and must create an internal table of a target type while renaming two fields and setting a constant. An older implementation clears a work area, moves fields, appends, and repeats. A VALUE ... FOR expression plus CORRESPONDING/MAPPING can express the transformation without mutable helper state. If the mapping later includes complex validation, logging, and three alternate branches, splitting it back into an explicit loop can improve maintainability.
How to choose
- Use VALUE for concise typed construction of structures/tables.
- Use CORRESPONDING when structural similarity is intentional; prefer explicit MAPPING for interface-critical renames.
- Use CONV when target typing should be visible and controlled.
- Use FILTER when an appropriate table key supports the selection efficiently.
- Use REDUCE for simple folds; switch to an explicit loop when debugging or branching becomes difficult.
Common pitfalls
- Writing nested expressions so dense that support developers cannot set meaningful breakpoints.
- Assuming CORRESPONDING understands business semantics rather than just component mapping rules.
- Using FILTER without a compatible key and expecting it to solve every table-selection problem.
- Ignoring table-expression exceptions when a row may be absent.
- Replacing a clear five-line loop with a one-line expression that hides side effects and error handling.
ECC, S/4HANA and clean core
These expressions are standard modern ABAP on S/4HANA and ABAP Cloud. They are especially common in RAP and cloud-style code because they fit immutable/local transformation patterns. Clean-core rules do not restrict the syntax itself; they restrict the APIs and data sources being consumed. Existing classic programs can adopt the syntax incrementally when touched.
Whose problem this is
ABAP developers own readability and type correctness. Code review should reject both unnecessary verbosity and unnecessary cleverness. API owners should review CORRESPONDING mappings carefully because structure changes can alter what gets copied even when code still compiles.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-technical-topics/abap-constructor-expressionsERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.