0

我正在尝试使用 SalesForce 中的 ClaimRow 方法将促销代码添加到电子邮件中,这样一旦用户声明了将在数据扩展中标记的代码

我在网上查看过,它们都具有我创建的相同设置。

正在调用的数据扩展是这样设置的,其中填充了促销代码:

促销代码 - 数据类型 = 文本;长度=100;主键=真,可空=无;默认值 = 无

IsClaimed - 数据类型 = 布尔值;长度=无;主键=假,可空=真;默认值 = 假}

电子邮件地址 - 数据类型 = 电子邮件地址;长度=无;主键=假,可空=真;默认值 = 无

AMPscript 设置为:

%%[

var @em, @couponRow, @couponCode

    set @em = AttributeValue("emailAddr")

    set @couponRow = ClaimRow("UK_£10_Off_£30_Codes_2", "IsClaimed", "EmailAddress", @em)

    if not empty(@couponRow) then

      set @couponCode = Field(@couponRow, "PromoCode")

    else

        RaiseError("No codes available", false)

    endif

]%%

Coupon code: %%=v(@couponCode)=%%

这看起来不错,但它引发了“无可用代码”的错误。当我删除 If 语句时,错误消息是:

传递给 Field 函数的行(参数 1)无效。行为空或为空。功能:字段(@couponRow,“促销代码”)

我现在已经碰壁了,任何帮助将不胜感激

4

1 回答 1

0

这现在正在工作

问题是 IsClaimed 行没有将默认值填充为“False”

于 2020-10-21T16:34:52.070 回答