Anwendungsgebiet: SYSFILE-Informationen
Die Funktion SYSCMD( ) liefert den Namen der Datei (alternativ ist auch ein Bibliothekselement oder eine Listenvariable möglich), die der Systemdatei SYSCMD zugewiesen ist. Es kann zwischen der SYSFILE-Umgebung der Prozedur und der SYSFILE-Umgebung der Task gewählt werden.
Format
SYSCMD( ) |
SYSTEM-FILE-CONTEXT = *OWN / *CALLER |
Ergebnistyp
STRING
Eingabeparameter
SYSTEM-FILE-CONTEXT =
Bezeichnet die SYSFILE-Umgebung, siehe auch "SYSFILE-Umgebung festlegen ".
SYSTEM-FILE-CONTEXT = *OWNSYSFILE-Umgebung ist die der Prozedur.
SYSTEM-FILE-CONTEXT = *CALLERSYSFILE-Umgebung ist die der Task des Aufrufers.
Ergebnis
Das Format der Ausgabe entspricht der Ausgabe des Kommandos /SHOW-SYSTEM-FILE-ASSIGNMENT (siehe Handbuch „Kommandos“ [3]). Wird SYSCMD aus einer Prozedur gelesen (d.h. SYSCMD ist einer Datei, einem Bibliothekselement oder einer Listenvariablen zugewiesen), wird zusätzlich die Art des Prozeduraufrufs angezeigt
(bei /INCLUDE-PROCEDURE mit INCLUDE, bei /CALL-PROCEDURE mit PROCEDURE).
datei (aufrufart)
Name der Datei, der SYSCMD zugewiesen ist.
*LIB-ELEM(bibliothek,element(version),typ) (aufrufart)
Bibliothekselement (bezeichnet durch den Namen der Bibliothek, des Elements mit Version und den Elementtyp), dem SYSCMD zugewiesen ist.
*VAR(variable) (aufrufart)
Listenvariable, der SYSCMD zugewiesen ist.
*PRIMARY
Für SYSCMD gilt die Primärzuweisung (Datenstation im Dialog bzw. SPOOLIN-Datei im Stapelbetrieb).
*PRIMARY (DIALOG-BLOCK)
Für SYSCMD gilt die Primärzuweisung (wie *PRIMARY, aber die Abfrage erfolgte in einem Dialogblock).
Fehlermeldung
SDP0435 GEWUENSCHTE INFORMATION NICHT VERFUEGBAR
Beispiele
Im Dialog:
/C = SYSCMD() /SHOW-VARIABLE C C = *PRIMARY
Im Dialogblock:
/begin-block %BEGIN-BLOCK/a=syscmd() %BEGIN-BLOCK/show-variable a %BEGIN-BLOCK/end-block A = *PRIMARY (DIALOG-BLOCK)
In Prozeduren:
Die Datei C.PROC und die Listenvariable PROC-1 enthalten jeweils folgende Kommandos:
/A = SYSCMD() /SHOW-VARIABLE A
Aufrufe:
/CALL-PROCEDURE C.PROC /INCLUDE-PROCEDURE *VAR(PROC-1)
Ausgaben:
A = :2OSG:$USER1.C.PROC (PROCEDURE) A = *VAR(PROC-1) (INCLUDE)