Editing of Lists in pyEdit View of any Data type is not persisting values

Hi Team,

We are trying to update a list within a data type pyEdit view. The list contains information related to Data-Admin-Operator-ID class details and its associated Work Queues, which are mapped to a list within the data type. We have a checkbox on the pyEdit view to select or deselect the current operator’s work queues. However, when the update action is triggered through the Savable Data Page, we are not able to see those updated details.

Whenever the view is loading, the structure correctly displays the full list and looks like this:

{
“data”: {
“dataInfo”: {
“content”: {
“classID”: “Org-Div-Data-UpdateOperator”,
“pyEmailAddress”: “[email protected]”,
“UserIdentifier”: “[email protected]”,
“pyUserName”: “XYZianne”,
“WorkQueueList”: [
{
“classID”: “Org-Div-Data-UpdateOperator”,
“pySelected”: false,
“UserWorkQueue”: “WQ:AV”,
“EmbedListUUID__”: “5c27be17-dd37-44b9-8865-a1bcf7d7bc79”
},
{
“classID”: “Org-Div-Data-UpdateOperator”,
“pySelected”: false,
“UserWorkQueue”: “WQ:T1-JLL”,
“EmbedListUUID__”: “8dabca52-c810-4560-b875-8551c58179e3”
},
{
“classID”: “Org-Div-Data-UpdateOperator”,
“pySelected”: false,
“UserWorkQueue”: “WQ:T1-RevOps”,
“EmbedListUUID__”: “573af7f2-995f-486e-9528-9468bbe1c5fa”
},
{
“classID”: “Org-Div-Data-UpdateOperator”,
“pySelected”: false,
“UserWorkQueue”: “WQ:T2-Retail Ops”,
“EmbedListUUID__”: “db977186-98b4-449d-8b30-2c1a3155e477”
},
{
“classID”: “Org-Div-Data-UpdateOperator”,
“pySelected”: false,
“UserWorkQueue”: “WQ:RSM”,
“EmbedListUUID__”: “7ad15a87-8740-46c5-9da6-f5815d4a2eef”
},
{
“classID”: “Org-Div-Data-UpdateOperator”,
“pySelected”: false,
“UserWorkQueue”: “WQ:T2-ROps”,
“EmbedListUUID__”: “44d443ec-8714-491f-af73-052835583c3e”
}
]
}
}
}
}

On update action:

{
“data”: {
“UserIdentifier”: “[email protected]”,
“pyEmailAddress”: “[email protected]”,
“pyUserName”: “Jogn Doe”,
“StoreLocation”: {
“Region”: “North America”,
“Country”: “USA”,
“State”: “DC”,
“City”: “Williamsburg”,
“Store”: “Williamsburg”
},
“WorkGroup”: “”
},
“pageInstructions”: [
{
“content”: {
“pySelected”: true
},
“target”: “.WorkQueueList”,
“listIndex”: 7,
“instruction”: “UPDATE”
},
{
“content”: {
“pySelected”: true
},
“target”: “.WorkQueueList”,
“listIndex”: 8,
“instruction”: “UPDATE”
}
]
}

Does this help? CRUD Operations for Operator Records via Landing Page

I can’t tell from your post which steps you’ve missed or configuration differs. Common issues are queryable datapage not used, the saveplan not implemented or default data sources for data object not defined.

The listindex 7 and 8 has been changed. Could yu please confirm if this is updated correctly behind the scenes?

Yes Ramesh, these index values are correct but when our save plan is running we don’t see this information available on the primary page.

Hi Marc,

