ページの先頭行へ戻る
NetCOBOL V12a (V12.2.0A) リリース情報
FUJITSU Software

2.2.18 COBOL プログラム実行中の制御権の放棄について

変更内容

PowerCOBOL85 V3.0L20以前は、COBOL プログラムの実行中に制御を手放していました。このため、COBOL プログラムの実行中に、そのCOBOL プログラムの呼出し元のアプリケーションに制御を移すことができました。

PowerCOBOL97 V4.0L10以降は、デフォルトでCOBOL プログラムの実行中にはそのCOBOL プログラムの呼出し元のアプリケーションに制御を移しません。ただし、実行環境設定画面、コンソールウィンドウ、スクリーンウィンドウ、および表示ファイル(画面)を使用した入力処理の実行時には、無条件に制御を手放します。

なお、制御を手放さないことにより、PowerCOBOL97 V4.0L10以降は、デフォルトでは実行環境設定画面、コンソールウィンドウ、スクリーンウィンドウ、および表示ファイル(画面)を使用した入力処理を行っていない場合には、COBOL プログラムのアイコンから“閉じる”およびWindowsのログオフ・シャットダウンによるCOBOLプログラムの強制終了はできません。また、このとき、実行環境変数 @CBR_ExitSessionMSGの指定は無効になります。

たとえば、Visual Basic からCOBOL プログラム(コンソールウィンドウにDISPLAY 文を利用して表示する)を呼び出すような場合、V3.0L20以前は、COBOL プログラムの実行中にVisual Basic の画面をアクティブにすることが可能でした。

V4.0L10以降は、デフォルトではCOBOL プログラムの実行中にはVisual Basic の画面をアクティブにすることはできません。

対処方法

COBOL プログラムが制御を手放すことを期待したプログラムを実行する場合には、互換オプションとして、次の実行環境変数を用意しています。

@CBR_YIELDCONTROL
@CBR_YIELDCONTROL = { NO | YES }

COBOL プログラムの実行中に、制御を手放す(YES) か、手放さない(NO)か、を指定します。