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