ADDRESS WTORで出力したメッセージへのリプライメッセージのWAITは3600秒以下となっており、それ以上経過した場合は当該リプライメッセージは消去されます。
運用上、3600秒以上WAITが必要なため、これを回避する方法があれば教えてください。
Release : 14.0
ADDRESS WTORはリターンコード32で、WTORがタイムアウトする前に何も応答がなかったことを示します。
これをチェックすることで、3600を超える場合でも、REXXを再実行することができます。
つまり、RC=32が検出されたとき、REXXを再実行する方法をご紹介します。
<ご参考:マニュアル抜粋>
32
The WTOR timed out. No reply was received.
ADDRESS WTOR リターンコード
https://techdocs.broadcom.com/us/en/ca-mainframe-software/automation/ca-ops-mvs-event-management-and-automation/14-0/reference-information/command-and-function-reference/host-environment-commands/address-wto-issue-wto-messages.html
<ご参考:指定例>
以下指定例は、リターンコードが32の場合、プログラムを再実行するREXXプログラムです。
なお、REXXを再実行する前にOSFサーバーがキャンセルされないよう、WAIT時間はOSFRUNの値よりも小さくなるよう留意する必要があります。
以下の例では WAIT(60) を設定していますが、この値はOSFRUNとOSFWAITの指定値よりも小さい値であればどのような値でもかまいません。
ADDRESS WTO
"TEXT('THIS IS A WTOR') MSGID(TESTWTO) REPLY WAIT(60)"
SELECT
WHEN RC = 32 THEN
DO
SAY 'WTOR TIMED OUT. RESTARTING THE PROGRAM'
ADDRESS OSF "OI pgmname" <--- 再実行するプログラム名 を指定します。
EXIT
END
WHEN RC = 0 THEN
DO
PULL MSG RESPONSE
SAY "RESPONSE IS " RESPONSE
END
OTHERWISE
DO
SAY "AN ERROR OCCURRED RC" RC
END
END
Old Japanese Knowledge document ID: JTEC003246
OPS/MVSのその他FAQについては、以下のリンクからご確認ください。