blacklistEmailLastModified est en cours de modification
Description description
Environnement
Campaign Standard
Problème/Symptômes
Cas d’utilisation : lors de l’importation de profils à partir d’un fichier, l’une des propriétés clés qu’ils lisent dans le fichier est blacklistEmail. Comme indiqué ci-dessous, si vous utilisez une mise à jour conditionnelle sur le champ source pour éviter les mises à jour inutiles sur le champ de destination.
Toutefois, vous pouvez remarquer que le champ blackListEmailLastModified est modifié pour tous les profils existants importés. Le comportement attendu est que blackListEmailLastModified ne doit être modifié que lorsque blacklistEmail est modifié.
Voici la mise à jour SQL générée :
METTRE À JOUR 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=$(curdate),
tsBlackListEmailLastModified=$(curdate),
tsBlackListAllLastModified=$(curdate)
DEPUIS wkf11373941_23_1 OutTbl
WHERE NmsRecipient.iRecipientId=OutTbl.iPKey_1
AND OutTbl.iRecProcState> $(l)
AND OutTbl.iRecProcState< =$(l)
ET OutTbl.iPKey_1< > 0
Comme indiqué par la mise à jour ci-dessus, le champ blackListEmailLastModified (tsBlackListEmailLastModified) est mis à jour, que blacklistEmail (iBlackListEmail) soit mis à jour ou non.
Résolution resolution
La solution consiste à ajouter le blackListEmailLastModified champ à la mise à jour conditionnelle.
S’il vous plaît voir ci-dessous :
Et la mise à jour SQL générée montre que l’ne blackListEmailLastModified sera modifié que lorsque blacklistEmail est modifié.
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