Posted: 27 Feb 2017 7:09 EST Last activity: 26 Aug 2020 8:41 EDT
Post Load Processing Activity of a data page (list) cannot commit the changes in a property
I have an editable mode data page (list) that retrieves a list of records. I used a post load processing activity where I looped over the list of pages from the data page (list) used child rows of activity to get a lock via Obj-Refresh-And-Lock, then used the methods Property-Set, Obj-Save, and Commit. However, the Obj-Save fails: The tracer indicates that it Cannot save a page because it is read-only. I have made sure the Data Page (list) mode editable. I still got the ‘Cannot save a page because it is read-only’.
Steps to reproduce:
1) Create a Data Page (List) with an editable mode
2) Source the Data Page from a Report Definition
3) Include required properties including the pzInsKey in the Report Definition
4) Use Post Load Processing Activity to Iterate over the list of records (D_PageList.pxResults)
5) Use child steps: Obj-Open-By-Handle, Property-Set, Obj-Save and Commit
6) Run Data Page, trace it.
I have followed the same steps and couldn't find any message as you said. Could you elaborate the steps in the post load processing activity or please share the screens for data page and activity configuration if possible.
This configuration looks unusual to me. What is it exactly that you are trying to achieve? Are you trying to set the value of .Department to "NewDepartment" on each of the D_PositionList.pxResults pages?
Ah ok... You don't need to worry about opening the pages and saving them as the system handles all this. In fact you should be able to do this using the Response Data Transform rule rather than a post processing activity, and you don't need to make the page Editable. Which Pega 7 version are you using?
Here is an example configured on 7.2.2.
Here is my Data Page, and I have specified a Response Data Transform called MapThings.
The Data Transform will run for each page so you can set the value here as highlighted. You need to make sure that you also map any other properties you want set. If you let the system create the new data transform then the template should look similar to the below, and you should just be able to insert your mappings.
Now when I test run the Data Page each page has the "New Type" value: