List View ignore implementation layer instances
A ListView has been created at FRAMEWORK level using the following option:
“Report on Descendant Class Instances”
And said ListView is actually working fine with one AccessGroup. At runtime, with the trace, we can see the activity “SetReportImplementationClass” been called and as expected the class is automatically changed from FRAMEWORK to IMPLEMENTATION.
But with another AccessGroup, slightly different but having access to the same ruleset list as the previous one, the same report isn’t working.
The trace is showing the same activity been called but this time the class remains at FRAMEWORK level which is strange because there is only one IMPLEMENTATION class pointing to the FRAMEWORK one.
No error message presented but the ListView isn’t returning any results.
Steps to Reproduce
- Create a ListView using dynamic reporting option
- Create an AccessGroup having the correct ruleset list but an different Application design
- Run the ListView
- The class used is incorrect and no result will be returned
The class used during the execution of the ListView isn’t the expected one. The ruleset lists is correct but the Application setting at the AccessGroup level isn’t appropriate.
There is an interesting PDN article explaining dynamic reporting: "https://pdn.pega.com/reporting/how-to-implement-dynamic-class-reporting"
The system is behaving as expected. When working with dynamic reporting, the system is not only using the rulesets list to define which class should be use during runtime execution.
The system will be using both, the rulesets list and the Application definition. If the system is able to find the FRAMEWORK and corresponding IMPLEMENTATION classes under the same Application definition then the FRAMEWORK class will be used anyway.
This behaviour has been avoided with a local change at the Application level.
0% found this useful