ヘッダーをスキップ

Oracle Reports レポート作成ガイド
10gリリース2(10.1.2)
B25068-01
目次
目次
索引
索引

戻る 次へ

41
JSPベースのWebレポートに対する単純なパラメータ・フォームの作成

この章では、単純なパラメータ・フォームを含むJSPベースのWebレポートについて説明します。ペーパー・レポートに対するパラメータ・フォームを作成する場合は、Oracle Reportsオンライン・ヘルプを参照してください。この章の手順に従うと、図41-1および図41-2に示すようなレポート出力を生成できます。

図41-1    JSPパラメータ・フォーム


画像の説明


注意

この図のJSPパラメータ・フォームでは、ユーザーが部門のリストからいずれかの部門を選択してデータベースに接続し、選択したパラメータに基づいてレポートを実行できます。 


図41-2    ユーザー・パラメータに基づくJSPベースのWebレポート


画像の説明


注意

この図のJSPベースのWebレポートでは、JSPパラメータ・フォームで選択された部門に基づいたグラフと表形式のレポートが表示されます。このレポートの作成方法は、『Oracle Reportsチュートリアル』を参照してください。 


概要

使用例

この例では、部門ごとに従業員の給与を棒グラフで示すJSPベースのWebレポートと、従業員の詳細を示す表形式のレポートがあるとします。顧客から、すべての部門のデータを読み取らなくてもすむよう、特定の部門の従業員情報を実行時に表示できるようにしてほしい、との要望がありました。この例の手順では、このJSPベースのWebレポートにJSPパラメータ・フォームを追加する方法について説明します。

この例では、『Oracle Reportsチュートリアル』で作成されたレポートを使用します。この例で使用するWebレポートの作成方法を確認するには、チュートリアルに示されている手順を参照してください。

このサンプル・レポートの作成過程では、次を行います。

単純なパラメータ・フォームを含むサンプルのJSPベースのWebレポートを表示するには、サンプル・フォルダSimpleJSPPFを開き、results¥emprev_param.jspを開きます。このファイルの開き方の詳細は、「はじめに」の「サンプル・レポートへのアクセス」を参照してください。この章で使用されているサンプル・ファイルのリストと説明を表41-1に示します。

表41-1    レポートのサンプル・ファイル 
ファイル  説明 

Examples¥SimpleJSPPF¥source¥paramform.html 

HTMLパラメータ・フォームのサンプル。サンプルの値リスト、フィールドおよびボタンが1つずつ含まれています。 

Examples¥SimpleJSPPF¥results¥paramform.jsp 

このJSPベースのWebレポートには、Reports Builderで行うパラメータ・フォームに対する変更が含まれています。 

Examples¥SimpleJSPPF¥results¥emprev_final.jsp 

パラメータ・フォームのターゲット・レポートとなる、ソースWebレポート。 

Examples¥SimpleJSPPF¥results¥emprev_param.jsp 

JSPパラメータ・フォームを使用した、最終的なJSPベースのWebレポート。 


注意

『Oracle Reportsチュートリアル』の作業を完了している場合は、第6章の終わりで作成したemprevb_<自分のイニシャル>.jspファイルも使用できます。 


41.1 この例の前提条件

この章の例を作成するには、サンプル・ファイルが必要です(前述の「使用例」を参照)。また、Oracle Database付属のHuman Resourcesサンプル・スキーマ(HR)へのアクセスが必要です。このサンプル・スキーマに対するアクセス権の有無が不明のときは、データベース管理者に問い合せてください。

41.2 HTMLでのパラメータ・フォームの作成

この項の手順では、単純なHTMLを使用して単純なパラメータ・フォームを作成する方法について説明します。作成後、Reports BuilderでこのHTMLパラメータ・フォームを変更し、JSPベースのWebレポートからこのフォームをコールできるようにします。

独自のHTMLファイルを作成するかわりに、SourceディレクトリにあるサンプルのHTMLファイルparamform.htmlを開いてソース・コードを表示することもできます。

