Email Center Incorrectly Vetoes Unrelated Party Purge
Last updated on SEPTEMBER 22, 2017
Applies to:Oracle Customers Online - Version 12.1.0 and later
Information in this document applies to any platform.
On : 12.1.3 version, Integration
We need to use Data Librarian to purge hundreds of thousands of parties in merged status (HZ_PARTIES.STATUS =M). There is a fault in the IEM merge/purge selector code that is incorrectly vetoing the purge of unrelated parties. Our code versions are as follows
$Header iemhmdict.ldt 120.0.12010000.2 2013/11/18 10:22:08 sardas noship $
$Header iempmgs.pls 120.0.12010000.3 2013/11/28 05:41:18 sardas noship $
$Header iempmgb.pls 120.0.12010000.4 2014/01/06 05:20:23 sardas noship $
After tracing a purge identification request (AR, ARHIDENTPUR) that claimed party id 141681 (already at HZ_PARTIES.STATUS='M') was not purgeable because of IEM by the following statement:
INSERT INTO HZ_APPLICATION_TRANS_GT(APP_ID,PARTY_ID) SELECT 680,
TEMP.PARTY_ID FROM HZ_PURGE_GT TEMP WHERE NOT EXISTS(SELECT 'Y' FROM
HZ_APPLICATION_TRANS_GT APPL WHERE APPL.APP_ID = 680 AND APPL.PARTY_ID=
TEMP.PARTY_ID) AND TO_CHAR(TEMP.PARTY_ID) IN (SELECT /*+ parallel(xx)*/
XX.VALUE FROM IEM_ENCRYPTED_TAG_DTLS XX )
However, when checking the nature of the IEM_ENCRYPTED_TAG_DTLS field, it isn't a tag that is related to a PARTY_ID:
So this purge appears to be vetoed because the party id happens to match a thread id?!?
This would also imply that a party merge operation would actually corrupt the data in IEM_ENCRYPTED_TAG_DTLS by incorrectly changing unrelated tags.
Change the identification and merge to to only consider encrypted tags that are related to party_ids.
The issue can be reproduced at will with the following steps:
1. Create a new Org /Person.
2. Send out an email to customer's email address from that account or use existing Customer to send out an email.
3. Submit Party Purge request through Customer Online Data Librarian Responsibility.
4. Note that party cannot be purged if there are records in iem_encrypted_tag_dtls table
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms