サポートチーム便り2018.09.13
QSYSOPRに特定のメッセージを送信させる方法
Question
現在、弊社のシステムではQSYSOPRのメッセージ待ち行列を監視しています。夜間処理が終了した場合や、その他プログラムでQSYSOPRに特定のメッセージを送信することで監視が可能と考えております。
どのようにすると、メッセージを送信することができますでしょうか。
Answer
SNDPGMMSGコマンドを利用してみてください。
システム提供以外に利用できるメッセージファイルが無い場合は始めにメッセージファイルを準備すると良いと思います。
- CRTMSGF MSGF(BELLDATA/QFATMSGF)
- 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を 使用すれば、メッセージファイルを作成しなくてもメッセージは送信可能です。 ご利用のシステムに合わせて調整をしてみてください。
by けやきのじぃじ