Hi,<br>Below are 2 rules, rule1 has higher precedence than rule2. Rule2 should not execute if Rule 1 executes. <br>1) One way to get this working is to check the null value. <br>2) If the update is not called, the Rule2 gets executed using the previous null value of potentialTheftRating.<br>
<br>Is there any other way to implement this requirement.<br><br><br><br><span style="color: rgb(0, 0, 102);">rule "Rule 1 PotentialTheft0"</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> ruleflow-group "TheftRating0"</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> salience 10</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> no-loop</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> lock-on-active</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> when</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> $client : Client()</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> $policy : Service(productType == "Vehicle Insurance") from $client.service</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> $car : Vehicle(potentialTheftRating == null, vehicleType == vehicleTypeType.CAR, convertible == Boolean.TRUE) from $policy.vehicle</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> then</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> modify ($car) {</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> setPotentialTheftRating( potentialTheftRatingType.HIGH )</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> }</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> update($client);</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);">end</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> </span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);">rule "Rule2 PotentialTheft0"</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> ruleflow-group "TheftRating0"</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> no-loop</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> lock-on-active</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> when</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> $client : Client()</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> $policy : Service(productType == "Vehicle Insurance") from $client.service</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> $car : Vehicle(potentialTheftRating == null,vehicleType == vehicleTypeType.CAR, price >= 20000, price <= 45000, highTheftProbabilty == Boolean.FALSE ) from $policy.vehicle</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> then</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> modify ($car) {</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> setPotentialTheftRating( potentialTheftRatingType.MODERATE )</span><br style="color: rgb(0, 0, 102);">
<span style="color: rgb(0, 0, 102);"> }</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);"> update($client);</span><br style="color: rgb(0, 0, 102);"><span style="color: rgb(0, 0, 102);">end</span><br>