Mit diesem Format der @IF-Anweisung kann in EDT-Prozeduren und im L-Modus geprüft werden, ob zuvor EDT- oder DVS-Fehler aufgetreten sind. Abhängig davon wird eine angegebene Zeichenfolge als Eingabe abgearbeitet oder nicht.
EDT-Fehler treten beispielsweise durch die Eingabe einer nicht korrekten EDT-Anweisung auf. Der DVS-Fehlerschalter kann bei Anweisungen gesetzt werden, bei denen auf Dateien zugegriffen wird (z.B. @WRITE, Format 1) oder zeigt Fehler bei Systemzugriffen an.
Operation | Operanden | L-Modus |
@IF | {ERRORS |
ERRORS | Die Bedingung ist erfüllt, wenn der EDT-Fehlerschalter gesetzt ist. |
NO ERRORS | Die Bedingung ist erfüllt, wenn der EDT-Fehlerschalter nicht gesetzt ist. |
DMS ERRORS | Die Bedingung ist erfüllt, wenn der DVS-Fehlerschalter gesetzt ist. |
NO DMS ERRORS | |
Die Bedingung ist erfüllt, wenn der DVS-Fehlerschalter nicht gesetzt ist. | |
text | EDT-Anweisung oder Datenzeile. Falls die Bedingung erfüllt ist, wird die Zeichenfolge so behandelt, als ob man sie im L-Modus an der Eingabeaufforderung eingegeben hätte. Insbesondere die Interpretation als Dateneingabe bzw. als Anweisung erfolgt nach den gleichen Regeln (siehe dazu den Abschnitt „L-Modus“). Der Operand Wird |
Hinweis
Soll eine bestimmte Anweisung geprüft werden, müssen vor der zu prüfenden Anweisung die Fehlerschalter zurückgesetzt werden (siehe @RESET). Die Anweisung @IF kann sonst ein unerwünschtes Ergebnis liefern, da auch bereits vorhergegangene Anweisungen den EDT- oder DVS-Schalter gesetzt haben könnten.
Die Anweisung @IF ERRORS sollte nicht zur Trefferabfrage nach @ON eingesetzt werden. Es ist dazu @IF Format 3 zu verwenden.
Die Verwendung von @IF mit @RETURN als Anweisung außerhalb von Prozeduren führt möglicherweise zur Beendigung des EDT (siehe @RETURN-Anweisung).