Definition

Ein Formular oder Report lässt sich je nach Anforderung, wie ein Baum auffächern.  Eine Anforderung könnte lauten, ein Auftrag mit Auftragspositionen und zusätzlich noch Artikelgruppen mit ihren Eigenschaften unter jeder Position.


Beispiel

  1. Auftrag = Hauptformular (Stamm)
  2. Auftragspositionen = Subreport (Äste)
  3. Artikelgruppen = Subreport im Subreport (SubSubreport) (Zweige)

In der übergeordneten Seite wurde bereits beschrieben, wie der Subreport ins Hauptformular eingefügt wird und welche Rolle der Parameter vom Typ: JasperReport dabei einnimmt. Auf der gleichen Weise wird der SubSubreport in den Subreport eingefügt und ebenfalls ein Parameter  definiert. ($P{SubSubreport})
Der Unterschied besteht nun darin, dass der Parameter des SubSubreports, sowohl im Subreport, als auch im Hauptformular, existent sein muss. Hierarchisch gesehen wird zudem die Information vom Stamm zu den Ästen weitergegeben. D.h. das Hauptformular übergibt den Parameter $P{SubSubreport} an den Subreport mittels Parameterübergabe. Folgende Abbildung soll die Übergabe beschreiben:



Datenquellen für Subreports im Subreport

Ein Datensatz wird in der Regel über Parameter eingegrenzt. In der Datenquelle des Hauptformulars wird das durch den Parameter '$intid' gewährleistet. Dieser Parameter wird an den Subreport weitergegeben. Es würde der SubSubreport ebenfalls den Parameter übernehmen, wenn er ihn bekommt.
Stattdessen kann, da die Datenquelle des SubSubreports seine Parameter aus dem übergeordneten Subreport bezieht, ein Parameter in der Datenquelle des Subreports definiert werden.

Subreport

Deklaration des Übergabeparameters als Allias "intidArtikel"

Wichtig: KEIN UNDERSCORE _ verwenden!!!

SubSubreport

Parameter $intidArtikel aus dem Subreport

Wichtig: KEIN UNDERSCORE _ verwenden!!!

!!Die Ergebnismenge des übergeordneten Datensatzes darf bei Verwendung nur aus einer Zeile bestehen!!!

Bei dem Entwurf der Reports ist entsprechend darauf zu achten.




  • Keine Stichwörter