Assembler programs are directly based on the TU interfaces of BS2000.
Modifications may be necessary for programs that should be executable for large files in the future (LARGE-FILES-compatible programs)
In general, modification measures will be necessary for programs that should process large files.
In the first case, the way in which the FSTAT program interface is used, and whether it is used, must be checked. As described in detail in section “FSTAT”, interface variants earlier than VERSION=2 only support 3-byte block numbers. When large files are accessed, these interfaces issue the return code x'0576'.
This behavior is only undesirable and incorrect if the return code appears “randomly”, because the result list of the FSTAT call also contains large files, although these do not need to be processed. This can occur for FSTAT calls with partially-qualified filenames or filenames with wildcards. Calls with wildcards in the catalog ID are particularly critical. In this instance, the call is not restricted to the file catalog of a pubset, but among other things includes several or all of the pubsets imported in the system.
When critical FSTAT calls are converted to an interface variant equal to or greater than VERSION=2, it is not only modification of access to output area fields that is necessary. Further use of the counters or block numbers taken from here must also be checked and adapted where appropriate.
In the second case, it is necessary to perform modifications in the context of file processing in addition to the modification of FSTAT calls that may be required. For this purpose, the indication LARGE_FILES=*ALLOWED for OPEN in the FCB (or in the parameter list for FASTPAM and DIV) must then be set. This determines that large files can be processed. A check and possible modification of the program logic may also be necessary in order to ensure that large files can be processed without errors. If you are working with blockoriented access methods (UPAM, FASTPAM) or block numbers (retrieval address in SAM), it is also necessary to ensure that the block numbers can universally be handled as 4-byte fields.
In addition to this direct dependence, there may also be an implicit assumption within the program logic that a block number or file cannot be larger than 224-1. No exhaustive set of rules can be given for identifying “semantic incompatibilities” of this kind. A list of examples in the form of a checklist is given in the Appendix, section “Semantic incompatibilities”.
For test purposes, or if no modifications are necessary, it is possible to set whether large files are permitted via the ADD-FILE-LINK command interface (see ADD-FILE-LINK /SHOW-FILE-LINK).