RECL を指定する

記録長 (OPEN 文の RECL 指定子) とそのオーバーヘッドの和は,ブロックサイズの倍数または除数で,装置によって異なります。たとえば,BLOCKSIZE が 8192 だった場合,RECL としては 24576 (3 倍) や 1024 (8 で割った値) が考えられます。

RECL 値は,ブロックの容量にできるだけ近く設定されているべきです (ただし容量を超えてはなりません)。このような値であれば,各操作で可能な限り多くのデータが移動され,ブロック内の無駄な空間が最小限に抑えられるので,移動の効率が高くなります。ブロックの容量を超える値を使用すると,超えた分のデータだけで 1 ブロックを消費することになるので,移動の効率が大幅に低下します。これは,バッファのために余分なメモリーを割り付け,部分的なブロックを書き出すという非効率的な操作が行われることが原因です。

書式付きファイルの RECL 値の単位はつねに 1 バイト単位です。書式なしファイルの場合,RECL の単位は,/assume:byterecl オプションを指定して 1 バイト単位を指定しない限り,4 バイト単位です。

書式なしデータ・ファイルを Compaq 以外のシステムから移植する方法については,「書式なし数値データの変換」を参照してください。