Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

@IF (Format 1) - Abfrage von Fehlerschaltern

&pagelevel(3)&pagelevel

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
| NO [ERRORS]
DMS [ERRORS]
| NO DMS [ERRORS]} :[text]

ERRORSDie Bedingung ist erfüllt, wenn der EDT-Fehlerschalter gesetzt ist.
NO ERRORSDie Bedingung ist erfüllt, wenn der EDT-Fehlerschalter nicht gesetzt ist.
DMS ERRORSDie 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 text beginnt unmittelbar hinter dem Zeichen ':', d.h. evtl. angegebene Leerzeichen gehören schon dazu und werden bei Dateneingaben auch in die Zeile übernommen.

Wird text nicht angegeben (aber der Doppelpunkt), wird eine Leerzeile (Zeile der Länge 0) eingefügt.

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).