ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド
11gリリース1(11.1.1)
B61376-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

43.3 Web用バーコード・レポートの作成

この項の手順は、第43.2.1項「Reports BuilderへのJavaクラスのインポート」でインポートしたバーコードJavaBeanを使用するJSPベースのWebレポートを作成する方法を示しています。バーコードを含んだペーパー・レポートを作成する場合は、第43.2項「ペーパー出力用バーコード・レポートの作成」を参照してください。

JSPベースのWebレポートの作成方法がわからない場合、作成方法を学習するには、『Oracle Reportsチュートリアル』を参照してください。

この項で作成するレポートは、ペーパー出力用に作成したレポートと同じです。つまり、特定の顧客に対する請求書を表示するレポートを作成します。この請求書には、顧客の住所、注文内容および注文の追跡番号を表すバーコードが表示されます。このバーコードを使用して、発注の状態を確認できます。

提供されているJSPレポートの最終バージョンを実行すると、これらの手順での作成結果を確認できます。ただし、Webに対してレポートを実行する前に、ソース・コード内でイメージの場所を更新する必要があるので注意してください(第43.3.3項「バーコードJavaBeanの初期化とそのプロパティの設定」を参照)。


注意:

この項での作業を開始する前に、必要なファイルをすべてインポートしたか、およびJavaクラスをインポートしてクラス・パスを設定したかを確認する必要があります。第43.1項「この例の前提条件」および第43.2.1項「Reports BuilderへのJavaクラスのインポート」を参照してください。

43.3.1 既存のHTMLファイルにおける問合せの作成

JSPベースのWebレポートを作成する際に、既存のHTMLファイルをテンプレートとして使用できます。この項の手順では、Reports BuilderでのHTMLファイルの開き方とそのファイルにデータを追加する方法について説明します。

既存のHTMLファイルに問合せを作成するには:

  1. Reports Builderで、「ファイル」→「開く」を選択して、ファイルExamples\barcodebeanweb\source\shipping_label.htmlを開きます。

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

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

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

    SELECT ALL CUSTOMERS_A1.CUST_FIRST_NAME,
      CUSTOMERS_A1.CUSTOMER_ID, CUSTOMERS_A1.CUST_LAST_NAME,
      CUSTOMERS_A1.CUST_ADDRESS.STREET_ADDRESS,
      CUSTOMERS_A1.CUST_ADDRESS.POSTAL_CODE,
      CUSTOMERS_A1.CUST_ADDRESS.CITY,
      CUSTOMERS_A1.CUST_ADDRESS.STATE_PROVINCE,
      CUSTOMERS_A1.CUST_ADDRESS.COUNTRY_ID,
      ORDERS.ORDER_ID, ORDERS.ORDER_DATE, ORDERS.ORDER_TOTAL,
      COUNTRIES.COUNTRY_NAME FROM CUSTOMERS CUSTOMERS_A1, ORDERS,
      HR.COUNTRIES
    WHERE ((ORDERS.CUSTOMER_ID = CUSTOMERS_A1.CUSTOMER_ID)
      AND (CUSTOMERS_A1.CUST_ADDRESS.COUNTRY_ID = HR.COUNTRIES.COUNTRY_ID))
      AND ORDERS.ORDER_ID = :P_ORDER_ID ORDER BY order_ID 
    

    注意:

    この問合せは、次のいずれかの方法で入力できます。
    • 提供されているテキスト・ファイルbarcode_code.txtから、コードをコピーして「SQL問合せ文」フィールドに貼り付けます。

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

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


  5. OK」をクリックします。

    サンプル・スキーマが格納されているデータベースに接続されていない場合は、ここでログインする必要があります。接続文字列がわからない場合は、データベース管理者に問い合せてください。この例では、Order Entryサンプル・スキーマを使用します。

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

  7. データ・モデル・ビューで、グループ・オブジェクトをダブルクリックして、プロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 一般情報」で、「名前」プロパティを「G_SHIPMENT」に設定します。

    作成したデータ・モデルは次のようになります。

    図43-5 JSPベースWebレポートの問合せのデータ・モデル

    図43-5の説明は次にあります
    「図43-5 JSPベースWebレポートの問合せのデータ・モデル」の説明

  8. レポートをShippingLabel_<自分のイニシャル>.jspという名前で保存して、このレポートのJSPベースのWebソースを作成します。

これで、レポート用のデータを取り込む問合せの作成が完了しました。

43.3.2 データ・モデルにおける3つの式列の作成

注文の追跡番号、注文元および注文先を取得するために、レポートに3つの式列を作成する必要があります。

