OS/390 & VM 言語環境プログラム バージョン 2 リリース 10 以降に移行する場合、出力ファイルが必要とするスペースの量は 以前のリリースの種類によって異なります。出力データに RECFM=U があって、 しかし、ファイルが固定ブロックまたは可変ブロックとして COBOL プログラムに 定義されていて、ブロックに複数のレコードが含まれるよう定義されている場合は、 出力ファイルは予想していたものよりはるかに長くなることがあります。
データ・セットの RECFM と COBOL プログラムの RECORDING MODE および BLOCK CONTAINS 文節間の不一致によって、COBOL プログラムで定義されている 長さがブロック・サイズに設定されますが、QSAM プロセスは RECFM=U のためのものなので、 各ブロックには単一のレコードが書き込まれます。 結果として、 データ・セットは複数のレコードを含むサイズのブロックで埋められますが、 それぞれのブロックには単一のレコードのみが含まれています。 これにより、 ファイルは予想以上に大きくなり、有効な範囲がないファイルにプログラムが 書き込んだり、またはそれを閉じると、B37 または D37 のスペース不足による 強制終了につながります。 この問題を修正するには、出力データ・セットの RECFM を COBOL プログラムの RECORDING MODE および BLOCK CONTAINS 文節と整合させてください。 QSAM によって、レコードは COBOL のファイル定義と整合している方法で 出力ファイルへ書き込まれます。