Constellation Architecture - How to create abstract Data- Classes

Hi,

I have a question on how create an abstract Class under Data- Object for Constellation Architectture, using Pega Infinity '23.
Normally in previous version, with traditional architecture, I would have created a class going on MyOrg-MyDiv-Impl-Data and from there creating a class (e.g. MyClass). Then on my CaseType Class (MyOrg-MyDiv-Impl-Work-MyCaseType) I would have created a SinglePage Property referring to my brand new Data Class. All the made from Dev Studio.

I do not understand how to replicate a simple scenario like that in the new Constellation Architecture. I’ve noticed in App Studio that there’s “Data Object”, but those create Data Type, so concrete class with a DB reference, which I have no desire to create, since I have no interest on memorize those.

If in constellation architecture I do like the traditional architecture, when I go back to App Studio, to implement view based on that class or simply to add to that class a new field, I simpy cannot find any reference to that class.

So my questions are:

  1. In Constellation architecture, is it possible to create an abstract class from App Studio and use that class as reference for complex field?
  2. In Constellation architecture, is it possible to create embedded view based on abstract class?
  3. In Constellation architecture, is it possible to avoid use of data object for custom Data- Class? Or it’s the only way?

It’s not clear that part for me, so if exists any documentation about this topic, it would be nice.

Thanks

@DanieleD9965

  1. Data types created from App Studio are Concrete by default. However, you can change it to Abstract from Dev Studio.

  2. Yes, you can refer the Embedded data Property to the abstract class. I checked and it worked fine.

  3. The third question is not clear.

@RameshSangili

thanks for your reply.

  1. So there’s no way to create Data- classes abstract from start. Just from Concrete to Abstract?

  2. Can you explain how to use an abstract class with Embedded data? I managed to create an abstract Class on Data- (MyOrg-MyDiv-Impl-Data-MyClass), but on App Studio it does not appear. Only classes created through data object.

  3. The third question is about to understand if there’s a substitute of Data Object, because I do not want to create DB table that won’t be used.

@DanieleD9965

  1. You can add your data calss to the application definition - Cases and Data - Under Data class section. The recommendation is to create data class through App Studio.

  2. Define Data source - Later - this will not create a DB table

@RameshSangili thanks again for your response.

For point 2. I managed to apply a custom class Data- created from dev studio to my App studio and use it there. Thanks.

For point 3. I have another question: I have created a data object with the value of Define Data Source set on “Later” Anyway it set the class as “Concrete”, but pointing at pr_other DB table. So, like you have told in the response above, there’s no way that a Data- class can be created abstract from the start, but I have to change the type on Dev Studio, manually. Can you confirm this, or there’s another way?

Thanks for your help