3.15.7 DISPLAY文によるJP1イベント出力の抑止機能
COBOL2002で作成したCOBOLアプリケーションがDISPLAY文を大量に発行すると,JP1/IM - Viewの画面に多くのメッセージが出力される。その結果,バッチジョブ実行時間が増加することがある。ここでは,DISPLAY文を発行することによってJP1/IM - Viewの画面にメッセージが出力されることを抑止する機能について説明する。
- 〈この項の構成〉
(1) 抑止方法
環境変数BJEX_SUPPRESS_CBLDISPLAYにYESを指定することによってJP1/IM - Viewの画面へのメッセージの出力を抑止する。実行ログ,ジョブログ,SYSMSGへの出力は抑止しない。指定できる値は,YESまたはNOである。指定値ごとの動作を次に示す。
|
環境変数BJEX_SUPPRESS_CBLDISPLAYの設定 |
JP1イベント出力 |
|---|---|
|
YES |
抑止する |
|
NO |
抑止しない |
|
YESとNO以外,または設定されていない |
抑止しない |
(2) 環境変数設定例
環境変数BJEX_SUPPRESS_CBLDISPLAYは,SETENV要素によって指定する。
SETENV要素を用いて指定する例を次に示す。
<?xml version="1.0" encoding="Shift_JIS" ?>
<HitachiBatchJobExec version="1.3" os="unix">
<JOB NAME="SAMPLE">
<SETENV NAME="BJEX_SUPPRESS_CBLDISPLAY" VALUE="YES"/>・・・(1)ジョブ全体で有効な環境変数
<STEP NAME="STEP1"> BJEX_SUPPRESS_CBLDISPLAYに
<EXEC PGM="MYPROG1" LANG="COBOL"/> YESを指定することを示す。
</STEP>
<STEP NAME="STEP2">
<EXEC PGM="MYPROG2" LANG="COBOL"/>
</STEP>
<STEP NAME="STEP3">
<EXEC PGM="MYPROG3" LANG="COBOL"/>
<SETENV NAME="BJEX_SUPPRESS_CBLDISPLAY" VALUE="NO"/>・・(2)ジョブステップで有効な環境変数
</STEP> BJEX_SUPPRESS_CBLDISPLAYに
</JOB> NOを指定することを示す。
</HitachiBatchJobExec>(1)JOB要素内で環境変数BJEX_SUPPRESS_CBLDISPLAYにYESを指定して,ジョブ全体でJP1/IM - Viewの画面へのメッセージの出力を抑止する。
(2)STEP3のSTEP要素内で環境変数BJEX_SUPPRESS_CBLDISPLAYにNOを指定する。(1)の指定よりも優先度が高いため,STEP3はJP1/IM - Viewの画面へのメッセージの出力を抑止しない。
(3) 注意事項
環境変数BJEX_SUPPRESS_CBLDISPLAYにYESを指定した場合,COBOLアプリケーションで発行したDISPLAY文によるJP1イベント発行はすべて抑止される。
そのため,DISPLAY文によって要求内容を出力し,ACCEPT文によって応答要求を行う場合,DISPLAY文による要求内容がJP1/IM - Viewの画面に表示されなくなる。
要求内容を確認する方法の例を次に示す。
-
COBOLプログラムのACCEPT文をCBLTYPEサービスルーチンに変更する。
-
ジョブ定義XMLファイルのSETENV要素に環境変数BJEX_SUPPRESS_CBLDISPLAYをNOに指定することにより対象のジョブステップを抑止対象外にする。