BIRT レポート

EGL のビジネス・インテリジェンスおよびレポート作成ツール (BIRT) サポートの中心となるのは、BIRTReport と呼ばれる外部型です。 このトピックでは、この型の変数を作成し、それを使用して出力を生成する方法について説明します。

EGL の BIRT サポートの概要については、「プログラマー・ガイド」の『BIRT によるレポートの作成』を参照してください。

BIRTReport 型の変数の宣言

レポート (BIRTReport 型の変数) を宣言する際、出力の生成に必要な一部またはすべての詳細を含めることができます。 後からレポート固有のフィールドおよび関数を呼び出して、宣言に含めなかった詳細を追加したり、詳細を変更したりすることもできます。 いずれの場合にも、さまざまな詳細を指定してから、特定レポートの出力を生成する関数を呼び出すことになります。

以下の構文を使用して、レポートの宣言時に詳細を指定することができます。

myReport BIRTReport = new BIRTReport
  (designFile, documentFile, reportFile,
   outputFormat, reportHandler); 
myReport
変数名。
designFile
設計ファイルの名前。 設計ファイルではなく文書ファイルから出力を生成する場合は、ここに名前を指定しても無視されます。 ただし、分かりやすいように、ファイル名の代わりに null は指定できるようになっています。

このトピックで後述する、 「ファイル名指定の規則」も参照してください。

documentFile
文書ファイルの名前。 設計ファイルから出力を生成する場合は、ここに名前を指定しても無視されます。ただし、分かりやすいように、ファイル名の代わりに null は指定できるようになっています。

このトピックで後述する、 「ファイル名指定の規則」も参照してください。

reportFile
レポート・ファイルの名前。 文書ファイルは作成しても出力は生成しないという場合は、ここに名前を指定しても無視されます。ただし、分かりやすいように、ファイル名の代わりに null は指定できるようになっています。

このトピックで後述する、 「ファイル名指定の規則」も参照してください。

outputFormat
出力を生成する場合は、「HTML」、「PDF」、またはそのどちらかのストリングに解決される変数を指定します。 デフォルト値は「HTML」です。 文書ファイルのみを作成する場合は、どれに設定しても無視されます。ただし、分かりやすいように、出力フォーマットの代わりに null は指定できるようになっています。
reportHandler
BIRT ハンドラー・パーツを基にした変数の名前。 ハンドラー・パーツには、ランタイム・イベントに応答する関数が含まれています。 BIRT ハンドラー・パーツを使用しない場合は、変数名の代わりに null を指定します。

最後のフィールドを除く各フィールドの型は STRING? です (疑問符 (?) は、null が有効であることを示します)。 最後のフィールドの型は ANY です。

以下の構文では詳細の指定は行われません。後述の各フィールドを設定する必要があります。
  myReport BIRTReport{};
myReport
変数名。
この 2 つ目の構文は、以下の構文と同じです。
  myReport BIRTReport = new BIRTReport();

レポート固有のフィールドおよび関数

BIRTReport 型の各変数によって、設計ファイル、文書ファイル、 レポート・ファイル、または出力フォーマットの名前を指定する各フィールドへのアクセスを提供します。 各フィールドの参照の前には、myReport などのレポート名を付けます。 記述例を以下に示します。

myReport.designFile = "C:/myDesignFile.rptDesign";
各フィールドを以下に示します。いずれも型は STRING です。
designFile
設計ファイルの名前。 設計ファイルではなく文書ファイルから出力を生成する場合は、ここに名前を指定しても無視されます。ただし、分かりやすいように、ファイル名の代わりに null は指定できるようになっています。名前を指定しないことも可能です。

このトピックで後述する、 「ファイル名指定の規則」も参照してください。

documentFile
文書ファイルの名前。 設計ファイルから出力を生成する場合は、ここに名前を指定しても無視されます。ただし、分かりやすいように、ファイル名の代わりに null は指定できるようになっています。名前を指定しないことも可能です。

このトピックで後述する、 「ファイル名指定の規則」も参照してください。

reportFile
レポート・ファイルの名前。 文書ファイルは作成しても出力は生成しないという場合は、ここに名前を指定しても無視されます。ただし、分かりやすいように、ファイル名の代わりに null は指定できるようになっています。

名前を指定せずに createReportFromDesign または createReportFromDocument を呼び出した場合は、出力の生成時にレポート・エンジンによって名前が割り当てられます。

このトピックで後述する、 「ファイル名指定の規則」も参照してください。

