blacklistEmailLastModified wird geändert
Beschreibung description
Umgebung
Campaign Standard
Problem/Symptome
Anwendungsfall: Beim Importieren von Profilen aus einer Datei ist eine der wichtigsten Eigenschaften, die aus der Datei gelesen werden, blacklistEmail. Wie unten gezeigt, wenn Sie eine bedingte Aktualisierung für das Quellfeld verwenden, um unnötige Aktualisierungen des Zielfelds zu vermeiden.
Sie werden jedoch möglicherweise feststellen, dass das Feld blackListEmailLastModified für alle vorhandenen Profile geändert wird, die importiert werden. Das erwartete Verhalten ist, dass blackListEmailLastModified nur geändert werden sollte, wenn blacklistEmail geändert wird.
Hier ist das generierte SQL-Update:
UPDATE NmsRecipient
SET iGender=COALESCE( OutTbl.iFld1084817585),
iBlackListEmail=COALESCE( CASE OutTbl.iEnaFld1086062770 WHEN 1 THEN OutTbl.iFld1086062770 ELSE NULL END, CASE WHEN OutTbl.iEnaFld1086062770=1 THEN 0 ELSE iBlackListEmail END),
iModifiedById=16107610,tsLastModified=$(curdate),
tsBlackListEmailLastModified=$(curdate),
tsBlackListAllLastModified=$(curdate)
VON wkf11373941_23_1 OutTbl
WHERE NmsRecipient.iRecipientId=OutTbl.iPKey_1
AND OutTbl.iRecProcState> $(l)
AND OutTbl.iRecProcState< =$(l)
UND OutTbl.iPKey_1< > 0
Wie durch das obige Update gezeigt, wird das Feld blackListEmailLastModified (tsBlackListEmailLastModified) aktualisiert, unabhängig davon, ob blacklistEmail (iBlackListEmail) aktualisiert wird oder nicht.
Auflösung resolution
Die Lösung besteht darin, das blackListEmailLastModified Feld der bedingten Aktualisierung hinzuzufügen.
Weitere Informationen finden Sie unten:
Und das generierte SQL-Update zeigt, dass die nur geändert wird, wenn blacklistEmail geändert blackListEmailLastModified wird.
UPDATE NmsRecipient
SET iGender=COALESCE( OutTbl.iFld1084817585, 0),
iBlackListEmail=COALESCE( CASE OutTbl.iEnaFld1086062770 WHEN 1 THEN OutTbl.iFld1086062770 ELSE NULL END, CASE WHEN OutTbl.iEnaFld1086062770=1 THEN 0 ELSE iBlackListEmail END),
tsBlackListEmailLastModified=COALESCE( CASE OutTbl.iEnaFld1169490137 WHEN 1 THEN OutTbl.tsFld1169490137 ELSE NULL END, CASE WHEN OutTbl.iEnaFld1169490137=1 THEN NULL ELSE tsBlackListEmailLastModified END),
iModifiedById=16107610,
tsLastModified=$(curdate),
tsBlackListAllLastModified=$(curdate)
FROM wkf11373941_25_1 OutTbl
WHERE NmsRecipient.iRecipientId=OutTbl.iPKey_1
AND OutTbl.iRecProcState>$(l)
AND OutTbl.iRecProcState<=$(l)
AND OutTbl.iPKey_1<>0