OK, I think I found it and here is what the rule could look like:

rule "Repayment Code Requires Approval"
    salience 60
   
    when
        repaymentCode : RepaymentCode( code == "MD", matchApprv == "Y" )
        mdOutput : ModelDiscrepancyOutput( $amt1 : sumRTVQty, sumCmAndRnr == $amt1)
    then
        System.out.println("Repayment Code Requires Approval");
        processMDAdjustments(drools.getWorkingMemory ().getQueryResults( "MD Adjustments" ), StatusConstants.APPROVAL);
        System.out.println("mdOutput: " + mdOutput);
end

Now my question is, how does Drools handle these objects and the comparison because the underlying objects are BigDecimal?

On 7/9/07, Ronald R. DiFrango <ron.difrango@gmail.com> wrote:
All,

I have the following rule:

rule "Repayment Code Requires Approval"
    salience 60
   
    when
        repaymentCode : RepaymentCode( code == "MD", matchApprv == "Y" )
        mdOutput : ModelDiscrepancyOutput( $amt1 : sumRTVQty, $amt2 : sumCmAndRnr)
        eval($amt1.doubleValue() == $amt2.doubleValue())
    then
        System.out.println("Repayment Code Requires Approval");
        processMDAdjustments(drools.getWorkingMemory().getQueryResults( "MD Adjustments" ), StatusConstants.APPROVAL);
        System.out.println("mdOutput: " + mdOutput);
end

If I remember correctly, there was going to be an update to the rules language that would allow me to eliminate the eval.  Is this true and if so what is the syntax that accomplishes this?

Ron