Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Hinweise zur Programmierung (VERSION=0 und 1)

Bei Zugriff des FSTAT auf Pubsets mit großen Volumes, auf denen jedoch keine großen Dateien erlaubt sind, verhalten sich die Schnittstellen unverändert. Solche Zugriffe sind also immer problemfrei.
Probleme können entstehen, wenn der Zugriff auf Pubsets erfolgt, auf denen auch große Dateien erlaubt sind.

Schnittstellenvarianten ohne Umstellungsaufwand

FSTAT ...,VERSION=0,<teilqualifizierter Dateiname> 
FSTAT ...,VERSION=0,<Dateigenerationsgruppe>,GEN=YES 
FSTAT ...,VERSION=1,FNAM

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.

Schnittstellenvarianten mit Prüfungs- / Umstellungsaufwand

FSTAT ...,VERSION=0/1,SHORT/LONG

Diese Varianten liefern als Ausgabe die Kataloginformation im Format BS2000 V10.0. Die Extent-Liste und die Datenfelder für File-Size und Last Page Pointer werden bei der Ausgabe nur mit 3 Byte dargestellt. Layoutänderungen an diesen Schnittstellen sind aus Kompatibilitätsgründen nicht möglich.

Aufrufe, die große Objekte betreffen, führen zu einem Überlauf der 3-Byte-Datenfelder.

An diesem Punkt werden zwei, von der Treffermenge des FSTAT-Aufrufs abhängige Fälle unterschieden:

  1. In der Treffermenge (Menge der selektierten Dateien) existiert keine Datei >= 32 GB.

    FSTAT toleriert in diesem Fall den Überlauf des 3-Byte-Datenfeldes der PHP in der Extent-Liste. Die nicht darstellbaren PHPs erhalten den Wert X'FFFFFF' zugewiesen. Es wird dabei davon ausgegangen, dass eine Auswertung der PHPs an den Schnittstellen nie oder äußerst selten erfolgt.

    Damit wird folgendes erreicht:

    • Die Einführung großer Volumes kann kompatibel erfolgen, Anwenderprogramme müssen nicht geändert werden.

    • FSTAT-Aufrufe mit vollqualifizierten Pfadnamen werden kompatibel (bis auf den Überlauf der PHP in der Extent-Liste) unterstützt.

    Es ist keine Umstellung nötig!

  2. In der Treffermenge existiert mindestens eine Datei >= 32 GB (FSTAT wird mit teilqualifiziertem Dateinamen oder Wildcards aufgerufen).

    Solche Aufrufe werden mit dem folgenden Returncode zurückgewiesen:

    X'cc' X'bb'X'aaaa'Erläuterung

    X'01'X'0576'Selektion enthält große Dateien

     

    Betroffen sind folgende Typen von FSTAT-Schnittstellen:

    Typ
    Bemerkung
    IFSTAT ...per Default wird VERSION=0 gesetzt
    IIFSTAT ...,VERSION=0
    IIIFSTAT ...,VERSION=1,SHORT
    IVFSTAT ...,VERSION=1,LONG
    VFSTAT ...,VERSION=1per Default wird der Operand SHORT gesetzt

    Diese Aufrufe müssen auf VERSION=2/3 umgestellt werden!

Übersicht über FSTAT-Aufrufe

FSTAT <vollqualifizierter Pfadname>,VERSION=0/1

  1. nur Zugriff auf kleine Dateien (< 32GB):
    keine Aktion notwendig (gilt hier für den Fall, dass in der Treffermenge nur kleine Dateien existieren und der Überlauf des 3-Byte-Datenfeldes der PHP in der Extent-Liste keine Probleme bereitet. Andernfalls muss auf VERSION=2/3 umgestellt werden!)

  2. Zugriff auch auf große Dateien (>= 32GB):
    Falls der Aufruf über einen der Typen I-V erfolgt, muss auf VERSION=2/3 umgestellt werden, außer bei Typ I und II mit Angabe einer Dateigenerationsgruppe und GEN=YES.

