ILE COBOL 解説書

INDEX 句

INDEX 句で定義されるデータ項目は、指標データ項目です。

指標データ項目は、指標名の値を後の参照に備えて保管するために使用することのできる 4 バイトの基本項目 (必ずしもテーブルと関連付けられる必要はない) です。 SET ステートメントによって、指標データ項目に指標名の値を割り当てることができます。

指標名の値は変位で、テーブル内のオカレンス番号に対応しています。指標名の値は次の値と等価です。

(オカレンス番号 - 1) * 記入項目の長さ

指標名を 999 999 999 以上の値に設定すると、指標名の値は未定義のままになります。

SEARCH ステートメント、SET ステートメント、比較条件、手続き部ヘッダーの USING 句、または CALL ステートメントの USING 句の中でだけ、指標データ項目を直接的に参照できます。

指標データ項目は、MOVE ステートメントまたは入出力ステートメントで参照されるグループ項目の一部とすることができます。

指標データ項目は、テーブル・オカレンスを表す値を保管しますが、それ自体は必ずしもテーブルの一部として定義する必要はありません。 したがって、SEARCH または SET ステートメントで直接的に、あるいは MOVE ステートメントまたは入出力ステートメントで間接的に指標データ項目を参照した場合、そのステートメントの実行時に値は変換されません。

USAGE IS INDEX 文節は、どのレベルでも書くことができます。 USAGE IS INDEX 文節でグループ項目が記述されると、そのグループ内の 基本項目は指標データ項目になりますが、グループそのものは指標データ項目 にはならず、そのグループ名を SEARCH ステートメントや SET ステートメント、または 比較条件で使うことができなくなることがあります。 基本項目の USAGE 文節は、その項目が属するグループの USAGE 文節に矛盾するものであってはなりません。

指標データ項目を条件変数とすることはできません。

文節 JUSTIFIED、PICTURE、BLANK WHEN ZERO、SYNCHRONIZED、TYPE、 VALUE、また は FORMAT を使用して USAGE IS INDEX 文節で記述されているグループ項目 または基本項目を記述することはできません。

ソース・プログラムを他のシステムへ移送できるようにする場合、そのプログラムが外部レコードに保管されるときには、指標データ項目の内容に依存するものであってはなりません (その内容はシステム固有のものだからです)。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]