Not able to get the records using Obj- Method from Oracle Database
Source System: Pega v7.2.1 and PostgreSQL 9.3.14
Target System: Pega v7.2.1 and Oracle Database 12c
After the post migration of the data from the Source system to target system, data is not retrieved from Obj methods, the below error are triggered at runtime:
The below error are triggered There was a problem getting a list: code: 972 SQLState: 42000 Message: ORA-00972: identifier is too long”
Step to reproduce with detailed descriptions:
1. Source System – Two tables have columns greater than 30 characters (Total count of the columns in the two tables X and Y columns respectively
2. In target system (Oracle database), the two tables are not created due to limitation on number of characters for column names greater than 30 characters. Oracle does not allow table names or columns names greater than 30 characters
3. To mitigate the issue, all the columns are renamed with less than 30 characters in the source system for the two tables. Using External mapping tab in class names related the two tables, all the properties are mapped to renamed columns (i.e. column names less than 30 characters)
4. Product Rules (RAP) had been extracted from source system with related class and Database table mapping to respective classes.
5. Extracted RAPs had been imported into the Target system, 2 Tables are created successfully with new columns (less than 30 characters) in the target system
6. And Data had been migrated successfully from the source system to target system with this changes
7. Data had been retrieved successfully from the Report definition with respective the class related to 2 tables at runtime.
8. But when retrieving the data using the same class using Obj methods had failed. As Pega generate the DB queries including the respective properties in pega as alias name for the new columns. In this context all the properties created in source system greater than 30 characters and not supported with Oracle constraints related to the column names in the target system
I am looking whether any other options to change the property alias name at the runtime (i.e. while using the Obj methods).
Columns length constraints had been mitigated in the target system (using external mappings). All the property lengths in this context are within the suggested limited by Pega Platform.
No issues in the source system at the runtime.
Any suggestions with minimal code changes ?
Thanks in Advance
***Edited by Moderator Marissa to update platform capability tags***
This seems to be the 3rd time I've seen this error this week.
Can you generate a trace with DB Query event enabled (I'd be inclined to switch most others events off, except Activity start/end, Exception, DB Query, Interaction) and see what SQL it's attempting to run.