Oracle Reports レポート作成ガイド 10gリリース2(10.1.2) B25068-01 |
|
この章では、単純なパラメータ・フォームを含むJSPベースのWebレポートについて説明します。ペーパー・レポートに対するパラメータ・フォームを作成する場合は、Oracle Reportsオンライン・ヘルプを参照してください。この章の手順に従うと、図41-1および図41-2に示すようなレポート出力を生成できます。
この例では、部門ごとに従業員の給与を棒グラフで示すJSPベースのWebレポートと、従業員の詳細を示す表形式のレポートがあるとします。顧客から、すべての部門のデータを読み取らなくてもすむよう、特定の部門の従業員情報を実行時に表示できるようにしてほしい、との要望がありました。この例の手順では、このJSPベースのWebレポートにJSPパラメータ・フォームを追加する方法について説明します。
この例では、『Oracle Reportsチュートリアル』で作成されたレポートを使用します。この例で使用するWebレポートの作成方法を確認するには、チュートリアルに示されている手順を参照してください。
このサンプル・レポートの作成過程では、次を行います。
単純なパラメータ・フォームを含むサンプルのJSPベースのWebレポートを表示するには、サンプル・フォルダSimpleJSPPF
を開き、results¥emprev_param.jsp
を開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。この章で使用されているサンプル・ファイルのリストと説明を表41-1に示します。
この章の例を作成するには、サンプル・ファイルが必要です(前述の「使用例」を参照)。また、Oracle Database付属のHuman Resourcesサンプル・スキーマ(HR)へのアクセスが必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。
この項の手順では、単純なHTMLを使用して単純なパラメータ・フォームを作成する方法について説明します。作成後、Reports BuilderでこのHTMLパラメータ・フォームを変更し、JSPベースのWebレポートからこのフォームをコールできるようにします。
独自のHTMLファイルを作成するかわりに、SourceディレクトリにあるサンプルのHTMLファイルparamform.html
を開いてソース・コードを表示することもできます。
HTMLで単純なパラメータ・フォームを作成するには:
<form name="form1" method="post" action=""> <h2>Parameter Form</h2> <p>Choose a department from the list, then click the <b>Run Report</b> button to show salary details for each employee in that department.</p> <select name="p_department" size="1"> <option value="1">a</option> </select> <br> <input type="text" name="userid" value="hr/hr@db-connect"> <br> <input type="submit" name="Submit" value="Run Report"> </form>
paramform_
<自分のイニシャル>
.html
という名前で保存します。WebブラウザでこのHTMLファイルを表示すると、次のような画面が表示されます。この項では、作成した値リスト(LOV)にデータ・ソースからの値が移入されるよう、Reports BuilderでHTMLパラメータ・フォームを変更する方法を学習します。Oracle ReportsのJSPタグを使用することによって、パラメータ・フォームでデータ・モデルの要素にアクセスできるようにします。
この項の手順では、パラメータ・フォームの単純なデータ・モデルを作成する方法について説明します。
paramform_
<自分のイニシャル>
.html
を開きます。
select department_name, department_id from departments order by department_name
paramform_
<自分のイニシャル>
.jsp
という名前で保存します。
この項では、パラメータ・フォームの既存の値リスト(LOV)にデータが取り込まれるよう、Webソースを変更する方法を学習します。このデータは、前の項で作成したデータ・モデルに依存します。また、コードを確認して、各要素がどのように動作するかを説明します。
<select name="p_department" size="1"> <option value="1">a</option> </select>
LOVは現在静的であるため、データ・モデルに基づいてデータを動的に取得するよう、このHTML要素を変更する必要があります。
<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>
上のコードで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>
の両方の要素に適用されます。
コードをこのように変更することで、前の項で作成したデータ・モデルに基づき、LOVの戻り値属性がdepartment_id
フィールドに置き換えられました。これで、値リストから部門名を選択すると、関連する部門IDが返されるようになります。この戻り値は表示されません。
Webソースの変更と確認が完了したので、パラメータ・フォームをWebブラウザで表示します。
パラメータの設定が完了したので、次の手順では、パラメータを受け入れるようターゲット・レポートを設定します。その後、パラメータ・フォームのアクションを定義します。ユーザーが「レポート実行」ボタンをクリックすると、部門パラメータとユーザーIDパラメータの値に基づいてターゲット・レポートが実行されます。
この項で使用するターゲット・レポートは『Oracle Reportsチュートリアル』のサンプル・レポートです。『Oracle Reportsチュートリアル』の作業を完了し、emprevb.jsp
を作成してある場合は、この項でそのレポートを使用できます。このレポートを作成していない場合は、提供されているサンプル・ファイルemprev_final.jsp
を使用してください。この項では、このレポートの作成手順については説明しません。
JSPベースのWebレポートのサンプルを作成する方法の詳細は、『Oracle Reportsチュートリアル』を参照してください。
emprev_final.jsp
を開きます。
WHERE (EMPLOYEES.MANAGER_ID = EMPLOYEES_A1.EMPLOYEE_ID) AND EMPLOYEES.DEPARTMENT_ID = 100
WHERE
句を変更して、最終行を次のようにします。
WHERE (EMPLOYEES.MANAGER_ID = EMPLOYEES_A1.EMPLOYEE_ID) AND EMPLOYEES.DEPARTMENT_ID = :P_DEPARTMENT
emprev_param_
<自分のイニシャル>
.jsp
という名前で保存します。
JSPパラメータ・フォームとターゲットのJSPベースのWebレポートを配布するには、paramform_
<自分のイニシャル>
.jsp
およびemprev_final_
<自分のイニシャル>
.jsp
をアプリケーション・サーバーの配布ディレクトリにコピーする必要があります。ただし、テスト用には、Oracle Developer Suite付属のOC4Jインスタンスを使用できます。ターゲット・レポートを目的のディレクトリに配置したら、レポートの場所をポイントするようパラメータ・フォームを変更します。
JSPベースのWebレポートの配布の詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。このマニュアルは、Oracle Technology NetworkのOracle Reportsドキュメントのページ(http://www.oracle.com/technology/documentation/reports.html)から入手できます。
paramform_
<自分のイニシャル>
.jsp
とemprev_param_
<自分のイニシャル>
.jsp
)を次のディレクトリにコピーします。
ORACLE_HOME¥reports¥j2ee¥reports_ids¥web
ORACLE_HOME
¥reports¥j2ee¥reports_ids¥web¥paramform_
<自分のイニシャル>
.jsp
を開きます。
emprev_param_
<自分のイニシャル
>.jsp
レポートが実行されるよう、フォームのアクションを変更します。コードは次のようになります。
<form name="form1" method="post" action="/reports/rwservlet"> <input type="hidden" name="report" value="reportname.rdf"> <input type="hidden" name="destype" value="destype"> <input type="hidden" name="desformat" value="desformat"> <input type="hidden" name="userid" value="db_connect_string"> <input type="submit" name="Submit" value="Submit"> </form>
http://computer name:port/reports/paramform_your_
initials
.jsp?userid=userid/password@database name
この例では、次のURLを使用します。
http://mycomputer-pc:8888/reports/paramform_your_initials
.jsp?userid=hr/hr@orcl
注意 URLに入力する接続文字列は、第41.3.1項「パラメータ・フォームに対するデータ・モデルの手動での作成」でデータ・モデルの作成に使用したデータベースを対象としたものです。この例の本来の目的に焦点を絞るため、接続文字列の受渡しには平文を使用しています。セキュリティの詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。このマニュアルは、Oracle Technology NetworkのOracle Reportsドキュメントのページ(http://www.oracle.com/technology/documentation/reports.html)から入手できます。. |
emprev_param_
<自分のイニシャル>
.jsp
レポートで使用するデータベース・スキーマの接続文字列を入力します。たとえば、hr/hr@orcl
と入力します。
これで、すべての作業が完了しました。既存のWebレポートに対するJSPパラメータ・フォームが完成しました。この章で学習した内容は次のとおりです。
この例で使用されているウィザード、ビューまたはプロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。これは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」の説明にようにReports Builder、またはOracle Technology Network(OTN)から表示できます。
|
Copyright © 2003, 2005 Oracle. All Rights Reserved. |
|