Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Change in the amount of space that is used for an output file that is defined as RECFM=U under OS/390, Version 2 Release 10

When you move to Language Environment for OS/390 & VM, Version 2 Release 10 or later, the amount of space that is required by an output file might differ from previous releases. In cases where the output data set has RECFM=U, but the file was defined to the COBOL program as fixed blocked or variable blocked, and the blocks are defined to contain multiple records, the output file might be much larger than expected.

The mismatch between the RECFM of the data set and the RECORDING MODE and BLOCK CONTAINS clause in the COBOL program causes COBOL to set the blocksize to the length that is defined in the COBOL program, but QSAM processes as it would for RECFM=U, which causes a single record to be written to each block. The result is that the data set can fill up with blocks of a size intended to contain multiple records, but each containing only a single record. This result will cause the file to be larger than expected, and can lead to B37 or D37 out-of-space abends when a program writes to or closes the file if there are no available extents. To fix this problem, make the RECFM of the output data set consistent with the RECORDING MODE and BLOCK CONTAINS clause in the COBOL program. QSAM will then write the records to the output file in a manner consistent with the COBOL file definition.


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)