共通、初期、および再帰属性

プログラムは、その初期状態に影響を与える属性またはプログラムの呼び出し方を定義する属性を用いて記述できる。

ANS85 共通プログラムとは、別のプログラムに直接内包されているプログラムで、他のプログラムに直接的または間接的に内包されているプログラムによって呼び出すことができる (「COBOL 言語の概念」の章の「名前の範囲」セクションを参照)。共通属性は、プログラムの見出し部内で COMMON 句を指定することで付与される。COMMON 句を指定しない場合、再帰的ではない内包されているプログラムは、それを直接内包しているプログラムからのみ呼び出せる。COMMON 句により、プログラムに内包されているすべてのプログラムで使用できるサブプログラムを容易に作成できる。

ANS85  初期プログラムとは、呼び出された際に状態が初期化されるプログラムである。初期プログラムの初期化処理中に、そのプログラムの内部データが初期化される。詳細については、「関数、メソッド、オブジェクト、またはプログラムの状態」を参照。初期属性は、プログラムの見出し部内で INITIAL 句を指定することで付与される。

ISO2002MFOS390 再帰プログラムは、そのプログラム自体を直接的または間接的に呼び出すことができる。プログラムの内部データの初期化については、「関数、メソッド、オブジェクト、またはプログラムの状態」を参照。再帰属性は、「見出し部」の章の「プログラム名段落」セクションの記述どおりに付与される。

ISO2002MFOS390 メソッドは常に再帰的である。メソッドのデータは、再帰プログラムと同じ方法で初期化される。

ISO2002MFOS390 プログラムが初期プログラムでも再帰プログラムでもない場合、プログラムのデータは、プログラムの最初の起動以外で直前使用状態になる。詳細については、「関数、メソッド、オブジェクト、またはプログラムの状態」セクションを参照。再帰属性を持たない限り、プログラムは活性状態中は活性化できない。