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
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f