Support Article
Segment Filter does not work correctly on Strategy
SA-40504
Summary
No offers are made when a Segment Filter is used in a strategy, even though there are matches between the campaign audience and the segment referenced by the segment filter shape.
Error Messages
There are errors such as below when attempting to create and run a new segment.
DatabaseException caused by prior exception: java.sql.SQLSyntaxErrorException: ORA-00904: "PARTITIONKEY": invalid identifier
| SQL Code: 904 | SQL State: 42000
From: (BFA49544FDCE69C63224581074A865DD4)
SQL: INSERT INTO PEGAMKT722.MKTSEGPartitionListSegment2 (CustomerID, PARTITIONKEY) ( SELECT PC1.CUSTOMERID, PARTITIONKEY FROM PEGAMKT722.MKT_LIST_SEGMENT PC1, PEGAMKT722.MKT_CUSTOMER PC2 WHERE PC1.SEGMENTID = ? AND PC1.CUSTOMERID = PC2.CUSTOMERID)
Caused by SQL Problems.
Problem #1, SQLState 42000, Error code 904: java.sql.SQLSyntaxErrorException: ORA-00904: "PARTITIONKEY": invalid identifier
.
.
.
.
.
Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "PARTITIONKEY": invalid identifier
Steps to Reproduce
Execute a campaign that uses a Segment Filter shape.
Root Cause
An issue in the custom application code or rules. Customer data was partitioned. The Partition Key column in the database table to which the data was mapped was set as Partition_Key. It should be PartitionKey.
Resolution
As a local-change the Partitiion Key column in the database table must be changed to PartitionKey, and any references must be updated.
- Rename the Partition Key column in the database table to PartitionKey
- Update the external mapping on the customer class to PartitionKey.
- Resave the database table rule for the customer data class.
- Delete and recreate any segments. Segments created before the changes will not work.
Published August 17, 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.