Jaymer wroteyes, thats better - tho I hate to do 3 MORE processes.
but don't you think Aware should be able to handle the original "combined" IF/THEN?
Is that a deficiency, bug, limitation?
Almost any other language could handle that easily... 6 IF/THEN/ELSEs
I don't see it as a bug, it is consistent of a rules based model as opposed to linear programming language. If you make the rule too long then the time to check the rule increases.
I used to work for a company that sold a similar rules engine, in that tool we always advised client that they wanted to strip down rules to the smallest data sets as quickly as possible. In your case if you have 1000 records to test then those 1000 records are going to go through the whole rule matrix every time. In your case that is 6 rules with minimum of 2 comparisons per rule. 6 IF branches *1000 records *2 condition checks =12,000 steps and checks (I'm averaging down to two IF X and Y Then conditions (Rough metric - it's probably worse as there are OR statements in there)
AIM allows you to build a decision tree with each If statement being a branch the end of the branch being an action. The faster you can get to an action the better. The fastest way is to filter the data to the action you want to occur rather than checking every condition.
With the sub process route you have minimised it to 3 rule steps each and have reduced the number of conditions being tested by 1 because you've pre-filtered to only L, S or B records. 3 IF Branches *1000 records *1 IF X condition=3000
Simplicity is your friend in rules engines and I tend to feel that if there are more than 5 rules in a process or sub process then I have made it too complicated.