プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
12c (12.2.1.3.0)
E90222-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

22.5 XMLレポート定義のデバッグ

次の機能は、XMLレポート・ファイルをデバッグする際に役立ちます。

22.5.1 XMLパーサーのエラー・メッセージ

XMLパーサーは、Oracleデータベース・リリースに付属するOracle XML Development Kit (XDK)に含まれています。XMLパーサーは、XML構文の妥当性をチェックするJavaパッケージです。XMLパーサーを含むJARファイルは、インストール時に自動的に設定され、Oracle Reportsで使用可能となります。

XMLパーサーは、ほとんどの構文エラーを検出し、エラー・メッセージを表示します。エラー・メッセージは、エラーが発生したXMLファイルの行番号と、エラーの簡単な説明から成ります。

XMLパーサーの詳細は、Oracle Technology Network(http://www.oracle.com/technetwork/database/features/xmldb/overview/xdkhome-092156.html)を参照してください。その場合、XML parserまたはXDKで検索します。Oracle Database付属のドキュメントにも情報が記載されています。

22.5.2 rwbuilder

XMLレポート定義の設計時には、Oracle Reports Builderでオープンしたほうが便利な場合があります。Oracle Reports Builderでは、オブジェクトが期待どおりに作成または変更されているかをすぐに確認できます。たとえば、XMLレポート定義にサマリーを作成する場合、Oracle Reports Builderで定義をオープンすると、サマリーがデータ・モデルで適切なグループに配置されているかどうかを一目で確認できます。

Oracle Reports Builderでレポート定義全体をオープンするには、REPORT(またはMODULE)キーワードを使用します。例:

rwbuilder USERID=username/password@my_db REPORT=c:\corp\myreports\emp.xml

Oracle Reports Builderで部分レポート定義をオープンするには、CUSTOMIZEキーワードを使用します。例:

rwbuilder USERID=username/password@my_db REPORT=emp.rdf CUSTOMIZE=c:\myreports\emp.xml 

注意:

この例では、REPORTオプションによって、Windowsプラットフォームに格納されているファイルへのディレクトリ・パスが指定されます。UNIXの場合は、そのプラットフォームの標準に従ってディレクトリ・パスを指定してください(つまり円記号(\)のかわりに通常のスラッシュを使用)。

どちらの場合も、Oracle Reports Builderで有効なXMLレポート定義がオープンします。その後、Oracle Reports Builderの様々なビューを使用して、レポートが期待どおりに作成または変更されているかどうかを確認できます。

22.5.3 デバッグを目的とした、ファイルへのXMLの書込み

SRW.ADD_DEFINTIONを使用してXMLレポート定義をメモリー内に作成する場合は、XMLをファイルに書き込むとデバッグに役立ちます。次の例は、各行をメモリー内のドキュメント・バッファおよび(ファイルへの書込みを選択した場合は)指定したファイルに書き込むプロシージャを示しています。

PROCEDURE addaline (newline VARCHAR, outfile Text_IO.File_Type) IS
BEGIN
  SRW.ADD_DEFINITION(newline);
  IF :WRITE_TO_FILE='Yes' THEN
    Text_IO.Put_Line(outfile, newline);
  END IF;
END;

この例が実際に機能するには、このプロシージャをコールするPL/SQLでTEXT_IO.File_Typeタイプの変数を宣言する必要があります。例:

custom_summary  Text_IO.File_Type;

また、書込み用のファイルをオープンし、addalineプロシージャをコールして、書き込む文字列と書込み先ファイルを渡す必要があります。例:

custom_summary := Text_IO.Fopen(:file_directory || 'vid_summ_per.xml', 'w');
addaline('<report name="video_custom" author="Generated" DTDVersion="9.0.2.0.0">',
custom_summary);