Konstruktorausdruck SWITCH
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Neues ABAP (ab Release 7.40).
Siehe Konstruktorausdruck COND.
Mit ABAP-Release 7.40 SP02 wurden neue Konstrukturausdrücke eingeführt, u. a. die Konstruktorausdrücke COND und SWITCH.
Mit Konstrukturausdrücken spart man oft Hilfsvariablen und kann in einem Ausdruck Logik implementieren, wo man vorher mehrere Befehle schreiben musste.
SWITCH ist mit einem CASE im klassischen ABAP vergleichbar.
Coding
Bei der Fallunterscheidung werden Werte vom "operand" unterschieden.
Ist die Zielvariable bereits deklariert, kann die Angabe des Datentyps durch "#" ersetzt werden.
lv_ziel = SWITCH <datentyp>|#( operand WHEN wert1 THEN .. WHEN wert2 THEN .. ELSE .. ).
Beim ELSE-Zweig ist kein "THEN" mehr nötig.
Beispiel
DATA: lt_spfli TYPE TABLE OF spfli. DATA: ls_spfli TYPE spfli. DATA: lv_string TYPE string. SELECT * FROM spfli INTO TABLE lt_spfli. LOOP AT lt_spfli INTO ls_spfli. lv_string = 'Flight from: ' && SWITCH string( ls_spfli-countryfr WHEN 'US' THEN 'United States' WHEN 'IT' THEN 'Italy' ELSE ls_spfli-countryfr ). WRITE: / lv_string. ENDLOOP.