HTMLで単純なパラメータ・フォームを作成するには:

  1. テキスト・エディタまたはHTMLエディタで、フォームを含むHTMLページを作成します。このフォームには、値リスト、フィールドおよびボタンを1つずつ格納します。このフォームのコードは次のようなものになります。

    <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>
    
    


    注意

    上のコードをそのまま使用するのではなく、userid値を変更して、使用するデータ・ソースの接続情報を反映させる必要があります。また、SimpleJSPPF/scriptsディレクトリにある、提供されているファイルsimplejsppf_code.txtからHTMLコードをコピーして貼り付け、テキスト・エディタかHTMLエディタを使用してコードの該当部分を変更することもできます。 


  2. HTMLファイルをparamform_<自分のイニシャル>.htmlという名前で保存します。WebブラウザでこのHTMLファイルを表示すると、次のような画面が表示されます。

    図41-3    HTMLパラメータ・フォームのサンプル


    画像の説明

41.3 Reports BuilderでのHTMLパラメータ・フォームの変更

この項では、作成した値リスト(LOV)にデータ・ソースからの値が移入されるよう、Reports BuilderでHTMLパラメータ・フォームを変更する方法を学習します。Oracle ReportsのJSPタグを使用することによって、パラメータ・フォームでデータ・モデルの要素にアクセスできるようにします。

41.3.1 パラメータ・フォームに対するデータ・モデルの手動での作成

この項の手順では、パラメータ・フォームの単純なデータ・モデルを作成する方法について説明します。

データ・モデルを作成するには:

  1. Reports Builderで、作成したHTMLファイルparamform_<自分のイニシャル>.htmlを開きます。

  2. オブジェクト・ナビゲータで、「データ・モデル」ノードの横のアイコンをダブルクリックして、データ・モデル・ビューを表示します。

  3. 表示されたデータ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空き領域をクリックして「SQL問合せ文」ダイアログ・ボックスを表示します。

  4. 「SQL問合せ文」フィールドに、次のSELECT文を入力します。

    select department_name, department_id
    from departments
    order by department_name
    


    注意

    この問合せは、次のいずれかの方法で入力できます。

    • 提供されているテキスト・ファイルsimplejsppf_code.txtからコードをコピーして、「SQL問合せ文」フィールドに貼り付けます。

    • 「クエリー・ビルダー」をクリックして、コードを入力せずに問合せを作成します。

    • 「SQL問合せ文」フィールドにコードを入力します。

     

  5. 「接続」をクリックし、Human Resourcesサンプル・スキーマ(HR)の接続情報を入力します。

  6. 「OK」をクリックします。作成したデータ・モデルは次のようになります。

    図41-4    パラメータ・フォームのデータ・モデル・ビュー


    画像の説明

  7. レポートをparamform_<自分のイニシャル>.jspという名前で保存します。

41.3.2 パラメータ・フォームでの動的LOVの作成

この項では、パラメータ・フォームの既存の値リスト(LOV)にデータが取り込まれるよう、Webソースを変更する方法を学習します。このデータは、前の項で作成したデータ・モデルに依存します。また、コードを確認して、各要素がどのように動作するかを説明します。

Reports Builderでパラメータ・フォームのLOVを変更するには:

  1. ツールバーの「Webソース」ボタンをクリックして、Webソース・ビューを表示します。

  2. Webソース・ビューで、次のコードを検索します。

    <select name="p_department" size="1">
    <option value="1">a</option>
    </select>
    
    


    注意

    上のコードでは、LOVはスタティック値を返します。表示名は「a」で、値は「1」です。 


    LOVは現在静的であるため、データ・モデルに基づいてデータを動的に取得するよう、このHTML要素を変更する必要があります。

  3. 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からコードをコピーして貼り付けることもできます。 


  4. レポートを保存します。

コードのJSP要素の確認:

上のコードでOracle ReportsのJSPタグを使用することによって、パラメータがデータ・モデルのフィールドに基づくようにし、データをパラメータ・フォームのLOVに取り込みます。各要素を確認してください。