Below are the steps we performed.

  1. Create a Data type–> Org-Div-Data-UpdateOperator.
  2. 3 Data pages are created by default. We have updated the List level data Page to fetch the records from Data Admin Operator ID class. This is displaying the records as expected on UI.
  3. We configured the Single page data Page to use a Data transform. We are passing OperatorID key(UserIdentifier) to fetch the details of User and some other relevant info for our application like Store details and WorkQueues.
  4. We configured the Allow edit action on List and configured a view within the pyEdit view with following details. Operator ID, Name, Store Location(A different Data type) and WorkQueues(Tablular view) with pySelected as false by default.
  5. On submit we have the third savable data Page which is getting the record and trying to save the information on 2 different tables. Store location and operator ID level changes are getting updated successfully as we have that info while our Save operation is running. But WorkQueueList level updates are not available on the save plan activity hence we are not able to update the record.

Please let me know if anything else is required.

Regards,

Shubham

Also the article that you posted does have a similar implementation only different is they are using crud skills and we are using WorkQueueList. When the save action is triggered for us WorkQueueList is not there in the save plan activity.

I would double check the data model to ensure everything is correctly setup. Are there any embedded pages inside this PageList?

We are simply fetching the application work queues and mapping in a normal page list strucutre.

are you using '24? that article, I know only works in '25. I can’t remember specifically why, but I do remember long discussions on this with a few colleagues.

Yes we are using V24.2.1

:slightly_frowning_face:

Ah ok. That refreshes my memory, there was discussions here: Unable to Capture Updated Operator Unavailability Data in Constellation Portal - #6 by aa007

@Yaswanth_G did you ever implement this in '24? @aa007, @Aditi_Mehta @Maciej_Dybal did you ever find anything more?

Thanks for your screenshot. Could you please share the UI screenshot if possible? Here is waht I see it from Case workflow. The content seems to be empty in your json data {
“content”: {},
“pageInstructions”: [
{
“content”: {},
“target”: “.PlanInformation.ClaimDetails”,
“listIndex”: 1,
“instruction”: “UPDATE”
},
{
“content”: {},
“target”: “.PlanInformation.ClaimDetails”,
“listIndex”: 2,
“instruction”: “UPDATE”
},
{
“content”: {},
“target”: “.PlanInformation.ClaimDetails”,
“listIndex”: 3,
“instruction”: “UPDATE”
},
{
“content”: {
“AmountClaimed”: “60”
},

“target”: “.PlanInformation.ClaimDetails”,
“listIndex”: 3,
“instruction”: “UPDATE”
}
]
}

Hi @RameshSangili

We are doing in from landing page. Here are the screenshots for edit view.

Hi @MarcCheong , Nothing further could be done in 24 in this regard. We upgraded to 25 and it works absolutely fine in Infinity 25.
Below is a similar query I raised few months ago
Absence Scheduling for Operator ID’s from Landing Pages in end user portal in Constellation 24.2 - User Experience - Pega Forums

Infinity '25 introduced the ability to manage embedded pages in CRUD. https://docs.pega.com/bundle/platform/page/platform/data-integration/introducing-crud.html#ref-introducing-crud__section_ikf_1yw_y2c_title

and a DSS to support it Managing data objects with nested data structures in Constellation (important DSS!)

I am unsure if this is possible in '24 from CRUD directly, you may have to use a case to do it. However, I’m investigating if the changes made in '25 can be locally introduced. My initial thoughts are this is at the DX API level, so no, but will find out.

Hi @aa007 I think the issue you were facing versus the issue we are facing are two different things. It looks like pzMapRequest DT is the culprit here. We have pageInstrctions available but when the JSON DT runs it basically maps data from JSON to .data on clipboard. data and pageInstrctions are looking like sibling nodes hence pageinstruction is not mapped. If pageinstruction is available like all ther info is available then we will be able to take care of things.

Hi @Shubham1
I think your analysis is correct - the pageInstructions are not mapped from the payload, and as such, you loose the information about the Page List content when trying to do server-side Save Plan operations.
This behavior is changed in Inf’25 - where on top of the DSS mentioned by @MarcCheong, you can write custom Save Plans and deal with the data in a number of different ways (i.e. save it to dedicated DB table and only store reference on the parent object)