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.
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.
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 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
If i am not sending pagelist property it’s working fine and application is not based on constellation, we are just using to DX CRUD API to push the records our data table, this API we are sharing with other application to push the data to the data table.
@GuestU17419845 Are you in the User Experience Expert Circle? I would like to move this under that area, so it can be found with other Constellation questions. However, if you are not a member you won’t be able to respond (until you join), so don’t want to just move on you.
As per your suggestion, I created new DSS and after that created new data type again. But still getting same error. And yes my application is based on UI-Kit, we are just trying to utilise DX CRID API to store the results in the data type which is of schema PegaData.
If we are try to save scalar properties, it works fine.
That is where i am confused then, you said you are using APPLICATION/V2/Data_Views/{ID} api? But that is used by Constellation not UI Kit?
So a little more details on your implementation? Landing Page you are using, action set to trigger a save of record? Saveable data page details?
OR
Are you utilising the constellation landing page inside your traditional App?
If you need dedicated assistance, I’d be raising a ticket for Pega Support - they can look at your configuration and help diagnose if you can’t share this publicly.