プロセス定義では、個々のノードを定義せずに複数のノードインスタンスを生成する必要がある場合があります。通常、プロセス定義内の各ノードに対して、実行時に生成されるノードインスタンスは1つだけです。
Loopingの定義では、Iterator (Parallel) LoopとSequential Loopの2つの繰り返し方法を定義することができ、1つのノード定義で複数のノードインスタンスを生成させることができます。このLoopingを定義したノードを、それぞれIterator (Parallel) Loopノード、Sequential Loopノードと呼びます。
Iterator (Parallel) Loopノードでは、同時に複数のノードインスタンスを並行して生成します。Sequential Loopノードでは、ある条件を満たしている間、逐次的にノードインスタンスを生成します。
例えば、受注管理のプロセス定義においては、注文に含まれるすべての品目に対して同じアクティビティ(例えば“承認”)を繰り返すことが要求されます。“承認” ActivityノードにIterator (Parallel) Loopを定義することで各注文品のために新規のActivityノードを追加する必要がなくなります。Iterator (Parallel) Loopノードでは、プロセス定義の設計において、ユーザ定義属性を使用して、ノードインスタンスの数を設定できます。
また、受注出荷のプロセス定義では、注文に含まれる品目がなくなるまで商品を出荷品に追加するアクティビティ、またはサブプロセスを繰り返し実行する場合があります。このような場合、Sequential Loopノードを使用することで、条件を満たしている間、ノードインスタンスを生成できます。
Sequential Loopノードでは、プロセス定義の設計において、繰り返し条件と最大繰り返し回数を指定し、どちらか、または組合せで、ノードインスタンスの数を設定できます。
以降の各項では、Iterator (Parallel) LoopとSequential Loopの定義方法について説明します。