形式 V QSAM レコードでは、データの前に制御フィールドがあります。 QSAM 論理レコード長は、プログラム内で定義されたレコード長に 4 バイト (制御フィールド用の) を加算することによって決まりますが、レコードおよびレコード長の記述の中にこれらの 4 バイトを含めてはなりません。
LL は、ブロックの長さ ('CC' フィールドを含む) を指定する 2 バイトを表します。
BB は、システム使用に予約されている 2 バイトを表します。
ll は、論理レコード長 ('cc' フィールドを含む) を指定する 2 バイトを表します。
bb は、システム使用に予約されている 2 バイトを表します。
ブロック長は次のように決定されます。
オペレーティング・システムは、ファイルの作成時に制御バイトを設定します。この制御バイト・フィールドは、プログラムの DATA DIVISION における論理レコードの記述には現れません。 COBOL は、制御バイトを収容するのに十分な大きさの入出力バッファーを割り振ります。 バッファー内のこれらの制御フィールドをプログラムの中で使用することはできません。 可変長レコードがユニット・レコード装置に書き込まれるときには、制御バイトは印刷も穿孔もされません。 しかし、それらは、その他の外部ストレージ装置や、ストレージのバッファー域には入れられます。 V モード・レコードを入力バッファーから WORKING-STORAGE 域に移動すると、それらは制御バイトなしで 移動されます。
HFS 内のファイルはブロック化されることはありません。
関連概念
論理レコード
関連タスク
可変長フォーマットの要求