So erstellt man einen neuen Jasper-Report für OpenZ
Um einen Report für OpenZ zu erstellen wird JasperSoft Studio benötigt.
Jaspersoft Studio einrichten
- Eine aktuelle Version von Jaspersoft Studio(6.3.1) herunterladen
- Linux: Entpacken des Archivs und die Datei „Jaspersoft Studio“ ausführen
- Windows: Entsprechendes Archiv herunterladen und .exe ausführen
Jaspersoft Studio konfigurieren
Damit Jaspersoft Studio ordentlich funktioniert müssen ein paar Eigenschaften eingestellt werden.
- Die JasperReport-Eigenschaft net.sf.jasperreports.awt.ignore.missing.font auf true setzen
- Keine Scriplet-Klassen verwenden
- Groovy als Standard-Sprache verwenden
Den Klassenpfad einrichten
In Jaspersoft Studio sollte jeder Report Teil eines Projekts sein. Also muss zunächst ein neues Projekt angelegt werden (File > New > Project).
Das Projekt hat nun einen Klassenpfad und dort können die benötigten .jar-Dateien hinzugefügt werden.
- Rechtsklick auf den Projektnamen: Properties > Java Build Path
- Gehe zu Libraries tab
- Klick auf Add External Jars
- Die gewünschte Bibliothek hinzufügen
- Klick auf OK
Eine Vorlage erstellen
- Gehe zu Datei > New
- Jasper Report auswählen
- Der New Report Wizard wird geöffnet
- Eine Report Vorlage auswählen(Blank, um unserem Beispiel zu folgen)
- Einen Report Namen definieren
- Speicherort der Datei innerhalb des Projekts festlegen
Später kann diese .jrxml-Datei in das für den Report vorgesehene OpenZ Module kopiert und die benötigte Konfiguration in das Application Dictionary eingetragen werden.
- Report Daten-Quelle festlegen: durch Klick auf „New“ kann eine neue Datenbank-Verbindung über den Data Adapter Wizard erstellt werden
- Klick auf New
- Database JDBC Connection auswählen und klick auf Next
- alle Felder befüllen:
- Name: openz (oder beliebig)
- JDBC Driver: PostgreSQL(org.postgresql.Driver).
- JDBC URL: jdbc:postgresql://localhost:5432/openz „5432“ ist der Port, den PostgresSQL benutzt und openz ist die SSID der Datenbank
- Username: tad(in den Openbravo.properties kann die Einstellung überprüft werden)
- Password: tad
- Klick auf Finish um JDBC Verbindung zu erzeugen
- Verbindung testen
- Abspeichern
Jetzt muss die Query angepasst werden: vorhandene Produkte aus der Datenbank sollen angezeigt werden
- Rechtsklick auf das Report Outline menu und Dataset und Query auswählen. Hier wird die Query des Reports eingestellt und es ist außerdem möglich die Query durch Wechsel der Datenbank-Verbindung auszutesten.
- Produkte werden in der M_Produkt Tabelle gespeichert
SELECT
m_product_id, value name FROM
m_product
- Die Felder, die innerhalb der Report-Query verwendet werden, müssen noch hinzugefügt werden:
- m_product_id
- value
- name
- Klick auf OK
- Scriptlet-Klasse leeren und die Sprache anpassen
- Rechtsklick auf das Report Outline menu und Show Properties auswählen
- Folgende Anpassungen in den Report-Eigenschaften auf der rechten Seite vornehmen:
- Scriptlet-Klasse leeren
- Groovy als Sprache auswählen
- Anpassungen abspeichern
Jetzt kann das Layout des Reports festgelegt werden
- Einen statischen Text als Report-Titel einfügen: Produkt Liste
- Felder im „Detail“-Band und einen Titel im „Column Header“-Band platzieren
- Änderungen abspeichern
- Für eine Report-Vorschau zum Preview-Unterreiter wechseln
Technischer Hinweis
Ab Version 3.0.16
Jasperreport Version 6.10
Reportingtool: Tibco Jaspersoft Studio 6.3.1
Bekannte Probleme
JasperStudio setzt bei Bearbeitung der Report-Query die Feld Klasse „java.io.InputStream“ auf „java.lang.Object“,
dadurch kann dieses Feld nicht mehr von OpenZ ausgewertet werden.
Das manuelle Zurücksetzen auf die zuvor verwendete Feld-Klasse behebt diesen Fehler.