Unable to Save a Page List Property on Data Record

I am working in Pega Constellation 24.1.1 and unable to provide screen shots due to privacy requirements of my client.

I have a data record that is a concrete instance that is not directly related to a work object. I built a landing page for end users to add, edit and delete these instances using OOTB CRUD operators. I am able to add, update and delete the instance with no issue. However, when I introduced a pagelist property to the concrete data instance, on save the pagelist is not recognized and thus it is not saved. The pagelist is of a class that is abstract and should be stored in the BLOB of the original concrete data instance. I have triple checked my DB tables to ensure there is a blob column and that my save is setup correctly. I wrote a test activity and added instances to the pagelist, on open of the record I see the page list on the UI and on the tracer. But on submit of the CRUD modal on the trace the pagelist is no longer shown.

Example data structure

Person (Concrete data object)

  • Name
  • DOB
  • SSN
  • AddressList() (Abstract class meant to be embedded in Person BLOB)
    • StreetAddress
    • City
    • State
    • Zip

On open of the person data instance record the APPLICATION/V2/Data_Views/{ID} API is run and as mentioned I can see address list (assuming I ran my test utility to stage data). But on save the APPLICATION/V2/Data/{ID} API is run and I no longer see the address list on the .data property thus it is never saved.

Am I missing something small or is this a known thing with Pega Constellation CRUD operations for concrete data instances not directly tied to a work object.

Any help is greatly appreciated.

2 Likes

@GuestU17419845

Currently, there is a limitation with CRUD operations where embedded data is not updated via the data view API. The good news is that support for embedded data inside data objects is coming in the upcoming release of Infinity 25.

1 Like

Is there any way to convert the values in page list into csv format and copy it to a text property. I’ve tried using declare expression and it is not working.

I am working in 24.1.3

You can use pxStringCSVFromPageList to convert pagelist to csv string stored in a property

I tried using the same expression in the Declare Expression rule to convert the page list into CSV, but it isn’t working because the input page list is inside a modal dialog on the landing page, and that data is stored in the Redux state