Support Article
Local Action Context Lost: Failed to find a 'RULE-OBJ-FLOWACTION
SA-41062
Summary
User has a section configured that uses an autocomplete to allow for easy selection of data.
The section also offers a local action that runs an advanced search in a modal window to populate the same data.
When the autocomplete is populated with data that returns no matches then when the icon is clicked to invoke the local action an error is seen. If the error window is closed and the icon clicked again no error is seen.
If the autocomplete has results and the result is selected the local action is presented as expected.
Additionally the issue is coming only if the embedded section property contains the refresh section with an embedded data transform.
Error Messages
The following errors are present in the logs:
com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:712)
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:466)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.runActivities(HttpAPI.java:3093)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:390)
at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
...
Caused by:
com.pega.pegarules.pub.generator.RuleNotFoundException: Failed to find a 'RULE-OBJ-FLOWACTION' with the name 'MYFLOWACTION' that applies to 'MYCUSTOMRULESET'. There were 2 rules with this name in the rulebase, but none matched this request. The 2 rules named 'MYFLOWACTION' defined in the rulebase are:
2 unrelated to applies-to class 'MyCo-Div-Work-Item', for example: 'MyCo-Data'.
at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableResolver.throwDetailedRuleNotFoundException(VirtualTableResolver.java:724)
at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableResolver.resolveToContainer(VirtualTableResolver.java:403)
at com.pega.pegarules.generation.internal.vtable.ruleres.VirtualTableResolver.resolveRule(VirtualTableResolver.java:154)
at com.pega.pegarules.generation.internal.vtable.VirtualTableImpl.resolveRule(VirtualTableImpl.java:309)
at com.pega.pegarules.generation.internal.PRGenProviderImpl.get(PRGenProviderImpl.java:474)
at com.pega.pegarules.session.internal.mgmt.Executable.doAction(Executable.java:3303)
at com.pegarules.generated.activity.ra_action_runflowactionactivity_d344e637b519ce6d6c08bec32dfc87ad.step3_circum0(ra_action_runflowactionactivity_d344e637b519ce6d6c08bec32dfc87ad.java:383)
at com.pegarules.generated.activity.ra_action_runflowactionactivity_d344e637b519ce6d6c08bec32dfc87ad.perform(ra_action_runflowactionactivity_d344e637b519ce6d6c08bec32dfc87ad.java:103)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10587)
at com.pegarules.generated.activity.ra_action_performpreprocessing_09a325f67bf9b651644b077408ec0712.step10_circum0(ra_action_performpreprocessing_09a325f67bf9b651644b077408ec0712.java:925)
at com.pegarules.generated.activity.ra_action_performpreprocessing_09a325f67bf9b651644b077408ec0712.perform(ra_action_performpreprocessing_09a325f67bf9b651644b077408ec0712.java:244)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10587)
at com.pegarules.generated.activity.ra_action_processaction_ecfb18bfff74b732e0d3ef9acc18243a.step18_circum0(ra_action_processaction_ecfb18bfff74b732e0d3ef9acc18243a.java:1899)
at com.pegarules.generated.activity.ra_action_processaction_ecfb18bfff74b732e0d3ef9acc18243a.perform(ra_action_processaction_ecfb18bfff74b732e0d3ef9acc18243a.java:353)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:646)
... 59 more
Steps to Reproduce
1. Create a section in a data class with an autocomplete defined and a local action via an icon.
2. Embed this section on a work item level section using the "Using page" functionality.
3. Ensure that the embedded section property contains the refresh section and in that there is a data transform.
Root Cause
A defect in Pegasystems’ code or rules :
The issue is caused by a basereference calculation on stale element that got refreshed due to refresh section on autocomplete.
Resolution
Perform the following local-change:
Avoid basereference calculation inserting "Using Page" in LocalAction configuration.
Published March 17, 2018 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.