Die Schnittstelle OPEN prüft, ob Dateierweiterungen über 32 GB hinaus und das Erstellen oder Zugriffe auf Dateien >= 32 GB zulässig sind.
Hierbei gibt es zwei Aspekte:
Abweisen des Zugriffs auf oder der Erzeugung von großen Dateien für Zugriffsmethoden, die eine Bearbeitung von großen Dateien nicht gestatten.
Kennzeichnen, dass ein Programm Dateien >= 32 GB erzeugen bzw. öffnen kann.
Unverträgliche Schnittstellenvarianten
Schnittstellen, an denen 3-Byte-Blocknummern verwendet werden, sind prinzipiell nicht in der Lage, mit Dateien >= 32 GB zu arbeiten. Es handelt sich hier um folgende Fälle:
Sämtliche Dateien im Key-Format (BLKCTRL=PAMKEY):
Die logischen Blocknummern im Pamkey sind nur 3 Byte breit.24-Bit-Schnittstelle von UPAM:
Das Feld für die logischen Blocknummern in den UPAM-Parameterlisten und im TU-FCB ist nur 3 Byte breit.24-Bit-Schnittstelle von SAM:
Hier sind die logischen Blocknummern als Teil der Wiedergewinnungsaddresse betroffen.24-Bit-Schnittstelle von ISAM
In allen oben aufgeführten Fällen gilt:
Der Zugriff auf Dateien >= 32 GB wird mit dem Returncode
X'0000D9D'
oderX'00000D00'
abgewiesen, abhängig von der Größe des für die Datei allokierten Speicherplatzes.Die Überschreitung einer Dateigröße von 32 GB durch Sekundärallokierung wird unterbunden.
Semantische Inkompatibilitäten
Es kann nicht ausgeschlossen werden, dass Anwendungen zwar Schnittstellen benutzen, die bezüglich der oben angeführten Datenfelder bereits 4-Byte Felder verwenden, ihrerseits jedoch explizit oder implizit von der bisherigen Beschränkung auf Werte kleiner X'00FFFFFF'
Gebrauch machen.
Im folgenden werden einige Problempunkte beispielhaft aufgeführt:
Die höchste 3-Byte-Blocknummer
X'FFFFFF'
hat eine spezielle Bedeutung.„Blocknummern“ >
X'00FFFFFF'
repräsentieren nicht Blöcke, sondern andere Objekte.Bei Berechnungen mit Blocknummern oder Blockzählern >
X'00FFFFFF'
kann es zum Überlauf kommen.Die Stellenzahl von Ein- oder Ausgabefeldern reicht nicht zur Darstellung beliebig großer Blocknummern oder Blockzähler.
Bei Umrechnungen von Hexadezimalzahlen in Dezimalzahlen ist die Feldlänge für die Dezimalzahl zu klein.
Es wird unterstellt, dass Datenstrukturen, deren Umfang von einer Dateigröße abhängt, stets im virtuellen Speicher Platz finden. Diese Annahme kann für Dateien < 32 GB gültig sein, nicht aber, wenn diese Größe überschritten wird.
Ausführliche und zusammenhängende Informationen zum Thema „Große Dateien“ finden Sie im Handbuch „Dateien und Volumes größer 32 GB“ [18].