マルチスレッド化環境でどのように言語エレメントが解釈されるか

ILE COBOL プログラムはジョブ内の別々のスレッドとして実行することができるため、 言語エレメントは、以下の 2 つの方法で解釈されることに注意してください。

実行単位有効範囲
言語エレメントは ILE COBOL 実行単位の実行の期間の間は存続し、 スレッド内の他のプログラムで使用することができます。
プログラム呼び出しインスタンス有効範囲
言語エレメントは、特定のプログラム呼び出しインスタンス内でだけ存続します。

これらの有効範囲の 2 つのタイプは、以下の 2 つの文脈において重要です。

参照
項目がそこから参照されることができる場所を記述します。 たとえば、データ項目が「実行単位」の参照有効範囲を持っている場合、 実行単位内のどのプログラム呼び出しインスタンスも、データ項目を参照することができます。
状態
項目がストレージ内にどれだけ長く存続するかを記述します。 たとえば、データ項目が「プログラム呼び出しインスタンス」の状態有効範囲を持っている場合、 データ項目は、プログラム呼び出しインスタンスが実行している間だけストレージに残ります。

以下の表に、さまざまな ILE COBOL 言語エレメントの参照および状態の有効範囲を要約します。

言語エレメント 参照の有効範囲 状態の有効範囲
ADDRESS-OF 特殊レジスター 関連レコードと同じ プログラム呼び出しインスタンス
DB-FORMAT-NAME 特殊レジスター 実行単位 プログラム呼び出しインスタンス
DEBUG-ITEM 特殊レジスター 構文チェックのみ
ファイル 実行単位 実行単位
FORMAT OF 特殊レジスター 関連 ID と同じ 関連 ID と同じ
指標データ プログラム プログラム呼び出しインスタンス
LENGTH OF 特殊レジスター 関連 ID と同じ 関連 ID と同じ
LINAGE-COUNTER 特殊レジスター 関連ファイルと同じ 関連ファイルと同じ
LINKAGE-SECTION データ 実行単位 基礎になるデータの有効範囲に基づく
LOCALE OF 特殊レジスター 関連 ID と同じ 関連 ID と同じ
RETURN-CODE 実行単位 プログラム呼び出しインスタンス
WHEN-COMPILED 特殊レジスター 実行単位 実行単位
WORKING-STORAGE データ 実行単位 実行単位
SORT-RETURN 特殊レジスター 実行単位 プログラム呼び出しインスタンス