Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 11gリリース1(11.1.1) B61376-01 |
|
![]() 戻る |
![]() 次へ |
この項の手順は、第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クラスのインポート」を参照してください。 |
JSPベースのWebレポートを作成する際に、既存のHTMLファイルをテンプレートとして使用できます。この項の手順では、Reports BuilderでのHTMLファイルの開き方とそのファイルにデータを追加する方法について説明します。
既存のHTMLファイルに問合せを作成するには:
Reports Builderで、「ファイル」→「開く」を選択して、ファイルExamples
\barcodebeanweb\source\shipping_label.html
を開きます。
オブジェクト・ナビゲータで、「SHIPPINGLABEL」の下にある「データ・モデル」ノードの横のビュー・アイコンをダブルクリックして、レポートのデータ・モデル・ビューを表示します。
データ・モデル・ビューで、ツール・パレットの「SQL問合せ」ツールをクリックし、データ・モデル・ビューの空いている場所をクリックして、「SQL問合せ文」ダイアログ・ボックスを表示します。
「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
注意: この問合せは、次のいずれかの方法で入力できます。
|
「OK」をクリックします。
サンプル・スキーマが格納されているデータベースに接続されていない場合は、ここでログインする必要があります。接続文字列がわからない場合は、データベース管理者に問い合せてください。この例では、Order Entryサンプル・スキーマを使用します。
バインド・パラメータが作成されたことを示すメッセージが表示された後、「OK」をクリックします。
データ・モデル・ビューで、グループ・オブジェクトをダブルクリックして、プロパティ・インスペクタを表示し、次のプロパティを設定します。
「一般情報」で、「名前」プロパティを「G_SHIPMENT」に設定します。
作成したデータ・モデルは次のようになります。
レポートをShippingLabel_
<自分のイニシャル>.jsp
という名前で保存して、このレポートのJSPベースのWebソースを作成します。
これで、レポート用のデータを取り込む問合せの作成が完了しました。
注文の追跡番号、注文元および注文先を取得するために、レポートに3つの式列を作成する必要があります。
TrackingNumber式列を作成するには:
データ・モデル・ビューで、ツール・パレットの「式列」ツールをクリックします。
「G_SHIPMENT」グループ内をクリックして、新しい式列を作成します。
新しい式列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
「一般情報」で、「名前」プロパティを「ImageFilename」に設定します。
「列」で、「データ型」プロパティを「Character」に設定します。
「プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。
PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。
function TrackingNumberFormula return char is begin return(:Customer_id||:Order_ID||:country_ID); end;
注意: 提供されているテキスト・ファイルbarcode_code.txt から、このコードをコピーして貼り付けると、コードを入力できます。 |
「コンパイル」をクリックします。
注意: コードがコンパイルされない場合は、提供されているコードを正確に入力したかどうかを確認してください。 |
コードがコンパイルされたら、「閉じる」をクリックします。
OriginScan式列を作成するには:
G_SHIPMENTグループに、もう1つの式列を作成します。
新しい式列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
「一般情報」で、「名前」プロパティを「OriginScan」に設定します。
「列」で、「データ型」プロパティを「Character」に設定します。
「プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。
PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。
function OriginScanFormula return char is begin return('34324-OH-US'); end;
注意: 提供されているテキスト・ファイルbarcode_code.txt から、このコードをコピーして貼り付けると、コードを入力できます。 |
「コンパイル」をクリックします。
注意: コードがコンパイルされない場合は、提供されているコードを正確に入力したかどうかを確認してください。 |
コードがコンパイルされたら、「閉じる」をクリックします。
DestinationScan式列を作成するには:
G_SHIPMENTグループに、3つ目の式列を作成します。
新しい式列オブジェクト(CF_1)をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
「一般情報」で、「名前」プロパティを「DestinationScan」に設定します。
「列」で、「データ型」プロパティを「Character」に設定します。
「プレースホルダ/式」で、「PL/SQL式」プロパティ・フィールドをクリックしてPL/SQLエディタを表示します。
PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。
function DestinationScanFormula return char is begin return(:postal_code||'-'||:state_province||'-'||:country_ID); end;
注意: 提供されているテキスト・ファイルbarcode_code.txt から、このコードをコピーして貼り付けると、コードを入力できます。 |
「コンパイル」をクリックします。
注意: コードがコンパイルされない場合は、提供されているコードを正確に入力したかどうかを確認してください。 |
コードがコンパイルされたら、「閉じる」をクリックします。
レポートをJSPとして保存します。
これで、注文の追跡番号、注文元および注文先の値を取り込む3つの式列の作成が完了しました。作成したデータ・モデルは次のようになります。
JSPベースのWebレポートでJavaBeanと通信するには、JSPでそのJavaBeanを初期化する必要があります。ペーパー・レポートでJavaBeanを使用する場合とは異なり、Java Importerを使用してJavaクラスをインポートする必要はありません。
この項では、正しいデータを使用してバーコードが作成されるように、Beanのプロパティを設定する方法についても説明します。
ソース・ファイル(Examples
/barcodebeanweb/source/shipping_manifest_web.rdf
)を開いてWebソースの該当個所をレポートにコピーすると、コードを入力する手間が省けます。
JavaBeanが正しいバーコード・イメージを参照できるようにするには、まず正しいパスを使用してレポートを更新する必要があります。
パスを更新するには:
オブジェクト・ナビゲータで、JSPベースWebレポート(ShippingLabel_
<自分のイニシャル>
)の「Webソース」ノードの横にあるビュー・アイコンをダブルクリックして、Webソース・ビューを表示します。
Webソース・ビューで、「Define Path information for your barcode images
」というテキストを検索します。
このテキストの下で、イメージの生成先のディレクトリ(d:\\temp\\docroot\\images\\
など)をポイントするようにパスを更新します。提供されているパスとの整合性を維持するようにしてください。
注意: これらのファイルが配置されるディレクトリは、Web Serverからアクセスできる必要があります。通常、このディレクトリは、JSPを保持するディレクトリの下にあります。このディレクトリがコンピュータ上に存在することを確認してから、Webに対してレポートを実行するようにします。 |
JavaBeanを初期化するには:
Webソース・ビューで、「initialize the java beans
」というテキストを検索します。
このテキストの下に次のコードを入力します。
<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のプロパティを設定するには:
Webソース・ビューで、setting the barcodes properties
というテキストを検索します。
このテキストの下に次のコードを入力します。
<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 %>"/>
バーコード変数を定義するには:
Webソース・ビューで、「Define variables to hold the data for the three barcodes
」というテキストを検索します。
このテキストの下に次のコードを入力します。
<%! private String BarCodeData1 = "12345-XX-XX"; %> <%! private String BarCodeData2 = "12345-XX-XX"; %> <%! private String BarCodeData3 = "12345-XX-XX"; %>
For Eachループを作成するには:
Webソース・ビューで、「replace this with your RW:FOREACH open tag
」というテキストを検索します。
この行を次のコードで置き換えます。
<rw:foreach id="R_G_SHIPMENT" src="G_SHIPMENT">
「replace this with your RW:FOREACH close tag
」というテキストを検索します。
この行を次のコードで置き換えます。
</rw:foreach>
バーコードをレンダリングする式列をコーディングするには:
Webソース・ビューで、「**BARCODEShippingTrackingNumber**
」というテキストを検索します。
このテキストの下に次のコードを入力します。
<!-- 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 %>">
注意: "<!--"で始まる行はコメントです。コードにコメントを挿入しない場合は、これらの行を追加する必要はありません。 |
Webソース・ビューで、「**BARCODEOriginScan**
」というテキストを検索します。
このテキストの下に次のコードを入力します。
<!-- 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 %>">
Webソース・ビューで、「**BARCODEDestinationScan**
」というテキストを検索します。
このテキストの下に次のコードを入力します。
<!-- 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 %>">
レポートをJSPとして保存します。
Webレポートの作成が完了した後、このレポートをWebに対して実行し、結果を確認する必要があります。
オブジェクト・ナビゲータで、レポート名「ShippingManifestWeb_<自分のイニシャル>
」をクリックします。
ツールバーで「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ブラウザに表示されます。
注意: 意図した結果が得られたかどうかがわからない場合は、results ディレクトリにあるShippingManifestWeb.html をWebブラウザでいつでも開くことができます。あるいは、イメージ・パスの更新後、Webに対してShippingManifestWeb.jsp を実行すると、レポートがブラウザに表示されます。 |