繰り返し(データ件数)処理

オペレーション名

繰り返し(データ件数)

機能概要

入力データの件数分、処理を繰り返します。
データベースやExcelなどのテーブルモデル型データの場合にはレコードが繰り返しの単位となります。
XML型データの場合には全要素が繰り返しの単位となります。

繰り返し(データ件数)の構成

アイコン 名前 説明
繰り返し(データ件数)開始 繰り返し(データ件数)の開始です。
繰り返し(データ件数)終了 繰り返し(データ件数)の終了です。

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
1ループでの処理件数 必須 使用可 1ループでの処理件数を入力します。
  • デフォルト値は「1」です。
XMLデータ処理
項目名 必須/省略可 変数の使用 説明 備考
分割パス 省略可 使用不可 繰り返しの基点となるパスを入力します。
テーブルモデル型の場合は省略できます。
 
ログ設定
項目名 必須/省略可 変数の使用 説明 備考
ログ設定を変更する 省略可 使用不可 繰り返し処理内のログ設定を一時的に変更するかどうかを選択します。
  • [チェックあり]:
    ログ設定を変更します。
  • [チェックなし]:(デフォルト)
    ログ設定を変更しません。
 
ログを出力する 省略可 使用不可 ログを出力するかどうかを選択します。
  • [チェックあり]:(デフォルト)
    ログを出力します。
  • [チェックなし]:
    ログの出力を停止します。
  • [ログ設定を変更する]にチェックを入れた場合、有効になります。
ログレベル 省略可 使用不可 変更するログレベルを選択します。
  • [NOTICE]:
  • [INFO]:(デフォルト)
  • [FINFO]:
  • [FINEST]:
  • [DEBUG]:
  • [ログを出力する]にチェックを入れた場合、有効になります。
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

右クリックメニュー

アイコン 項目名 説明 備考
折り畳み/展開 [繰り返し(データ件数)開始]から[繰り返し(データ件数)終了]の間にあるアイコンの表示/非表示を切り替えます。
折り畳んだ場合、[繰り返し(データ件数)開始]のみが表示されます。

PSPでの使用について

PSPで使用できます。
PSPについては、「パラレルストリーミング処理」を参照してください。

使用できるコンポーネント変数

コンポーネント変数名 説明 備考
count 繰り返した回数が格納されます。
  • デフォルト値はnullです。

繰り返し(データ件数)の操作方法

繰り返し(データ件数)処理の作成

繰り返しを行いたい処理を、[繰り返し(データ件数)開始][繰り返し(データ件数)終了]の間に配置します。



仕様制限

主な例外

ありません。

注意事項

マージを入力データとする場合

マージの出力データは常にXML型となります。
そのため、出力スキーマにテーブルモデルのスキーマを設定しても、繰り返し(データ件数)処理にデータフローを引く場合には、[分割パス]に「/table/row」を指定する必要があります。

ファイル系アダプタ書き込み処理を繰り返し処理中に配置する場合

CSVアダプタの書き込み処理など、ファイル系アダプタ書き込み処理を繰り返し処理中に配置する場合、繰り返し単位で書き込み先ファイルの開閉を行うため、パフォーマンスが劣化します。
ファイル系アダプタ書き込み処理を繰り返し処理中に配置する場合、繰り返し処理全体をトランザクションで囲むことで繰り返し単位での書き込み先ファイルの開閉がなくなり、パフォーマンス劣化を防ぐことができます。

以下のスクリプトは、CSVファイルを読み取り、繰り返し処理で1行ずつデータを追加書き込みを行う処理です。CSVファイル読み取り→CSVファイル書き込みと処理内容は等価ですが、パフォーマンスが劣化します。
パフォーマンスが劣化するループ処理

上記スクリプトで繰り返し処理全体をトランザクションで囲むことでパフォーマンス劣化を防いだスクリプトが以下のスクリプトです。
パフォーマンス劣化を防止するループ処理

処理イメージ

繰り返し(データ件数)処理を使用して、CSVファイルを読み取り、CSVファイルに書き込む処理を実行するスクリプトを作成します。
  1. 以下のようなスクリプトを作成します。



    CSVファイルの内容は以下の通りです。

    id value
    S001 10000
    S002 20000
    S003 30000

  2. 繰り返し(データ件数)処理のプロパティ設定は以下の通りです。


  3. スクリプトの実行後、実行ログビューで処理結果を確認します。



    CSVファイル書き込み処理で書き込まれたCSVファイルの内容は以下の通りです。

    id value
    S001 10000
    S002 20000
    S003 30000