Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@HALT - Beenden des EDT

&pagelevel(3)&pagelevel

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
beendet. In Prozeduren wird auf den nächsten JOB-STEP aufgesetzt oder
die Verarbeitung in einem ERROR-BLOCK angestoßen.

Wurde der EDT als Unterprogramm aufgerufen, wird die gesamte Zeichenfolge,
beginnend ab dem ersten Zeichen ungleich Leerzeichen nach
@HALT als Meldungstext an das rufende Programm übergeben (siehe
auch Operand message). Beginnt diese Zeichenfolge mit 'ABNORMAL' wird
ein spezieller Returncode (0008002C statt 00080000) gesetzt.

message

Zeichenfolge, die bei Aufruf des EDT als Unterprogramm an das aufrufende
Programm übergeben wird. Dieser Operand darf nur angegeben werden,
wenn der EDT als Unterprogramm aufgerufen wird.

Beginnt diese Zeichenfolge mit 'ABNORMAL' wird ein spezieller Returncode
(0008002C statt 00080000) gesetzt.

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.