Ansicht
Dokumentation

ABENCONDITIONAL_EXPRESSION_SWITCH - CONDITIONAL EXPRESSION SWITCH

ABENCONDITIONAL_EXPRESSION_SWITCH - CONDITIONAL EXPRESSION SWITCH

RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

SWITCH, Konditionaloperator

... SWITCH type( $[let_exp$]
                 operand
                 WHEN const1 THEN $[ let_exp$] result1
               $[ WHEN const2 THEN $[ let_exp$] result2 $]
               ...
               $[ ELSE $[ let_exp$] resultn $] ) ...


Wirkung

Ein bedingter Ausdruck mit dem Konditionaloperator SWITCH hat ein von einer Fallunterscheidung abhängiges Resultat result. Es wird entweder ein Wert des mit type angegebenen Datentyps erzeugt oder eine klassenbasierte Ausnahme ausgelöst. Für type kann angegeben werden:

Die Position operand in der Klammer ist der Wert, der in der Fallunterscheidung überprüft wird. Es handelt sich um eine allgemeine Ausdrucksposition. Dahinter muss mindestens eine Angabe WHEN aufgeführt werden. Für const hinter WHEN können Literale und Konstanten angegeben werden, die mit operand vergleichbar sein müssen. Es sind keine Teilfeldzugriffe möglich. Es können beliebig viele Angaben von WHEN-Anweisungen mit weiteren konstanten Werten folgen. Abschließend kann ein ELSE angegeben werden. Der Ausdruck vergleicht die Werte des Operanden operand der Reihe nach mit den angegebenen konstanten Werten und wählt die Angabe result hinter THEN für welche die Werte von Operand und Konstante zum ersten Mal gleich sind. Das ausgewählte result bestimmt das Resultat des bedingten Ausdrucks. Wenn keine Gleichheit festgestellt wird, wird die Angabe result hinter ELSE ausgewählt. Wenn kein ELSE angegeben ist, ist das Resultat dann der Initialwert des Datentyps type.

Wenn eine Angabe hinter THEN oder ELSE ausgewählt werden kann, wird genau wie bei einem bedingten Ausdruck mit COND entweder das Resultat gesetzt oder eine klassenbasierte Ausnahme ausgelöst.

Optional kann vor dem Operand operand, hinter jedem THEN und hinter ELSE ein LET-Ausdruck zur Definition lokaler Hilfsfelder aufgeführt werden.

Hinweise

  • Hinter WHEN können keine Textsymbole für const angegeben werden.
  • Ein bedingter Ausdruck mit SWITCH ist gleichbedeutend zu folgendem bedingten Ausdruck mit COND:
COND type( WHEN operand = const1 THEN result1
         $[ WHEN operand = const2 THEN result2 $]
         ...
         $[ ELSE resultn $] )

Beispiel

Konditionaloperator SWITCH an einer Operandenposition in einer Schleife. Die Schleife wird beim Abfangen der hinter ELSE ausgelösten Ausnahme verlassen.






RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL_S_LOG - Application Log: Log header data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5143 Date: 20240606 Time: 071409     sap01-206 ( 77 ms )