blacklistEmailLastModified ändras
Beskrivning description
Miljö
Campaign Standard
Problem/Symtom
Användningsfall - När du importerar profiler från en fil är en av nyckelegenskaperna som de läser från filen blacklistEmail. Som du ser nedan, om du använder en villkorlig uppdatering i källfältet för att undvika onödiga uppdateringar i målfältet.
Det kan dock hända att fältet blackListEmailLastModified ändras för alla befintliga profiler som importeras. Det förväntade beteendet är att blackListEmailLastModified endast ska ändras när blacklistEmail ändras.
Här är den genererade SQL-uppdateringen:
UPPDATERING 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),
iModifiedById=16107610,tsLastModified=$(aktuell),
tsBlackListEmailLastModified=$(aktuellt),
tsBlackListAllLastModified=$(curdate)
FRÅN wkf11373941_23_1 OutTbl
VAR NmsRecipient.iRecipientId=OutTbl.iPKey_1
OCH OutTbl.iRecProcState> $(l)
OCH OutTbl.iRecProcState< =$(l)
OCH OutTbl.iPKey_1< > 0
Som framgår av uppdateringen ovan uppdateras fältet blackListEmailLastModified (tsBlackListEmailLastModified) oavsett om blacklistEmail (iBlackListEmail) uppdateras eller inte.
Upplösning resolution
Lösningen är att lägga till fältet i den villkorliga uppdateringenblackListEmailLastModified .
Se nedan:
Och den genererade SQL-uppdateringen visar att den blackListEmailLastModified bara kommer att ändras när blacklistEmail den ändras.
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