Exposed columns are not saving after upgrade
After upgrading to Pega 7 exposed columns for an internal work table are not being populated.
Values are not getting saved in the database table columns.
Steps to Reproduce
Run activity that does an Obj-Save on a work object and observe the properties are not populating in some of the exposed columns.
An issue in the custom application code or rules.
In the class hierarchy of these classes the property name of the exposed column also exists in another class, but with a different case.
Property Column mappings are accomplished in the database layer of the product using a Java class called the ColumnPropertyMap.
During ColumnPropertyMap calculation for class, all of the Rule-Obj-Property Rules defined on that class and all of its ancestors are read, and for each Property, a mapping from the name of the column, the Property name in all upper case is added to the name of the property in mixed case.
There is a known scenario with this design - if there are properties defined at different points in the class hierarchy with the same name but different case, the definition which comes in second will be the only one that remains in the map and the definition which ends up second is completely non-deterministic.
As a result issues such as this, the save failing or rule resolution issues can occur.
Perform the following local-change:
Delete the duplicate properties in the Class Structure that have the same name so that the Engine picks up the correct property to be exposed.