Mit den Kommandos ASSIGN-STREAM bzw. EXECUTE-CMD kann der Anwender angeben, dass er eine strukturierte Ausgabe in eine S-Variable wünscht.
Weitere Informationen zu diesen Kommandos siehe Handbuch „SDF-P“ [34].
ASSIGN-STREAM
Mit ASSIGN-STREAM kann der Anwender für alle nachfolgenden Kommandos eine strukturierte Ausgabe in eine S-Variable vereinbaren. Solange diese Zuordnung besteht, wird für jedes abgesetzte SHOW-Kommando, das eine strukturierte Ausgabe in S-Variablen unterstützt, die S-Variable entsprechend erweitert.
Beispiel
Die S-Variable OUT wird, wie oben beschrieben, deklariert.
Mit dem Kommando SHOW-STREAM-ASSIGNMENT wird die aktuelle Zuweisung der S-Variablenströme SYSINF, SYSMSG und SYSVAR ausgegeben. SYSINF und SYSMSG sind standardmäßig SYSVAR zugewiesen, SYSVAR besitzt die Zuweisung *DUMMY, d.h. weder Kommandoausgaben noch garantierte Meldungen sind einem S-Variablenstrom zugewiesen.
/SHOW-STREAM-ASSIGNMENT
Ausgabe nach SYSOUT
STREAM-NAME = SYSINF ASSIGN-LEVEL = 0 DESTINATION = SYSVAR STREAM-NAME = SYSMSG ASSIGN-LEVEL = 0 DESTINATION = SYSVAR STREAM-NAME = SYSVAR ASSIGN-LEVEL = 0 DESTINATION = *DUMMY
Mit dem Kommando ASSIGN-STREAM wird festgelegt, dass strukturierte Ausgaben von Kommandos mit dem S-Variablenstrom SYSINF übertragen und in die S-Variable OUT geschrieben werden sollen.
/ASSIGN-STREAM STREAM-NAME=SYSINF,TO=*VAR(VAR-NAME=OUT)
Mit dem Kommando SHOW-STREAM-ASSIGNMENT kann nun die aktuelle Zuweisung von SYSINF ausgegeben werden. Ferner unterstützt das Kommando eine strukturierte Ausgabe in S-Variablen, d. h. die Kommandoausgabe wird bereits in die S-Variable OUT geschrieben.
/SHOW-STREAM-ASSIGNMENT
Ausgabe nach SYSOUT
STREAM-NAME = SYSINF
ASSIGN-LEVEL = 0
DESTINATION = *VARIABLE
VARIABLE-NAME = OUT
VAR-MODE = *EXTEND
RETURN-VARIABLE-NAME = *NONE
CONTROL-VAR-NAME = *NONE
RET-CONTROL-VAR-NAME = *NONE
STREAM-NAME = SYSMSG
ASSIGN-LEVEL = 0
DESTINATION = SYSVAR
STREAM-NAME = SYSVAR
ASSIGN-LEVEL = 0
DESTINATION = *DUMMY
Das Kommando SHOW-FILE-ATTRIBUTES unterstützt ebenfalls die strukturierte Ausgabe in S-Variablen. Die Informationen bzgl. der Speicherplatzbelegung werden getrennt nach gemeinschaftlichen und privaten Datenträgern ausgegeben. Die Daten werden als weiteres Listenelement in die S-Variable OUT geschrieben.
/SHOW-FILE-ATTRIBUTES *ALL,INF=*SPACE-SUM
Ausgabe nach SYSOUT
%:2OSG: PUBLIC: 396 FILES RES= 9006 FRE= 1805 REL= 867 PAGES %:2OSG: PUB/S2: 50 FILES RES= 10872 FRE= 1936 REL= 1867 PAGES
Der Inhalt der Variablen OUT wird mit dem Kommando SHOW-VARIABLE ausgegeben.
/show-var inf=*par(list-index-number=*yes) OUT#1.STREAM-NAME = SYSINF <------strukturierte Ausgabe von SHOW-STREAM-ASSIGNMENT OUT#1.ASS-LEV = 0 OUT#1.SERVER-NAME = OUT#1.SERVER-INFO = OUT#1.VAR-NAME = OUT OUT#1.VAR-MODE = *EXT OUT#1.RET-VAR-NAME = *NONE OUT#1.RET-VAR-MODE = OUT#1.CONTR-VAR-NAME = *NONE OUT#1.CONTR-VAR-MODE = OUT#1.RET-CONTR-VAR-NAME = *NONE OUT#1.RET-CONTR-VAR-MODE = OUT#1.DEST = *VAR OUT#2.STREAM-NAME = SYSMSG OUT#2.ASS-LEV = 0 OUT#2.SERVER-NAME = OUT#2.SERVER-INFO = OUT#2.VAR-NAME = OUT#2.VAR-MODE = OUT#2.RET-VAR-NAME = OUT#2.RET-VAR-MODE = OUT#2.CONTR-VAR-NAME = OUT#2.CONTR-VAR-MODE = OUT#2.RET-CONTR-VAR-NAME = OUT#2.RET-CONTR-VAR-MODE = OUT#2.DEST = SYSVAR OUT#3.STREAM-NAME = SYSVAR OUT#3.ASS-LEV = 0 OUT#3.SERVER-NAME = OUT#3.SERVER-INFO = OUT#3.VAR-NAME = OUT#3.VAR-MODE = OUT#3.RET-VAR-NAME = OUT#3.RET-VAR-MODE = OUT#3.CONTR-VAR-NAME = OUT#3.CONTR-VAR-MODE = OUT#3.RET-CONTR-VAR-NAME = OUT#3.RET-CONTR-VAR-MODE = OUT#3.DEST = *DUMMY OUT#4.PUBSET-ID = 2OSG <------strukturierte Ausgabe von SHOW-FILE-ATTRIBUTES OUT#4.PUBSET.NUM-OF-F = 396 OUT#4.PUBSET.REL = 867 OUT#4.PUBSET.RESERVED = 9006 OUT#4.PUBSET.FREE = 1805 OUT#4.MIGRATE-S1.NUM-OF-F = 0 OUT#4.MIGRATE-S1.REL = 0 OUT#4.MIGRATE-S1.RESERVED = 0 OUT#4.MIGRATE-S1.FREE = 0 OUT#4.MIGRATE-S2.NUM-OF-F = 50 OUT#4.MIGRATE-S2.REL = 1867 OUT#4.MIGRATE-S2.RESERVED = 10872 OUT#4.MIGRATE-S2.FREE = 1936 OUT#4.PRIV.NUM-OF-F = 0 OUT#4.PRIV.REL = 0 OUT#4.PRIV.RESERVED = 0 OUT#4.PRIV.FREE = 0 OUT#4.TAPE.NUM-OF-F = 0 *END-OF-CMD
Mit dem Kommando ASSIGN-STREAM SYSINF,TO=*STD wird der S-Variablenstrom wieder standardmäßig SYSVAR zugewiesen. Die strukturierte Ausgabe in die S-Variable OUT wird damit beendet.
EXECUTE-CMD
Für strukturierte Ausgaben einzelner Kommandos ruft der Anwender mit dem Kommando EXECUTE-CMD ein SHOW-Kommando auf und gibt an, dass die strukturierte Ausgabe in die bereits deklarierte S-Variable OUT gelenkt werden soll (siehe Abschnitt „Deklarieren der S-Variablen").
/EXECUTE-CMD CMD=(SHOW-USER-ATTR INF=*ATTR), STRUCTURE-OUTPUT=OUT,
TEXT-OUTPUT=*NONE
Mit TEXT-OUTPUT=*NONE wird die Ausgabe nach SYSOUT unterdrückt.