メニューボタン
サポートチーム便り2023.07.12

コマンドの省略値の変更、SIGNOFFでジョブ・ログを書かせる方法

Question

ジョブ・ログを記録するように以下のようにジョブ記述を変更しました。

CHGJOBD JOBD (QDFTJOBD) LOG(4 00 *SECLVL) LOGCLPGM(*YES) LOGOUTPUT(*JOBEND) 

SBMJOBコマンドでバッチ投入したバッチ型ジョブはジョブ・ログが記録されますが、対話型のジョブは記録されません。

WRKJOBの「2. ジョブ定義属性表示」で確認すると、「ジョブ・ログの出力」は*NOLISTでなく、*SECLVLで*JOBENDとなっています。

何が原因でしょうか。

スクリーンショット

Answer

対話型ジョブの場合に終了するときにサインオフ(SIGNOFF)をしますが、サインオフ(SIGNOFF)コマンドの省略値の設定でジョブ・ログ *NOLISTとなっているのが原因と考えられます。

コマンドラインからSIGNOFFと入力してF4でプロンプト表示をしてください。

表示されたら、F11でキーワード表示に切り替えます。

スクリーンショット

上記画面のように*NOLISTであった場合にデフォルトを変えてみてください。

変更するコマンドおよびパラメタの指定方法は、以下の例のようになります。

CHGCMDDFT CMD(SIGNOFF) NEWDFT('LOG(*LIST)')  

変更後に、先ほどのように確認すると*LISTとなっていることが確認できます。

スクリーンショット

※気が変わって戻す場合は以下の例になります。

CHGCMDDFT CMD(SIGNOFF) NEWDFT('LOG(*NOLIST)')

これで、対話型のジョブでサインオフしてもジョブ・ログが書かれるようになりますので、お試し頂ければと思います。

業務メニュー等で終了時にSIGNOFFをコーデイングしている時に明示的に*NOLISTを指定している場合は、先ほどの省略値を変更しても*LISTは有効になりませんので、プログラムの修正を行ってください。

他のコマンドでも同様にCHGCMDDFTでデフォルトのパラメタを変更することが出来ます。

注意点としてはOSのメンテナンス作業等でデフォルトに戻ったり、何らかの不具合が発生する可能性があるという事です。

省略値を変更したコマンドがある場合は、必ず、台帳管理をして記録(変更内容)を残してください。

また、OSメンテナンス作業後に設定が元に戻っていないかを必ず確認し、動作テストも行うようにしてください。

参考情報:コマンド省略時値変更 (CHGCMDDFT)
https://www.ibm.com/docs/ja/i/7.5?topic=ssw_ibm_i_75/cl/chgcmddft.html

by けやきのじぃじ

あわせて読みたい記事

PAGE TOP