起動条件としてメッセージを待ち合わせているジョブネットが持ち越されている場合、運用日を意識してメッセージ事象を発生させ、意図する運用日のジョブネットのみにメッセージ事象を通知することができます。
運用日を意識したメッセージ事象を発生させ、意図する運用日のジョブネットを起動するには、以下の方法があります。
同一の運用日のスケジュール情報に対してメッセージ事象を発生させる
翌運用日のスケジュール情報に対してメッセージ事象を発生させる
指定した運用日のスケジュール情報に対してメッセージ事象を発生させる
同一の運用日のスケジュール情報に対してメッセージ事象を発生させる場合
ジョブネット内のジョブとしてメッセージ事象を発生させる場合は、jobschmsgeventex メッセージ事象発生コマンドに-dxまたは-sオプションを指定してジョブネット内のジョブに登録します。この場合、登録されたジョブネットが起動された運用日と同じ運用日のジョブネットに対して、メッセージ事象を通知します。
-dxオプションを指定した場合は、[起動日のみ有効]が指定されている未適用ジョブネットに対してメッセージは有効となりません。[起動日のみ有効]が指定されている未適用ジョブネットに対しても有効にする場合は、-sオプションを指定してください。
例えば、以下の図では、前日分の業務B(ジョブネットB)が異常終了のため、当日分の業務B(ジョブネットB)は、未適用となっています。この場合、先行の業務Aが動作しており、メッセージ事象が発生していても、業務Bが未適用のため、メッセージ事象は破棄されてしまうのですが、-sオプションを指定している場合は、未適用の業務Bにおいてもメッセージ事象が蓄積されるようになります。
翌運用日のスケジュール情報に対してメッセージ事象を発生させる場合
翌運用日のジョブネットに対してメッセージ事象を発生させる場合は、jobschmsgeventex メッセージ事象発生コマンドに-nオプションを指定してジョブネット内のジョブに登録します。jobschmsgeventex メッセージ事象発生コマンドが登録されたジョブネットの、翌運用日のスケジュール情報に対して、メッセージ事象を通知します。
例えば、下図のように業務が翌運用日にまたがって構成されている場合、翌運用日のメッセージ事象が有効となる指定をしておけば、運用日を迎える前に未来のスケジュール情報の登録を行うことで、翌日をまたぐ業務が毎回、自動でスケジュールされます。
指定した運用日のスケジュール情報に対してメッセージ事象を発生させる場合
直接コマンドを発生するなどの方法でメッセージ事象を発生させる場合、jobschmsgeventex メッセージ事象発生コマンドに-dオプションで運用日を指定することができます。-dオプションで指定した運用日のジョブネットに対して、メッセージ事象を通知します。
メッセージ事象によるジョブネットの動作例
メッセージ事象により、運用日ごとのジョブネットがどのように連携して動作するかを以下に説明します。また、日変わり時刻は、“00:00”に設定されているものとします。
メッセージ事象の発生前
下図のジョブネット“NET001”は、ジョブネット“MSG”で発生するメッセージ事象を待ち合わせて起動されるものとします。下図では、1月6日分の“NET001”および“MSG”1月7日分の“NET001”および“MSG”が実行待ちの状態です。
jobschmsgeventコマンドでメッセージを発生させた場合
1月6日のジョブネット“MSG”で、jobschmsgeventコマンドでメッセージを発生させたとします。
jobschmsgeventコマンドは、運用日の概念がないため、すべての日付の“NET001”にメッセージ事象が通知され、すべての日付の“NET001”が起動されます。
jobschmsgeventexコマンドでメッセージを発生させた場合
1月6日のジョブネット“MSG”で、jobschmsgeventexコマンドでメッセージを発生させたとします。
jobschmsgeventexコマンドでは、コマンドが登録された日付のプロジェクトのみにメッセージ事象を発生させることができるため、1月6日の“NET001”のみが起動されます。