4. 部品オブジェクトの使用方法
4.3 分岐部品
4.3.6 OR分岐を設定する
(1) OR分岐の設定
OR分岐部品は複数の分岐フローのうち1つが終了すると、後続の部品を実行するオブジェクトです。
デフォルトでは、2本のフローがあらかじめ準備されています。
図 4-35 OR分岐オブジェクト配置例
OR分岐のフローは、追加および削除できます。また、OR分岐のすべてのフローをOR分岐部品ごと 削除することもできます。
OR分岐部品の設定手順については並列分岐に準じます。
「4.3.1 並列分岐のフローを追加、削除する」を参照してください。
(2) OR分岐の動作
OR分岐は複数の分岐フローのうち1つが終了すると後続の部品を実行します。
分岐フローの終了判断は分岐フロー中の最後の部品が終了しているかどうかで判断します。
図 4-36 OR分岐の動作例
最後の部品が親子関係をもつような部品の場合は以下のような動作となります。
1 つでも完了しているフローが 存在すると後続を実行
最後の部品種別 判断対象 サブジョブネット
ワーク
サブジョブネットワーク自身の状態(サブジョブネットワークが「終了 待ち」の場合は終了扱いとします)
条件分岐 選択された分岐フローの最後の部品の状態 カレンダ分岐 選択された分岐フローの最後の部品の状態 並列分岐 すべての分岐フローの最後の部品の状態 OR分岐 終了した分岐フローの最後の部品の状態
OR 部品の後続に条件分岐部品がある場合は、最初に終了した分岐の最後の部品が判断対象となりま す。
注意事項
OR分岐では、ジョブネットワークパラメータで「エラー時に自動停止」するよう設定して いても、フローのどれかの単位ジョブで異常となりエラー停止となった後で別の分岐フロー の部品が正常終了すると、OR分岐の後続の部品を実行します。これは、OR分岐がフロー 上の部品が終了しているかどうかは判断しますが、終了状態は判断しないためです。
従って、分岐フロー中の部品が全て正常終了したときのみ後続を実行したい場合は、OR分 岐ではなく並列分岐を使用した上で、ジョブネットワークパラメータの「エラー時の自動停 止」を「停止する」に設定してください。
1つも部品が無い分岐フローは分岐フロー自体が存在しないものとして扱われます。よって 1つも部品が無い分岐フローが存在するOR分岐を実行してもすぐ後続が実行されるような 動作にはなりません。ただし、すべての分岐フローに部品が存在しない場合はOR分岐は終 了し後続が実行されます。
( 3 ) 各分岐フローの終了待ち合わせ
OR分岐フローの1つが終了した場合でも他の分岐フローの部品はそのまま継続して実行されます。
OR分岐部品の後続の処理がすべて終了した時点で、OR分岐部品内に終了していない分岐フローが存 在する場合は、全分岐フローの処理が終了するまでジョブネットワーク全体の終了を待ち合わせます。
図 4-37 OR分岐での1つのフローが終了したときの動作例
(4) OR分岐を含むトラッカの状態
OR分岐を含むトラッカの状態表示は、分岐フローの状態により次のように変化します。
・OR分岐フローが1つも終了していない場合 既存の状態の優先順位が適用されます。
優先順位の詳細は、基本操作ガイドの「5.1.2 親子関係を持つジョブネットワークトラッカの表示」
の優先順位を参照してください。
図 4-38 OR分岐が1つも終了していない場合のトラッカ状態例
終了まで 待ち合わ 終了
1つの分岐が終了した場合 1つも分岐が終了していない場合
1つも終了していない状態で エラー停止が存在するとエ ラー停止と表示される
・1つのOR分岐フローが終了した場合
終了したOR分岐フローの部品だけを用いてジョブネットワークトラッカの状態を決定します。
図 4-39 OR分岐が1つ終了した場合のトラッカ状態例
・OR分岐フローが複数終了した場合
複数終了した分岐フローがある場合は、終了した分岐フロー間の状態優先順位によりトラッカ一覧 の状態表示に反映されます。
図 4-40 OR分岐が複数終了した場合のトラッカ状態例
・OR分岐を含むジョブネットワークが終了した場合
OR分岐の中で終了していない分岐フローに実行中の単位ジョブが存在する場合は、トラッカ一覧 上の表示は「終了待ち」状態になります。
サブジョブネットワークの場合でも同様に「終了待ち」状態になります。サブジョブネットワーク の「終了待ち」状態は親のジョブネットワークの表示状態に反映されます。
分岐フローが1つ終了した場合、
その分岐フロー上の部品のみを トラッカの状態に反映する。よっ て別分岐フローにエラー停止が 存在しても反映されずに、実行中 となる。
終了
正常終了 複数の分岐フローが終了した 場合、終了した分岐フロー上の すべての部品状態が反映され る。この例では警告終了したも
警告終了
図 4-41 ジョブネットワーク終了時に実行中の単位ジョブがある場合のトラッカ状態例
図 4-41の例では、OR分岐の中で実行中の単位ジョブが終了した時には、トラッカ一覧の表示が[終 了状態]に変化します。
図 4-42 すべての単位ジョブが終了した場合のトラッカ状態例
トラッカ一覧の表示上で[正常終了]で表示されるトラッカについては、アーカイブ待ち時間が経過 するとアーカイブ処理が行われます。
また、上記は単位ジョブがエラー停止になっている例ですが、他の部品でも同様の動作となります。
トラッカがアーカイブされると、OR分岐に含まれるエラー停止状態の単位ジョブについて は、スキップや再実行などの操作を行うことはできなくなります。
OR分岐を含むジョブネットワークが終了した場合は、OR分岐の中の単位ジョブがエラー 停止の状態であっても、ジョブネットワーク自体が終了した扱いになるため、[同時実行数]
のカウント対象になりませんので注意してください。
ジョブネットワーク終了時に終 了していない分岐フロー中に単 位ジョブが存在する場合は実行 ジ ョ ブ ネ ッ ト
ワーク終了
実 行 中 の 単 位 ジョブ
実行中の単位ジョブが終了した時点 で、正常終了となる。