5.4.1 アクションフロー実行機能
アクションフロー実行機能は,アクションフローの設定内容に従って,アクション,イベントモニター,およびアクションフローの実行順序を制御する機能です。
(1) 実行順序制御の概要
アクション,イベントモニター,およびアクションフローを,関連線で接続された順序で実行します。関連線の接続元(矢印の始点)のユニットが正常終了または警告終了した場合に,接続先(矢印の終点)のユニットを実行します。関連線には,正常終了時に実行する線と,警告終了時に実行する2種類があります。接続元が異常終了した場合は,接続先は実行されません。
ユニット名は,アクションフロー内でユニークになるように定義してください。
(2) 終了状態と関連線
ユニットの終了状態は,正常終了,警告終了,異常終了に大別されます。また,関連線は正常関連線と,警告関連線の2種類があります。
先行ユニットの終了状態と関連線について次の図に示します。
正常関連線で引かれた後続ユニットは,先行ユニットの終了状態が正常終了の場合に実行されます。図5-1の例の場合,ユニットAが正常終了した場合に,ユニットBが実行されます。
警告関連線で引かれた後続ユニットは,先行ユニットの終了状態が警告終了の場合に実行されます。図5-1の例の場合,ユニットAが警告終了した場合に,ユニットCが実行されます。
なお,先行ユニットの終了状態が一致しなかった関連線の後続ユニットは実行されません。図5-1の例の場合,ユニットAが正常終了した場合には,ユニットCは実行されず「不成立」という,正常や異常といった状態を持たない特別な状態になります。
先行ユニットと関連線の状態が一致しているかどうか,先行ユニットに不成立を含むかどうか,ユニットに設定された実行条件で,後続ユニットの動作が決定されます。
これらの条件を踏まえた,後続ユニットの実行ルールを次の表に示します。
項番 |
先行ユニットの状態 |
先行ユニットと関連線の組み合わせ |
後続ユニットの動作 |
参照図 |
---|---|---|---|---|
1 |
異常終了 |
先行ユニットに異常終了がある |
開始待ちのまま停止する |
|
2 |
異常終了,不成立を含まない(正常,または警告) |
先行ユニットと関連線の状態とユニット実行条件がすべて一致している |
実行する |
|
3 |
先行ユニットと関連線の状態が一致していないものが1つでも存在する,またはユニット実行条件を満たさない |
実行しない(不成立になる,または正常終了(未実行)になる) |
||
4 |
異常終了を含まず,不成立を含む(正常,または警告) |
不成立を除く,先行ユニットと関連線の状態とユニット実行条件がすべて一致している |
実行する |
|
5 |
不成立を除く,先行ユニットと関連線の状態が一致していないものが1つでも存在する,またはユニット実行条件を満たさない |
実行しない(不成立になる,または正常終了(未実行)になる) |
||
6 |
すべて不成立 |
先行ユニットがすべて不成立 |
実行しない(不成立になる) |
正常終了と警告終了の関連線を組み合わせたアクションフローの動作例を次の図に示します。
また,アクションフローの終了状態は,配下のアクションの状態により次の表の状態となります。
項番 |
アクションフロー中のアクションの状態 |
アクションフローの終了状態 |
---|---|---|
1 |
異常終了が1つ以上存在する |
異常終了 |
2 |
異常終了が1つも存在せず,警告終了が1つ以上存在する |
警告終了 |
3 |
異常終了と警告終了が存在しない |
正常終了 |
(3) 警告関連線を使用する場合の注意事項
警告関連線を使用する場合,警告終了時には,正常関連線の方のユニットが不成立という状態となります。後続ユニットの動作に影響を与えるため注意が必要です。
警告関連線を使用すると,先行ユニットの処理が正常終了ではないときに動作させたくない処理が実行される場合の例を,次の図に示します。
このような場合は,警告終了時に実行する処理に,明示的に異常終了する処理を追加して,元の実行順序に合流させるような関連線を結ぶことで回避できます。
回避する場合の例を次の図に示します。