22
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

インフォマティカ・ジャパン株式会社Advent Calendar 2024

Day 6

[CAIで作るAPI開発]loopステップを使った繰り返し処理

Last updated at Posted at 2024-12-03

CAIでループ(loop)ステップを使ってみる

Informatica のクラウドサービスIDMCの機能
アプリケーション統合を利用した経験がある方向けの記事です

IDMCのアプリケーション統合(Cloud Application Integration = CAI)ではループステップという部品があり、これを使用してリスト等の繰り返し処理を行うことができます。
image.png

今までは、分岐ステップとジャンプステップで繰り返し処理を書いていた方も多いと思いますが
ループステップのほうが簡単に実装することができます。

ループステップのループ条件の設定方法

ループの行い方は、変数を使用したループの制御と、式を使用した制御が可能です。
また、WHILE文やDO-WHILE文のように、ループの先頭でループ判定を行うか、最後で判定を行うか設定することができます。
こちらはコーディングと同じで、DO-WHILEの場合は必ず1回は処理が行われます。

最初にループ判定(WHILE文)

最初にループ判定する場合は「指定日の前日まで繰り返す」にチェックをいれます。
その場合は、プロセス上の表記は下図の通りとなります。
image.png
image.png

最後にループ判定(DO-WHILE文)

最後にループ判定する場合は「指定日までを繰り返す」にチェックをいれます。
その場合は、プロセス上の表記は下図の通りとなります。
image.png
image.png

ループ判定の設定

今回は、最初にループ判定するケースで設定方法を記載します。
image.png
ループ条件の指定は、「フィールド」もしくは「計算式」を選ぶことができます。
「フィールド」の場合は、一時変数等を利用して、これをインクリメントして利用します。
それでは簡単に下記のような構文を実装してみましょう。

for(int i=0; i<10; i++)

開始ステップのプロパティの「一時フィールド」タブを開き
新規フィールドを作成します。

項目名 設定値
名前 i
タイプ 整数値
初期値 0

image.png

次にループステップを選択し
image.png
スープ条件に、「フィールド」を選択し
フィールドの変数から「i」(フィールド temp.i)を選択します。

次に、条件から「次の値より小さい」を選択し、値を「10」に設定します
image.png
image.png

最後に、「割り当てステップ」をドラックアンドドロップし
image.png

image.png

割当ステップで、「+」ボタンをクリックし「フィールド」に"i"を追加
image.png
「次を使用...」に「計算式」を選択し、開始ボックスの中に下記の式を入力します。

$temp.i + 1

image.png

以上で10回繰り返し処理をするループが完成しました。

ループ判定の設定(その2)

下記のようにする場合は、

for(int i=0; i<=10; i++)

条件で「次の値以下」を選択します。これで、11回繰り返し処理を行います。
image.png

ループ判定の設定(その3)

下記のように、何かの配列やリストの長さを条件にいれる場合は

for(int i=0; i<=aaa.length; i++)

一次フィールドで "maxlength" などの名前で変数定義し

項目名 設定値
名前 maxlength
タイプ 整数値
初期値 0

image.png
ループステップに入る前に、割り当てステップを挿入し、
maxlengthに対し、リストや配列の長さをcount関数で取得し代入します。
※ここでは、入力値として設定されたJSON配列の players という入力変数の配列の長さを取得します。

list:count( $input.players )

image.png

その後、ループステップの条件を固定値の 10 ではなく
「x」ボタンをクリックし "maxlength" を指定すると、配列の長さ分繰り返し処理を行います。
image.png

ループ判定の設定(その4)

また、フィールドではなく、計算式を使用してループ条件を設定することも可能です。
その場合は、ループ条件に「計算式」を選択しループの条件を右側の式エディタで入力します。
image.png

$temp.i < $temp.maxlength

image.png

結果は(その3)と同じく、リストの配列分繰り返し処理を行います。
複雑な条件を使用する場合は、計算式を使用しましょう。

本記事は、以上です。

22
4
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
22
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?