Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド リリース10.1.3.4 B51053-02 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この付録では、次のトピックについて説明します。
Oracle BI Publisherでは、Oracle ReportsからOracle BI Publisherフォーマットにレポートを変換するためのユーティリティが用意されています。
Oracle Reportsでは、データ・モデル(SQL問合せや抽出ロジック)とレポート・レイアウト仕様が単一のファイルに格納されています。Oracle BI Publisherでは、データ・モデルとレイアウトは別々のオブジェクトになっています。したがって変換ユーティリティでは、単一のOracle Reportsファイルから、Oracle BI Publisherのレポートを構成するファイルが複数生成されます。ほとんどの場合、このファイル・セットにはレポートのデータが格納されるデータベースにおいて作成する必要があるPL/SQL仕様部と本体が含まれます。このユーティリティでは、Oracle BI Publisherリポジトリにアップロードするレポート定義ファイルとレイアウト・テンプレート・ファイルも生成されます。
アップロードしたら、レポートをテストして出力が意図したとおりになることを確認し、レポートを必要に応じて変更します。ユーティリティでは変換できない構造のあるレポートも存在します。これらは変換されたレポートに手動で実装する必要があります。
変換プロセスの全体フローは次のとおりです。
変換ユーティリティを実行します。
PL/SQLパッケージをデータベースにロードします。
レポートをOracle BI Publisherリポジトリにアップロードします。
レポートのテストと変換ログ・ファイルの確認を行い、手動の変更が必要になる箇所を調べて、変換作業を完了させます。
BI PublisherのOracle Reports変換ユーティリティを実行するための前提条件は次のとおりです。
JDKバージョン1.1.8以降を実行している必要があります。
変換元のOracle ReportsはXML形式であることが必要です。
CLASSPATHには必要なJARファイルを記載する必要があります。
変換ユーティリティでは、変換元のOracle ReportsがXML形式である必要があります。Oracle ReportsのXML形式は、Oracle Reports 9i以降でサポートされています。変換元のレポートがOracke ReportsのXML形式でない場合、変換ユーティリティはこの変換を自動的に実行できます。ユーティリティが変換を実行するための要件を次に示します。
変換ユーティリティと同じマシンにOracle Reports Designer 9i以降がインストールされている必要があります。
レポートをOracle ReportsのXML形式に処理するrwconverter実行可能ファイルを変換ユーティリティでコールできる必要があります。
Oracle Reports DesignerはOracle Developer Suite 10g(10.1.2.0.2)の一部で、次の場所から入手できます。
http://www.oracle.com/technology/software/products/ids/index.html
変換ユーティリティを実行するには、次のファイルをCLASSPATHに定義する必要があります。
Collections.zip
xmlparserv2-904.jar
xdocore.jar
aolj.jar
Oracle E-Business Suiteを使用しているお客様の場合、これらのライブラリまたは対応クラスは、JAVA_TOPで入手できます。Oracle BI Publisher Enterpriseを使用しているお客様の場合、これらのライブラリはすべてWEB-INF\libで入手できます。WEB-INF\libへのサンプル・パスは次のとおりです。
C:\Oracle\bi\oc4j_ bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib
CLASSPATHを更新したら、コマンドラインから変換ユーティリティを実行することができます。このユーティリティは次のコマンドよりコールされます。
BIPBatchConversion
コマンドラインの使用方法は次のとおりです。
java ... BIPBatchConversion [-debug] -source <SourceDirectory> -target
<TargetDirectory> [-oraclehome <OracleHomePath>]
各項目は次のとおりです。
-source: (必須)Oracle Reportsファイルの変換元ディレクトリです。すべてのレポートを同じ形式(RDFまたはXML)にする必要があります。
-target: (必須)Oracle BI Publisherレポート・オブジェクトの作成先となる変換先ディレクトリです。変換されるオブジェクトには、Oracle BI Publisherレポート・ファイル(.xdo)、レイアウト・テンプレート・ファイル(.rtf)、PL/SQLパッケージおよびログ・ファイルがあります。
-oraclehome: (条件付き)レポートがOracle ReportsのXML形式の場合、このパラメータは指定しないでください。
レポートがOracle ReportsのRDF形式の場合、BIPBatchConversionでは、レポートをRDF形式からXML形式に変換するためにはOracle Reportsのrwconverterが必要です。Oracle Report Designer(9i以降のリリース)のインストール先Oracleホーム・パスを指定してください。BIPBatchMigrationでは、指定したOracleホーム・パスの下のbinディレクトリにrwconverterが存在していることを前提にしています。
-debug: (オプション)ユーティリティをデバッグ・モードで実行してデバッグ情報をログ・ファイルに書き込むには、このパラメータを指定します。
変換元レポートがOracle ReportsのRDFファイルの場合
この例では、-oraclehomeでパスを指定する必要があります。
java.exe -classpath
D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.j
ar;d:\Jdev\project\xmlparserv2-904.jar
oracle.apps.xdo.rdfparser.BIPBatchConversion -source d:\reports\pay -target
d:\reports\pay\output -oraclehome D:\oracle\BIToolsHome_1 -debug
変換元レポートがOracle ReportsのXML形式の場合
この例では、-oraclehomeパラメータを指定しないでください。
java.exe -classpath
D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.j
ar;d:\Jdev\project\xmlparserv2-904.jar
oracle.apps.xdo.rdfparser.BIPBatchConversion -source d:\reports\pay -target
d:\reports\pay\output -debug
このユーティリティやrdfparserパッケージのその他の関連変換APIの詳細は、Oracle BI Publisher 10.1.3.3のJava APIリファレンス(Javadoc)を参照してください。
変換ユーティリティでは、変換される各レポートに対し、変換先ディレクトリに次の出力ファイルが生成されます。
データ・モデルを含むレポート定義ファイル(形式: <REPORT>.xdo)
注意: このファイルはE-Business Suiteユーザーには必要ありません。データ・テンプレートの下にある次の注意を参照してください。
データ・モデルを定義するデータ・テンプレート・ファイル(形式: <REPORT>_template.xml)
注意: Oracle BI Publisher Enterpriseユーザーの場合、データ・テンプレートは<REPORT>.xdoに組み込まれているため、必要ありません。
デフォルトのPL/SQLパッケージ仕様部(形式: <REPORT>S.pls)
デフォルトのPL/SQLパッケージ本体(形式: <REPORT>B.pls)
RTFレイアウト・テンプレート(例: <REPORT>.rtf)
ログ・ファイル(形式: <REPORT>.log)
たとえば、D:\reports\payにinvoice.rdfというレポートが配置されていると仮定します。次のコマンドを実行します。
java.exe -classpath
D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.j
ar;d:\Jdev\project\xmlparserv2-904.jar
oracle.apps.xdo.rdfparser.BIPBatchConversion -source d:\reports\pay -target
d:\reports\pay\output -oraclehome D:\oracle\BIToolsHome_1 -debug
これによって、次の出力ファイルが生成されます。
PL/SQLパッケージ仕様部: C:\BIPublisher_reports\ invoice\invoiceS.pls
PL/SQLパッケージ本体: C:\BIPublisher_reports\ invoice\invoiceB.pls
レポート定義ファイル: C:\BIPublisher_reports\ invoice\invoice.xdo
データ・テンプレート: C:\BIPublisher_reports\ invoice\invoice_template.xml
RTFレイアウト・テンプレート: C:\BIPublisher_reports\invoice\invoice.rtf
ログ・ファイル: C:\BIPublisher_reports\invoice\invoice.log
多くの変換対象Oracle Reportsでは、次のようにPL/SQLパッケージ仕様部ファイルとPL/SQLパッケージ本体ファイルが生成されます。
<report_name>S.pls
<report_name>B.pls
PL/SQLパッケージのファイルをOracle Databaseに対して次のように実行します。これによって、PL/SQLパッケージの仕様部と本体が作成されます。
SQL> @C:\BIPublisher_reports\invoice\invoiceS.pls
SQL> @C:\BIPublisher_reports\invoice\invoiceB.pls
レポートをOracle BI Publisherリポジトリで表示可能にするには、次に示す2つの手順を実行します。
レポート・フォルダをリポジトリにコピーします。
リポジトリ・メタデータをリフレッシュします。
ファイルベースのリポジトリの場合、レポート・フォルダ構造をファイル・システムにコピーします。たとえば、レポジトリ・パスが次のように設定されていると仮定します。
C:\oracle\bi\xmlp\XMLP
前述の例におけるレポートの場合、レポート・ディレクトリとそのファイルをすべて、既存のレポート・リポジトリの対象フォルダ構造に単純にコピーします。
次に例を示します。
> copy C:\BIPublisher_reports\invoice C:\oracle\bi\xmlp\XMLP\Shared Folders\Converted reports
Oracle DatabaseのXML DB機能をレポート・リポジトリとして使用している場合、内容をアップロードできる方法は数種類あります。その1つはWebDAVによる方法です。レポートをXML DBベースのリポジトリにロードする方法とオプションの詳細は、『Oracle XML DB開発者ガイド』の次の項を参照してください。
Oracle XML DBへのXMLコンテンツのロードに関する項
リポジトリ・データに対するFTP、HTTP(S)およびWebDAVのアクセスに関する項
レポート・ディレクトリをリポジトリにロードしたら、Oracle BI Publisherに管理者権限でログオンし、Oracle BI Publisherの「管理」ページの「システム・メンテナンス」セクションで「メタデータのリフレッシュ」を選択します。これですべてのレポートをテストおよび実行できます。
レポートを正常に変換して必要なPL/SQLパッケージを作成し、レポート定義ファイルとRTFテンプレート・ファイルをOracle BI Publisherリポジトリに移動したら、レポートをテストして、データとフォーマットが意図したとおりであることを確認する必要があります。変換されたレポートの多くは、変更しなくても意図したとおりに実行されます。複雑なレポートでは、意図したとおりに実行されるためには変更が必要になる場合があります。変換されたレポートに関する一般的な問題について次に説明します。
複雑なOracle Reportsレポートを変換すると、データ・テンプレートやPL/SQLに軽度なエラーが発生して手動の修正が必要になる場合があります。変換ユーティリティでは、すべての計算式列はデータ・モデルにおいてSQL問合せのSELECT句に移動します。ほとんどの場合、これによって問題は発生しません。ただし、計算式の引数が集計列である場合、問合せが実行された時点で集計列が計算されないためこれは機能しません。
この問題に対処するには、この計算式をSELECT句から削除し、計算式をXSLとしてレイアウト・テンプレートに実装する必要があります。これらの計算式の多くは、単純な加算処理、合計処理、通貨変換処理、書式設定処理および端数切捨て処理のために使用されます。
Oracle Reportsレポートの大半では、単純なif文フォーマット・ロジックが使用されます。変換ユーティリティでは、このロジックは自動的に同等のXSL-FOに変換され、RTFレイアウト・テンプレートのフォーム・フィールドに挿入されます。ただし、RTFレイアウト・テンプレートではPL/SQLはサポートされません。変換ユーティリティでは、PL/SQLフォーマット・トリガーのロジックがレポートに存在しても変換されません。そのかわりに変換ユーティリティでは、フォーマット・トリガーのコードはすべて、ログ・ファイルに書き込まれます。対応するPL/SQLロジックをXSLコードとして実装する必要があります。
この作業を容易にするために、コールされるフォーマット・トリガー名が格納されるフォーム・フィールドが、RTFテンプレートに格納されます。これらのフィールドは赤色で強調表示されます。これによってログを参照して、元のOracle Reportsで使用されている実際のPL/SQLコードを検索することができます。これらのPL/SQLトリガーをXSL-FOとして書きなおす必要があります。
詳細は、「拡張された関数サポート」を参照してください。
Copyright © 2003, 2008, Oracle and/or its affiliates. All rights reserved.