@NivethaR3993
This is a GenAI-powered tool. All generated answers require validation against the provided references.
Understanding the Problem
When a work table is recognized as an external data table in Pega, it means that the system doesn’t identify it as part of the internal Pega database structure. This is why you’re unable to use the system columns (px, py, pz) and can only access the exposed columns. These system columns are critical as they’re used by Pega’s data model for proper functioning, especially the pzPVStream BLOB that stores most property values.
Solutions to Make the Table Recognized as Internal
Here are several approaches to resolve your issue:
1. Verify Required Pega Table Columns
Ensure your migrated table includes all the required columns for Pega internal tables:
pxObjClass - The Pega Platform class name (typically VARCHAR2(96))
pxCreateDateTime - The date column (typically DATE)
pyLabel - A short description (VARCHAR2(64))
pzInsKey - Primary key (VARCHAR2(255) NOT NULL)
pzPVStream - The storage stream (BLOB)
If any of these required columns are missing or have incorrect data types after migration, the table may be recognized as external.
2. Correct Database Class Mappings
The issue might be with how the class is mapped to the database table:
- Go to Dev Studio
- Navigate to App Explorer > Database > Class Mappings
- Locate the class mapping for your work class
- Verify that it’s correctly set to point to the internal database structure
- Ensure the mapping correctly identifies the table names and schema
You might need to create a new database class mapping or modify the existing one to align with the internal structure expected by Pega.
3. Use the Modify Schema Wizard
The Modify Schema Wizard can help view and adjust the database schema:
- In Dev Studio, go to Configure > Database > Database Structure
- Use the Modify Schema Wizard to examine your table structure
- Verify that your class is properly mapped to the correct table
- Check that the system properties (px, py, pz) are configured correctly
4. Run the Column Populator Utility
If the table structure is correct but the data isn’t properly populated:
- Use the Database Column Populator tool (Configure > Database > Tools > Database Column Populator)
- This can help populate values for system columns from the BLOB data
5. Check for Database Table Instance Rules
Verify that you have the correct Data-Admin-DB-Table instance for your work class:
- Look for a
Data-Admin-DB-Table instance named after your class
- Ensure it references the correct table in MS SQL
How Pega Typically Handles This in SaaS Migrations
When migrating to Pega Cloud SaaS environments, Pega typically employs specialized migration tools that handle these schema and mapping issues automatically. The migration process includes:
- Analyzing the source database schema
- Creating a compatible schema in the target environment
- Ensuring all required system columns are properly mapped
- Configuring class mappings to recognize the tables as internal
Next Steps
I recommend trying these steps in the following order:
- First, verify the table structure and required columns
- Check and correct the database class mappings
- If needed, use the Modify Schema Wizard to adjust the schema
- Run the Column Populator utility to ensure proper data population
If you’ve tried these approaches and are still experiencing issues, the problem might require a more customized solution based on the specific structure of your data and application.
References:
Hybrid data storage model (pzPVStream BLOB)
Required columns for tables
Data migration
Creating separate tables for child classes
Viewing database tables and Pega Platform metadata