前のトピック: ループ用のシステム変数次のトピック: ループするオペレータの中断


プロセス内のオペレータのループ処理

プロセスをループ処理する簡単な方法は、ループをサポートするオペレータにループ パラメータを設定することです。 オペレータの[プロパティ]パレットを開きます。 [実行設定]セクションの[繰り返し回数]フィールドで、オペレータを繰り返す回数を入力します。 [繰り返し回数]は計算フィールドなので、変数または式を使用してランタイム時に回数を指定できます。 [繰り返し回数]には、整数(ループを実行する回数)またはブール値(条件が true に評価される限りループが続行される)のいずれかを指定できます。 有効なエントリの例には次のものが含まれます。

3
Process.var < 3
Process.var == false

[無限ループ]チェック ボックスをオンにすると、オペレータを無期限に繰り返すことができます。

ループ インジケータ ループ インジケータ が、ループ処理を行うオペレータに表示されます。

この画像は、プロセス内でのオペレータのループ例を示します。

プロセスの開始オペレータにループ パラメータを設定して、プロセスを繰り返し実行できます。 これはプロセスの繰り返しが少ない場合のループ処理に適切に動作し、これによってループごとにプロセスの履歴スナップショットが保存されます。 ただし、別のプロセスから何度もプロセスをコールすること(無限ループなど)は、避けてください。 CA Process Automation は、すべてのプロセス インスタンスの履歴を維持します。 別のプロセスから無限ループでプロセスをコールすると、無関係なデータを保存するのに多くのディスク容量が使用されるおそれがあります。

プロセスを繰り返し実行する際の推奨される方法は、プロセス内部での周期的なループです。 必要に応じて、ループするプロセスの履歴スナップショットを保存できます。これを行うには、ブランチの最後で停止オペレータが実行される前に、プロセスの開始オペレータへのブランチを作成し、分離されたインスタンスを新たに開始します。

保持期間(履歴が保存される期間の長さ)は、オーケストレータまたはその関連するタッチポイントのライブラリのポリシー設定で指定できます。

注: リセットのアクションが続くタイムアウト付きでオペレータのループを設定した場合、ループ条件は、繰り返しをリセットする時ではなく、ある繰り返しから別の繰り返しに移る際に確認されます。 OverallLoopDuration 変数には、すべてのリセットされた繰り返しで費やされた時間を含めた、最初の繰り返しの開始からの秒数が格納されます。 ループの繰り返しのリセットは、OverallLoopDuration はリセットしません。

続行のアクションが続くタイムアウト付きでオペレータのループを設定した場合、OverallLoopDuration には、最初の繰り返しの開始から最後の成功した繰り返しが終了するまでの秒数が格納されます。 オペレータがタイムアウトになった場合、OverallLoopDuration には、最初の繰り返しの開始からオペレータがタイムアウトになるまでの秒数は格納されません。