outputFormat
出力を生成する場合は、このフィールドを「HTML」、「PDF」、またはそのどちらかのストリングに解決される式に設定します。 デフォルト値は「HTML」です。 文書ファイルのみを作成する場合は、どれに設定しても無視されます。ただし、分かりやすいように、出力フォーマットの代わりに null は指定できるようになっています。
BIRTReport 型の各変数では、以下のことを目的とした一連の関数にアクセスすることもできます。
  • レポート・パラメーターのデフォルト値がある場合に、その値を取得する。 レポート設計者は、BIRT Report Designer の「データ・エクスプローラー」ビューでの作業中にこれらのパラメーターを宣言します。
  • レポートを作成する前に、レポート・パラメーターの値を設定する。
  • レポート・ハンドラーを割り当てる。
  • 3 つの create 関数 のいずれかを呼び出してレポートを作成する。これらの関数を使用すると、PDF または HTML フォーマットで出力を生成したり、文書ファイルのみを作成したりすることができます。 フィールド値、レポート・パラメーター値、またはレポート・ハンドラーを割り当てた場合、変更内容は、その後にレポート固有の create 関数を呼び出すまで有効になりません。 文書ファイルからレポートを作成する場合、レポート・パラメーター値を割り当てても効果はありません。文書ファイルには、そのファイルの作成時に指定されたパラメーター値が反映されるためです。
各関数は、myReport などのレポート名によって修飾されます。以下に例を示します。
myReport.setParameterValue("CustomerNumber", 500);
初めに、レポート・パラメーターを処理する関数について説明します。 以下の setParameterValue 関数は、指定のパラメーターに値を割り当てます。
myReport.setParameterValue
         (parameterName STRING in, parameterValue ANY in);
parameterName
パラメーターの名前。
parameterValue
パラメーター値。
getParameterDefaultValue 関数は、設計時に指定されたデフォルトのパラメーター値を取得します (実行時にハンドラー関数 setParameterValue によってデフォルト値がオーバーライドされる場合も含みます)。 エラーを回避するには、この関数を呼び出す前に設計ファイル名を設定する必要があります。 以下のように呼び出します。
myReport.getParameterDefaultValue 
         (parameterName STRING in) returns (parameterValue);
parameterName
パラメーターの名前。
parameterValue
ANY 型のパラメーター値。
次に、レポート・ハンドラーを設定する関数について説明します。
myReport.setReportHandler (reportHandler ANY in);
reportHandler
BIRT ハンドラー・パーツを基にした変数の名前。 ハンドラー・パーツには、ランタイム・イベントに応答する関数が含まれています。 BIRT ハンドラー・パーツを使用しない場合は、null を指定するか、この関数を呼び出さないようにします。
最後に、3 つの create 関数について説明します。 これらの関数はいずれも引数を取りません。
  • myReport.createReportFromDesign () は、設計ファイルから出力を生成します (フィールドおよび関数に情報が指定されている場合には、それらを使用します)。ただし、文書ファイルは保存しません。
  • myReport.createReportFromDocument () は、既存の文書ファイルから出力を生成し、既存のレポートを中間フォーマットから HTML または PDF に変換します。
  • myReport.createDocument () は、設計ファイルから文書をファイルを作成します (フィールドおよび関数に指定されている情報を使用します)。

ファイル名の指定に関する規則

BIRT をサポートする EGL コードで使用するファイル名を指定する際には、いくつかの規則が適用されます。
  • 名前は、UNIX フォーマット (例えば、C:/myFolder/myFile.rptDesign) で表すことができます。 または Windows フォーマットを使用することもできますが、EGL では円記号 (¥) をエスケープ文字として使用することを考慮する必要があります (例えば、C:¥¥myDirectory¥¥myDesignFile.rptDesign)。
  • ファイル名は、そのファイルがあるプロジェクトに対する相対名として表すことができます。
  • リテラル・ストリングまたは変数を使用することができます。
(前述したように) いくつかのケースでは、EGL ランタイムによって名前が割り当てられ、以下のデフォルトの一時ファイル・ディレクトリーにファイルが作成されます。
  • UNIX システムの場合、このディレクトリーは /tmp または /var/tmp です。
  • Microsoft 2000/XP の場合、このディレクトリーは C:¥¥temp です。

ファイル名の先頭は「BIRTReport」というストリングです。 このストリングの後に、EGL システム・コードによって割り当てられた一連の文字が続きます。 ファイル拡張子は、ファイル・タイプに応じて、.rptdocument、.PDF、または .HTML のいずれかになります。


フィードバック