[rules-users] Formula value assginment in LHS

Shabbir Dhari sdhari at hotmail.com
Thu Jul 2 20:24:12 EDT 2009


Dear all

We are developing a financial business application that contains hundreds of business rules for validations and calculations. In the calculation rules we change the value of attribute if values past in the request is incorrect e.g.  

rule "TaxCalc"
    when
         $i : Invoice()
         Invoice (totalTax != (round(salesTax + (gstRate * salesAmount / 100) + importDuty – govtRebate, 2)))
    then
         i.setTotalTax(round(salesTax + (gstRate * salesAmount / 100) + importDuty – govtRebate, 2));
end

The above code works perfectly fine. Only problem is the perform calculation twice. What I was looking if possible I can store calculated tax in a variable and simply assign variable to attribute if rule condiation fails. Some thing like:

rule "TaxCalc"
    when
        $i : Invoice() 
        Invoice (totalTax != calTax : (round(salesTax + (gstRate * salesAmount / 100)+ importDuty – govtRebate, 2)))
    then
        i.setTotalTax(calTax);
    end

But this does not work - shows system error at calculated value assignment. Is there any work around?


_________________________________________________________________
POP access for Hotmail is here! Click here to find out more
http://windowslive.ninemsn.com.au/article.aspx?id=802246
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090703/5e44daf8/attachment.html 


More information about the rules-users mailing list