1.5.3 完了条件(completionCondition)の評価時の処理の流れ
完了条件(completionCondition)を満たす場合,アドホック・サブプロセスのインスタンスキャンセル属性(cancelRemainingInstances)の設定値によって,次に示す処理が実行されます。
- 〈この項の構成〉
(1) インスタンスキャンセル属性(cancelRemainingInstances)がtrueの場合
インスタンスキャンセル属性がtrueの場合,すべての「実行中」状態のフローノード(業務ステップ)が強制終了されたあとに,アドホック・サブプロセスは「完了」状態になります。
インスタンスキャンセル属性がtrueの場合の処理の流れを,次の図に示します。
- [説明]
-
-
完了条件(completionCondition)の評価結果によって,次のどちらかの処理を行います。この図では1-2.の処理に進みます。
1-1. 完了条件(completionCondition)を満たさない場合,アドホック・サブプロセスは「生成可」状態のままになります。
1-2. 完了条件(completionCondition)を満たす場合,2.へ進みます。
-
アドホック・サブプロセス内に存在するすべての「実行中」状態のフローノード(業務ステップ)は,強制終了されます。
-
アドホック・サブプロセスは「完了」状態になり,次の業務ステップ/制御ノードへ遷移します。
-
(2) インスタンスキャンセル属性(cancelRemainingInstances)がfalseの場合
インスタンスキャンセル属性がfalseの場合,「実行中」状態のフローノード(業務ステップ)はそのまま実行されます。すべてのフローノード(業務ステップ)が完了したあとに,アドホック・サブプロセスは「完了」状態になります。
インスタンスキャンセル属性がfalseの場合の処理の流れを,次の図に示します。
- [説明]
-
-
作業が完了すると,完了条件(completionCondition)の評価結果によって,次のどちらかの処理を行います。この図では1-2.の処理に進みます。
1-1. 完了条件(completionCondition)を満たさない場合,アドホック・サブプロセスは「生成可」状態のままになります。
1-2. 完了条件(completionCondition)を満たす場合,2.へ進みます。
-
アドホック・サブプロセス内に存在するフローノード(業務ステップ)の状態によって,次のどちらかの処理を行います。この図では2-2.の処理に進みます。
2-1. 「実行中」状態のフローノード(業務ステップ)が存在しない場合,アドホック・サブプロセスは「完了」状態になります。
2-2. 「実行中」状態のフローノード(業務ステップ)が存在する場合,アドホック・サブプロセスは「生成不可」状態になります。3.へ進みます。
-
アドホック・サブプロセスの状態が「生成不可」状態になると,「実行中」状態のフローノード(業務ステップ)は,そのまま実行されます。ユーザ(業務プログラム)は,フローノード(業務ステップ)に対応する作業を処理します。
-
作業が完了すると,定義内容によって,次のどちらかの処理を行います。この図では4-2.の処理に進みます。
4-1. フロー終端ではない場合,次のフローノード(業務ステップ)が生成されます。3.に戻ります。
4-2. フロー終端の場合,5.へ進みます。
-
アドホック・サブプロセス内に存在するフローノード(業務ステップ)の状態によって,次のどちらかの処理を行います。この図では5-1.の処理に進みます。
5-1. 「実行中」状態のフローノード(業務ステップ)が存在しない場合,アドホック・サブプロセスは「完了」状態になります。
5-2. 「実行中」状態のフローノード(業務ステップ)が存在する場合,3.に戻ります。
-