ヘッダーをスキップ
Oracle Business Intelligence新機能ガイド
リリース10.1.3.4.1
B54795-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

18 リリース10.1.3.3のOracle BI PublisherフォーマットへのOracle Reportsレポートの変換

この章では、リリース10.1.3.3で導入されリリース10.1.3.3〜10.1.3.4に適用されるBI Publisher機能について説明します。この機能については、リリース10.1.3.4用に更新されたBI Publisherドキュメント・セットにも記載されています。

この章で説明するように、リリース10.1.3.3ではOracle ReportsのレポートをOracle BI Publisherフォーマットに変換できる機能が導入されています。この章の内容は次のとおりです。

18.1 概要

Oracle BI Publisherでは、Oracle ReportsのレポートをOracle BI Publisherフォーマットに変換するユーティリティが用意されています。

Oracle Reportsでは、データ・モデル(SQL問合せや抽出ロジック)とレイアウトは、単一のファイルに格納されます。Oracle BI Publisherでは、データ・モデルとレイアウトは別々のオブジェクトになります。したがって変換ユーティリティでは、Oracle BI Publisherのレポートを構成するファイルが複数生成されます。ほとんどの場合、レポートのデータが格納されるデータベースにおいて作成する必要があるPL/SQL仕様部と本体が含まれます。またこのユーティリティでは、Oracle BI Publisherリポジトリにアップロードするレポート定義ファイルとレイアウト・テンプレート・ファイルが生成されます。

アップロードしたら、レポートをテストして出力が意図したとおりになることを確認し、レポートを必要に応じて変更します。ユーティリティでは変換できない構造のあるレポートもあります。これらは、変換されたレポートにおいて手動で実装する必要があります。

変換プロセスの手順の概要は次のとおりです。

  1. 変換ユーティリティを実行します。

  2. PL/SQLパッケージをデータベースにロードします。

  3. レポートをOracle BI Publisherリポジトリにアップロードします。

  4. レポートをテストして変換ログ・ファイルを確認し、手動の変更が必要になる箇所を調べて、変換作業を完了させます。

18.2 前提条件

この項では、変換ユーティリティを実行する前に必要な手順について説明します。

18.2.1 レポートとOracle Reports XMLフォーマット

変換プロセスにおいて変換元レポートは、Oracle Reports XMLフォーマットである必要があります。Oracle Reports XMLフォーマットは、Oracle Reports 9i以上でサポートされています。

変換元レポートがOracle Reports XMLフォーマットでない場合、変換ユーティリティではこの変換処理が自動的に行われます。ただし、変換処理を行うマシンと同じマシンにOracle Reports Designer 9i以上がインストールされている必要があります。これによって、Oracle BI Publisherの変換ユーティリティでは、rwconverter実行可能ファイルをコールしてレポートをOracle Reports XMLフォーマットに変換することができます。

Oracle Reports Designerを入手するには、Oracle Developer Suite 10g(10.1.2.0.2)を次のWebページからダウンロードします。

http://www.oracle.com/technology/software/products/ids/index.html

そして、Reports Designerをインストールします。

レポートがOracle Reports XMLフォーマットである場合、Oracle Reportsのインストールは不要です。

18.2.2 必要なJARファイルによるCLASSPATHの更新

変換ユーティリティを実行するには、次のjarファイルをCLASSPATHに配置する必要があります。

  • Collections.zip -

  • xmlparserv2-904.jar -

  • xdocore.jar

  • aolj.jar

Oracle Enterprise Business Suite(EBS)を使用しているお客様の場合、これらのライブラリはJAVA_TOPの下にあります。これらのライブラリが所定の場所にない場合は、対応するクラスがJAVA_TOPの下にあります。

Oracle BI Publisher Enterprise(スタンドアロンともいう)を使用しているお客様の場合、これらのライブラリはすべて、WEB-INF\libの下にあります。次に例を示します。

C:\Oracle\bi\oc4j_bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib

18.2.3 JDKバージョン1.1.8

変換ユーティリティでは、JDKバージョン1.1.8以上が必要です。

18.3 変換ユーティリティ

BIPBatchConversionは、Oracle ReportsのレポートをBI Publisherフォーマットに移行するためのユーティリティです。

次のパラメータがあります。

コマンドラインの使用方法を次に示します。

java ... BIPBatchConversion [-debug] -source SourceDirectory -target TargetDirectory [-oraclehome OracleHomePath]

BIPBatchConversionを実行するコマンドの例を次に示します。

例18-1 Oracle Reports RDFファイルの変換元レポート

この例では、-oraclehomeパスを指定する必要があります。

java.exe  -classpath D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.jar;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

例18-2 Oracle Reports XMLフォーマットの変換元レポート

この例では、-oraclehomeパラメータを指定しないでください。

java.exe  -classpath D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.jar;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)を参照してください。

18.3.1 出力ファイル

変換ユーティリティでは、各レポートに対して次の出力ファイルが生成されます。

  • データ・モデルが格納されるレポート定義ファイル(REPORT.xdoファイルなど)

    (注意: このファイルはE-Business Suiteユーザーには必要ありません。「DataTemplate」の下にある後述の「注意」を参照してください。)

  • DataTemplate(REPORT_template.xmlなど)

    (注意: データ・テンプレートがREPORT.xdoに埋め込まれているため、このファイルはOracle BI Publisher Enterpriseユーザーには必要ありません。)

  • デフォルトPL/SQLパッケージ仕様部(REPORTS.plsなど)

  • デフォルトPL/SQLパッケージ本体(REPORTB.plsなど)

  • RTFレイアウト・テンプレート(REPORT.rtfなど)

  • ログ・ファイル(REPORT.logなど)

