[rules-users] How to activate/deactivate a rule.

Ritesh ritesh.khot at sungard.com
Fri Sep 17 02:35:55 EDT 2010


Hi,

I have 3 rules in my drl file and want the last one should get fired only
after all the facts in rule1 and rule2 gets inserted in working memory.
Please see below code for more understanding. Please suggest.

Thanks

declare DistinctAT
     d_auditT : String
end

declare ActualSum
     auditT : String
     sumOfThree : BigDecimal
end

rule "insert combined sum"
	dialect 'java'
when
    ABC( $a:A, $b:B, $c:C )

then
	BigDecimal actSum = $c.multiply(0.13);
	ActualSum $as = new ActualSum();
	$as.setAuditT($a);
	$as.setSumOfThree(actSum);
	insert($as);
	System.out.println("AT :" + $movAuditT);
end

rule "insert distinct AT"
	
	dialect 'java'
when
    $a : ActualSum( $AT : auditT )
	not DistinctAT( d_auditT == $AT )
then
	DistinctAT $disAT = new DistinctAT();
	$disAT.setD_auditT($AT);
	insert($disAT);
	System.out.println("Done!");
end

rule "Get Sum Group by AT"
	
	dialect 'java'
when

DistinctAT( $dAT: d_auditT )

$total : Double()
from accumulate( ActualSum( auditT == $dAT, $actSum_Main : sumOfThree ),
sum( $actSum_Main ) )

eval(
	chkRuleExpre( $total,$lfna_SEI,$r_SEI )
)

then
    	System.out.println("Done Main Rule, total :" + $total);
end

-- 
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/How-to-activate-deactivate-a-rule-tp1516088p1516088.html
Sent from the Drools - User mailing list archive at Nabble.com.



More information about the rules-users mailing list