Maybe one technology is more powerful in some aspects than the other and the other way around. Looking at your code, I see nothing that Jasper can't handle with parameters, fields and variables. c, menge, nomSap, denomSap could be variables. Basically what you doing are tests and assignments, which can be easily hadled by the ternary operator (test ? a : b); SV{menge} = $F{APOS.STATUS} == "FR" ? $F{APOS.MENGE_SOLL} : $F{APOS.MENGE_KOMM} Replacements, rounding, formating, all this can be done in expressions.