たとえば、raxinv.rdfと呼ばれるレポートがD:\reports\payにあると仮定します。次のコマンドを実行します。

java.exe  -classpath D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.jar;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\ raxinv\raxinvS.pls

  • PL/SQLパッケージ本体: C:\BIPublisher_reports\ raxinv\raxinvB.pls

  • レポート定義ファイル: C:\BIPublisher_reports\ raxinv\raxinv.xdo

  • DataTemplate: C:\BIPublisher_reports\ raxinv\raxinv_template.xml

  • RTFレイアウト・テンプレート: C:\BIPublisher_reports\raxinv\raxinv.rtf

  • ログ・ファイル: C:\BIPublisher_reports\raxinv\raxinv.log

18.4 データベースへのPL/SQLパッケージのアップロード

変換された多くのOracle Reportsでは、次のようなPL/SQLパッケージ仕様部ファイルとPL/SQLパッケージ本体ファイルが生成されます。

PL/SQLパッケージのファイルをOracle Databaseに対して次のように実行します。これによって、PL/SQLパッケージの仕様部と本体が作成されます。

SQL> @C:\BIPublisher_reports\ raxinv\raxinvS.pls
SQL> @C:\BIPublisher_reports\ raxinv\raxinvB.pls

18.5 Oracle BI Publisherリポジトリへの変換済レポートの配置

レポートをOracle BI Publisherリポジトリで表示可能にするには、次に示す2つの手順を実行します。

  1. レポート・フォルダをリポジトリにコピーします。

  2. リポジトリ・メタデータをリフレッシュします。

ファイルをベースにしたリポジトリがある場合、レポート・フォルダ構造をファイル・システムにコピーします。たとえば、リポジトリのパスが次のように設定されていると仮定します。

C:\oracle\bi\xmlp\XMLP

前述の例におけるレポートの場合、レポート・ディレクトリとそのファイルをすべて、既存のレポート・リポジトリの対象フォルダ構造に単純にコピーします。

次に例を示します。

> copy C:\BIPublisher_reports\raxinv C:\oracle\bi\xmlp\XMLP\Shared Folders\Converted reports

Oracle DatabaseのXML DB機能をレポート・リポジトリとして使用している場合、内容をアップロードできる方法は数種類あります。1つの方法は、WebDAVを使用する方法です。

レポートをXML DBベースのリポジトリにロードする方法とオプションの詳細は、『Oracle XML DB開発者ガイド』の次の項を参照してください。

レポート・ディレクトリをリポジトリにロードしたら、Oracle BI Publisherに管理者権限でログオンし、Oracle BI Publisherの「管理」ページの「システム・メンテナンス」セクションで「メタデータのリフレッシュ」を選択します。これですべてのレポートのテストと実行ができます。

18.6 レポートのテストと変更

レポートを正常に変換し、必要なPL/SQLパッケージを作成し、レポート定義ファイルとRTFテンプレート・ファイルをOracle BI Publisherリポジトリに移動したら、レポートをテストして、データとフォーマットが意図したとおりであることを確認する必要があります。

変換されたレポートの多くは、変更しなくても意図したとおりに実行されます。複雑なレポートでは、意図したとおりに実行されるためには変更が必要になる場合があります。変換されたレポートに関する一般的な問題について次に説明します。

18.6.1 データ・テンプレートとPL/SQLファイル

複雑なOracle Reportsレポートを変換すると、データ・テンプレートやPL/SQLに軽度なエラーが発生して手動の修正が必要になる場合があります。

変換ユーティリティでは、すべての計算式列はデータ・モデルにおいてSQL問合せのSELECT句に移動されます。ほとんどの場合、これによって問題は発生しません。ただし、計算式の引数が集計列である場合、問合せが実行された時点で集計列が計算されないためこれは機能しません。

この問題に対処するには、この計算式をSELECT句から削除し、計算式をXSLとしてレイアウト・テンプレートに実装する必要があります。これらの計算式の多くは、単純な加算処理や合計処理、または通貨の変換、フォーマットおよび端数切捨て処理のために使用されます。

18.6.2 RTFレイアウト・テンプレート・ファイル

Oracle Reportsレポートの大半では、単純なif文フォーマット・ロジックが使用されます。このロジックは、自動的に同等のXSL-FOに変換され、RTFレイアウト・テンプレートのフォーム・フィールドに挿入されます。ただし、RTFレイアウト・テンプレートではPL/SQLはサポートされません。変換ユーティリティでは、PL/SQLフォーマット・トリガーのロジックがレポートに存在しても変換されません。そのかわりに変換ユーティリティでは、フォーマット・トリガーのコードはすべて、ログ・ファイルに書き込まれます。対応するPL/SQLロジックをXSLコードとして実装する必要があります。

この作業を容易にするために、コールされるフォーマット・トリガー名が格納されるフォーム・フィールドが、RTFテンプレートに格納されます。これらのフィールドは赤色で強調表示されます。これによってログを参照して、元のOracle Reportsで使用されている実際のPL/SQLコードを検索することができます。これらのPL/SQLトリガーをXSL-FOとして書きなおす必要があります。

詳細は、『Oracle Business Intelligence Publisherレポート・デザイナーズ・ガイド』の「サポートされているXSL-FO要素」を参照してください。