The OPEN interface checks whether files are permitted to extend beyond 32 GB and whether the creation of files >= 32 GB and access to such files are permitted.
There are two aspects associated with this:
Rejection of access to or the creation of large files for access methods that do not allow processing of large files.
Indication that a program can create or open files >= 32 GB.
Incompatible interface variants
Interfaces where 3-byte block numbers are used are never able to work with files >= 32 GB. This affects the following cases:
All files in key format (BLKCTRL=PAMKEY): The logical block numbers in the PAMKEY are only 3 bytes wide.
24-bit interface of UPAM:
The field for logical block numbers in the UPAM parameter lists and in the TU FCB is only 3 bytes wide.24-bit interface of SAM:
The logical block numbers are affected as part of the retrieval address.24-bit interface of ISAM
In all the cases described above, the following applies:
Access to files >= 32 GB is rejected with the return code
X'0000D9D'
orX'00000D00'
, depending on the size of the storage space allocated to the file.Exceeding a file size of 32 GB as a result of secondary allocation is prohibited.
Semantic incompatibilities
It is possible that applications use interfaces that employ 4-byte fields for the data fields described above, but that these 4-byte fields are implicitly or explicitly subject to the former limitation to values less than X'00FFFFFF'
.
The following lists a number of examples of potential problems:
The highest 3-byte block number
X'FFFFFF'
has a special meaning.“Block numbers” greater than
X'00FFFFFF'
represent objects other than blocks.Overflow can occur in the case of calculations with block numbers or counters greater than
X'00FFFFFF'
.The number of digits in input or output fields is not sufficient for displaying such large block numbers or counters.
When converting hexadecimal numbers to decimal numbers, the field length is too small for the decimal number.
It is assumed that data structures whose size depends on a file size always find space in virtual memory. This assumption can apply to files less than 32 GB, but not if this size is exceeded.
For detailed, related information on the subject of “large files” refer to the “Files and Volumes larger than 32 GB” manual [18 (Related publications)].