VSAM レコードを可変長として定義するには、次のコーディング・オプションのいずれかを使用します。
| RECORD 節 | 節形式 | 最大レコード長 | コメント |
|---|---|---|---|
| RECORD IS VARYING FROM integer-6 TO integer-7 をコーディングする。 | 3 | integer-7 バイト | ファイルに関連するレベル 01 レコード記述項目の長さは重要ではありません。 |
| RECORD IS VARYING をコーディングする。 | 3 | ファイルに関連する最大のレベル 01 レコード記述項目のサイズ。 | コンパイラーが最大レコード長を決定します。 |
| RECORD CONTAINS integer-4 TO integer-5 をコーディングする。 | 2 | integer-5 バイト | 最小レコード長は、integer-4 バイトです。 |
| RECORD 節を省略するが、サイズが異なるか OCCURS DEPENDING ON 節を含む、ファイルに関連付けられた複数のレベル 01 レコードをコーディングする。 | ファイルに関連する最大のレベル 01 レコード記述項目のサイズ。 | コンパイラーが最大レコード長を決定します。 |
形式 V ファイルに READ INTO ステートメントを指定すると、そのファイルに関して読み取られたレコード・サイズが、コンパイラーによって生成される MOVE ステートメントで使用されます。したがって、読み取られたレコードがレベル 01 レコード記述に対応していない場合には、予期したとおりの結果が得られないことがあります。MOVE ステートメントに関するその他の規則はすべて適用されます。例えば、READ ステートメントによって読み込まれた形式 V レコードに対して MOVE ステートメントを指定すると、レコードのサイズはそのレベル 01 レコード記述に相当します。
関連参照
RECORD 節 (Enterprise COBOL 言語解説書)