Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Aufbau der S-Variablen

&pagelevel(6)&pagelevel

Für ein im SHOW-Kommando angegebenes Objekt (z. B. eine Datei, SHOW-FILE-ATTRIBUTES FILE-NAME=name) wird eine Struktur definiert. Werden mehrere Objekte angegeben (z.B. als Musterzeichenfolge, SHOW-FILE-ATTRIBUTES FILE-NAME=nam*) oder werden in eine S-Variable mehrere Kommandoausgaben geschrieben (siehe ASSIGN-STREAM , "Zuweisen von S-Variablenströmen"), wird eine Liste von Strukturen angelegt. Für jede Einzelinformation zu diesem Objekt (z.B. Katalogkennung, Dateigröße) wird eine S-Variable als Element dieser Struktur definiert und die Einzelinformation als Inhalt zugewiesen.

Beispiel 1
/declare-var var-name=out(type=*structure),multiple-elements=*list 
/execute-cmd cmd=(show-file-attr file-name=job*,inf=*name-and-space), 
             text-output=*none,structure-output=out 
/show-var out,inf=*par(list-index-number=*yes)
OUT#1.F-NAME = :2OSG:$USER1.JOBA
OUT#1.CAT-ID = 2OSG
OUT#1.USER-ID = USER1
OUT#1.SHORT-F-NAME = JOBA
OUT#1.F-SIZE = 3
OUT#2.F-NAME = :2OSG:$USER1.JOBB
OUT#2.CAT-ID = 2OSG
OUT#2.USER-ID = USER1 
OUT#2.SHORT-F-NAME = JOBB
OUT#2.F-SIZE = 3
OUT#3.F-NAME = :2OSG:$USER1.JOBC
OUT#3.CAT-ID = 2OSG
OUT#3.USER-ID = USER1
OUT#3.SHORT-F-NAME = JOBC
OUT#3.F-SIZE = 3 
Erläuterung von Beispiel 1

Die vom Anwender definierte S-Variable OUT enthält die Gesamtausgabe. Die Zeichenfolge (#i) zeigt an, dass OUT eine Listenvariable ist, die mehrere Elemente enthalten kann. Im Beispiel sind es drei Elemente (i = 1 bis 3).
Zu jedem mit file-name=job* ausgewählten Objekt wird eine Struktur erzeugt, die sich aus verschiedenen Einzelinformationen aufbaut. Jede Einzelinformation wird in einer S-Variablen abgespeichert, so z. B. enthält die S-Variable OUT(#i).CAT-ID die Einzelinformation „Katalogkennung“.

Beispiel 2
/execute-cmd cmd=(show-file-attr file-name=job*,inf=*par(alloc=*yes)), 
             text-output=*none,structure-output=out 
/show-var out,inf=*par(list-index-number=*yes)
OUT#1.F-NAME = :2OSG:$USER1.JOBA
OUT#1.CAT-ID = 2OSG
OUT#1.USER-ID = USER1 
OUT#1.SHORT-F-NAME = JOBA
OUT#1.F-SIZE = 3
OUT#1.SUP = *PUB
OUT#1.HIGHEST-USED-PAGES = 1
OUT#1.LAST-BYTE = 0 
OUT#1.LAST-BYTE-VALID = FALSE 
OUT#1.SEC-ALLOC = 24
OUT#1.BLOCK-COUNT = 0
OUT#1.EXT#1.VOL = GVS2.2
OUT#1.EXT#1.DEV = D3435
OUT#1.EXT#1.NUM-OF-EXT = 1
OUT#1.NUM-OF-EXT = 1
OUT#2.F-NAME = :2OSG:$USER1.JOBB
OUT#2.CAT-ID = 2OSG
OUT#2.USER-ID = USER1 
OUT#2.SHORT-F-NAME = JOBB
OUT#2.F-SIZE = 3
OUT#2.SUP = *PUB
OUT#2.HIGHEST-USED-PAGES = 1
OUT#2.LAST-BYTE = 0 
OUT#2.LAST-BYTE-VALID = FALSE 
OUT#2.SEC-ALLOC = 24
OUT#2.BLOCK-COUNT = 0
OUT#2.EXT#1.VOL = GVS2.3
OUT#2.EXT#1.DEV = D3435
OUT#2.EXT#1.NUM-OF-EXT = 1
OUT#2.NUM-OF-EXT = 1
OUT#3.F-NAME = :2OSG:$USER1.JOBC
OUT#3.CAT-ID = 2OSG
OUT#3.USER-ID = USER1 
OUT#3.SHORT-F-NAME = JOBC
OUT#3.F-SIZE = 3
OUT#3.SUP = *PUB
OUT#3.HIGHEST-USED-PAGES = 1
OUT#3.LAST-BYTE = 0 
OUT#3.LAST-BYTE-VALID = FALSE 
OUT#3.SEC-ALLOC = 24
OUT#3.BLOCK-COUNT = 0
OUT#3.EXT#1.VOL = GVS2.0
OUT#3.EXT#1.DEV = D3435
OUT#3.EXT#1.NUM-OF-EXT = 1
OUT#3.NUM-OF-EXT = 1 

Erläuterung von Beispiel 2

Die vom Anwender in Beispiel 1 definierte Listenvariable OUT enthält in Beispiel 2 wiederum drei Elemente. Mit inf=*par(alloc=*yes) werden für die ausgewählten Dateien alle Dateimerkmale ausgegeben, die die Speicherplatzbelegung betreffen. Die Dateimerkmale F-NAME, CAT-ID, USER-ID,....,EXT bilden die Elemente der Struktur. Das Element EXT ist wiederum eine Liste, die aus den Elementen VOL, DEV und NUM-OF-EXT besteht.
Lassen sich die Informationen zu einem Objekt hierarchisch weiter untergliedern (siehe Element EXT), wird für jede Hierarchie eine zusammengesetzte S-Variable als Element der übergeordneten Struktur definiert. Eine hierarchisch untergeordnete S-Variable kann dabei eine einfache S-Variable (siehe VOL, DEV, NUM-OF-EXT), eine Struktur oder eine Liste einfacher S-Variablen und/oder Strukturen sein.

Namensbestandteile der S-Variablen

Die Namen der Listenelemente (z. B. F-NAME, F-SIZE) sind für das jeweilige SHOW-Kommando vorgegeben. Sie schließen sich an den vom Anwender deklarierten S-Variablennamen an. Die Namen entsprechen, soweit möglich, den korrespondierenden Operandennamen. Ist die Information auf dieser Ebene weiter hierarchisch untergliedert, schließen sich weitere Namen, durch einen Punkt getrennt, an.

Inhalt der S-Variablen

Die Inhalte der S-Variablen entsprechen, soweit möglich, den korrespondierenden Operandenwerten. Der Datentyp und damit der Zeichenvorrat, den BS2000 zur Ausgabe der Werte verwendet, ist für jede Variable im Handbuch angegeben: String, Integer oder Boolean.

Datentypen der S-Variablen

Der Typ der S-Variablen ist immer *ANY.