2018.09.13
 

QSYSOPRに特定のメッセージを送信させる方法

Question

現在、弊社のシステムではQSYSOPRのメッセージ待ち行列を監視しています。夜間処理が終了した場合や、その他プログラムでQSYSOPRに特定のメッセージを送信することで監視が可能と考えております。

どのようにすると、メッセージを送信することができますでしょうか。

Answer

SNDPGMMSGコマンドを利用してみてください。

システム提供以外に利用できるメッセージファイルが無い場合は始めにメッセージファイルを準備すると良いと思います。

  1. CRTMSGF MSGF(BELLDATA/QFATMSGF)
  2. ADDMSGD MSGID(FAT0010) MSGF(BELLDATA/QFATMSGF) MSG('&1') FMT((*CHAR 128))

送信するための簡単なサンプルです。


****************** データの始め ********************************
0001.00          PGM        PARM(&MSGID &MSGTEXT)                   
0002.00          DCL        VAR(&MSGID)   TYPE(*CHAR) LEN(010)      
0003.00          DCL        VAR(&MSGTEXT) TYPE(*CHAR) LEN(020) +    
0004.00                       VALUE('                    ')         
0005.00          SNDPGMMSG  MSGID(&MSGID) MSGF(BELLDATA/QFATMSGF) + 
0006.00                       MSGDTA(&MSGTEXT) TOUSR(*SYSOPR)       
0007.00          ENDPGM                                             
***************** データの終わり *******************************

メッセージIDとメッセージテキストを変数で受取り、QSYSOPRに送信します。 メッセージテキストを固定でメッセージ記述を追加 (ADDMSGD)しても良いですし、 内容を変数にしても良いと思います。

メッセージIDはこだわらず、テキストだけ指定したい場合はOS提供のCPF9898のIDを 使用すれば、メッセージファイルを作成しなくてもメッセージは送信可能です。 ご利用のシステムに合わせて調整をしてみてください。

ページトップ

ボタン