Облако Salesforce Marketing Amscript UpdateDE работает неправильно

У меня есть общий DE (CampaignRegisstruction) .

Эта DE имеет список кампаний. Когда я выполняю приведенный ниже код для отправленных купонов, мне нужно обновить эту DE с этой информацией.

%%[ 
 var @em, @couponRow, @couponCode , @DEName,@LocalBG ,@ClaimDate,@SubId,@CampName,@VoucherSent
 var @UnusedCount,@UsedCount,@Threshold,@Threshold_flg,@Empty_Flg,@rowsUpdated
 if _messagecontext == "PREVIEW" then 
  set @couponCode = "XX TEST XX" 
 else 
   set @em     = AttributeValue("emailAddr") 
   set @Threshold_flg  = false
   set @Empty_Flg   = false
   set @DEName    = "CAM-2v9g2q2" /* Replace CAM-2v9g2q2 with actual camp code everywhere */ 
   set @LocalBG    = "NLD" /* Insert the local BG 3 digit country code */ 
   set @couponRow   = ClaimRow("CAM-2v9g2q2","IsClaimed", "EmailAddress", @em, "JobID", JobID, "ListID", ListID, "BatchID", _JobSubscriberBatchID, "SubscriberID", SubscriberID) 
   if not empty(@couponRow) then 
     set @couponCode  = Field(@couponRow, "CouponCode") 
     set @ClaimDate   = Field(@couponRow, "ClaimedDate")
     set @SubId    = Field(@couponRow, "SubscriberID")
     set @UnusedCount = Subtract(Lookup("ENT.CampaignRegisteration","VoucherUnused","Market", @LocalBG, "CampaignNo", @DEName) ,1)
     set @UsedCount   = Add(Lookup("ENT.CampaignRegisteration","VoucherUsed","Market", @LocalBG, "CampaignNo", @DEName) ,1)
     set @Threshold   = Lookup("ENT.CampaignRegisteration","Threshold","Market", @LocalBG, "CampaignNo", @DEName) 
     set @CampName    = Lookup("ENT.CampaignRegisteration","CampaignName","Market", @LocalBG, "CampaignNo", @DEName)
     set @Threshold_flg = iif(@UnusedCount <= @Threshold,'true','false')
     set @Empty_Flg     = iif(@UnusedCount <= 0,'true','false')
     set @rowsUpdated  = UpdateDE('ENT.CampaignRegisteration',2,'Market', @LocalBG, 'CampaignNo', @DEName,'VoucherUnused',@UnusedCount,'VoucherUsed',@UsedCount,'LatestSentDate',SystemDateToLocalDate(Now(1)),'Notification_Threshold',@Threshold_flg,'Notification_Empty',@Empty_Flg) 
     InsertDE("ENT.SentVouchers","CouponCode",@couponCode,"EmailAddress",@em,"Market",@LocalBG,"CampName",@CampName,"CampId",@DEName,"SubscriberID",@SubId,"ClaimedDate",@ClaimDate)
   else 
     RaiseError("No coupons available", false) 
   endif 
 endif 
 ]%%
 <p>
 Voucher Unsed = %%=v(@UnusedCount)=%%
 <br/>
 Voucher Used = %%=v(@UsedCount)=%%
 <br/>
 </p>
 <p> Please use discount code %%=v(@couponCode)=%% or scan it <img alt="barcode" border="0" height="100" hspace="0" src="%%=BarCodeURL(@couponCode,'DataMatrix', 100, 100, 0)=%%" style="width: 100px; height: 100px" title="barcode" width="100"></p>

Линия

set @rowsUpdated  = UpdateDE('ENT.CampaignRegisteration',2,'Market', @LocalBG, 'CampaignNo', @DEName,'VoucherUnused',@UnusedCount,'VoucherUsed',@UsedCount,'LatestSentDate',SystemDateToLocalDate(Now(1)),'Notification_Threshold',@Threshold_flg,'Notification_Empty',@Empty_Flg) 
     

отвечает за обновление DE.

Когда я делаю посылку для 4 подписчиков, вышеприведенная строка запускается только 1 раз.

Перед запуском регистрация кампании имела:

Неиспользованные ваучеры = 344 Использованные ваучеры = 0

После запуска Неиспользованные ваучеры = 343 Использованные ваучеры = 1

Я ожидаю: неиспользованные ваучеры = 340 использованных ваучеров = 4

Можете ли вы дать мне знать, верно ли мое ожидание или нет, и почему код работает неправильно

0 ответов

Другие вопросы по тегам