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.

Weblinks

Literatur