Conversation


jpmorgan chase
IN
Last activity: 20 Oct 2025 20:54 EDT
Data reference for an Abstract class in Configure View
Dear Experts,
I have Enterprise application (Ent) , Two applications A and B built on enterprise application. A is SOR for MyDataType which I want to search in application B as data refrence. But I am unable to add Data reference for "MyDataType" in application B. Objective is to pull the data from SOR using REST connector and use that data page as source for my property in case in application B. Any ideas how to achieve the same?
FYI:L I am able to use latest Advanced search capabilities of constellation if my SOR and the application in which I am using search are same.
Thanks for looking into it.
-
Reply
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!

Pegasystems Inc.
GB
@phanid79 would need more detail here before being able to definitively answer this one. Perhaps the process of asking might give you the clues you need?
- What version of Pega rea you using?
- Is this a true "abstract class" in the Pega rule sense? (rule-obj-class).
- I only ask as for a long while, Pega data wizards have only created Concrete classes - even if it doesn't have records, it has been a concrete class.
- I only ask as for a long while, Pega data wizards have only created Concrete classes - even if it doesn't have records, it has been a concrete class.
- What is the app stack? Is App B built on top of App A?
- IF so, is "MyDataType" specified in the app definition of App B? You can only do a data reference to data object specified inside your app definition
- Which could lead to your solution 2. Perhaps you need a data type in App B that integrates into App A's records:
- Especially, if you're class is Abstract and/or App Stack does not support the inheritance of this app
So, the above might solve your issue? It seems most likely you can't reference this because before '25, Constellation only supported abstract classes using the Query field type.
@phanid79 would need more detail here before being able to definitively answer this one. Perhaps the process of asking might give you the clues you need?
- What version of Pega rea you using?
- Is this a true "abstract class" in the Pega rule sense? (rule-obj-class).
- I only ask as for a long while, Pega data wizards have only created Concrete classes - even if it doesn't have records, it has been a concrete class.
- I only ask as for a long while, Pega data wizards have only created Concrete classes - even if it doesn't have records, it has been a concrete class.
- What is the app stack? Is App B built on top of App A?
- IF so, is "MyDataType" specified in the app definition of App B? You can only do a data reference to data object specified inside your app definition
- Which could lead to your solution 2. Perhaps you need a data type in App B that integrates into App A's records:
- Especially, if you're class is Abstract and/or App Stack does not support the inheritance of this app
So, the above might solve your issue? It seems most likely you can't reference this because before '25, Constellation only supported abstract classes using the Query field type.
-
phani deepika


jpmorgan chase
IN
@MarcCheong Hi Marc, thank you very much for the response.
Let me give specifics about each of the application and data type
This is the structure of my applications on Constellation (Pega Infinity 24.2)
Structure: MyEnterpriseAPP - is my enterprise application
Application A, Application B both are implementations built on MyEnterpriseAPP. Application B is not built on Application A
I tried couple of ways:
Method one:
1. MyDataType is Abstract has no data configured in MyEnterpriseAPP
2. Application A has concrete of MyDataType which has the data , meaning Application A is SOR for the data
3. Application A - has a service to return list of records of MyDataType
4. In Application B - MyDataType was added as Abstract(add existing data type) and connector and a data page defined in MyDataType to pull data from Application A
This did not work as you mentioned, Data reference is expecting Data Type to be defined in the same application
Method two:
1. In this method I made MyDataType is Concrete has no data configured in MyEnterpriseAPP but defined connector to pull data from Application A
2. Application A has concrete of MyDataType which has the data , meaning Application A is SOR for the data
3. Application A - has a service to return list of records of MyDataType
@MarcCheong Hi Marc, thank you very much for the response.
Let me give specifics about each of the application and data type
This is the structure of my applications on Constellation (Pega Infinity 24.2)
Structure: MyEnterpriseAPP - is my enterprise application
Application A, Application B both are implementations built on MyEnterpriseAPP. Application B is not built on Application A
I tried couple of ways:
Method one:
1. MyDataType is Abstract has no data configured in MyEnterpriseAPP
2. Application A has concrete of MyDataType which has the data , meaning Application A is SOR for the data
3. Application A - has a service to return list of records of MyDataType
4. In Application B - MyDataType was added as Abstract(add existing data type) and connector and a data page defined in MyDataType to pull data from Application A
This did not work as you mentioned, Data reference is expecting Data Type to be defined in the same application
Method two:
1. In this method I made MyDataType is Concrete has no data configured in MyEnterpriseAPP but defined connector to pull data from Application A
2. Application A has concrete of MyDataType which has the data , meaning Application A is SOR for the data
3. Application A - has a service to return list of records of MyDataType
4. In Application B - MyDataType was added as Concrete(add existing data type) and a data page defined in MyDataType to pull data from Application A
Here also I could not add MyDataType property as data reference in Application B's case type to perform Advanced search.
Hope this helps you to help me.
Thank you very much in advance
-
Marc Cheong
Updated: 20 Oct 2025 8:24 EDT

