Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Notes regarding programs created in high-level programming languages

In the context of high-level programming languages / programming systems, there are two different aspects of file processing:

  • File processing in the framework of program creation using compilers

  • File processing when running objects created under a compiler/programming system

File processing by compilers

Support for source programs >= 32 GB is neither necessary nor desirable - it is unlikely that input objects of this size will be manageable. The same applies to output objects created by compilers such as object modules, listings and debugging output.
As long as the corresponding objects are managed in libraries, the size of the library, but not the size of the library elements, may exceed 32 GB.

File processing by runtime systems

Please refer to the documentation of the corresponding run time system for details of the compatibility of individual runtime systems with large files.

COBOL

In COBOL programs that were compiled with COBOL85, any attempt to work with large files will be rejected with the file status '9x'.

Avoiding this limitation by explicitly specifying the
ADD-FILE-LINK ...,EXCEED-32GB=*ALLOWED command is not permitted and will cause undefined behavior, in particular the omission of necessary checks.

For programs that were compiled with COBOL2000, it is possible to access files >= 32 GB via the SEQUENTIAL, LINE SEQUENTIAL and INDEXED file organization methods in COBOL.

The COBOL file organization method RELATIVE is only supported with large files if mapped to BS2000-ISAM.

There are no restrictions to files smaller than 32 GB caused by the COBOL product for BS2000 files and POSIX files using the SEQUENTIAL and RELATIVE organization methods. Files using the INDEXED organization method are still restricted in terms of size in the POSIX file system.

C

The full functionality of the open64 interface family is available for correct processing of BS2000 files >= 32 GB. Please refer to the “C Library functions for POSIX applications” manual [1] for a description of these interfaces.

C++

The IOSTREAM interface supplied with CRTE does not support large files. Using IOSTREAM to open large files will fail. By default, no further information other than the return code zero will be issued (in particular, no error message).
The “errno” variable returns the value 3 (DMS ERROR).

If C++ programs need interfaces to large files, they must work with the C API (open64) (see “C” section, above).