I have an existing ListView that I am trying to convert into a Report Definition.
My List view has 'FirstName' Property (in Class A) as one of the columns. When I try to use the same property in my Report Definition (under same class A) under columns to include, this property does not even show as the list of available properties. When I forcibly include the property .FirstName, the Report Definition does not save/compile and gives the error - Property Name: This is not a valid property. -
My assumption is that the FirstName property is not a scalar property on the pc_work table that the ReportDefinition is mapping to. Surprising that the ListView was able to access it but not the more 'advanced' Report Definition. Is there a way for me to retrieve the FirstName property in the Report Definition without changing the DB? Any example would be a great help.
This error doesn't seems to be coming due to unexposed column. Can you check the exact property name (including case sensitiveness), since RD needs exact property name. So if not tried already, Can you specify .FirstName instead of .Firstname.
The best thing about Report Definition rule is that it allows you to report on properties that are not exposed. So that should not be a problem. Although you will get a performance warning when you try to save the Report definition rule with an unexposed property.
Can you also check if all the three rules, i.e., Proeperty, LV, RD are in the same ruleset and same ruleset version?
All three rules are present in the same Class, Same Ruleset and Same Ruleset Version.
Thanks for clarifying that the Rule Definition will allow me to report on properties that are not exposed. As you can see from my attached pics, other than scalar and/or exposed properties on my pc_work DB table, no other properties are showing in the drop down list when I try to create a Report Definition. But it does not happen for ListView Rules. What could be the problem?
Chakri, i would suggest you to trace the entire save event. If possible find out the exact code that is flagging the entire execution with a RunEx. My gut feeling is that it is caused by ValidatePropertyName validate rule if i am not wrong. Do let us know the result of the trace.
The feature to refer un-optimized property in Report Definition i.e. direct BLOB access in Report Definition was introduced in Pega 62SP2. It is not available in Pega 61SP2.
Report Definitions with references to un-optimized BLOB properties generate SQL that calls user-defined functions (UDFs) that open and access property values directly from the BLOBs stored in the DBMS.
These UDFs are automatically installed in the DBMS when v6.2 SP2 is installed or a previous PRPC version is upgraded to v6.2 SP2. Also, poor performance is very likely if un-optimized properties are used as sorting or grouping columns in reports, or used in filter conditions, in reports on classes with more than a few hundred instances.
You should optimize the property to refer it in Report Definition in Pega 61SP2.