Im Subreport werden Werte dargestellt (z.B. Rechnungspositionen) und am Ende des Reports soll eine Summe der einzelnen Positionen ausgegeben werden… nur wie summieren?
Zunächst brauchen wir ein Feld, welches den zu summierenden Wert aufnimmt.
Als zweites eine Variable, in der die Summierung vorgenommen wird.
Ein Beispiel:
- Das Feld
$F{poswert}
enthält den Positionswert und ist (der Einfachheit halber) direkt vom Feldklassen-Typjava.lang.Double
. - Die Variable
$V{summe}
ist ebenfalls alsjava.lang.Double
, wodurch wir uns Umwandlungen von String zu Java usw. in diesem Beispiel sparen. - Als „Ausdruck für Variable“ bekommt unsere Variable folgenden Inhalt
new double($V{summe} != null ? $V{summe}.doubleValue() + ($F{poswert} != null ? $F{poswert}.doubleValue() : 0) : ($F{poswert} != null ? $F{poswert}.doubleValue() : 0)
- Bei jedem Durchlauf des Detailbereichs (hier Position) wird nun über das Feld der Positionswert ausgegeben und in der Variable dieser zur (bisherigen) Gesamtsumme addiert. Nach dem letzten Durchlauf steht uns in hier also die Gesamtsumme zur Verfügung.