以下のようなマルチラインメッセージ AAAAがあります。
AAAA BBBB CCCC
DDDD jobname EEEE
FFFF GGGG returncode
当メッセージで、
2行目の「jobname」 が「HJOBxxxx」、
3行目の「rc」が「04」より大きい場合、
以下のようなメッセージを出力することはできますか?
*** CONTACT SUPPORT ! HJOBxxxx ERROR RERURN rc ! ***
Release : All
マルチラインメッセージ内の特定文字列を検知し取得するには
以下の方法が考えられます。
- EventViewのグループルール
- ResourceView
以下それぞれの設定方法となります。
[EventViewのグループルールによる設定]
メッセージルールにてメッセージを検知しActionを実行するEventViewにてMLWTOのマイナーラインを検知するには、
検知対象のマイナーラインを対象にメッセージルールを作成し、
「EXTENDED MESSAGE FILTER」の「メッセージID」にメジャーラインのメッセージIDを指定します。
今回の対象メッセージは、AAAAのマイナーライン
「DDDD jobname EEEE」
と
「FFFF GGGG rc」
となりますので、これらを対象に2つのメッセージルールを作成します。
それぞれのメッセージからの文字列は、変数「&ZMSGAWORDn」で取得できます。
変数「&ZMSGAWORDn」で取得の文字列を
「EVENTVIEW 変数の設定」にて、ユーザー変数に保管することで
グループルール合致時の出力メッセージを指定する
「MESSAGE PARAMETERS」の「MESSAGE TEXT」に設定し出力することができます。
EventViewのグループルールでの設定詳細については添付資料(ファイル名:MLWTO by EventView.pdf)をご参照ください。
[ResourceViewでの設定]
EventViewメッセージルールでのマイナーライン検知にはグループルールが必要ですが、
ResourceViewでは、マイナーラインを、変数「&ZMSGLnWn」にて、何行目の何ワード目として取得検知できます。
今回出力するメッセージB「*** CONTACT SUPPORT ! HJOBxxxx ERROR RERURN rc ! ***」で
「HJOBxxxx」は、メッセージAの2行目2ワード目となりますので変数「&ZMSGL2W2」、
「rc」は、メッセージAの3行目3ワード目となりますので変数「&ZMSGL3W3」にて取得できます。
これらの変数を含むメッセージBを出力するWTOマクロを発行するPROCESSを
ResourceViewでメッセージ検知時に実行するPROCESSとして作成します。
メッセージ出力が一つのタスクに限定できる場合は
対象メッセージを出力するタスクを対象に
特定のアクションを実行しないResourceView資源を登録します。
「STATUS MONITOR MESSAGE DETAILS」の
「ステータス・モニタ・メッセージ」に対象メッセージ「AAAA」を定義し、
メッセージ検知の条件を「EF=EXTFILTER」の「拡張フィルター定義」に、
メッセージ検知時に実行するPROCESSを「EA=EVNTACT」の「プロセスの実行」に定義します。
メッセージ出力が複数のタスクである場合は
特定のアクションを実行しないダミーのResourceView資源を登録します。
「STATUS MONITOR MESSAGE DETAILS」の
「ステータス・モニタ・メッセージ」に、当資源以外からのメッセージも対象とすることを示す「$MN-」を付加した「$MN-AAAA」を定義し、
メッセージ検知の条件を「EF=EXTFILTER」の「拡張フィルター定義」に、
メッセージ検知時に実行するPROCESSを「EA=EVNTACT」の「プロセスの実行」に定義します。
ResourceViewを使用した設定例については添付資料(ファイル名:MLWTO by ResourceView.pdf)をご参照ください。
注:ダウンロード・ファイルの名前について
ファイル名の先頭には自動採番された管理番号が付加されています。
Old Japanese Knowledge document ID: JTEC003050
SOLVE:Operation の その他のFAQについては、以下のリンクからご確認ください。
SOLVE:Operations FAQ一覧表