Pegasystems Inc.
GB
@phanid79 thanks for the detail this helps.
Modular approach
So first up, building reusable data objects to be reused by different applications. I have seen this used with great effect using a modular approach - in this case Application B is built on Application A and can directly reuse the data object as defined in app definition. I have seen this implemented in both Traditional and Constellation Apps, so there is no problems here - it leans into how Pega OOTB App Definition and Inheritance work.
Your issue
Assuming you don't have the opportunity to restructure your apps, then we should treat A and B as separate, with B pulling records from A as if it was another non-Pega SOR. After reading your outline, i'm thinking perhaps in App B the setup is not quite right. You should be creating a data object in App B using the native Pega Wizard and referring to the services you have for both a List and Single Page in App A.
- This creates a concrete data object in App B, with the right datapages so it can then be sourced as a Data Reference.
@phanid79 thanks for the detail this helps.
Modular approach
So first up, building reusable data objects to be reused by different applications. I have seen this used with great effect using a modular approach - in this case Application B is built on Application A and can directly reuse the data object as defined in app definition. I have seen this implemented in both Traditional and Constellation Apps, so there is no problems here - it leans into how Pega OOTB App Definition and Inheritance work.
Your issue
Assuming you don't have the opportunity to restructure your apps, then we should treat A and B as separate, with B pulling records from A as if it was another non-Pega SOR. After reading your outline, i'm thinking perhaps in App B the setup is not quite right. You should be creating a data object in App B using the native Pega Wizard and referring to the services you have for both a List and Single Page in App A.
- This creates a concrete data object in App B, with the right datapages so it can then be sourced as a Data Reference.
This is where I believe you might be getting stuck, a Data Reference would only be available to you if you had both single and list pages for the object (this is a new concept in Constellation that wasn't required in UI Kit).
- Although it is not 100% your scenario, this Constellation 101 might point you in the right direction for setup?
- https://support.pega.com/discussion/managing-external-system-record-thr…
- You can see under "1. Prerequisites - Data object and REST API as data source" there is discussion about the datapages needs on an object - though he goes on to talk about updating the saveable one so they can allow App B to change records in App A.
- https://support.pega.com/discussion/managing-external-system-record-thr…
If you need step by step help, I would suggest raising a ticket to Pega Support. As they can step through your local configuration and help pick up where you might be going wrong. Though it looks like you are close! Do let us know how you get on, help share the solution for future people who get stuck here.
-
Chunzhi Hong Jeff Tao


Pegasystems Inc.
JP
@phanid79 short answer to your question is that you can not create a "data reference" to an abstract class which do not allow saving instances...
if your app-B is tightly coupled with app-A, then it is better off build your app-B on your app-A...(i guess you wanted to go this approach since you defined your data type in Ent layer) if app-B should not be tightly coupled with app-A, then you must create a data object (i.e. data type) in your app-B first and then think about how to source your data... which could be sourced from local data storage or from external data source including app-A...
-
Marc Cheong Jeff Tao