Mit FSTAT VERSION=2/3/4 werden die entsprechenden Daten (Extent-Liste und Datenfelder für File-Size und Last Page Pointer) bereits als 4-Byte-Felder zurückgegeben. Diese Schnittstellen brauchen daher für den Aufruf in Konfigurationen mit Dateien > 32 GB nicht umgestellt werden.
Es muss jedoch das Semantikproblem beim Makro OPEN beachtet werden, siehe "OPEN - Datei eröffnen". Jeder Anwender dieser Schnittstelle sollte prüfen, ob dieses Problem auf seine Implementierung zutrifft.
Über den Makroaufruf FSTAT fordert der Anwender Informationen aus dem Katalogeintrag einer oder mehrerer Dateien an.
Zum einen können Informationen aus dem Katalogeintrag ausgegeben werden, für die über den Operanden OUTAREA ein Ausgabebereich reserviert wird. Andererseits existieren statistische Informationen aus dem Katalogeintrag, denen über den Operanden STOUTAR ein Ausgabebereich zugewiesen wird.
Der zugewiesene Ausgabebereich sollte vor jeder Übertragung mit X'00' überschrieben werden, da nicht benötigter Ausgabebereich nicht bis zum Ende gelöscht wird.
Die Information wird blockweise in den Ausgabebereich übertragen. Die Ausgabe der angeforderten Kataloginformationsblöcke erfolgt direkt hintereinander. Wenn die Anzahl der Dateien bekannt ist, ist eine genaue Berechnung der Größe des Ausgabebereiches möglich. Ist der noch freie Ausgabebereich kleiner als ein noch zu übertragender Informationsblock, wird der Ausgabebereich nicht weiter beschrieben; der noch freie Ausgabebereich wird mit X'00' aufgefüllt. Das Feld IROLN (Real Output Length) des Eingabebereichs gibt Auskunft, wie viele Byte in den Ausgabebereich übertragen worden sind. (Generierung des Eingabeparameterbereichs mit FSTAT MF=D, VERSION=2, XPAND=PLSHORT).
Je nach Anzahl der zu übertragenden Informationsblöcke und der festgesetzten Größe des Ausgabebereiches lassen sich folgende Fälle unterscheiden:
Die Ausgabe war vollständig möglich
Der Ausgabebereich wird mit der gewünschten Information nur so weit wie erforderlich beschrieben, alle unbenutzten Felder enthalten X'00'.
Der Aufrufer erhält den Returncode:
00 00 0000
:
Information vollständig in den Ausgabebereich übertragen
Keine Datei entsprach den Selektionskriterien
Der Ausgabebereich wird nicht beschrieben. Der Aufrufer enthält den Returncode:
00 00 0533
:
Angegebene Datei in Pubset '(&00)' nicht gefunden
oder
00 00 06CC
:
Keine Datei entspricht den angegebenen Auswahlkriterien
Die Ausgabe war nicht möglich
Der Ausgabereich kann überhaupt nicht beschrieben werden. Der Aufrufer erhält den Returncode:
00 01 05AB
:
Fehlerhafte Bereichsadresse oder falsche Längenangabe im FSTAT-Makro
Das Programm sollte überprüft werden.
Die Ausgabe war nicht vollständig möglich
Der Ausgabebereich ist zu klein bemessen, einige der geforderten Informationsblöcke können nicht übertragen werden. Neben dem Maincode 06CB („Die Längenangabe ist für den Eintrag zu klein“) wird im Subcode 2 hinterlegt, welcher der beiden Ausgabebereiche (OUTAREA/STOUTAR) nicht übertragen werden konnte.
01 00 06CB
:
Katalogeintragsinformationen konnten nicht vollständig übertragen werden (bei OUTPUT=CEINFO/FNAM-ONLY)
02 00 06CB
:
Statistische Informationen konnten nicht vollständig übertragen werden (bei OUTPUT=STAT-SHORT/STAT-LONG)
03 00 06CB
:
Katalogeintrags- und statistische Informationen konnten nicht vollständig übertragen werden (bei OUTPUT=STAT-INFO)
Der Benutzer kann einen größeren Ausgabebereich festlegen und den FSTAT-Aufruf wiederholen.
Inhalt und Struktur der ausgegebenen Information sind von der mit dem Operanden OUTPUT ausgewählten Information abhängig. Es bestehen folgende Möglichkeiten:
OUTPUT = CEINFO / FNAM-ONLY / RC-ONLY / STAT-INFO / STAT-LONG / STAT-SHORT
Für OUTPUT=RC-ONLY wird kein Ausgabebereich benötigt, bei OUTPUT=STAT-INFO werden die Informationen für CEINFO + STAT-LONG ausgegeben.
Auf die Informationsblöcke kann über einen Informationsheader zugegriffen werden. Werden Blöcke nicht angefordert, so wird der Adressverweis dieses Blocks mit Null versorgt.
Die Abstände in den jeweiligen Ausgabebereichen beziehen sich relativ auf den Anfang des Blocks, in welchem die Distanz definiert ist. Die Distanzen im BLOCK_INFORMATION_Header2 beziehen sich auf BLOCK_INFORMATION_Header1, da beide Blöcke als eine Einheit betrachtet werden.
Alle nachfolgend dargestellten Ausgabestrukturen sind beispielhaft und beziehen sich mit ihren Blocknamen (z.B. BLOCK_INFORMATION_HEADER) auf die Blocküberschriften der DSECT, die zur Auswertung des Ausgabebereichs erzeugt werden kann.
Mit dem Makroaufruf FSTAT MF=D, XPAND=OUTPUT, VERSION=3 wird diese DSECT erzeugt.
Ausgabestruktur: OUTPUT=CEINFO
Bei dieser Ausgabeform werden alle Informationen des Katalogeintrags ausgegeben. Über den Operanden CEINFO können die gewünschten Informationen ausgewählt werden.
CEINFO = | HISTORY | Daten über die Zugriffe auf die Datei |
SECURITY | Daten über die Zugriffsrechte und Datensicherheitsmerkmale | |
BACKUP | Daten über Dateisicherung | |
ORGANIZATION | Daten über Dateiorganisation | |
STATUS | Daten über besondere Eigenschaften der Dateien | |
ALLOCATION | Daten über die physikalischen Eigenschaften der Datei | |
VOLUME | Datenträgerliste | |
VOLUME-EXTENTS | Datenträgerliste und Extent-Liste | |
INDEX-INFO | Daten der Dateigenerationsgruppe | |
FTAM | Daten der FTAM (File-Transfer-Access-Method) |
Es folgt die Darstellung der Ausgabebereiche für zwei Dateien:
Der BLOCK_INFORMATION_HEADER1 enthält den
pfadname | Pfadname der ausgewählten Datei. Dieser unterteilt sich in:
|
Der BLOCK_INFORMATION_HEADER2 enthält die Adressverweise auf die Informationsblöcke und den Ausgabebereich der nächsten Datei.
abstand_next: Abstand zum nächsten BLOCK_INFORMATION_HEADER1 (2 Byte)
(Beginn des Ausgabebereichs der nächsten Datei)
abstand_history: Abstand zum HISTORY_BLOCK (2 Byte)
abstand_security: (2 Byte)
abstand_backup: (2 Byte)
...
An die beiden Header schließen sich die Informationsblöcke an, welche die eigentliche Nutzinformation enthalten. (HISTORY_BLOCK, SECURITY_BLOCK usw.). Beschreibung und Länge der einzelnen Felder können der DSECT entnommen werden.
Ausgabestruktur: OUTPUT=FNAM-ONLY
Bei dieser Ausgabeform werden nur die Pfadnamen der ausgewählten Dateien in den Bereich OUTAREA ausgegeben. Der BLOCK_INFORMATION_HEADER1 der Ausgabestrukturen OUTPUT=FNAM-ONLY und OUTPUT=CEINFO (siehe "Hinweise zur Programmierung (VERSION=2, 3 und 4)") entsprechen sich bis auf ein Endekriterium im letzten Byte.
Endekriterium
X'00' X'01' | Es folgen keine weiteren Pfadnamen Es folgen weitere Pfadnamen |
Ausgabestruktur: OUTPUT=STAT-LONG
Bei dieser Ausgabeform werden nur die statistische Daten in den Ausgabebereich STOUTAR ausgegeben.
Dem nichtprivilegierten Benutzer werden Informationen zu Dateien ausgegeben, die auf einem oder mehreren Pubsets abgelegt sein können.
Der Systemverwalter kann sich durch Angabe von Musterzeichen zusätzlich die Informationen zu mehreren Benutzerkennungen ausgeben lassen.
*) Auswahl mehrerer Benutzerkennungen nur durch den Systemverwalter möglich.
Der MAIN_HEADER liefert folgende Informationen:
Statistische Information
Gesamtanzahl der ausgewählten Dateien (4 Byte)
Anzahl der Dateien auf gemeinschaftlichen Datenträgern (4 Byte)
Anzahl der Dateien auf privaten Datenträgern (4 Byte)
Anzahl der Dateien auf Net-Storage (4 Byte)
Anzahl der Dateien auf Magnetband (4 Byte)
Anzahl der Dateien mit Verdrängungsstufe 1(HSMS) (4 Byte)
Anzahl der Dateien mit Verdrängungsstufe 2(HSMS) (4 Byte)
Anzahl der Katalogkennungen (2 Byte)
Anzahl der freien PAM-Seiten auf gemeinschaftlichen Datenträgern (4 Byte)
Anzahl der freien PAM-Seiten auf Privatplatte (4 Byte)
Anzahl der freien PAM-Seiten auf Net-Storage (4 Byte)
Anzahl der freien PAM-Seiten auf Verdrängungsstufe 1 (4 Byte)
Anzahl der freien PAM-Seiten auf Verdrängungsstufe 2 (4 Byte)
abstand_pvsid1 Abstand zum ersten PVSID_HEADER (2 Byte)
Der PVSID_HEADER liefert folgende Informationen:
Statistische Information
Katalogkennung (4 Byte)
Gesamtanzahl der ausgewählten Dateien (4 Byte)
Anzahl der Dateien auf gemeinschaftlichen Datenträgern (4 Byte)
Anzahl der Dateien auf privaten Datenträgern (4 Byte)
Anzahl der Dateien auf Net-Storage (4 Byte)
Anzahl der Dateien auf Magnetband (4 Byte)
Anzahl der Dateien mit Verdrängungsstufe 1(HSMS) (4 Byte)
Anzahl der Dateien mit Verdrängungsstufe 2(HSMS) (4 Byte)
Anzahl der Benutzerkennungen (2 Byte)
Anzahl der freien PAM-Seiten auf gemeinschaftlichen Datenträgern (4 Byte)
Anzahl der freien PAM-Seiten auf Privatplatte (4 Byte)
Anzahl der freien PAM-Seiten auf Net-Storage (4 Byte)
Anzahl der freien PAM-Seiten auf Verdrängungsstufe 1 (4 Byte)
Anzahl der freien PAM-Seiten auf Verdrängungsstufe 2 (4 Byte)
abstand_nextpvsid abstand_info | Abstand zum nächsten PVSID_HEADER (2 Byte) Abstand zum BLOCK_INFORMATION_HEADER1 der ersten ausgewählten Datei dieses Katalogs. (4 Byte) (Abstand relativ zur Adresse des Bereichs OUTAREA) |
Der USERID_HEADER liefert folgende Informationen:
Statistische Information
Benutzerkennung (8 Byte)
Gesamtanzahl der ausgewählten Dateien (4 Byte)
Anzahl der Dateien auf gemeinschaftlichen Datenträgern (4 Byte)
Anzahl der Dateien auf privaten Datenträgern (4 Byte)
Anzahl der Dateien auf Net-Storage (4 Byte)
Anzahl der Dateien auf Magnetband (4 Byte)
Anzahl der Dateien mit Verdrängungsstufe 1(HSMS) (4 Byte)
Anzahl der Dateien mit Verdrängungsstufe 2(HSMS) (4 Byte)
Anzahl der freien PAM-Seiten auf gemeinschaftlichen Datenträgern (4 Byte)
Anzahl der freien PAM-Seiten auf Privatplatte (4 Byte)
Anzahl der freien PAM-Seiten auf Net-Storage (4 Byte)
Anzahl der freien PAM-Seiten auf Verdrängungsstufe 1 (4 Byte)
Anzahl der freien PAM-Seiten auf Verdrängungsstufe 2 (4 Byte)
abstand_info | Abstand zum BLOCK_INFORMATION_HEADER1 der ersten ausgewählten Datei dieser Benutzerkennung, die sich unter der oben genannten Katalogkennung befindet (4 Byte) (Abstand relativ zur Adresse des Bereichs OUTAREA) |
Ausgabestruktur: OUTPUT=STAT-SHORT
Bei diesem Ausgabeformat wird nur der MAIN_HEADER der Ausgabestruktur OUTPUT= STAT-LONG ausgegeben (siehe "Hinweise zur Programmierung (VERSION=2, 3 und 4)").
Ausgabestruktur: OUTPUT=STAT-INFO
Diese Ausgabe verbindet die Strukturen für OUTPUT=CEINFO und OUTPUT=STAT-LONG. Hierfür muss der Benutzer zwei Ausgabebereiche, OUTAREA und STOUTAR definieren. Der statistische Ausgabebereich STOUTAR (im folgenden Bild links dargestellt) enthält Verweise auf den Ausgabebereich OUTAREA (rechts dargestellt).
Im Ausgabebereich STOUTAR wird nur eine Benutzerkennung (entspricht der Auswahlmöglichkeit des nichtprivilegierten Benutzers) dargestellt.