Support Article
CustomerID data type and name cannot be changed in PM 7.13
Summary
Developers would like to use their existing Spine, de-normalized records table, in Pega Marketing. Existing table's unique identifier is called MY_PRI_NO and it is a numeric field. And, Pega Marketing's primary key field is CustomerID and it is a varchar2 column.
Both column name and its data type are not in-line with business user's expectations.
Planned to create a new column on the existing table, which is in fact a database view, but this proposal was rejected.
Developers would like to know if a numeric field called MY_PRI_NO can be used instead of varchar2 CustomerID column/property.
Pega Version 7.2
Pega Marketing 7.13Error Messages
SQL provided fails because <CustomerClass>.CustomerID does not exist. Physical column name is <TableName>.MY_PRI_NUMBER
select count(Distinct PC0.CustomerID) as ".pyValue" from <SchemaName>.<TableName> PC0 where (PC0.SEGMENT_ADI NOT like '%search_string%')Steps to Reproduce
Physical column name, the primary key is MY_PRI_NO, map it to CustomerID Property of the Customer class. Root Cause
The key Property on the Customer class must be CustomerID. This property can be mapped to any database column (of the appropriate type that is, Alphanumeric) through the External Mappings on the Class ruleform.
In Pega Marketing 7.13 on Pega 7.2, if the CustomerID key Property of the Customer class is mapped to a column other than CUSTOMERID, they need to apply HFix-26452. In this case, HFix-26452 has to be applied to address the non-customerid column issue with Segments on Pega 7.2.
Also, the database table column which was mapped to the CustomerID Property of the Customer class was not defined as Primary key.Resolution
Apply HFix-26452 and enable Primary Key on the database table column which was mapped to the CustomerID of the Customer class.
Published August 23, 2017 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.