Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


可変長フォーマットの要求

可変長レコードは、形式 V または形式 D です。 形式 D レコードは、ASCII テープ・ファイル上の可変長レコードです。形式 D レコードは、形式 V レコードと同じ方法で処理されます。

いずれの場合も、RECORDING MODE V を使用してください。RECORDING MODE 節は省略することができます。ファイルに関連付けられている最大のレベル 01 レコードの長さが、BLOCK CONTAINS 節でコーディングされているブロック・サイズを超えておらず、かつ次のいずれかを行った場合は、コンパイラーは記録モードを V と見なします。

形式 V ファイルに READ INTO ステートメントを指定すると、そのファイルに関して読み取られたレコード・サイズが、コンパイラーによって生成される MOVE ステートメントで使用されます。したがって、読み取られたレコードがレベル 01 レコード記述に対応していない場合には、予期したとおりの結果が得られないことがあります。MOVE ステートメントに関するその他の規則はすべて適用されます。例えば、READ ステートメントによって読み込まれる形式 V レコードに MOVE ステートメントを指定すると、移動されるレコードのサイズは、そのレベル 01 レコード記述に相当します。

形式 V ファイルに対する READ ステートメントを指定し、その後にレベル 01 レコードの MOVE を続けて指定すると、実際のレコード長が使用されません。プログラムは、レベル 01 レコード記述で記述されたバイト数を移動しようとします。このバイト数が実際のレコード長を超え、プログラムによってアドレッシング可能な領域外に及ぶと、結果は予測できません。 レベル 01 レコード記述によって記述されたバイト数が、読み取られた物理レコードより短い場合は、レベル 01 記述を超えるバイトは切り捨てられます。 可変長レコードの実際の長さを見つけるには、ファイル定義 (FD) の RECORD 節の形式 3 で data-name-1 を指定してください。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)