Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@SYSTEM - Systemkommandos absetzen

&pagelevel(3)&pagelevel

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 ein BS2000-Kommando erwartet, das sofort ausgeführt wird. Anschließend
wird der EDT-Lauf fortgesetzt, sofern es sich nicht um ein Kommando
handelt, das zum Entladen des Programms führt (siehe unten). In diesem
Fall wird auch der EDT entladen, ohne noch einmal die Kontrolle zu bekommen.

Wird string nicht angegeben, wird der EDT-Lauf unterbrochen. Durch das
Kommando /RESUME-PROGRAM oder /INFORM-PROGRAM kann der EDT-
Lauf an der Stelle fortgesetzt werden, an der er durch @SYSTEM unterbrochen
wurde (siehe Abschnitt „Unterbrechen des EDT-Laufs“).
In nichtunterbrechbaren Systemprozeduren ist ein Unterbrechen des EDT-
Laufs im Dialog nicht möglich.

line

Zeilennummer, ab der eine eventuelle Ausgabe des Systemkommandos in
die aktuelle Arbeitsdatei eingefügt werden soll. Es können nur solche
Ausgaben eingefügt werden, die vom Betriebssystem nach SYSOUT
ausgegeben werden (darunter fällt z.B. nicht die formatierte Ausgabe des
/SHOW-FILE-Kommandos). Die Kommando-Ausgaben werden umgelenkt,
d.h. die Ausgabe erfolgt nur noch in die aktuelle Arbeitsdatei und nicht mehr
nach SYSOUT. Dabei wird die Ausgabe vom Zeichensatz EDF041 in den
Zeichensatz der aktuellen Arbeitsdatei konvertiert.

Enthält die Ausgabe Zeichen, die im Zeichensatz der aktuellen Arbeitsdatei
ungültig sind, werden diese durch ein Ersatzzeichen ersetzt, sofern ein
solches spezifiziert ist (siehe @PAR SUBSTITUTION-CHARACTER), andernfalls
wird die Fehlermeldung EDT5453 ausgegeben.

Wird line nicht angegeben, erfolgt die Ausgabe des Systemkommandos
gemäß dessen Spezifikation (normalerweise nach SYSOUT). Falls das
Kommando formatierte Ausgaben erzeugt hat (z.B. /SHOW-FILE) muss das
Arbeitsfenster evtl. mit [K3] neu aufgebaut werden (siehe Abschnitt
„Funktionstasten im F-Modus“).

inc

Schrittweite, aus der die auf line folgenden Zeilennummern gebildet
werden. Wird inc nicht angegeben, wird die implizit durch line gegebene
Schrittweite verwendet (siehe Abschnitt „Implizite Schrittweitenvergabe“).

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.