Modern ABAP Syntax for Classic ABAP Developers: Inline Declarations, Constructor Expressions and New Open SQL
Course quiz
Modern ABAP Syntax for Classic ABAP Developers: Inline Declarations, Constructor Expressions and New Open SQL
Keep this: job aid
Classic to modern ABAP cheat sheet
- DATA lv_x TYPE ... + assignment → DATA(x) = ... ; never-changing values → FINAL(x) = ... (7.57+ on premise; check your release).
- Watch inline types: 0 is type i, 'X' is c length 1; use CONV type( ) when the type matters.
- CONCATENATE / WRITE ... TO → |text { value }| with ALPHA = OUT, DATE = USER, NUMBER = USER where formatting matters.
- APPEND/CLEAR → VALUE #( ( ... ) ) with BASE to keep rows; MOVE-CORRESPONDING → CORRESPONDING #( ) (initializes fields without a source unless BASE).
- Accumulating LOOP → REDUCE type( INIT ... FOR ... NEXT ... ); LOOP + IF + APPEND → FILTER (needs a key) or VALUE #( FOR ... WHERE ... ).
- READ TABLE → itab[ key ]: raises CX_SY_ITAB_LINE_NOT_FOUND if missing; use OPTIONAL, DEFAULT, line_exists( ) or TRY per the business rule.
- DESCRIBE TABLE ... LINES → lines( ); GET REFERENCE OF → REF #( ); MOVE → =.
- ABAP SQL: comma lists, @host variables, INTO @DATA( ) at the end, CASE/COALESCE in the field list; one new element means strict mode for the whole statement.
- ABAP Cloud: no WRITE, dynpros, reports, BREAK-POINT, MOVE; select from released CDS views (I_Customer), not SAP tables.
- Refactor safely: pin with characterization tests, change one construct at a time, confirm intended changes with the key user, ATC before release.