InvalidReferenceException running Report Definition
SummaryRunning a report definition with Include all descendant classes option the below error is raised.
The error occurs only including Validation.
Type property defined in the same abstract class of the report definition, otherwise the report definition query is performed on all tables mapping implementation layer classes.
Error MessagesInvalidReferenceException .Validation.Type Property 'Validation' does not exist on class 'TI-Top-SDW-Work'
Steps to Reproduce
1.Create Application in "Framework and Implementation"where application accelerator generates uptoAA-FW-BBBFW-Work (FW Layer - Concrete class) & AA-Top-BBB-Work(Imp Layer- Concrete class [Division layer=Top]).
2.Create Validation class in FW layer as AA-FW-BBBFW-Work-Validation where directed path set to AA-FW-BBBFW-Work.
3.Create Validation class in Imp layer as AA-Top-BBB-Work-Validation where directed path set to AA-FW-BBBFW-Work-Validation.
4.Create a Single page property(say Validation). The Page property refer AA-FW-BBBFW-Data.
5.Create a scalar property(say Type) in AA-FW-BBBFW-Data.
6.Create a RD(say MyActivityValidationSearch) in AA-FW-BBBFW-Work-Validation. Refer .Validation.Type in the report definition.
7.Run the RD and check the below error :Error:
** ** InvalidReferenceException .Validation.Type Property 'Validation' does not exist on class 'AA-Top-BBB-Work' ** InvalidReferenceException .Validation.Type Property 'Validation' does not exist on class 'AA-Top-BBB-Work'
Root CauseThis is an expected behavior.
Dynamic union is not applied since the Validation.Type property is not optimized in Frame Work and Implementation layer context.
The report is on AA-FW-BBBFW-Work-Validation class which is an abstract class.
So when this report is ran from the Impl layer context Support team tried to get the WorkPool since an abstract class do not have any records.
So AA-Top-BBB-Work is coming into the picture but since the properties Validation.type and testValidation.type both are in
AA-FW-BBBFW-Work-Validation class these properties will not be accessible in context of AA-Top-BBB-Work
So an invalid reference exception appears.
ResolutionPerform the following local-change steps:
1. Save as the Validation property to AA-FW-BBBFW-Work, that is, (Class Group) and optimize it for reporting
and then delete the Validation property in AA-FW-BBBFW-Work -Validation.
2. Move the Report definition to Implementation layer from Framework layer.
Published April 26, 2017 - Updated May 19, 2017