In couple of discussion I understood that Pega recommends a data layer under Work Class.
Like
Org-App-Work-Claim and there are some properties specific to the claim. Does pega recommends to create Org-App-Data-ClaimDetails and capture new properties in that “Single Page” type property of the data class.
If yes , how to save the data (need to create declare index) and for reporting every time a data class join will be needed.
Is the above understanding correct, if so , why Pega is recommending this?
You are right, Pega does recommend to create a data layer under Work page to capture customer data.
One of the ways to save the data in an optimized table is to create a declare index and store the data in index tables. Another method may be to store the data in data types and use savable data pages to store the data.
You can create the data type in CustomerData schema which is much more optimized in terms of performance.
Pega doesn’t anymore recommend to store / optimize not transactional data in work table. Any number of columns (customer data) you need should be exposed / optimized in a separate table in CustomerData schema for reporting.
Other advantages apart from performance of this design may be
Customer data schemas can be designed to seamlessly integrate with external systems and APIs. By defining data types that are compatible with various systems, you can facilitate smoother data exchange and interoperability across your technology stack.
A well-designed customer data schema can accommodate future growth and changes in your business requirements.
Implementing a consistent customer data schema helps enforce standardization across your organization.
By designing data types that are intuitive and closely aligned with business concepts, you empower data analysts and end-users to extract meaningful insights from the data more effectively. This can lead to improved decision-making and innovation within your organization
The recommendation is to create an abstract Data class for Data Objects instead of creating scalar properties under Work class (for example, Claims Data). The data class serves its purpose by providing reuse of certain rules such as sections, views, and data transforms. Multiple case types can use the same data class the same way (for example, as an abstract class).
If it’s a single page, you can optimize the properties, and new column(s) will be created for them.
If it’s a pagelist, then you have to create declare index. Join the work table and index with the help of pxIndexedKey for any reporting needs