一.概要
FineReportは主流データベースのストアドプロシージャを呼び出すことができます。ストアドプロシージャを実行し、結果がデータセットになり、帳票作成時に使います。
本文はMYSQL 5.6 バージョンのデータベースを例として、ストアドプロシージャによるデータセットの作成方法である。
二.操作手順
1.[ストアドプロシージャ]を選択
[+]をクリックし、[ストアドプロシージャ]を選択します。

2.対応するデータ接続を選択
MYSQLデータベースが対応するデータ接続を選択します。左側ではデータベース内のすべてのストアドプロシージャが表示されています。

3.ストアドプロシージャを呼び出す
[proc_1]をダブルクリックして、右側では[proc_1]を定義したSQL文を表示しています。
下では[proc_1]のパラメータを自動的に表示しています。パラメータ名称、タイプ、インプット、アウトプットタイプと規定値が含まれています。
注意事項:FineReportはOracle、MYSQL、DB2、SQL Serverのストアドプロシージャのパラメータを自動に読み取ります。それ以外の場合、手入力する必要があります。

4.パラメータ既定値を設定
パラメータ[area]の既定値を「関東」に設定し、データセットをプレビューします。


5.データセットを作成
[OK]をクリックし、データセットを作成します。
データセットには三つのリターンセットがあり、それぞれ[avg_sales]、[min_sales]と[max_sales]この三つのアウトプットバラメータに対応しています。


6.ストアドプロシージャの新規作成
[proc_2]をダブルクリックします。
下にバラメータ[area]が表示しています。

7.データセットをプレビュー
[proc_2]を定義したSQL文は[Salesperson]に别名[SP]を定義しました。しかし、データセットをプレビューする時、名称はなお[Salesperson]である。
8.データ接続を編集
URLの後ろにバラメータ「?useOldAliasMetadataBehavior=true」を追加してから[OK]をクリックします。
もう一度プレビューし、[Salesperson]は別名[SP]と表示しています。


9.編集を保存
[OK]をクリックし、データセットに対する編集を保存します。
作成したデータセットに1つリターンセットがあり、このリターンセットは3つのデータ列を含めています。それぞれSQL文で指定した三つのフィールドに対応しています。
