形式 U レコードは、未定義または未指定の特性を持ちます。 形式 U を使用すると、形式 F または形式 V 仕様に適合しないブロックを処理することができます。
形式 U ファイルを使用するときは、ストレージの各ブロックが 1 つの論理レコードになります。形式 U のファイルを読み取るとブロック全体が 1 レコードとして返されます。 形式 U のファイルに書き込むと 1 レコードが 1 ブロックとして書き込まれます。 コンパイラーが記録モードを U と判別するのは、RECORDING MODE U をコーディングした場合だけです。
異なるレコード形式で書き込まれたファイルの更新または拡張には、形式 U を使用しないことをお勧めします。 フォーマット U を使用して、別のフォーマットで作成されたファイルを更新する場合、データ・セット・ラベルの RECFM 値が変更されるか、またはデータ・セットに別のフォーマットで作成されたレコードが入ることがあります。
レコード長は、RECORD 節が使用される方法に基づいて、プログラムの中で判別されます。
integer-1 および integer-2 (RECORD IS VARYING FROM integer-1 TO integer-2) をコーディングする場合、ファイルに関連したレベル 01 レコード記述項目の長さにかかわらず、最大レコード長は integer-2 値です。 整数サイズは、レコードのデータ項目の USAGE にかかわらず、最小および最大レコード長 (バイト数) を示します。
integer-1 および integer-2 を省略する場合、最大レコード長は、ファイルに関連付けられた最大のレベル 01 レコード記述項目のサイズであると判別されます。
形式 U ファイルおよび READ INTO: 形式 U ファイルに READ INTO ステートメントを指定した場合、 コンパイラーは、そのファイルの読み取りにのみ使用するレコードのサイズを使用する MOVE ステートメントを生成します。 読み取られたレコードが、レベル 01 レコード記述に対応していない場合には、期待どおりの結果が得られないことがあります。 MOVE ステートメントに関するその他の規則はすべて適用されます。