Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 11gリリース1(11.1.1) B61376-01 |
|
戻る |
次へ |
この項では、作成した値リスト(LOV)にデータ・ソースからの値が移入されるよう、Reports BuilderでHTMLパラメータ・フォームを変更する方法を学習します。Oracle ReportsのJSPタグを使用することによって、パラメータ・フォームでデータ・モデルの要素にアクセスできるようにします。
この項の手順では、パラメータ・フォームの単純なデータ・モデルを作成する方法について説明します。
データ・モデルを作成するには:
Reports Builderで、作成したHTMLファイルparamform_
<自分のイニシャル>.html
を開きます。
オブジェクト・ナビゲータで、「データ・モデル」ノードの横のアイコンをダブルクリックして、データ・モデル・ビューを表示します。
表示されたデータ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空き領域をクリックして「SQL問合せ文」ダイアログ・ボックスを表示します。
「SQL問合せ文」フィールドに、次のSELECT
文を入力します。
select department_name, department_id from departments order by department_name
注意: この問合せは、次のいずれかの方法で入力できます。
|
「接続」をクリックし、Human Resourcesサンプル・スキーマ(HR)の接続情報を入力します。
「OK」をクリックします。作成したデータ・モデルは次のようになります。
レポートをparamform_
<自分のイニシャル>.jsp
という名前で保存します。
この項では、パラメータ・フォームの既存の値リスト(LOV)にデータが取り込まれるよう、Webソースを変更する方法を学習します。このデータは、前の項で作成したデータ・モデルに依存します。また、コードを確認して、各要素がどのように動作するかを説明します。
Reports Builderでパラメータ・フォームのLOVを変更するには:
ツールバーの「Webソース」ボタンをクリックして、Webソース・ビューを表示します。
Webソース・ビューで、次のコードを検索します。
<select name="p_department" size="1"> <option value="1">a</option> </select>
注意: 上のコードでは、LOVはスタティック値を返します。表示名は「a」で、値は「1」です。 |
LOVは現在静的であるため、データ・モデルに基づいてデータを動的に取得するよう、このHTML要素を変更する必要があります。
Webソース・ビューで、上のコードを次のように変更します。
<select name=" p_department"> <rw:foreach id="fn" src="G_department_name"> <option value="<rw:field id="f_deptId" src="department_id"/>"><rw:field id="deptname1" src="department_name"/></option> </rw:foreach> </select>
注意: コードは手動で入力できます。また、提供されているファイルsimplejsppf_code.txt からコードをコピーして貼り付けることもできます。 |
レポートを保存します。
コードのJSP要素の確認:
上のコードでOracle ReportsのJSPタグを使用することによって、パラメータがデータ・モデルのフィールドに基づくようにし、データをパラメータ・フォームのLOVに取り込みます。各要素を確認してください。
<option>
: LOVの表示名は、データ・モデルのdepartment_name
フィールドの値によって置き換えられます。ユーザーがパラメータ・フォームを表示すると、部門名がリストに表示されます。
<rw:field>
: この要素は、g_department_name
グループの各要素にアクセスします。
<rw:foreach>
: この要素は、データ・モデルのg_department_name
グループに基づいて結果を繰り返し処理します。
src
: このパラメータは<rw:foreach>
と<rw:field>
の両方の要素で使用されます。<rw:foreach>
要素の場合、src
は、データ・モデルのグループ名(G_department_name
)に一致する必要があります。<rw: field>
要素の場合、参照されるフィールド(department_name
)に一致する必要があります。
id
: このパラメータには任意の値を入力できますが、一意の値を指定する必要があります。このパラメータも、<rw:foreach>
と<rw:field>
の両方の要素に適用されます。
注意: これらのJSP要素とそのパラメータの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。 |
コードをこのように変更することで、前の項で作成したデータ・モデルに基づき、LOVの戻り値属性がdepartment_id
フィールドに置き換えられました。これで、値リストから部門名を選択すると、関連する部門IDが返されるようになります。この戻り値は表示されません。
Webソースの変更と確認が完了したので、パラメータ・フォームをWebブラウザで表示します。
ツールバーの「Webレイアウトを実行」ボタンをクリックします。
注意: デフォルトのブラウザがNetscape 7.0で、ブラウザが表示されない場合、レジストリ・キーHKEY_CURRENT_USERS\Software\Oracle\Toolkit\Tkbrowser をデフォルトのブラウザの場所に設定します。BrowserName キーおよびBrowserPath キーが正しい値を反映していることを確認してください。たとえば、次のようになります。BrowserName=Netscape 7 ; BrowserPath=C:\Program Files\Netscape\Netscape\Netscp.exe |
パラメータ・フォームが次のような外観でWebブラウザに表示されます。
注意: 変更後のパラメータ・フォームでは、部門の値リストが「a」から「Accounting」に変わっていることがわかります。 |
「Department」リストをクリックして、リストに部門名がどのように移入されているか確認します。「レポート実行」ボタンはクリックできますが、このボタンのアクションをまだ定義していないで、このボタンをクリックしても何も起こりません。