先読みフィールド
** の記入項目は、先読み機能のために使用されます。 この機能によって、ファイ ル内の次のレコードの中の情報を見ることができます。 現在処理するために選択 されているファイルだけでなく、存在はしていてもこのサイクルでは選択されて いない他のファイルも見ることができます。
フィールド記述行には、レコード内のフィールドの開始位置と終了位置、フィー ルド名、およびフィールドが数値フィールドの場合には小数点以下の桁数が含ま れていなければなりません。 先読みフィールドは、入力仕様にフィールド名として、定義仕様書にデータ構 造名として、あるいは演算仕様書に結果のフィールドとして指定することはでき ないことに注意してください。
17 から 18 桁目には英字項目が含まれていなければなりません。 先読みフィールドは 、21 から 22 桁目に ** が入っている行の次の行の 49 から 62 桁目に定義されます。 63 から 80 桁目はブランクでなければなりません。
レコード内のフィールドは、どれでもまたはすべて先読みフィールドとして定義 することができます。 この定義は、ファイル内のすべてのレコードにそのタイプ と無関係に適用されます。フィールドを先読みフィールドと通常の入力フィール ドの両方として使用する場合には、異なる名前で 2 回定義しなければなりません。
先読み機能は、1 次および 2 次ファイルについてのみ、1 つ のファイルに一度だけ指定することができます。 これを 全手順ファイルに対して使用することはできず、AND 行および OR 行で使用することもできません。
入出力共用ファイルまたは更新ファイルのレコードが処理されている場合には、 先読みフィールドのデータは次のレコードのデータではなく、処理中のレコード のデータと同じになります。
先読み機能によって、ファイル情報データ構造内の情報は、現行 1 次 レコードと関連したデータではなく、先読みレコードと関連したデータにより更 新されます。
配列要素を先読みフィールドとして指定すると、配列全体が先読みフィールドと して分類されます。
ファイルの終わりが認識できるように、先読みフィールドには、ファイル内のすべ てのレコードが処理された時に特殊値が埋め込まれます。 文字フィールドの場合には、この値はすべてが '9' となり、その他すべてのデー タ・タイプの場合には、この値は *HIVAL と同じになります。