ILE COBOL 解説書

グローバル名とローカル名

名前にはグローバル属性またはローカル属性を含めることができます。 名前の中には常にグローバルであるものもあれば、常にローカルであるものもあります。 また、ローカルになるかグローバルになるかは名前が宣言されたプログラムで行う指定によって決まるという名前もあります。

プログラムは、それに含まれているプログラム内で宣言されたどの条件名、データ名、ファイル名、指標名、段落名、レコード名、セクション名、またはタイプ名も、参照することはできません。

グローバル名は、その名前が宣言されたプログラム内か、グローバル名を宣言したプログラムを含む他のプログラム内のいずれかで関連したオブジェクトを参照するために使用されます。

しかしローカル名は、そのローカル名を宣言したプログラム内だけから関連したオブジェクトを参照します。

データ名、レコード名、条件名、タイプ名、またはファイル名がグローバルとして宣言されていない場合は、その名前はローカルです。

注:
特定の規則では、あるデータ記述記入項目、ファイル記述記入項目、またはレコード記述記入項目に対して GLOBAL 文節の指定を禁止する場合があります。
定数名
GLOBAL 文節が指定されている場合、定数名はグローバルです。
データ名
GLOBAL 文節が、データ名を宣言したデータ記述記入項目またはデータ記述記入項目が従属である別の記入項目のいずれかで指定された場合、そのデータ名はグローバルです。
ファイル名
ファイル名は、そのファイル名のファイル記述記入項目に GLOBAL 文節が指定されていると、グローバル名になります。

1 つの実行単位内の 2 つのプログラムは、次の状況の下では共通ファイル・コネクターを参照できます。

  1. 外部ファイル・コネクターは、そのファイル・コネクターを記述したどのプログラムからでも参照できます。
  2. プログラムが別のプログラムに含まれている場合、両方のプログラムは共通ファイル・コネクターを参照できます。 それは、ファイル・コネクターのあるプログラムか、ファイル・コネクターのあるプログラムを直接的または間接的に含んだプログラムのいずれかで宣言された関連グローバル・ファイル名を参照することによって行われます。
レコード名
レコード名がグローバルになるのは、そのレコード名を宣言したレコード記述記入項目に GLOBAL 文節が指定されているときか、またはファイル・セクションのレコード記述記入項目の場合は、そのレコード記述記入項目と関連したファイル名のファイル記述記入項目に GLOBAL 文節が指定されているときです。
条件名
データ記述記入項目が GLOBAL 文節を指定する別の記入項目に従属する場合、条件名はグローバルで、データ記述記入項目に宣言されます。

条件名は、構成セクション内で宣言されるとき、常にグローバルです。

プログラム名
プログラム名はローカルでもグローバルでもありません。 プログラム名に関する規則を参照してください。
セクション名および段落名
これらの名前は常にローカルです。
ライブラリー名およびテキスト名
これらの名前はプログラムに対して外部であり、どの COBOL プログラムからでも参照できます。 またコンパイラー・システムは関連ライブラリーをサポートしており、参照されたエンティティーがそのシステムに分かるようになっています。
英字名
英字名は常にグローバルです。
クラス名
クラス名は常にグローバルです。
簡略名
簡略名は常にグローバルです。
指標名
グローバル属性を持つデータ項目が指標によりアクセスするテーブルを含む場合、その指標もグローバル属性を持ちます。 そのため、指標名の有効範囲はテーブル名を付けるデータ名の有効範囲と同一になります。 そのテーブルの指標への命名はその指標名によって行われ、データ名の名前の規則の有効範囲が適用されます。 指標名を修飾することはできません。

+----------------------------------IBM 拡張----------------------------------+

タイプ名
あるタイプ名が宣言されているデータ記述記入項目内に GLOBAL 文節が指定されている場合は、そのタイプ名はグローバルです。 ただし、タイプ名の GLOBAL 属性はそのタイプ名のみに制限されるため、そのタイプ名を使用して TYPE 文節で定義したデータ項目がその属性を獲得することはありません。

+------------------------------End of IBM 拡張-------------------------------+


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