Mit diesem Format der @IF-Anweisung kann in EDT-Prozeduren geprüft werden, welche Auftrags- bzw. Benutzerschalter ein- oder ausgeschaltet sind (siehe auch @SETSW und Abschnitt „Auftragsschalter“). Abhängig davon wird eine angegebene Zeichenfolge als Eingabe abgearbeitet oder nicht.
Operation | Operanden | L-Modus |
@IF | {ON | OFF} = [U] int :[text] |
ON OFF U | Es wird verzweigt, wenn der angegebene Schalter gesetzt ist. Es wird verzweigt, wenn der angegebene Schalter nicht gesetzt ist. Legt fest, dass ein Benutzerschalter geprüft werden soll. Wird |
int | Nummer des Schalters ( Falls vor der Schalternummer das Schlüsselwort |
text | EDT-Anweisung oder Datenzeile. Falls die Bedingung erfüllt ist, wird die Der Operand Wird |
Aus Kompatibilitätsgründen wird die früher mögliche Angabe von GOTO
oder RETURN
ohne Doppelpunkt in Prozeduren weiter unterstützt.
Hinweis
Die Verwendung von @IF mit @RETURN als Anweisung außerhalb von Prozeduren führt möglicherweise zur Beendigung des EDT (siehe @RETURN-Anweisung).
Beispiel
1. @SET #S2 = 'SCHALTER 15 IST AUS' 1. @SET #S3 = 'SCHALTER 15 IST AN' 1. @PROC 8 1. @ @IF ON = 15 : @GOTO 4 2. @ @PRINT #S2 N 3. @ @RETURN ---------------------------------------- (1) 4. @ @PRINT #S3 N 5. @END 1. @SETSW OFF = 15 ----------------------------------------------- (2) 1. @DO 8 --------------------------------------------------------- (3) SCHALTER 15 IST AUS 1. @SETSW ON = 15 ------------------------------------------------ (4) 1. @DO 8 --------------------------------------------------------- (5) SCHALTER 15 IST AN 1.
(1) | Mit der Prozedur in Arbeitsdatei 8 soll bei gesetztem Auftragsschalter 15 die Zeichenfolgevariable #S3 ausgegeben werden, anderenfalls aber die Zeichenfolgevariable #S2. |
(2) | Schalter 15 wird zurückgesetzt. |
(3) | Die Prozedur von Arbeitsdatei 8 wird ausgeführt. |
(4) | Schalter 15 wird gesetzt. |
(5) | Die Arbeitsdatei 8 wird ausgeführt. |