ILE COBOL プログラムからの戻りの例
次の例は、名前付き、*NEW、および *DFTACTGP の各活動化グループを組み合わせた時に、EXIT PROGRAM、STOP RUN、および GOBACK がどのように作用するかを示すものです。
図 54. 1 つの名前付き活動化グループにおける EXIT PROGRAM、STOP RUN、および GOBACK の作用例
ステートメント |
プログラム A |
プログラム B |
プログラム C |
プログラム D |
プログラム E |
EXIT PROGRAM |
1 |
4 |
4 |
2 |
2 |
STOP RUN |
3 |
3 |
3 |
3 |
3 |
GOBACK |
3 |
4 |
4 |
2 |
2 |
- 1
- ステートメントはメイン・プログラム内にあるので、CONTINUE 句のない EXIT PROGRAM がコーディングされていても、処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
活動化グループは活動状態のままで、CONTINUE 句を指定した EXIT PROGRAM は、制御をプログラム A の呼び出し側に戻します。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 2
- 活動化グループは活動状態のままで、制御はプログラム C に戻されます。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 3
- 活動化グループは終了し、制御はメイン・プログラムの呼び出し側に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 4
- 活動化グループは活動状態のままで、制御はプログラム A に戻されます。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
図 55. 2 つの名前付き活動化グループにおける EXIT PROGRAM、STOP RUN、および GOBACK の作用例
ステートメント |
プログラム A |
プログラム B |
プログラム C |
プログラム D |
プログラム E |
EXIT PROGRAM |
1 |
5 |
1 |
2 |
2 |
STOP RUN |
3 |
3 |
4 |
4 |
4 |
GOBACK |
3 |
5 |
4 |
2 |
2 |
- 1
- ステートメントはメイン・プログラムにあるので、CONTINUE 句のない EXIT PROGRAM ステートメントを使用しても、何も処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
CONTINUE 句を指定した EXIT PROGRAM を使用すると、活動化グループは活動状態のままで、
制御は呼び出し側プログラムまたはコマンドに戻ります。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 2
- 活動化グループは活動状態のままで、制御はプログラム C に戻されます。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 3
- 活動化グループは終了し、制御はメイン・プログラムの呼び出し側に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 4
- 活動化グループは終了し、制御はプログラム A に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 5
- 活動化グループは活動状態のままで、制御はプログラム A に戻されます。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
図 56. 複数の *NEW および名前付き活動化グループにおける EXIT PROGRAM、STOP RUN、および GOBACK の作用例
ステートメント |
プログラム A |
プログラム B |
プログラム C |
プログラム D |
プログラム E |
EXIT PROGRAM |
1 |
5 |
1 |
2 |
2 |
STOP RUN |
3 |
4 |
4 |
2 |
4 |
GOBACK |
3 |
4 |
4 |
2 |
2 |
- 1
- ステートメントはメイン・プログラムにあるので、CONTINUE 句のない EXIT PROGRAM ステートメントを使用しても、何も処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
CONTINUE 句を指定した EXIT PROGRAM を使用すると、活動化グループは活動状態のままで、
制御は呼び出し側プログラムまたはコマンドに戻ります。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 2
- 活動化グループは活動状態のままで、制御はプログラム C に戻されます。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 3
- 活動化グループは終了し、制御はメイン・プログラムの呼び出し側に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 4
- 活動化グループは終了し、制御はプログラム A に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 5
- ステートメントはメイン・プログラムにあるので、CONTINUE 句のない EXIT PROGRAM ステートメントを使用しても、何も処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
CONTINUE 句を指定した EXIT PROGRAM を使用すると、制御は呼び出し側プログラムまたはコマンドに戻ります。
*NEW 活動化グループでは、メイン・プログラムが呼び出し側に制御を戻す時点で活動化グループが終了します。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
図 57. *NEW、名前付き、および *DFTACTGP 活動化グループにおける EXIT PROGRAM、STOP RUN、および GOBACK の作用例
ステートメント |
プログラム A |
プログラム B |
プログラム C |
プログラム D |
プログラム E |
EXIT PROGRAM |
1 |
6 |
7 |
2 |
2 |
STOP RUN |
3 |
4 |
5 |
2 |
5 |
GOBACK |
3 |
4 |
5 |
2 |
2 |
- 1
- ステートメントはメイン・プログラムにあるので、CONTINUE 句のない EXIT PROGRAM ステートメントを使用しても、何も処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
CONTINUE 句を指定した EXIT PROGRAM を使用すると、活動化グループは活動状態のままで、
制御は呼び出し側プログラムまたはコマンドに戻ります。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 2
- 活動化グループは活動状態のままで、制御はプログラム C に戻されます。
活動化グループで使用されたすべてのファイルとリソースは、最後に使用された状態のままです。
- 3
- 活動化グループは終了し、制御はメイン・プログラムの呼び出し側に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 4
- 活動化グループは終了し、制御はプログラム A に戻されます。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 5
- 活動化グループは活動状態のままで、制御はプログラム A に戻されます。
プログラム C またはプログラム E によってオープンされたファイルはすべてクローズされます。
プログラム C またはプログラム E によってオープンされたファイルに対する保留中のコミット処理は、暗黙のうちにコミットされます。
プログラム C とプログラム E のストレージは解放されます。
- 6
- ステートメントはメイン・プログラムにあるので、CONTINUE 句のない EXIT PROGRAM ステートメントを使用しても、何も処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
CONTINUE 句を指定した EXIT PROGRAM を使用すると、制御は呼び出し側プログラムまたはコマンドに戻ります。
*NEW 活動化グループでは、メイン・プログラムが呼び出し側に制御を戻す時点で活動化グループが終了します。
活動化グループは、その活動化グループの範囲のすべてのファイルをクローズします。
その活動化グループの範囲の保留中のコミット処理は、暗黙のうちにコミットされます。
活動化グループに割り振られたすべてのリソースは、システムに戻されます。
活動化グループが終了する結果、活動化グループ内で活動化されていたすべてのプログラムは、最初の状態に戻ります。
- 7
- ステートメントはメイン・プログラムにあるため、何も処理は行われません。
処理は、プログラムの次のステートメントから続行されます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.