Problem with a Data Transform as simulation source for Data Page
Copied verbatim from a student feedback, posting this to benefit the community as a whole.
A Leveraging Pega 7 course attendee, who is outside Pega, wants to know why their configuration of data transform doesn't work as expected.
However,It is explained that their configuration has missing parts as defining data transform.
Please take a look at their request. Your explanation may encourage them to understand what is wrong.
You can find their request below(Also you can see document attached document):
Created the Data Transform SimulatedPostalCodes at the class Code-Pega-List
On the Pages & Class tab I declared that the items of in the collection property .pxResults are going to be of class type LP7-HRMS-Data-PostalCodes
On the Definition tab I used the option Append and Map to to create and map a new page on .pxResults as the target. When typing a dot in on the Set line, I saw the yellow popup saying Building List… for a brief moment
After it disappeared, I expected a dropdown list filled with the properties of the class LP7-HRMS-Data-PostalCodes but nothing was shown
I manually typed the property .City and set it to have the value "Amsterdam"
When trying to save the Data Transform, an error was shown with the warning that the property City was not defined that the class Code-Pega-List
Just use a regular Set. When typing .pxResults(<APPEND>). the expected dropdown, filled with the properties of the class LP7-HRMS-Data-PostalCodes, was shown
After assigning the value "Amsterdam" to the property .pxResults(<APPEND>). and saving the Data Transform, an error was shown with the text that the property @baseclass.City is undefined
Can you explain why Configuration 1 and 2 are not working as expected?
The issue is caused due to the inclarity in the page name reference. When referencing page lists such as .pxResults, we need to reference the page name where this pxResults can be looked at. So in Case 1 and Case 2 ithe data transform will save if the page name is referenced as MyPage.pxResults() in the pages and classes and in the Definition tab.
In this example, City is not accessible in both these places since the page name where .pxResults is embedded is not defined.