EGL には、レポート・レイアウト用のメカニズムは用意されていません。
次の作業をする必要があります。
- JasperReports 設計ファイル (拡張子 jasper) をインポートする。または、
- テキスト・エディターまたは特殊ツールを使って JasperReports XML ソース・ファイル (拡張子 jrxml) を作成する。EGL ランタイムはそのソースを自動的に .jasper 設計ファイルにコンパイルします。この処理について詳しくは、『レポート設計ファイルの作成』を参照してください。
以下は、設計ファイル作成用の 2 つの特殊ツールです。
EGL レポート・ドライバー (レポート作成を行うために書き込みます) は、JasperReports 設計ファイル (拡張子
jasper) を識別し、その設計ファイルをもとに、多くのフォーマット定義を行います。
- 設計ファイルはフォント、ヘッダー、フッター、レポートに表示されるフィールド、それらのフィールドの位置、それらのフィールドの小計、およびその他のレポートの基本的な要素を定義します。
- レポートのソースとしてデータベース接続を使用する場合は、設計ファイルにおそらくご使用の SQL 照会が含まれることになります。
- 設計ファイルはネストされたサブレポートを作成し、レポートの各明細項目の追加データを提供することができます。
『Creating Subreports』を参照してください。
実行時に、ご使用の EGL レポート・ドライバーは基本パラメーターを設定し、次に制御を JasperReports エンジンに渡します。JasperReports エンジンは宛先ファイル (拡張子 jrprint) と呼ばれる中間ファイルを作成し、このファイルにレポートのデータを書き入れます。
ドライバー・ファイルの仕様に基づき、JasperReports エンジンは次に 1 つ以上のエクスポート・ファイルについて、レポート・データのフォーマット設定を行います。
エクスポートされたファイルのフォーマットとしては、.pdf、 .html、.xml、.txt、および/または .csv が可能です。
JasperReport 型の EGL ハンドラーもコード化する場合、完成したレポートは EGL レポート・ドライバーがレポートにデータを書き入れたときに起こったイベントを反映することができます。
例えば、レポートの小計を手数料構造や保険金の払い戻しといった外部情報と比較することによって、動的なレポート内容を作成することができます。
レポートと対話する EGL コードを書くには、次のことを行います。
- 定義済みパーツ、Report および ReportData に基づき、変数を作成する。
- それらの変数を関数呼び出しの引数として使用し、システム・ライブラリー
ReportLib から関数を呼び出すことによって設計ファイルと対話する。