コードをこのように変更することで、前の項で作成したデータ・モデルに基づき、LOVの戻り値属性がdepartment_idフィールドに置き換えられました。これで、値リストから部門名を選択すると、関連する部門IDが返されるようになります。この戻り値は表示されません。

41.3.3 パラメータ・フォーム・レポートのWebに対する実行

Webソースの変更と確認が完了したので、パラメータ・フォームをWebブラウザで表示します。

  1. ツールバーの「Webレイアウトを実行」ボタンをクリックします。


    注意

    • デフォルトのブラウザがNetscape 7.0で、ブラウザが表示されない場合、レジストリ・キーHKEY_CURRENT_USERS¥Software¥Oracle¥Toolkit¥Tkbrowserをデフォルトのブラウザの場所に設定します。BrowserNameキーおよびBrowserPathキーが正しい値を反映していることを確認してください。たとえば、次のようになります。
      BrowserName=Netscape 7; BrowserPath=
      C:¥Program Files¥Netscape¥Netscape¥Netscp.exe

    • major.minorバージョン関連のエラーで「Webレイアウトを実行」が失敗した場合、CLASSPATH環境変数またはREPORTS_CLASSPATH環境変数を次のように更新する必要があります。oc4j.jarファイル・パス内の9.0.x ORACLE_HOMEの指定を削除します(oc4j.jarファイル・パスは10gリリース2(10.1.2) ORACLE_HOMEのみを指定している必要があります)。

     

  2. パラメータ・フォームが次のような外観でWebブラウザに表示されます。

    図41-5    値が含まれるパラメータ・フォーム


    画像の説明


    注意

    変更後のパラメータ・フォームでは、部門の値リストが「a」から「Accounting」に変わっていることがわかります。 


  3. 「Department」リストをクリックして、リストに部門名がどのように移入されているか確認します。「レポート実行」ボタンはクリックできますが、このボタンのアクションをまだ定義していないで、このボタンをクリックしても何も起こりません。

41.4 ターゲット・レポートの設定

パラメータの設定が完了したので、次の手順では、パラメータを受け入れるようターゲット・レポートを設定します。その後、パラメータ・フォームのアクションを定義します。ユーザーが「レポート実行」ボタンをクリックすると、部門パラメータとユーザーIDパラメータの値に基づいてターゲット・レポートが実行されます。

この項で使用するターゲット・レポートは『Oracle Reportsチュートリアル』のサンプル・レポートです。『Oracle Reportsチュートリアル』の作業を完了し、emprevb.jspを作成してある場合は、この項でそのレポートを使用できます。このレポートを作成していない場合は、提供されているサンプル・ファイルemprev_final.jspを使用してください。この項では、このレポートの作成手順については説明しません。

JSPベースのWebレポートのサンプルを作成する方法の詳細は、『Oracle Reportsチュートリアル』を参照してください。

ターゲット・レポートを設定するには:

  1. Reports Builderで、提供されているファイルemprev_final.jspを開きます。

  2. オブジェクト・ナビゲータで、「データ・モデル」ノードの横のアイコンをダブルクリックします。

  3. 表示されたデータ・モデル・ビューで、問合せ(Q_1)をダブルクリックして「SQL問合せ文」ダイアログ・ボックスを表示します。

  4. コードの最終行を見つけます。

    WHERE (EMPLOYEES.MANAGER_ID = EMPLOYEES_A1.EMPLOYEE_ID)
    AND EMPLOYEES.DEPARTMENT_ID = 100
    
    
  5. 2番目のWHERE句を変更して、最終行を次のようにします。

    WHERE (EMPLOYEES.MANAGER_ID = EMPLOYEES_A1.EMPLOYEE_ID)
    AND EMPLOYEES.DEPARTMENT_ID = :P_DEPARTMENT
    
    

    ヒント

    変更したコードは、太字のテキストの部分です。 

  6. 「OK」をクリックします。

  7. バインド・パラメータが作成されたことを示す注意が表示されます。「OK」をクリックします。

  8. レポートをemprev_param_<自分のイニシャル>.jspという名前で保存します。

