さて、処理が止まった時のメッセージはどのようなものが出ていたかというと、CPA4088です。
| メッセージ ID . . . . : CPA4088 重大度 .
. . . . . . . : ?? メッセージ・タイプ . . : 照会 送信日 . . . . . . . : MM/DD/YY 送信時刻 . . . . . . : HH:MM:SS メッセージ. . . . . : (C G) 装置 TAP01 に次のテープ・ボリュームを装填してください。 原因−−テープ・ボリュームの終りに達しました。 回復手順−−Cを入力して処理を取り消すか,あるいは装置 &4 に次のテープ・ボリ ュームを取り付け,Gを入力して処理を続行してください。 メッセージに応答するための選択可能な項目: G -- 処理の続行。 C -- 処理の取消し。 |
バックアップのコマンド ( SAVLIB ) 自体は CL プログラム上に記述されており、CPA4088 はちゃんと MONMSG されています。さて、 MONMSG のヘルプを見ると、ちょっと気になる事が書いてありました。
| メッセージ監視 (MONMSG) コマンドは,このコマンドの使用されているプログラムのプログラム・メッセージ待ち行列に送られるエスケープ・メッセージ,通知メッセージ,および状況メッセージを監視するために使用します。完了メッセージおよび診断メッセージについては監視は行なわれません。 |
あれ?照会メッセージは? MONMSG のヘルプには、照会メッセージを監視するとも監視しないとも書いてありません。ヘルプで言及していないのなら、どのように動くのかわからないわけだから、照会メッセージを監視するために MONMSG を使うべきではないのでしょう。
実際、ログを見ていると、以前はちゃんと照会メッセージ CPA4088 をちゃんと監視して処理の取り消しを自動的に行っていました。ところが何かのはずみで監視をサボりだしたようです。
で、私は学習しました。マニュアルやヘルプの類にこういう事をする、と明記していない機能を、思い込みでうっかり使っちゃいかんな、という事を。それは確かにそうなんですが、私は納得に到るまでの数日間、 MONMSG に八つ当たりしました。