Posted: 23 Mar 2018 10:04 EDT Last activity: 25 Mar 2018 0:48 EDT
Not able to use declare index properties in report definition
I have created a declare index for storing the embedded page list property in the index table. I can see the data correctly gets stored in indexed table. But when I am trying to use it in report definition which is in my Work- class, I am getting an error like below.
Property Name: This is not a valid property, or this is a property that cannot be used here.
Property Label: A Column Heading is blank: 'IX.UserIdentifier'. Enter a heading for this column
On the Data access tab, I have joined the report with my declare index correctly. I tried changing from Ónly include matching rows' to other two options but same error persists.
Could you remove the (.)dot before the Declarative Index join prefix in your report column and check the behavior. For example, if you have given Tasks as the declarative index join prefix then in your report you should use Tasks.PropertyName instead of .Tasks.PropertyName
If this couldn't solve your issue then kindly share the screenshots of your report.
It may be this report definition got corrupt and reference aren't being made properly. I have read one of the other post with the similar use-case. The developer just re-created the report definition from scratch and it worked.
If it doesn't help, kindly share description to understand your business use-case more clearly.
I also thought same. I created a new report definition, but still got same issue.
I created a new declare index for some other embedded property. That is working correctly. It may be the case my declare index is corrupt, though it is populating values correctly in Index table, I am not able to use it.
I tried deleting the declare index rule and dropping the index table, but it does not help. When I try to optimize the property again it fails saying 'The property is already optimimzed'. Also the code is there in higher environments till PROD , so deleting it is not an option.
The issue was I was using the inherited properties in the declare index. When I saved all properties in the child data class to which the embedded property was pointing and exposed them, it worked fine.
I had changed the embedded property mapping couple of times from child to parent and back, which is anyway not recommended by Pega.
As of now saving all properties in the child data class and exposing them has solved this issue.