TrackingNumber式列を作成するには:

  1. データ・モデル・ビューで、ツール・パレットの「式列」ツールをクリックします。

  2. G_SHIPMENT」グループ内をクリックして、新しい式列を作成します。

  3. 新しい式列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 一般情報」で、「名前」プロパティを「ImageFilename」に設定します。

    • 」で、「データ型」プロパティを「Character」に設定します。

    • プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。

  4. PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。

    function TrackingNumberFormula return char is
    begin
        return(:Customer_id||:Order_ID||:country_ID);
    end;
    

    注意:

    提供されているテキスト・ファイルbarcode_code.txtから、このコードをコピーして貼り付けると、コードを入力できます。

  5. コンパイル」をクリックします。


    注意:

    コードがコンパイルされない場合は、提供されているコードを正確に入力したかどうかを確認してください。

  6. コードがコンパイルされたら、「閉じる」をクリックします。

OriginScan式列を作成するには:

  1. G_SHIPMENTグループに、もう1つの式列を作成します。

  2. 新しい式列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 一般情報」で、「名前」プロパティを「OriginScan」に設定します。

    • 」で、「データ型」プロパティを「Character」に設定します。

    • プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。

  3. PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。

    function OriginScanFormula return char is
    begin
      return('34324-OH-US');
    end;
    

    注意:

    提供されているテキスト・ファイルbarcode_code.txtから、このコードをコピーして貼り付けると、コードを入力できます。

  4. コンパイル」をクリックします。


    注意:

    コードがコンパイルされない場合は、提供されているコードを正確に入力したかどうかを確認してください。

  5. コードがコンパイルされたら、「閉じる」をクリックします。

DestinationScan式列を作成するには:

  1. G_SHIPMENTグループに、3つ目の式列を作成します。

  2. 新しい式列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。

    • 一般情報」で、「名前」プロパティを「DestinationScan」に設定します。

    • 」で、「データ型」プロパティを「Character」に設定します。

    • プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。

  3. PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。

    function DestinationScanFormula return char is
    begin
    return(:postal_code||'-'||:state_province||'-'||:country_ID);
    end;
    

    注意:

    提供されているテキスト・ファイルbarcode_code.txtから、このコードをコピーして貼り付けると、コードを入力できます。

  4. コンパイル」をクリックします。


    注意:

    コードがコンパイルされない場合は、提供されているコードを正確に入力したかどうかを確認してください。

  5. コードがコンパイルされたら、「閉じる」をクリックします。

  6. レポートをJSPとして保存します。

これで、注文の追跡番号、注文元および注文先の値を取り込む3つの式列の作成が完了しました。作成したデータ・モデルは次のようになります。

図43-6 3つの式列を持つデータ・モデル

図43-6の説明は次にあります
「図43-6 3つの式列を持つデータ・モデル」の説明

43.3.3 バーコードJavaBeanの初期化とそのプロパティの設定

JSPベースのWebレポートでJavaBeanと通信するには、JSPでそのJavaBeanを初期化する必要があります。ペーパー・レポートでJavaBeanを使用する場合とは異なり、Java Importerを使用してJavaクラスをインポートする必要はありません。

この項では、正しいデータを使用してバーコードが作成されるように、Beanのプロパティを設定する方法についても説明します。

ソース・ファイル(Examples/barcodebeanweb/source/shipping_manifest_web.rdf)を開いてWebソースの該当個所をレポートにコピーすると、コードを入力する手間が省けます。

JavaBeanが正しいバーコード・イメージを参照できるようにするには、まず正しいパスを使用してレポートを更新する必要があります。

パスを更新するには:

  1. オブジェクト・ナビゲータで、JSPベースWebレポート(ShippingLabel_<自分のイニシャル>)の「Webソース」ノードの横にあるビュー・アイコンをダブルクリックして、Webソース・ビューを表示します。

  2. Webソース・ビューで、「Define Path information for your barcode images」というテキストを検索します。

  3. このテキストの下で、イメージの生成先のディレクトリ(d:\\temp\\docroot\\images\\など)をポイントするようにパスを更新します。提供されているパスとの整合性を維持するようにしてください。


    注意:

    これらのファイルが配置されるディレクトリは、Web Serverからアクセスできる必要があります。通常、このディレクトリは、JSPを保持するディレクトリの下にあります。このディレクトリがコンピュータ上に存在することを確認してから、Webに対してレポートを実行するようにします。

JavaBeanを初期化するには:

  1. Webソース・ビューで、「initialize the java beans」というテキストを検索します。

  2. このテキストの下に次のコードを入力します。

    <jsp:useBean id="BC" scope="page" class="oracle.apps.barcode.util.BarCodeConstants" />
    <jsp:useBean id="BM" scope="page" class="oracle.apps.barcode.BarCodeMaker" />
    

    注意:

    この項のコードはすべて、提供されているテキスト・ファイルbarcode_code.txtから、コピーして貼り付けることによって入力できます。

