PUI database tables are installed in a schema named "Sample" schema. As per my understanding - not all the Pega frameworks works this way.
Is there a specific purpose of Sample schema in PUI?
I am facing issue with connecting to PUI tables in Sample schema from Pega classes.
We are analyzing the issue and don't know the root cause yet.
One approach could be to copy all required PUI tables to Pegadata schema.
But it has below disadvantages in terms of upgrade -
1) How to identify what columns have changed during PUI upgrade? As same changes require to be done in Pegadata schema as well.
2) Possibility of failure during execution of any post-bind activities
Not all tables are installed in Sample schema. Only those tables that are considered sample, like contacts, policies etc are defined in sample schema. We expect customers to have their own datasources to store this information and these sample tables are needed only to verify the application after installation with some sample data (shipped as part of sample rap), before the implementation team hooks up the customers interface classes to their own data sources. The only purpose of the sample schema is to separate out classes which are considered to be sample and have them in a separate location in the database and not to have them mixed up with the core classes, since mostly customers will not use these tables. As you can see tables like INSPRODUCT_RULES are in PEGARULES schema and not sample, as we expect customers to use them as such.
However, like you mentioned, not all frameworks are separating out sample tables into a sample schema. Hence latest versions of PUI (including PUI 7.22) does not include the concept of a sample schema. All the sample tables are also created in the Pegadata schema. Looks like you are on an older version of PUI.
What is the issue you are facing when connecting to tables in sample schema? Is the test connection successful from the Sample database rule and from the class you are trying to test from?