【问题标题】:"Field Name was not found in the send source"“在发送源中找不到字段名称”
【发布时间】:2015-02-20 19:57:04
【问题描述】:

总的来说,我对 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 导入数据扩展。
  • 我有一个我试图分发给的有效订阅者的列表。
  • 我有一个包含自定义区域的电子邮件模板,每个模板都会检查订阅者是否对每个字段都有“真实”值,并在此基础上显示/隐藏内容 sn-ps。
  • 我有 50x 内容 sn-ps(每个字段一个)。

这里一定有我遗漏的东西。有什么想法吗?

谢谢!

【问题讨论】:

    标签: exacttarget ampscript


    【解决方案1】:

    如果这 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 标记。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      相关资源
      最近更新 更多