The most granular condition needs to be triggered and once a condition triggered, no other conditions should be evaluated as that also happens to be the end of evaluation and execution for the 10x10 DT.

I see a couple of similar questions but not so sure as to the context defined, as they might not be talking about the same scenario

Any inputs would greatly help, with an example even helps in better understanding :)

3 answers

The Exit Criteria property specifies whether all the rules execute or just the first instance of the first rule executes. You can set the rule task Exit Criteria property to one of the following values:

None: All the instances of all the applicable rules execute for a tuple before moving to the next tuple.
Rule: All the rule instances of the first applicable rule execute for a tuple before moving to the next tuple.
Rule Instance: Only the first rule instance of the first applicable rule executes for a tuple before moving to the next tuple.

There may have different effect on the choice made. I think you would be interested in "rule instance" exit criteria. However, you will have to run the test to be sure the result for using exiting criteria is what you want.

Thanks a lot Sophie (@odml2_sfr), your suggestions are much appreciated.

Even the execution algorithm plays a role in this, as reteplus top to bottom execution of rules in decision table vs sequential/fastpath evaluation starts bottom up??

will be looking into the execution algorithm to set, but was also concerned with the performance impact, as it determines ODM Performance as a whole.

Not to add to the complexity, but I already have working memory implementations done at the rule task level, at the Initial Action and Final Action.. Do you think that would have an impact on the property set at the exit criteria, to Rule Instance Sophie (@odml2_sfr) / Raj Rao (@Raj Rao) Sir...

I supposed, a tuple in the context of Rule Instance, means a record over iteration of multiple records in working memory???

All of your inputs are highly appreciated.

The inputs given has not been implemented as I was heading towards a solution directly deliverable but because of the working memory implementation, things are much more complicated...

Also is there is any other way getting the same thing done without the usage of per say exit criteria way on the rule package?

When the Rete or Fastpath algorithms are used, all the conditions are evaluated before any rule gets executed (you may find more information in ODM 8.8 doc).

Thus, when you use rule instance exit criteria, to avoid the evaluation of conditions, you can use the sequential algorithm and sort the rules or DT rows in the order that fits your need. The conditions of rules or DT rows will be evaluated in order (note that there is also different ordering possibilities, see control properties).