Die Anweisung @HALT beendet den EDT-Lauf, den Bildschirmdialog nach @DIALOG bzw. den EDT als Unterprogramm mit oder ohne Übergabe eines Textes an das aufrufende Programm (siehe Abschnitt „Beenden des EDT-Laufs“ zu den allgemeinen Wirkungen der EDT-Beendigung).
Operation | Operanden | F-Modus, L-Modus |
@HALT | [{ ABNORMAL | message}] |
ABNORMAL | Wurde der EDT als Hauptprogramm aufgerufen, wird der EDT abnormal Wurde der EDT als Unterprogramm aufgerufen, wird die gesamte Zeichenfolge, |
message | Zeichenfolge, die bei Aufruf des EDT als Unterprogramm an das aufrufende Beginnt diese Zeichenfolge mit |
Zwischen dem Anweisungsnamen und einem evtl. angegebenen Operanden muss bei dieser Anweisung zwingend mindestens ein Leerzeichen angegeben werden.
Die Anweisung @HALT bewirkt das Beenden des EDT-Laufs im Dialog- oder Stapelbetrieb, wenn der EDT mit dem Kommando /START-EDT
bzw. /START-EDTU
oder den äquivalenten /START-PROGRAM
-Kommandos als Hauptprogramm gestartet wurde (siehe Abschnitt „Starten des EDT“) und sich nicht im Bildschirmdialog nach @DIALOG befindet. Der EDT-Lauf wird ebenfalls beendet, wenn @HALT über die CMD
-Funktion der Unter-programm-Schnittstelle (siehe Handbuch Unterprogramm-Schnittstellen [1]) eingegeben wurde.
Wurde im Dialogbetrieb der Bildschirmdialog mit der Anweisung @DIALOG aus einer Systemprozedur bzw. über die Unterprogramm-Schnittstelle eingeleitet, wird durch @HALT nur der Bildschirmdialog beendet und die Systemprozedur bzw. das aufrufende Programm
fortgesetzt. Dabei bleibt der Inhalt der Arbeitsdateien erhalten, weshalb auch keine Sicherungsabfrage erfolgt (siehe unten). In diesem Fall hat die Angabe von ABNORMAL
keine besondere Wirkung, außer dass das aufrufende Programm darüber informiert wird.
Existieren noch ungesicherte Arbeitsdateien, so werden im Dialogbetrieb vor dem Beenden des EDT nach der Meldung EDT0900
die Nummern der Arbeitsdateien mit ungesicherten Daten ausgegeben.
Zusätzlich wird (falls vorhanden) für jede dieser Arbeitsdateien der lokale @FILE-Eintrag (siehe Anweisungen @FILE, @READ, @GET und @OPEN, Format 2) bzw. der Name einer geöffneten Datei oder der Bibliotheks- und Elementname eines geöffneten Bibliothekselements (siehe Anweisungen @OPEN und @XOPEN) ausgegeben.
Danach folgt im Dialogbetrieb die Anfrage an den Benutzer:
% EDT0904 TERMINATE EDT? REPLY (Y=YES, N=NO)?
Bei Antwort N
erscheint im F-Modus das Arbeitsfenster, im L-Modus die Eingabeaufforderung erneut. Der Benutzer kann ungesicherte Arbeitsdateien schließen bzw. zurück schreiben. Bei Antwort Y
akzeptiert der Anwender, dass die ungesicherten Arbeitsdateien verloren gehen. Der EDT wird beendet.
Durch Einschalten von Auftragsschalter 4 vor dem EDT-Aufruf wird die Sicherungsabfrage unterdrückt. Die Sicherungsabfrage unterbleibt auch, wenn der F-Modus mit @DIALOG aufgerufen wurde (siehe auch den Abschnitt „Beenden des EDT-Laufs“).
Beispiel
1. @HALT % EDT0900 EDITED FILE(S) NOT SAVED! LOCAL FILE ( 0) : LOCAL FILE ( 1) : LOCAL FILE ( 4) : L= EDT164 E= HALT(001),X % EDT0904 TERMINATE EDT? REPLY (Y=YES; N=NO)
Der EDT wird im L-Modus mit @HALT beendet. Da noch ungesicherte Arbeitsdateien vorhanden sind, wird die Meldung EDT0900
und eine Liste der Arbeitsdateien ausgegeben.