Mit der Anweisung @SYSTEM kann man entweder den EDT-Lauf unterbrechen (wie mit [K2]) oder ein Betriebssystemkommando zur Ausführung bringen, ohne dass der EDT-Lauf unterbrochen wird.
Operation | Operanden | F-Modus, L-Modus |
@SYSTEM | [string [TO line [(inc)] ] ] |
string | Zeichenfolge, die das Kommando enthält, das ausgeführt werden soll. Es Wird |
line | Zeilennummer, ab der eine eventuelle Ausgabe des Systemkommandos in Enthält die Ausgabe Zeichen, die im Zeichensatz der aktuellen Arbeitsdatei Wird |
inc | Schrittweite, aus der die auf |
Die Anweisung @SYSTEM 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.
Das Kommando kann mit und ohne Schrägstrich am Anfang geschrieben werden. Vor der Übergabe an das Betriebssystem wird der Kommandostring vom Zeichensatz der Eingabequelle in den Zeichensatz UTFE
umcodiert.
Es dürfen nur Kommandos angegeben werden, die mit dem CMD
-Makro abgesetzt werden dürfen. Ist ein Kommando an der CMD
-Schnittstelle oder in der aktuellen SDF-Syntaxdatei nicht erlaubt, wird es mit der Fehlermeldung EDT4300
(die auch den Meldungsschlüssel aus dem Kommando-Returncode enthält) abgewiesen. Die für Verwendung mit dem CMD-
Makro zugelassenen Kommandos sind im Handbuch Makroaufrufe an den Ablaufteil [12] beschrieben.
Einige Systemkommandos führen bei Verwendung über die CMD
-Schnittstelle zum Entladen des Programms (z.B. /EXIT-JOB
, /LOGOFF
, /HELP-SDF
, /CALL-PROCEDURE
, /START-
PROGRAM
, /LOAD-PROGRAM
oder ein mittels SDF-A definiertes und durch Kommandoprozeduren implementiertes Anwender-Kommando). Eine vollständige Übersicht dieser Kommandos findet man ebenfalls im Handbuch Makroaufrufe an den Ablaufteil [12]. Das Entladen des EDT durch ein derartiges Kommando sollte vermieden werden, da weder offene Dateien geschlossen werden, noch die Möglichkeit gegeben wird, ungesicherte Arbeitsdateien zurück zu schreiben.
Beispiel
Aus der Ausgabe des Kommandos /SHOW-SYSTEM-INFORMATION
soll Information über die OSD-Version extrahiert werden.
Die relevante Information wird in der Arbeitsdatei abgelegt.