Priority Logic for condition columns in decision table

73 views Asked by At

We are in the process of upgrading to ODM 8.12( currently on 8.10.5.1) as a part of this process, we need to upgrade all our rule projects to DE from CRE, where one of the project logic is breaking upon conversion to DE.

In this project, there is a requirement to add a priority value each condition column , which is summed up for each rule, so in case of a multi-match, ODM should be able to compare the priority sums of each rule (row) and choose the action (response) for the rule with highest priority. PN : The rules are not entered in a specific order in the table. The existing code (built in CRE) uses hash map to store the values of number of conditions matched and also the priority sum of each rule (row) and works as per the requirement.

After using the rule designer to migrate the code to DE and testing,the hash maps give random values for these fields (the number of columns matched and the sum of priority for each rule) -- possibly due to a different approach in processing rules? by the new Decision engine.

Here are my queries :

  1. Have you faced a similar issue in conversion from IRL to ARL? 2.Any tips on debugging the issue? I do find it difficult to debug this project as it is quite complex with 180 tables and each tables have more than 500 rules.
  2. If you are using the decision engine, have you implemented something similar in DE?

FYI, the rule flow uses the sequential algorithm , with exit criteria and ordering set to none and Literal respectively.

TIA !

We tried to compare the code after conversion and did not see any red flags ( it was just a simple conversion from IRL to ARL with the parameters for rule flow processing (mentioned above) same as CRE.

1

There are 1 answers

0
Emmanuel B. On

I have no real technical answer to your question except that I have been trying to avoid using priorities in general in ODM, at it messes up the agenda.

I would suggest you try to find a ruleflow way (using ruleflow task filter) , task (sequencing tasks in the flow) or business way (using xom attributes) to order your rules.

Best Emmanuel