2019.05.30
 

MONMSGって何ですか?どのように使用するものですか?

Question

CLプログラミングでMONMSGを使用すると、エラーをスルーしたり、エラーの内容で処理をハンドリングできると聞きました。 MONMSGはどのように使用するものでしょうか?

Answer

メーカーのナレッジセンターには以下の記載があります。

メッセージ・モニター (MONMSG)
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/cl/monmsg.htm

メッセージ・モニター(MONMSG)コマンドは,このコマンドが使用されているプログラムのプログラム・メッセージ待ち行列に送られるエスケープ・メッセージ,通知メッセージ,および状況メッセージをモニターするために使用されます。その他のメッセージ・タイプ(完了,診断など)はモニターできません。

MONMSGはCLプログラムで使うと大変便利なものです。

例えば、バックアップ用のCLプログラムをジョブスケジュールで登録しておき、時間になって起動するような仕掛けを作っていたとします。

投入は朝の9:00で実際の保管は業務終了後の21:00にします。

1時間毎にテープをチェックし、担当者へセットされていないとメッセージを飛ばすとします。

簡単なサンプルとしては以下のようなSNDMSGでシステム担当者へ飛ばしますが、SNDSMTPEMMコマンドを使用するとeメールでもメッセージを送信することも可能です。

hint06

サンプルではCPF6700としてワイルドカード的な使用としています。

もう少し、詳細にMONMSGできるメッセージを確認したい場合として、例えばCHKTAPでしたら、コマンド入力画面でCHKTAPと入力し、F4キーを押します。

そこで、1行目の「テープ検査 (CHKTAP)」にカーソルを移動し、F1を押します。

PgDnして最後を見てください。

hint06

MONMSGできるメッセージは複数あります。

もし、CHKTAPでVOL-IDが異なっている場合にCPF6720を拾うことも可能です。

例外処理や、正しくセットされた時のハンドリングなどを入れておくことで、より完成度を増すこともできます。

夜間処理でテープがセットされてなく、「翌朝に処理が止まっていた」なんてことがあるかと想像すると、ただでさえ会社へ行くのが億劫なのに更に嫌になってしまいます。

MONMSGを駆使して、「うっかり」の人員的ミスを「しっかり」防ぐようにしてください。

ページトップ

ボタン