110‐04 制御| 基本編
複数レコードを対象として、1レコード毎に処理を行う場合は、繰り返し処理を使用して行います。
ここでは、受注データを顧客毎のCSVファイルとして分けて出力します。
プロジェクトファイル | B110_variable.fgcp |
パラメーターの作成
ナビゲーションウィンドウのサーバーサイドコマンドから「04_繰り返し」を開き編集します。
「パラメーター」タブを表示しパラメーター「受注月」を新規作成します。

変数を作成
「コマンド」タブを選択しコマンドを作成します。2つの変数を作成します。
「変数の設定」コマンドを追加しCSVの出力先とする変数「FilePath」を定義します。

次に「変数の設定」コマンドを追加し受注テーブル内のデータを顧客毎に処理するための変数「顧客」を定義します。「顧客」の変数には、「顧客ID」と「顧客名」の2つのフィールドをパラメーターとして利用できるようにします。

クエリータブを表示し、「受注月」をパラメーター「受注月」で条件抽出します。

繰り返し処理を作成
「繰り返し」コマンドを追加し受注月で条件抽出したテーブルデータのパラメーター「顧客」を使って繰り返し処理を作成します。
「繰り返し回数、または繰り返し配列」にパラメーター「顧客」を指定すると、受注テーブルから抽出したレコード数が繰り返しの回数になります。

繰り返し配列オブジェクト名
レコードのような複数のデータを持つパラメーター(配列型のパラメーター)を使って繰り返す場合、その繰り返し回しの対象となっている各レコードの値を参照できるのが「繰り返し配列オブジェクト名」です。
このオブジェクト名の既定値は「Item」となっており、例えば繰り返しの対象テーブル内の「顧客ID」フィールドの値を参照する場合は、「Item.顧客ID」のように指定します。
CSV出力処理を作成
「CSVインポート/エクスポート」コマンドを繰り返しコマンドの下に追加します。
処理の種類を「エクスポート」、対象テーブルを「受注テーブル」とします。
クエリー条件として「顧客ID」にパラメーターの「顧客」と「顧客ID」にそれぞれパラメーターの「受注月」と「Item.顧客ID」を設定します。
また、出力先のパスには変数「FilePath」を使ったパスを設定します。

サーバーサイドコマンドの作成を完了します。
ページからサーバーサイドコマンドを呼び出す
「04_繰り返し」ページ上を開きます。
「繰り返し」ボタンにサーバーサイドコマンドを呼び出す「サーバーサイドコマンドの呼び出し」コマンドを設定します。
パラメーターの「受注月」には「D2」セルを設定します。また、サーバーサイドコマンドが正常に実行されたかを確認するため「リターンコードセル」にページ上のセルを指定します。

結果を確認
プロジェクトをデバッグ実行し動作を確認します。
顧客をコンボボックスから選択します。「サーバーサイドコマンドの呼び出し」コマンドを設定した「条件抽出」ボタンをクリックします。正常に実行されると、リターンコードセルに指定したセルに「0」が表示され、また、指定したフォルダ「c:\\fgc\export」に指定した顧客の受注データ(CSVファイル)が出力されていることを確認できます。