0

以下の marketo のベロシティ スクリプトでは、50% のソフト バウンス率があり、次の理由により正常に送信できません。

「Velocity transform failed: ; ネストされた例外は: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'parseInt' in class java.lang.Integer throwed exception java.lang.NumberFormatException: null at 518-SGV-772: 250:1:静的[145 行目、30 列目] "

ソフトバウンスの問題を解決するためにスクリプトを変更する方法を知っている人はいますか?

 #foreach ($campaign_c in $campaign_cList)
   #set( $today = $date.get('yyyyMMdd'))
   #set( $strEnddate = $ams_campaign_c.enddate.replace("-",""))
   #set( $val = 1 )
   #set( $intEnddate = $val.parseInt($strEnddate))
   #set( $intToday = $val.parseInt($today))
   #set( $isFuture = "FALSE")
   #if ( $intEnddate > $intToday )
       #set( $isFuture = "TRUE")
#end
#if ( ( $campaign_c.isoutofbudget == 1)
    and ($campaign_c.marketplaceid == 1) 
    and ($campaign_c.product != "SP")
    and ($isFuture == "TRUE" ))
<tr>
<td>$campaign_c.campaignname</td>
   <td>$campaign_c.brandname</td>
   <td>$date.format('MM/dd/yyyy', ${convert.parseDate($campaign_c.enddate, 'yyyy-MM-dd')})</td>
</tr>
#end
#end
4

1 に答える 1

0

私の推測では、この行のループのどこかで起こっていると思います

#set( $intEnddate = $val.parseInt($strEnddate))

$ams_campaign_c.enddate でどのようなタイプのデータが送信されているかを知らなければ、正確な原因を特定するのは困難ですが、ここにあるデータが必ずしも整数文字の文字列を残すとは限りません。

于 2015-08-05T23:01:30.943 に答える