バーコードJavaBeanのプロパティを設定するには:

  1. Webソース・ビューで、setting the barcodes propertiesというテキストを検索します。

  2. このテキストの下に次のコードを入力します。

    <jsp:setProperty name="BM" property="BarCodeType" value="<%= BC.BAR_CODE_128 %>" />
    <jsp:setProperty name="BM" property="BarWidthInch" value="0.01"/>
    <jsp:setProperty name="BM" property="Directory" value="<%= BarcodePhysicalPath %>"/>
    

バーコード変数を定義するには:

  1. Webソース・ビューで、「Define variables to hold the data for the three barcodes」というテキストを検索します。

  2. このテキストの下に次のコードを入力します。

     <%! private String BarCodeData1 = "12345-XX-XX"; %>
     <%! private String BarCodeData2 = "12345-XX-XX"; %>
     <%! private String BarCodeData3 = "12345-XX-XX"; %>
    

For Eachループを作成するには:

  1. Webソース・ビューで、「replace this with your RW:FOREACH open tag」というテキストを検索します。

  2. この行を次のコードで置き換えます。

    <rw:foreach id="R_G_SHIPMENT" src="G_SHIPMENT">
    
  3. replace this with your RW:FOREACH close tag」というテキストを検索します。

  4. この行を次のコードで置き換えます。

    </rw:foreach>
    

バーコードをレンダリングする式列をコーディングするには:

  1. Webソース・ビューで、「**BARCODEShippingTrackingNumber**」というテキストを検索します。

  2. このテキストの下に次のコードを入力します。

    <!-- Get the value of the TrackingNumber and assign it to the variable -->
    <rw:getValue id="BarCodeData1" src="TrackingNumber"/>
    <!-- Set the data for tbe barcode and the filename -->
    <jsp:setProperty name="BM" property="BaseCodeData" value="<%= BarCodeData1 %>"/>
    <jsp:setProperty name="BM" property="FileName" value="<%= BarCodeData1 %>"/>
    <!-- Render the barcode -->
    <% BM.renderBarCode(); %>
    <!-- View the image in the page -->
    <img src="assets/barcodes/<%= BarCodeData1 %>">
    

    注意:

    "<!--"で始まる行はコメントです。コードにコメントを挿入しない場合は、これらの行を追加する必要はありません。

  3. Webソース・ビューで、「**BARCODEOriginScan**」というテキストを検索します。

  4. このテキストの下に次のコードを入力します。

    <!-- Get the value of the OriginScan and assign it to the variable -->
    <rw:getValue id="BarCodeData2" src="OriginScan"/>
    <!-- Set the data for tbe barcode and the filename -->
    <jsp:setProperty name="BM" property="BaseCodeData" value="<%= BarCodeData2 %>"/>
    <jsp:setProperty name="BM" property="FileName" value="<%= BarCodeData2 %>"/>
    <!-- Render the barcode -->
    <% BM.renderBarCode(); %>
    <!-- View the image in the page -->
    <img src="assets/barcodes/<%= BarCodeData2 %>">
    
  5. Webソース・ビューで、「**BARCODEDestinationScan**」というテキストを検索します。

  6. このテキストの下に次のコードを入力します。

    <!-- Get the value of the DestinationScan and assign it to the variable -->
    <rw:getValue id="BarCodeData3" src="DestinationScan"/>
    <!-- Set the data for tbe barcode and the filename -->
    <jsp:setProperty name="BM" property="BaseCodeData" value="<%= BarCodeData3 %>"/>
    <jsp:setProperty name="BM" property="FileName" value="<%= BarCodeData3 %>"/>
    <!-- Render the barcode -->
    <% BM.renderBarCode(); %>
    <!-- View the image in the page -->
    <img src="assets/barcodes/<%= BarCodeData3 %>">
    
  7. レポートをJSPとして保存します。

43.3.4 Webに対するレポートの実行

Webレポートの作成が完了した後、このレポートをWebに対して実行し、結果を確認する必要があります。

  1. オブジェクト・ナビゲータで、レポート名「ShippingManifestWeb_<自分のイニシャル>」をクリックします。

  2. ツールバーで「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ブラウザに表示されます。

図43-7 バーコードを含んだ最終的なJSPベースWebレポートのスナップショット

図43-7の説明は次にあります
「図43-7 バーコードを含んだ最終的なJSPベースWebレポートのスナップショット」の説明


注意:

意図した結果が得られたかどうかがわからない場合は、resultsディレクトリにあるShippingManifestWeb.htmlをWebブラウザでいつでも開くことができます。あるいは、イメージ・パスの更新後、Webに対してShippingManifestWeb.jspを実行すると、レポートがブラウザに表示されます。