Anwendungsgebiet: PROCEDURE
Kommandobeschreibung
Das Kommando IF leitet einen IF-Block, das heißt eine bedingte Kommandofolge ein: Wenn die Bedingung im IF-Kommando zutrifft, wird die auf das IF-Kommando folgende Kommandofolge durchlaufen. Andernfalls werden im aktuellen IF-Block weitere ELSE-IF- bzw. ELSE-Kommandos gesucht. Enthält der aktuelle IF-Block keine ELSE-IF- bzw. ELSE-Kommandos, wird der Prozedurlauf mit dem Kommando fortgesetzt, das auf das zugehörige END-IF-Kommando folgt (siehe Abschnitt „Verzweigungen definieren“).
Format
IF |
CONDITION = <text 0..1800 with-low bool-expr> |
Operandenbeschreibung
CONDITION = <text 0..1800 with-low bool-expr >
Logischer Ausdruck als Bedingung für das Durchlaufen der Kommandofolge zwischen IF- und ELSE-IF- oder ELSE-Kommando (logischer Ausdruck siehe Kapitel „Ausdrücke“). Falls in dem logischen Ausdruck ein einzelnes „=“ -Zeichen enthalten ist, muss dieser in Klammern eingeschlossen werden.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
0 | CMD0001 | Ohne Fehler | |
1 | CMD0202 | Syntaxfehler | |
1 | SDP0118 | Kommando im falschen Kontext | |
1 | SDP0223 | Falsche Umgebung | |
3 | CMD2203 | Falsche Syntaxdatei | |
32 | CMD0221 | Systemfehler (interner Fehler) | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |
Beispiel
/A = 2 /B = 3 /IF (A = B) ——————————————————————————————————————————————————————————— (1) /WRITE-TEXT 'A UND B SIND RICHTIG INITIALISIERT' /ELSE-IF (A > B) —————————————————————————————————————————————————————— (2) /WRITE-TEXT 'A IST ZU GROSS' /ELSE /WRITE-TEXT 'B IST ZU GROSS' /END-IF B IST ZU GROSS
Anmerkung zur Klammerung der logischen Ausdrücke:
(1) | Die Klammerung kann entfallen, wenn das „=“-Zeichen verdoppelt wird: |
(2) | Die Klammerung kann entfallen: |