IF-Block einleiten
Komponente: | SDF-P-BASYS |
Funktionsbereich: | Prozeduren |
Anwendungsbereich: | PROCEDURE |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
IF ist ein SDF-P-Kontrollflusskommando.
Das Kommando IF leitet in einer S-Prozedur einen IF-Block ein. Der IF-Block ermöglicht es, abhängig vom Wert eines logischen Ausdrucks (siehe Abschnitt „SDF-P-BASYS") alternative Kommandofolgen zu durchlaufen. Der IF-Block endet mit dem Kommando END-IF.
Ist der logische Ausdruck wahr (TRUE), werden alle nachfolgenden Kommandos bis zum zugehörigen ELSE-IF, ELSE bzw. END-IF abgearbeitet.
Ist der logische Ausdruck nicht wahr (FALSE), werden die zugehörigen ELSE-IF-Bedingungen geprüft. Sind die ELSE-IF-Bedingungen nicht wahr, wird die Verarbeitung bei dem ELSE-Kommando fortgesetzt.
Enthält der IF-Block keinen ELSE-IF-Kommandoblock, wird in den ELSE-Kommandoblock verzeigt. Ist auch kein ELSE-Kommandoblock vorhanden, wird der IF-Block verlassen, d.h. die Verarbeitung wird mit dem auf END-IF folgenden Kommando fortgesetzt.
Das Kommando ELSE-IF ist nur mit dem kostenpflichtigen Subsystem SDF-P verfügbar.
Einschränkungen
Benutzer mit den Privilegien SECURITY-ADMINISTRATION, SAT-FILE-EVALUATION und SAT-FILE-MANAGEMENT können das Kommando nur in Prozeduren nutzen.
Format
IF |
CONDITION = <text 0..1800 with-low bool-expr> |
Operandenbeschreibung
CONDITION = <text 0..1800 with-low bool-expr>
Logischer Ausdruck, von dessen Wert die Verarbeitung in dem IF-Block abhängt. Die Regeln zur Bildung von logischen Ausdrücken sind im Handbuch „SDF-P“ [34] beschrieben.
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) | |
64 | SDP0091 | Semantikfehler | |
130 | SDP0099 | Kein Adressraum mehr verfügbar |
Beispiel
/BEDING-1: IF ( A = B ) / kommandofolge1 "ausgefuehrt, wenn Bedingung wahr" / . / . / . / ELSE / kommandofolge2 "ausgefuehrt, wenn Bedingung nicht wahr" / . / . / . / END-IF
Die Kommandofolge 1 wird ausgeführt, wenn die Variable A gleich der Variablen B ist. Anderenfalls wird die Kommandofolge 2 ausgeführt.