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に指定することにより対象のジョブステップを抑止対象外にする。