Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@EXEC - Programm starten

&pagelevel(3)&pagelevel

Die Anweisung @EXEC bewirkt, dass die EDT-Sitzung beendet und das angegebene Programm geladen und gestartet wird.

Operation

Operanden

F-Modus, L-Modus

@EXEC

string

string

Zeichenfolge, die den Namen des Programms angibt, das geladen und gestartet werden soll. Es wird der Name einer BS2000-Datei erwartet, die das zu ladende Programm enthält. Die Angabe eines Bibliothekselements ist nicht möglich.

Die Anweisung @EXEC gehört zu den sicherheitsrelevanten Anweisungen des EDT (siehe hierzu auch Abschnitt „Zugriffsschutz“). In nichtunterbrechbaren Systemprozeduren im Dialog und bei Eingabe von einer Datei (Lesen mit RDATA von SYSDTA ungleich SYSCMD, Abarbeiten einer Start-Prozedur) wird die Anweisung abgewiesen.

Die Anweisung @EXEC führt auf jeden Fall zur Beendigung des EDT, unabhängig davon, ob die angegebene Programmdatei existiert oder ein gültiges Programm enthält.

Bezüglich der Behandlung von ungesicherten Dateien und der damit verbundenen Sicherheitsabfragen wirkt die Anweisung @EXEC wie @HALT (siehe Abschnitt „Beenden des EDT-Laufs“). Da der EDT in jedem Fall beendet wird, erfolgen eventuelle Sicherungsabfragen anders als bei @HALT auch dann, wenn die Anweisung im Bildschirmdialog (mit @DIALOG gestartet) eingegeben wurde.

Für den Fall, dass der EDT als Unterprogramm geladen und der Bildschirmdialog des EDT mit @DIALOG eingeschaltet wurde, führt die Anweisung @EXEC nicht zur Fortsetzung des Unterprogramms. Stattdessen wird auch das Benutzerprogramm entladen.

Daher kann bei Aufruf des EDT als Unterprogramm die Anweisung @EXEC für den Benutzer verboten werden. Sie wird dann mit der Meldung EDT4976 abgewiesen.

Hinweis

Wurde @DIALOG in einer Systemprozedur eingegeben, werden nach @EXEC die restlichen Kommandos der Prozedur evtl. als Eingaben für das neu gestartete Programm interpretiert, was zu unerwünschten Effekten führen kann.

Beispiel

Es wird vorausgesetzt, dass die in der Arbeitsdatei befindlichen Sätze noch nicht gesichert wurden.

Der EDT soll beendet und der LMS geladen und gestartet werden.

Da die Arbeitsdatei noch nicht gesichert wurde, fragt der EDT wie bei @HALT nach, ob er
tatsächlich beendet werden soll. Erst nach Antwort Y wird der EDT beendet und der LMS
geladen und gestartet.