レポート設計ファイルの作成

EGL は JasperReports オープン・ソースの、Java ベースのレポート作成ライブラリーで動作して、レポートを作成します。 作業設計ファイル (拡張子 jasper) をインポートしない限り、 設計ファイルのために XML ソースを作成または変更する必要があります。このトピックに記載する範囲を超える詳細情報については、 以下の Web サイトを参照してください。

http://jasperreports.sourceforge.net

ソースには拡張子が .xml のファイルを使用することができます。 ただし、これによってコンパイルが遅くなることがあります。 JasperReports では .jrxml 拡張子をお勧めします。

パッケージに設計文書を追加する手順は、次のとおりです。
  1. 次に示す方法の 1 つで設計文書を作成する。
    • サード・パーティー製の JasperReports 設計ツール (JasperAssistant または iReport など) を使用する。 作成するファイルの拡張子が .jrxml であることを確認してください。
    • テキスト・エディターを使用して、JasperReports XML ソース情報を新しいテキスト・ファイルに書き込み、 そのファイルを .jrxml ファイルとして保管する。
  2. ご使用のレポート・ドライバー・ファイルおよびオプションの EGL レポート・ハンドラーと同じ EGL パッケージに、XML 設計文書を置く。
  3. XML ソース・ファイルをカスタマイズして、以下のデータ・ソースのうちの 1 つを使用する。
    • 非常にシンプルで、単純なデータベース・クエリーがある場合は、DataSource.databaseConnection 型のレポートを作成する。XML 設計ファイル・ソースにご使用の SQL 照会を組み込みます。 EGL レポート・ドライバーは、ご使用の接続情報を JasperReports に渡します。
    • 複雑なデータベース操作を実行する必要があったり、またはご使用の SQL 文を動的にビルドする必要がある場合は、型 DataSource.sqlStatement のレポートを作成する。 EGL レポート・ドライバーは、ご使用の SQL 照会を含み、その結果セットを JasperReports に渡します。
    • ご使用のデータがデータベース以外のどこかから来た場合は、型 DataSource.reportData のレポートを作成する。 EGL レポート・ドライバーは、複雑なレポート・データを JasperReports に渡します。 接続情報は必要ありません。

以下のセクションでは、異なるタイプの XML ソース・ファイルの特性を示しています。 この情報でカバーされているのは、非常にシンプルなケースです。 より複雑な例については、上述の JasperReports Web サイトまたはご使用の設計ツールの資料 (ツールを使用しようと決めている場合) を参照してください。

型 DataSource.databaseConnection の EGL ソース・ファイル

ご使用の EGL ソース・ファイルに接続情報を組み込み、XML 設計ファイル・ソースにご使用の SQL 照会を組み込みます。 ここに、非常にシンプルなケースの構文を挙げます。
<queryString><![CDATA[SELECT * FROM Table_Name]]></queryString> 
Table_Name
ご使用のデータベースからのテーブル名
使用する特定のフィールド (SQL 結果セットの列に結合される) を定義します。
<field name="Field_Name" class="java.lang.class_type"></field>
Field_Name
ご使用の設計ファイルにある照会からの結果セットの列名。フィールド名は、Java™ 変数の命名規則に準拠している必要があります。 ご使用の SQL 文内で列名を別名にし、重複する名前、正しくない文字 (「.」など)、またその他の競合している文字を処理することができます。
Class_Type
Field_Name が参照するデータの型を識別する、Integer または String などの java.lang クラス。
TextFieldExpression タグで、レポートにフィールドを配置します。
<textFieldExpression class="java.lang.class_type"><![CDATA[$F{Field_Name}]]>
</textFieldExpression>

型 DataSource.sqlStatement の EGL ソース・ファイル

EGL レポート・ドライバー・ファイルにご使用の SQL 文を配置します。 ご使用のレポート・ドライバーで明示的に接続を指定するか、またはご使用のビルド記述子でデフォルトの接続を使用することができます。 XML 設計ファイルで、レポートで印刷する特定のフィールドを定義します。 フィールド名は、ご使用の SQL 文の結果セットの列名を参照します。
<field name="Field_Name" class="java.lang.class_type"></field>
Field_Name
ご使用の EGL レポート・ドライバーで照会によって作成された結果セットの列名。フィールド名は、Java 変数の命名規則に準拠している必要があります。 必要に応じて、ご使用の SQL 文内の列名を別名にすることができます。
Class_Type
Field_Name が参照するデータの型を識別する、Integer または String などの java.lang クラス。
TextFieldExpression タグで、レポートにフィールドを配置します。
<textFieldExpression class="java.lang.class_type"><![CDATA[$F{Field_Name}]]>
</textFieldExpression>

型 DataSource.reportData の EGL ソース・ファイル

ここでは、データベースを使用しないため、XML ソースまたは EGL レポート・ドライバーのいずれかで、接続または SQL 文は必要ではありません。 その代わり、以下のように EGL レポート・ドライバーで作成するレコードから使用する特定のフィールドを定義します。
<field name="Field_Name" class="java.lang.class_type"></field>
Field_Name
ご使用の EGL ソース・ファイルで指定したのとまったく同じフィールド名
Class_Type
Field_Name が参照するデータの型を識別する、Integer または String などの java.lang クラス。
TextFieldExpression タグで、レポートにフィールドを配置します。
<textFieldExpression class="java.lang.class_type"><![CDATA[$F{Field_Name}]]>
</textFieldExpression>

XML 設計ファイル・ソースのコンパイル

EGL は、以下の条件が真の場合 EGL ソース・フォルダーのパッケージ・ディレクトリーで検出するすべての .jrxml ファイルを自動的にコンパイルします。
  • .jrxml ファイルが変更された
  • .jrxml ファイルにはエラーがない
  • javac コンパイラーは、ご使用の実行パス上にある

EGL は、コンパイルされた .jasper ファイルを EGLSource¥package_name に並列に JavaSource¥package_name ディレクトリーに配置します。 ご使用の EGL レポート・ドライバーを正常に生成すると、製品は .jasper ファイルのリンクされたコピーを、並列の bin¥package_name ディレクトリーに配置します。 「プロジェクト」>「すべてをビルド」または「プロジェクト」>「クリーン」と選択して、.jasper ファイル作成を強制し、コピーすることができます。

XML 設計文書とレポート・ハンドラーを同時に作成する場合、 『EGL レポート作成プロセスの概要』でガイドラインを参照してください。 XML 設計文書がレポート・ハンドラーからレポート・データ・レコードを取得する方法を示す例については、『EGL レポート・ハンドラーの作成』を参照してください。

関連概念EGL レポートの概要
EGL レポート作成プロセスの概要

関連タスク
EGL レポート・ハンドラーの作成
レポートをドライブするコードの作成

関連リファレンス
EGL ライブラリー ReportLib
XML 設計文書内のデータ型

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.