“在发送源中找不到字段名称”

时间:2015-02-20 19:57:04

标签: exacttarget ampscript

我对ExactTarget总体上有点新意,所以如果已经回答了这个问题我会道歉(如果有的话,我在任何地方都找不到)。

我正在尝试创建一封电子邮件,有条件地显示包含产品信息链接的50个项目符号列表中的n个。但是,每当我尝试发送此电子邮件时,都会收到以下错误消息:

Other errors found in the email.
Category: AMP Script

Functions and Custom Objects:('
  Field Name %%F50%% was not found in the send source.
 Category: AMP Script

错误消息的第二段总共重复50次(每个字段一个)。

我似乎无法弄清楚为什么会出现这个问题:

  • 我有一个数据扩展,其中包含映射在其中的每个字段的数据。
  • 我已将CSV中的有效数据导入数据扩展程序。
  • 我有一份我尝试分发的有效订阅者列表。
  • 我有一个自定义区域的电子邮件模板,每个自定义区域检查订阅者是否对每个字段都有“true”值,并在此基础上显示/隐藏内容片段。
  • 我有50个内容片段(每个字段一个)。

这里有一些我不想要的东西。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果50个字段不在您的发送数据扩展名中,您需要使用类似的脚本检索它们。请注意,值显示为%%=v(@DEColumn1)=%%

%%[
var @rows, @row, @rowCount, @numRowsToReturn, @lookupValue, @i

set @lookupValue = "whee"
set @numRowsToReturn = 0 /* 0 means all */
set @rows = LookupOrderedRows("DataExtensionName",@numRowsToReturn,"DEColumn1 desc, DEColumn2 asc","LookupColumn", @lookupValue)
set @rowCount = rowcount(@rows)

if @rowCount > 0 then

for @i = 1 to @rowCount do

var @DEColumn1, @DEColumn2
set @row = row(@rows,@i) /*get row based on loop counter */
set @DEColumn1 = field(@row,"DEColumn1")
set @DEColumn2 = field(@row,"DEColumn2")

]%%

Row %%=v(@i)=%%, DEColumn1 is %%=v(@DEColumn1)=%%, DEColumn2 is %%=v(@DEColumn2)=%%

%%[ next @i ]%%

%%[ else ]%%

No rows found

%%[ endif ]%%

此外,还有更多人在salesforce.stackexchange.com处回答了SFMC问题 - 主要是使用marketing-cloudampscript标记。