Changing Application Runs Incorrect Rules (async processing)
The developer has noted there are activities which make asyncronous calls by using the following java:
tools.getRequestor().queueBatchActivity(tools.getParamValue("ActivityClass"),tools.getParamValue("ActivityName"), tools.getParameterPage(), primaryPage);
If the user has logged in under a default application and changed their application, the child requestor is incorrectly running under the default application.
com.pega.pegarules.pub.generator.RuleNotFoundException: Failed to find a 'RULE-OBJ-ACTIVITY' with the name 'ASYNCPROCESSDISPUTE' that applies to 'BAC-Debit-Work-Dispute'. There were 8 rules with this name in the rulebase, but none matched this request. The 8 rules named 'ASYNCPROCESSDISPUTE' defined in the rulebase are:
Steps to Reproduce
1. Create two access groups, built on separate ruleset stacks
2. Have an activity rule accessible to both applications called ActivityName
3. Create an activity rule called ActivityTest that is only accessible to the 2nd application
4. Set default access group to the first application
5. Log in
6. Change application to 2nd application
7. Call ActivityName with ActivityTest as the activity that it calls
In the case of Queue an activity for ChildRequestor , the developer user has to explicitly pass either "pzInheritRulesetList" OR "pzUseCurrentAccessGroupForChild" to true in parameter page.So that these values can be bubbled down to the child requestor and it wouldn't fail while executing the activity.
This problem was addressed by updating the activity which calls the requestor to set the parameter "pzUseCurrentAccessGroupForChild" to true.
0% found this useful