Berichte mit BIRT erstellen

BIRT (Business Intelligence and Reporting Tools) ist ein Eclipse-basiertes Berichtssystem, das eine komplexe Ausgabe im PDF- oder HTML-Format ermöglicht. Dies schließt auch Grafiken, Tabellen und Diagramme ein. Die EGL-Unterstützung für BIRT ist verfügbar, wenn Sie Programme codieren, die für Java™ generiert werden.

Als Ausgangspunkt für den Entwurf der Ausgabe können Sie die Perspektive 'Berichtsdesign' der Workbench öffnen und ein Berichtsprojekt erstellen. Alternativ können Sie die gesamte Arbeit aber auch in einem EGL- oder einem Webprojekt ausführen.

Sie erstellen einen Bericht, bei dem es sich (im Kontext der Entwurfsarbeiten für die Ausgabe) um eine XML-Datei mit der Standarderweiterung '.rptdesign' handelt. Die Erstellung umfasst die folgenden Schritte:
  1. Klicken Sie auf Datei oder klicken Sie mit der rechten Maustaste auf das Projekt.
  2. Wählen Sie die Optionen Neu > Andere aus.
  3. Wählen Sie im Dialog für die Assistentenauswahl die Einträge Business Intelligence and Reporting Tools > Bericht aus.
  4. Geben Sie einen übergeordneten Ordner und einen Berichtsnamen an und klicken Sie auf Weiter.
  5. Wählen Sie im Dialog Neuer Bericht eine Schablone aus, die als Basis für Ihren Bericht dient. Es gibt einen Hilfetext, der angezeigt wird, wenn Sie auf das Fragesymbol klicken. Details über das Berichtsdesign werden nachfolgend angezeigt, wenn Sie die Option Spickzettel für Berichtserstellung anzeigen auswählen.
  6. Klicken Sie auf Fertig stellen.
  7. Anschließend müssen Sie eine Datenquelle angeben (z. B. eine JDBC-Verbindung), einen Datensatz angeben (z. B. die in einer SQL-Anweisung SELECT angegebenen Datenbankspalten) und unter Verwendung einer Palette Elemente wie Bezeichnungen und Tabellen ziehen und übergeben. Hierbei können Sie sich am Spickzettel orientieren. Der Lerntext und die Hintergrundinformationen, die auf der folgenden Website verfügbar sind, bieten eine umfassendere Einführung in das Berichtsdesign:

      http://www.eclipse.org/birt

In der Perspektive 'EGL' oder 'Web' erstellen Sie EGL-Code, der die Erstellung der Ausgabe steuert. Die Erstellung kann zwei Schritte umfassen:
  1. Der Bericht (nachfolgend als Entwurfsdatei bezeichnet) wird in eine zweite Datei - die so genannte Dokumentdatei - konvertiert. Diese Datei hat die Standarderweiterung '.rptdocument' und enthält Daten in einem temporären Format.
  2. Die Dokumentdatei wird in die PDF- oder HTML-Ausgabe konvertiert.
Zur schnelleren Verarbeitung gibt es zwei weitere Optionen:
  • Sie können die Erstellung einer separaten Dokumentdatei überspringen.
  • Sie können den Entwurf mit einer bestehenden Dokumentdatei anstelle einer Entwurfsdatei beginnen.
Dem Arbeiten mit BIRT in EGL liegt die folgende Idee zugrunde:
  • Sie erstellen einen EGL-BIRT-Bericht, der eine auf dem externen Typ 'BIRTReport' basierende Variable ist. Sie können beim Deklarieren dieser Variablen unterschiedlichste Details aufnehmen (beispielsweise den Namen einer Entwurfsdatei). Sie können aber auch die Angabe der Details ganz oder teilweise unterlassen und sie später hinzufügen, indem Sie Funktionen aufrufen oder Felder festlegen, die speziell für den EGL-BIRT-Bericht gelten. In beiden Fällen können Sie die Details mithilfe von Literalen zur Entwicklungszeit oder mithilfe von Variablen zur Ausführungszeit angeben.
    Das folgende Beispiel zeigt eine Syntax, die zuerst einen EGL-BIRT-Bericht erstellt und anschließend den vollständig qualifizierten Namen der Entwurfsdatei angibt.
      myReport BIRTReport { };
      myReport.designFile = "C:/MyBIRTReport.rptdesign";
  • Sie rufen (wie im folgenden Beispiel) eine Funktion auf, die die Ausgabe erstellt:
      myReport.createReportFromDesign();
    Die folgenden Erstellungsfunktionen sind verfügbar:
    • createReportFromDesign(): Diese Funktion erstellt Ausgabe aus einer Entwurfsdatei, ohne die Berichtsdaten in einer Dokumentdatei zu speichern.
    • createReportFromDocument(): Diese Funktion erstellt Ausgabe aus einer Dokumentdatei.
    • createDocument(): Diese Funktion erstellt eine Dokumentdatei aus einer Entwurfsdatei.
  • Sie können einen EGL-Report-Handler des Typs 'BIRTHandler' erstellen. Dieser optionale Logikabschnitt enthält Funktionen, die als Ereignishandler agieren und mit deren Hilfe Sie viele Details anpassen können, die die Berichtsausgabe beeinflussen. Wenn EGL ein Berichtsdokument erstellt (mit 'createDocument' oder 'createReportFromDesign'), ruft der EGL-Laufzeitcode die Ereignishandler unter anderem als Reaktion auf die folgende Ereignisse auf:
    • Öffnen oder Schließen einer Textdatei oder Datenbankverbindung
    • Öffnen oder Schließen eines Datenbankcursors
    • Abrufen einer Zeile von Datenbankdaten in Berichtsfeldern
    • Erstellen eines Berichtselements (z. B. Bezeichnung oder Raster)
    Ein Ereignishandler kann (beispielsweise) eine der folgenden Tasks ausführen:
    • Wert eines Berichtsparameters angeben, der einen bestimmten Aspekt der Berichtsverarbeitung steuert
    • Benutzer-ID und Kennwort für das Herstellen einer Verbindung zu einer Datenbank angeben
    • SQL-Anweisung SELECT definieren, um den Datenabruf aus der Datenbank zu steuern
    • Als Vermittler anzeigbare Daten aus dem EGL-Programm empfangen und anschließend diese Daten zum geeigneten Zeitpunkt für die Berichtsengine bereitstellen
    • Formatierung und Text des Berichts infolge der Aufnahme eines bestimmten Wertes in den Bericht ändern

Die Anzeigemerkmale des Berichts können Sie mit einem Cascading Style Sheets (CSS) steuern.