Hi Teodor, Thanks for taking the time to reply. I understand your concerns, and I too agree that complicate logic should reside somewhere outside of the report itself. For the most part I think logic can be tucked away into the SQL. Unfortunately getting our business users to create stand-alone Java files is out of the question for us; they are business users after all and not developers. For what we need it for it would be overkill anyway. My problem is that I am trying to convince them to switch from Crystal Reports to Jasper. I have solid experience with Crystal, and a bit of experience with BIRT; both of which allow general scripting for the report functions, see: http://www.eclipse.org/birt/phoenix/project/notable2.0.php#jump_13 . Our users will not be writing overly complex logic in the functions, but really need simple things like case statements and if-else statements. I am training our users now, and as they get used to it they are finding the lack of power of the Jasper functions frustrating - they are loving everything else :). In the long run though, from my experience I believe making this change would help migrate more people onto Jasper and away from Crystal and other products. Kind Regards, Simon.