Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Über das abgebildete Symbol gelangt man zum Datenquelleneditor von iReport

 

Nachfolgend werden kurz die Bereiche beschrieben, die für die Erstellung der Datenquelle getestet wurden.

  1. Auswahl der Abfragesprache des verwendeten Datenbankmamagementsystems, hier SQL.

  2. Es können Abfragen gespeichert und geladen werden. Die Dateien müssen vom Typ .sql oder .txt sein, wie sie möglicher Weise mit einem anderen Datenbankadministrationstool (Pg-Admin "Postgres") erstellt werden.

  3. Hier wird die Abfrage entwickelt bzw. editiert oder hochgeladen.

  4. Ein Datensatz wird beispielsweise für ein Formular nach einem Parameter gefiltert.(Es wird nur ein Auftrag mit einer speziellen Intid gefiltert). Für dieses Beispiel wird ein Parameter "Intid" vom Typ Integer erstzellt. (nächster Schritt)

  5. Zum Erstellen der Datenquelle kann auch der eingebaute Query designer verwendet werden. Er gibt die Möglichkeit mit wenig Kenntnissen über SQL, Attribute aus Tabellen auszuwählen und zu einerAbfrage zusammenzufügen. (In diesem Beispiel wird er jedoch nicht verwendet)

  6. Ist die Abfrage synthaktisch korrekt wird die Ergebnismenge oder Fehler hier ausgegeben.

Um nach einem bestimmten Datensatz zu filtern wird ein Parameter benötigt, der in der Where-Bedingung dafür sorgt, dass die Abfrage eingeschränkt wird. Je nach Anforderung können verschiedenste Parameter erstellt werden(Integer, Date, String,...)

  1. "New Parameter" betätigen.
  2. Bezeichnung des Parameters eingeben hier "Intid"
  3. Typ des Parameters auswählen "Integer"
  4. Der Parameter kann mit einem Wert vorbelegt werden. Über ein das Admintool zum DBMS ermittelt man eine intid zu einem bestehenden Datensatz.
Codeblock
languagesql
titleBeispiel Auftrag
exportImagetrue
SELECT
     
         a."intid" ,
         a."strnummer",
         a."dblvkbrutto",
         a."dblvknetto",
         a."dbleknetto",
         a."dblmwst",
         a."dblrabattnetto",
         a."strrname",
         a."strrpostfach",
         a."strrstrassezusatz",
         a."strrnamezusatz",
         a."strrfirma",
         a."strrstrasse" ,
         l."strname" strland,
         po."strort",
         po."strplz"
 
FROM
         nuclos.t_eo_auftrag a
    left outer join nuclos.t_eo_land l on l.intid = a.intid_strrland
    left outer join nuclos.t_eo_postleitzahlen po on po.intid = a.intid_strrplzort
 
WHERE
    a.intid = $P{Intid}


Links in der Abfrage sind unterhalb des SELECT-Statement alle gewünschten Spalten der Tabelle Auftrag, Land und Postleitzahlen aufgelistet.

Die Tabelle Auftrag besitzt Verbindungen(Referenzen) zu anderen Tabellen, welche in der FROM-Bedingung referenziert(Join) werden. Dabei werden auch nur die Datensätze herangezogen die der intid entsprechen(intid_strland,....)

Die WHERE-Bedingung ermittelt mit Hilfe des erstellten Parameters ($P{Intid}) den richtigen Auftrag.

 

SQL-Statements können beliebig groß und umfangreich werden. @TODO

!Report_Query_026.png|align=left!