FSTAT <teilqualifizierter Pfadname oder Wildcards im Pfadnamen>,VERSION=0/1

  1. in der Treffermenge liegen nur kleine Dateien (< 32GB):

    keine Aktion notwendig (gilt hier für den Fall, dass in der Treffermenge nur kleine Dateien existieren und der Überlauf des 3-Byte-Datenfeldes der PHP in der Extent-Liste keine Probleme bereitet. Andernfalls muss auf VERSION=2/3 umgestellt werden!)
    Achtung 
    Prüfen Sie sorgfältig, ob diese Voraussetzung immer erfüllt ist. Dies ist vermutlich nur bei Pfadnamen möglich, die Wildcards in der Katalogkennung haben und deren restliche Bestandteile vollständig (vollqualifiziert) sind.

  2. in der Treffermenge können auch große Dateien liegen (>= 32GB):
    Falls der Aufruf über einen der Typen III-V erfolgt, muss auf VERSION=2/3
    umgestellt werden.

Zusammenfassung

Bei Verwendung der FSTAT-Schnittstelle mit VERSION < 2 und FORM=LONG oder FORM=SHORT ist eine Umstellung auf die neueste Schnittstellenversion unter folgenden Randbedingungen erforderlich:

    1. Im betroffenen Programm soll mit dem FSTAT-Aufruf auf große Dateien zugegriffen werden können.

    2. Der Pfadname im FSTAT-Aufruf ist teilqualifiziert oder enthält Wildcards und es kann nicht ausgeschlossen werden, dass in der Treffermenge große Dateien  enthalten sind. Besonders kritisch sind hier Aufrufe mit Wildcard in der Katalogkennung.

Dabei müssen neben der Schnittstelle ggf. auch Datenstrukturen im Programm umgestellt werden.

Steuerung über den Systemparameter FST32GB

FST32GB hat nur Einfluss auf folgende FSTAT-Schnittstellen

  • Version=0 (entspricht Version=710) bei Angabe eines vollqualifizierten Dateinamens (jedoch nicht bei Angabe einer Dateigenerationsgruppe mit GEN=YES)

  • Version=1 (entspricht Version=800), bei der nicht der Operand FNAM spezifiziert wurde

Der Systembetreuer stellt systemglobal ein, ob das Vorhandensein einer Datei >= 32 GB in der Menge der selektierten Dateien zur Abweisung des FSTAT-Aufrufs mit dem Returncode X'00000576' führt (FST32GB=0, Standardeinstellung) oder ein Überlauf der 3-Byte-Datenfelder generell toleriert wird (FST32GB=1). Im letzten Fall wird den nicht darstellbaren Datenfeldern der Wert X'FFFFFF' zugewiesen.

Hinweis

Der Systemparameter FST32GB wird nicht ausgewertet, wenn der FSTAT-Indikator (siehe unten) gesetzt ist.

Steuerung über FSTAT-Indikator

Ein Verhalten wie bei FST32GB=1, also das Ignorieren des Überlaufs, kann schnittstellenspezifisch bei den FSTAT-Typen I-V über einen Indikator aktiviert werden.

Hinweis

Der FSTAT-Indikator besitzt eine höhere Priorität als der Systemparameter FST32GB. Wird der FSTAT-Indikator gesetzt, wird FST32GB nicht ausgewertet.
Der Indikator muss direkt in der Parameterliste gesetzt werden; eine Unterstützung im FSTAT-Makro ist nicht vorhanden.

Beschreibung der Bits in den entsprechenden DSECTs:

         FSTAT MF=D,PARMOD=31,VERSION=710 
IDBFLAG2 DS    X                                FLAGS 2
IDBLOPYE EQU   X'04'                            2-2 S LARGE PUBSET ACCESS=YES 
         FSTAT MF=D,PARMOD=31,VERSION=800 
IFLAG0   DC    B'10001100'                      
ILOPY    EQU   X'04'                            2-2 S LARGE PUBSET ACCESS=YES