When Rule not getting picked up in Pega 7 while it used to get picked in Pega 6
We upgraded our Production environment to Pega 7.1.7 on 2nd Nov. Yesterday I found about an agent which has not been working since the upgrade.
In Prod logs I found the issue was with a when rule not being picked up.
I'll explain my scenario with random class names.Lets say we have two classes, ABC- and XYZ-.
My scenario was that the class ABC-'s page was given as the steppage when calling activity 'Test' of class XYZ-. Now inside activity 'Test', we gave the first steps' steppage as Primary(which would mean it would be of class ABC-). The when rule we referenced in step precondition was present in class XYZ-.
The when rule failed and gave an exception and thus the activity was exited. The exception we got was 'Exception at 20151212T145313.218 GMT: com.pega.pegarules.pub.runtime.IndeterminateConditionalException: Failed to find a 'RULE-OBJ-WHEN' with the name 'Test' that applies to 'ABC-'.'
The same scenario used to work in Pega 6.
So in short, the when rule which is giving exception is not present in either of the direct/pattern inheritance of the class it is being referenced in. However , the same when rule used to get picked up in Pega 6.2.
The confusion is whether the inheritance has become more stringent or it didnt use to work properly in Pega 6.
Please let me know in case of any confusion. (I know it might be confusing because of the way I have written it. )