12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

ジャンプステップを利用すると、指定したステップ位置に実行を戻したり進めたりできます。

この記事では、ジャンプステップ・割り当てステップ・ディシジョンステップを利用して、1から10まで加算した値を取得する実装を確認します。

なお、この記事は次の記事の内容を理解していることを前提としています。

ジャンプステップ利用時の動作

CAIプロセスの作成

次の手順では、1から10まで加算した値を出力フィールドとした返すCAIプロセスを作成しています。カウント用の変数は一時フィールドとして、加算した値を保持する変数は出力フィールドとして定義しています。

  1. CAIプロセスを次の設定で作成します。

    • 名称を recipe-pca-stepJump とする
    • 匿名アクセス を許可する
    • クラウドサーバー にデプロイする
  2. 出力フィールド outputタイプ=整数初期値=0 として定義します。

  3. 一次フィールド tmpCountタイプ=整数初期値=1 として定義します。

  4. CAIプロセスが次の順に実行されるように各種ステップを追加します。
    image.png
    なお、ステップの追加手順によっては上記のスクリーンショットとは少し違う表示となる場合もありますが、実際の動作には影響はありません。

  5. ディシジョンステップを選択して、一時フィールド tmpCount を対象に、
    条件 次の値以下=10 を指定します。image.png

  6. 割り当てステップを選択して各フィールドに計算式として次の式を指定します。
    ● output = $output.output + $temp.tmpCount
    ● tmpCount = $temp.tmpCount + 1
    image.png

  7. ジャンプステップを選択して、ジャンプ先としてディシジョンステップ(今回の例では tmpCount)を指定します。
    image.png

CAIプロセスの実行

curlコマンドを例とした動作確認結果です。

curlコマンドと実行結果
// curl コマンド
curl https://<IICS・CAIサーバー>/active-bpel/public/rt/<Org ID>/recipe-pca-stepJump

// 実行結果
{"output":55}

計算結果として 55 という値が得られました。等差数列の和ですので公式を使って(10/2*(1+10)=55)、正しい結果であることがわかります。

繰り返し処理実装時の留意点

ジャンプステップ・ループステップによる繰り返し処理の実装時には、CAIプロセス全体で実行されるステップ数に注意が必要です。実行するステップ数が10,000を超える場合、CAIの制限によりエラーが発生します。

実行するステップ数が10,000を超える可能性がある場合、次のように設定します。

  • CAIプロセスのデプロイ先をSecure Agent環境とする
  • アプリケーション統合コンソールの サーバーの環境設定 を開いて、利用しているSecure Agentの プロセスアクティビティ実行制限 をプロジェクトの要件に応じて変更する
    image.png

なお、クラウドサーバーでは プロセスアクティビティ実行制限 は 10,000 の固定のため変更できません。前述のとおり、CAIプロセスのデプロイ先をSecure Agent環境とする方針を検討します。

参照

12
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?