Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Beenden des EDT-Laufs

&pagelevel(4)&pagelevel

Die Anweisungen @HALT, @RETURN (außerhalb von Prozeduren), @EXEC und @LOAD sowie im F-Modus die Taste [K1] beenden normalerweise den EDT. Dabei schließt der EDT alle geöffneten Dateien.

Der EDT kann im Dialogbetrieb unter Umständen auch mit @END beendet werden. Im L-Modus werden zuvor die Meldungen

%  EDT4939 '@END' WITHOUT '@PROC' STATEMENT
%  EDT0904 TERMINATE EDT? REPLY (Y=YES; N=NO)?

ausgegeben, um unabsichtliches Beenden des EDT zu verhindern.

Befindet sich der EDT im Bildschirmdialog (nach @DIALOG), so beenden die Anweisungen @HALT, @RETURN (außerhalb von Prozeduren), @END und die Taste [K1] nicht den EDT, sondern nur den Bildschirmdialog. Dabei erfolgen dann auch keine Sicherheitsabfragen.

Mit @HALT ABNORMAL kann ein nicht normales Beenden des EDT-Laufs erzwungen werden wenn der EDT als Hauptprogramm gestartet wurde. Wurde EDT als Unterprogramm aufgerufen, wird bei @HALT ABNORMAL mit einem speziellen Returncode in das rufende Programm zurückgekehrt.
Existieren beim Beenden noch ungesicherte Arbeitsdateien, wird der EDT im Dialogbetrieb nicht sofort beendet. Nach der Meldung

%  EDT0900 EDITED FILE(S) NOT SAVED!

werden die Nummern der Arbeitsdateien mit ungesicherten Daten ausgegeben. Danach folgt die Anfrage an den Benutzer:

%  EDT0904 TERMINATE EDT? REPLY (Y=YES; N=NO)?

Bei Antwort N wird der EDT fortgesetzt, der Benutzer kann weiterarbeiten, z.B. noch nicht gesicherte Dateien zurück schreiben. Bei Antwort Y gehen die ungesicherten Arbeitsdateien verloren, der EDT wird beendet.

Beim Beenden mittels der Taste [K1] im F-Modus wird die Sicherheitsabfrage

% EDT0904 TERMINATE EDT? REPLY (Y=YES; N=NO)?

auch dann in der Meldungszeile des Arbeitsfensters ausgegeben, wenn keine geöffneten Arbeitsdateien existieren.

Bei Beendigung des EDT wird der Inhalt der Zeichenfolgevariablen #S00..#S20 den korrespondierenden S-Variablen SYSEDT-S00..SYSEDT-S20 zugewiesen, falls diese existieren und einen Wert vom Typ STRING aufnehmen Können. Der Wert der Zeichenfolgevariablen wird dabei im Zeichensatz EDF041 übergeben. Treten Konvertierungsfehler auf, wird der Wert nicht zugewiesen, ist der Wert länger als 4096 Bytes, wird abgeschnitten und nur die ersten 4096 Bytes werden zugewiesen. Meldungen werden keine ausgegeben. Die Zuweisung unterbleibt, wenn sie zuvor manuell mit @SETVAR vorgenommen wurde und dabei der Operand KEEP angegeben war, oder der EDT als Unterprogramm gestartet wurde.

Tritt das Ereignis Überschreitung der Programmlaufzeit auf (Laufzeit des EDT ist größer als der im Kommando /START-PROGRAM angegebene Wert für CPU-LIMIT), so wird eine Meldung auf SYSOUT ausgegeben und im Stapelbetrieb der EDT abnormal beendet.

Falls das Unterbrechungsereignis PROCHK (Programmfehler) oder ERROR (nicht behebbarer Programmfehler) auftritt und der EDT-Datenbereich noch adressierbar ist, wird die Meldung EDT8910 ausgegeben, in der der Befehlszähler und das Unterbrechungsgewicht angegeben sind. Der EDT wird nach Erstellen eines Speicherabzugs abnormal beendet.

Zur Steuerung von Systemprozeduren, in denen der EDT aufgerufen wird, werden sowohl bei normaler Beendigung des EDT durch @HALT, @RETURN (im Dialogbetrieb auch durch @END), wie auch bei abnormaler Beendigung durch das System oder den Benutzer mit @HALT ABNORMAL Informationen über die Beendigungsursache und den EDT-Lauf zur Verfügung gestellt.

Diese Informationen stehen nicht zur Verfügung, wenn der EDT-Lauf mit den Anweisungen @EXEC oder @LOAD oder mit dem BS2000-Kommando /CANCEL-PROGRAM abgebrochen bzw. durch ein anderes BS2000-Kommando entladen wurde.