I am currently facing an issue with the preview implementation in Constellation 24.2.3.
We have configured a column using “Display as Link to Object”. Ideally, when the user clicks on the data in that column, the system should use the Data Page that is defined under the Default Data Sources configuration.
I have already configured the required Data Page. However, at runtime, the application does not seem to pick the configured Data Page. Instead, it appears to be searching for local records in the database.
In our case, the data is being fetched from an external API, and there are no corresponding local records available in the system. Because of this, when the link is clicked, we get the following error:
“Case not found for the given parameter ID.”
Based on the behaviour, it seems that the application is attempting to open the object using local records rather than using the Data Page configured as the source.
Could you please confirm whether any additional configuration or settings need to be enabled in Constellation so that the runtime correctly uses the configured Data Page for preview/navigation?
I’m also wondering if you have your own key specified or you using Alternative Keys? I’m no expert in this space but I know there has been trouble for some when using their own class keys instead of alternative keys storage
Views? What views are setup on your data object? (UX tab). If you haven’t configured a view AND you haven’t imported this via Blueprint, then there would be no views used to open said object, so you might get an error like this
@Satish_Koripalli 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.
This could be because of the Lookup Data Page is not configured correctly based on the Parameters. Could you please check the tracer if the Lookup Data page is returning the correct result based on the selection on UI?
We are displaying the data in the table by configuring the source as a Data Page. For that Data Page, we have configured a Data Transform as the source, and within the Data Transform we are appending the results received from the external API to the primary page.
However, at runtime, when we click on the column data configured as “Display as Link to Object”, the application is attempting to look for local source records instead of using the configured Data Page.
As per the configuration, when the link is clicked, Pega should invoke the Data Page that is configured under the Default Data Sources of the Data Class. But currently, that Data Page does not appear to be getting called.
Since the data is coming entirely from an external API, there are no corresponding local records available in the system, which is resulting in the issue.
It is possible to display data in the preview panel even without local records in the Data Type. However, Constellation pattern requirements dictate that the Default Look Up Data Page must be properly configured to take an input and return a single result.
For local records, this is straightforward: you use the Key as a parameter and set the source to Lookup. To achieve this for your external API scenario, you have two primary options:
Option 1: Single Record API (Recommended)
If your external system provides an endpoint that accepts a unique ID and returns the details of a single record, simply configure this API as the source for your Default Look Up Data Page.
Option 2: Data Transform with List Filtering
If you only have access to a List API, you can use the following workaround:
Identify a unique property to serve as the Key.
Pass this value as a parameter to your Default Look Up Data Page.
Set the source to a Data Transform.
In the Data Transform, loop through the results of your List API Data Page to find the record matching the parameter.
Map that specific record’s data onto the current Data Page.
Note: I only recommend Option 2 if the List API response is small and Option 1 is not possible. Filtering large datasets within a Data Transform can lead to performance bottlenecks at runtime.
Yeah, even I did the same, then, there should be something missing in your configuration -OR- an issue with 24.2.3 which I cannot confirm, as I do not have it with me to replicate. Could you share how your configurations are done if you don’t mind?
From the URL, it seems system is not considering it as a data class resource, but as a work class resource. For data class items, it should form the URL as in my screenshot. For work class, it forms as your URL. I am not really sure how system considers the class resource as DATA or WORK, Can you check what is the inheritance you have for this class?