Posted: 4 Mar 2020 5:00 EST Last activity: 4 Mar 2020 11:24 EST
Cannot reference embedded scalar property in a report definition
We are upgrading an application from 6.1SP2 to 7.4. As part of this we are replacing Listviews with Report Definitions. We have a Listview that returns an embedded scalar property (see attachment) and it works fine, even after upgrading. But the corresponding Report Definition created in 7.4 does not allow the embedded property, despite the 7.4 help page stating it should:
"Specify a Single Value property, which may be a top-level or embedded scalar property, identified by a property reference."
The property in question - .SwitchDetails.Type - is exposed on the table.
We will be moving to using Edge as the browser of choice in future, and as Listviews are not supported under Edge we don't have the luxury of using the existing Listview. I realise we could duplicate the property on the top-level page via a declare expression, but that is not a realistic solution as there are circa 300,000 records that would need to be re-saved to populate the new property.
I missed one point here. So first try optimizing the property. Open the required property and go to actions -> Optimize for reporting steps and then verify. Even after not working try the above steps i posted.
Thank you for your reply. The property is already optimised (and has been for the past seven years). The rule doesn't need revalidating as it is newly-created today. I created the rule to try and replace the listview.
The property exists in a locked ruleset and cannot be deleted. It has been skimmed to a higher major version, as were all rules in the application as part of the upgrade.
Update - I have resolved the issue (but not in a very satisfactory way). As the property was already exposed on the table, I created a duplicate property called "Type" on the top-level page. This is never populated in the code and does not appear on the clipboard as it is always empty. But its presence means that I can refer to the property directly in the report definition rule, which reads the table where the column is already exposed. So the report displays correctly on-screen, but the property is always empty on the clipboard.
Many thanks to everyone who viewed the issue and tried to assist.