41.5 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)から入手できます。

JSPパラメータ・フォームおよびターゲット・レポートを設定および配布するには:

  1. JSPパラメータ・フォームとWebレポート(paramform_<自分のイニシャル>.jspemprev_param_<自分のイニシャル>.jsp)を次のディレクトリにコピーします。

    ORACLE_HOME¥reports¥j2ee¥reports_ids¥web
    
    


    注意

    ORACLE_HOMEは、Reports Builderがインストールされているディレクトリです。 


  2. Reports Builderで、ファイルORACLE_HOME¥reports¥j2ee¥reports_ids¥web¥paramform_<自分のイニシャル>.jspを開きます。

  3. Webソース・ビューで、ユーザーが「レポート実行」をクリックしたら、選択されたパラメータに基づいて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>
    
    


    注意

    • 上のコードでは、アクション属性は、レポートが前述の手順で指定したディレクトリに配置されていることを前提としています。

    • この章で作成したパラメータ・フォームは、Webレポートのかわりにペーパー・レポートを実行するときにも使用できます。そのためには、次のコードを使用します。

      <form name="form1" method="post"
      action="/reports/rwservlet?report=report
      _name.jsp&destype=destype&desformat=desformat">
      
      
    • JSPベースのWebレポートおよびペーパー・レポートの配布の詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。このマニュアルは、Oracle Technology NetworkのOracle Reportsドキュメントのページ(http://www.oracle.com/technology/documentation/reports.html)から入手できます。

     

  4. レポートを保存します。

  5. OC4Jインスタンスを起動します。

    • Windowsの場合は、次のいずれかの操作を行います。

      • 「スタート」メニューで、「プログラム」→「Oracle Developer Suite」→「ORACLE_HOME」→「Reports Developer」→「Start OC4J Instance」を選択します。

      • コマンドラインから、次のファイルを実行します。

        IDS_HOME¥j2ee¥DevSuite¥startinst.bat
        
        
    • UNIXの場合は、次のシェル・スクリプトを起動します。

       IDS_HOME/j2ee/DevSuite/startinst.sh
      
      

      ヒント

      J2EEのコンテナが初期化されると、OC4Jインスタンスが起動します。 

  6. Webブラウザで、パラメータ・フォームのURLを次のように入力します。

    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)から入手できます。. 


  7. 「シングル・サインオン」ログイン・ページが表示された場合、シングル・サインオン・ユーザー名とパスワードを入力します。OracleAS Single Sign-Onの詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。

  8. パラメータ・フォームが表示されたら、リストから部門を選択します。たとえば、「Finance」を選択します。

  9. 「ログインID」フィールドに、emprev_param_<自分のイニシャル>.jspレポートで使用するデータベース・スキーマの接続文字列を入力します。たとえば、hr/hr@orclと入力します。

    図41-6    選択項目のあるJSPパラメータ・フォーム


    画像の説明

  10. 「レポート実行」をクリックします。

  11. 上部にグラフがある、次のような従業員給与レポートが表示されます。

    図41-7    ユーザー・パラメータに基づく従業員レポートのサンプル


    画像の説明


    注意

    作成したレポートが正しい外観で表示されているかどうかがわからない場合は、提供されているファイルparamform.jspemprev_param.jspを使用し、この項の全手順に従ってパラメータ・フォームとWebレポートを配布してみてください。 


41.6 まとめ

これで、すべての作業が完了しました。既存のWebレポートに対するJSPパラメータ・フォームが完成しました。この章で学習した内容は次のとおりです。

この例で使用されているウィザード、ビューまたはプロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照してください。これは、第3.1.1項「Oracle Reportsオンライン・ヘルプの使用」の説明にようにReports Builder、またはOracle Technology Network(OTN)から表示できます。


戻る 次へ
Oracle
Copyright © 2003, 2005 Oracle.

All Rights Reserved.
目次
目次
索引
索引