bjexm_message(メッセージまたは応答要求メッセージの出力(一般ユーザ用))
形式
bjexm_message -p メッセージ bjexm_message -m メッセージ bjexm_message {-r | -c} 応答要求メッセージ 応答0 [応答1 [応答n] … ]
機能
bjexm_messageはジョブステップとして起動することで,メッセージ制御機能を使用してJP1/IM - Viewの画面にメッセージや応答要求メッセージを出力し,応答メッセージを取得する。また,応答メッセージに従って戻り値を設定して終了する。
戻り値を判定して実行するジョブステップを制御することで,オペレータからの応答に応じて実行するジョブステップを選択できる。
オプション
- -p:PAUSE要求
-
メッセージを出力し,コマンドは応答入力待ちになる。処理を続行するには何らかのメッセージを応答する。応答メッセージを入力しないで,応答だけしてもよい。
応答入力後,コマンドは戻り値0で終了する。
- -m:WRITE要求
-
指定したメッセージを出力する。
コマンドは戻り値0で終了する。
- -r:WRITER要求(応答の再入力なし)
-
応答要求メッセージを出力し,応答nで指定したメッセージの応答を待つ。処理を続行するには応答nで指定した応答メッセージを応答する。
コマンドは応答メッセージに対応した戻り値で終了する。指定した応答メッセージに該当しない応答メッセージを応答した場合,コマンドは戻り値127で終了する。
- -c:WRITERX要求(応答の再入力あり)
-
応答要求メッセージを出力し,応答nで指定されたメッセージの応答を待つ。処理を続行するには応答nで指定した応答メッセージを応答する。
コマンドは応答メッセージに対応した戻り値で終了する。
指定した応答メッセージに該当しない応答メッセージを応答した場合,コマンドはKAKC5208-Eメッセージを出力したあと,再び応答要求メッセージを出力して,応答待ちになる。このメッセージはLANG環境変数が次に示す値のとき日本語メッセージを出力する。
次に示すLANG環境変数以外の場合,英語のメッセージ(エンコードはASCII)を出力する。
- AIX:Ja_JP(メッセージのエンコードはシフトJISとなる)
-
ja_JP(メッセージのエンコードはEUCとなる)
RHEL:ja_JP.UTF-8(メッセージのエンコードはUTF-8となる)
- メッセージ 〜((1〜512バイト))
-
JP1/IM - Viewの画面に出力するメッセージを指定する。
メッセージ出力後コマンドは戻り値0で終了する。
メッセージ長の上限は512バイトであり,513バイト以上を指定すると切り捨てられる。
また,日本語で指定する場合はLANG環境変数で示される言語環境と一致するエンコードで指定する必要がある。また,複数バイトで表現される文字の途中で打ち切られた場合の動作は保証しないので注意が必要である。
メッセージ長が0の場合やメッセージの指定がない場合は,KAKC0311-Eメッセージを出力して終了する。
- 応答要求メッセージ 〜((1〜512バイト))
-
JP1/IM - Viewの画面に出力する応答要求メッセージを指定する。応答メッセージ出力後は応答入力を待つ。
メッセージ長の上限は512バイトであり,513バイト以上を指定すると切り捨てられる。
また,日本語で指定する場合はLANG環境変数で示される言語環境と一致するエンコードで指定する必要がある。また,複数バイトで表現される文字の途中で打ち切られた場合の動作は保証しないので注意が必要である。
メッセージ長が0の場合やメッセージの指定がない場合は,KAKC0311-Eメッセージを出力して終了する。
- 応答n 〜((1〜512バイト))
-
応答メッセージを指定する。nは0から31までであり,応答はスペースで区切って最大32個指定できる。
応答要求メッセージに対して応答できるメッセージを定義し,応答されたメッセージに対応した戻り値でこのコマンドは終了する。
例えば,応答0を応答した場合は戻り値0となり,応答1を応答した場合には戻り値1となる。つまり,指定順に対応した戻り値となる。
応答nに指定されたすべてが,Null文字列の場合,応答メッセージの内容に関係なく,戻り値0で終了する。
応答を33個以上指定した場合,33個以上は無視する。
応答メッセージのメッセージ長の上限は512バイトであり,513バイト以上を指定すると無視される。
また,ASCIIの範囲の文字だけ動作を保証し,日本語は使用できない。ASCII以外の文字を指定してもエラーにはならないが,ASCIIの文字だけが応答できる。
同一の応答メッセージを複数回指定してもエラーにはならないが,最初に記述した応答メッセージの戻り値で終了する。
戻り値
戻り値 |
意味 |
---|---|
0 |
メッセージ出力が完了した。または,応答要求メッセージに対して応答0の応答があった。 PAUSE機能の応答操作があった。 |
1〜31 |
応答要求メッセージに,戻り値に対応する応答があった。 |
127 |
予期しない障害が発生した。標準エラー出力に事象を示すエラーメッセージを出力する。 -rを指定してコマンドを実行した場合に定義した応答メッセージ以外の応答があった。 コマンドの指定が正しくない。 |
注意事項
-
このコマンドはuCosminexus Batch Job Execution Serverの配下だけで使用できる。その他の場合はエラーで終了する。(KAKC5205-E)
-
このコマンドが出力するメッセージの後ろにはメッセージ制御機能の仕様に従って次の情報が付加される。ただし,標準エラー出力に出力するエラーメッセージなどの場合は,情報は付加されない。
(ジョブ識別子,ステップ番号,ホスト名,メッセージ識別子,保守情報)
-
このコマンドが出力するメッセージはバッチジョブ実行システムのMESSAGE_REPLACE_SPACE初期設定パラメータの置き換えの対象になる。ただし,標準エラー出力に出力するエラーメッセージなどの場合は,置き換えの対象にならない。
-
ジョブ定義XMLのEXEC要素のPARM属性には958文字までの制限があり,その範囲で指定すること。
また,空白を含むメッセージや応答はPARMでは指定できない。このため,空白を含むメッセージや応答を使用したい場合はPGM="*"でスクリプトに記述する必要がある。
使用例
KEY_INのメッセージを出力して,YesまたはNoの応答を受け取る。
ジョブステップはYesを応答するとrc=0で終了し,Noを応答するとrc=1で終了する。また,応答内容に応じたメッセージを出力する。
コマンドの戻り値をジョブの戻り値に反映したくない場合はSETMAXRC要素で戻り値をリセットする必要がある。
ジョブ定義XMLファイルの例を次に示す。
<?xml version="1.0" encoding="Shift-JIS" ?> <HitachiBatchJobExec version="1.4" os="unix" > <JOB NAME="Sample"> <STEP NAME="STEP01" > <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-c KEY_IN Yes No" PARMSPLIT="YES" > </EXEC> </STEP> <STEP NAME="STEP02" > <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-m PROCGRAM_IS_RC=0[Yes]" COND="0,NE,STEP01" PARMSPLIT="YES" > </EXEC> </STEP> <STEP NAME="STEP03" > <EXEC PGM="/opt/hitachi/bjex/bin/bjexm_message" PARM="-m PROCGRAM_IS_RC_not_0[no]" COND="0,EQ,STEP01" PARMSPLIT="YES" > </EXEC> </STEP> </JOB> </HitachiBatchJobExec>
実行結果
上記の使用例の実行結果を次に示す。