打印      打开 PDF 版本的联机帮助


上一主题

下一主题

PRE

如果修改了指定字段的值,但还未在数据库中更新此值,则 Expression Builder 中的 PRE 函数将返回该指定字段的上一个值。

警告:强烈建议您不要对包含“等待”操作的工作流规则使用 PRE 函数,因为“等待”操作会影响 PRE 函数。直到指定的等待期过期后,才会执行“等待”操作后面的任何操作。其余操作将在与最初触发规则的操作不同的批处理操作中执行,并且不保留触发工作流规则的操作之前的记录中的字段值。因此,字段的上一个值和当前值始终视为相同。

语法

PRE('<fieldname>')

结果类型

字符串

参数

下表说明该函数的参数。

参数

说明

fieldname

已修改的字段的名称。

注意:用于本主题中任何示例表达式的独立于语言的字段名称以及字段名称语法是比第 29 版 Service Pack 1 更旧的 Expression Builder 版本中使用的字段名称和字段名称语法。这些示例仍然有效。但是,如果您从第 29 版 Service Pack 1 或更高版本的 Expression Builder 的“字段”列表中选择表达式的对应字段,则字段名称和字段名称语法将不同于示例中所显示的字段名称和字段名称语法。建议您始终从 Expression Builder 内的“字段”列表中为表达式选择字段,以便字段名称和字段名称语法始终正确。有关表达式中的字段名称和字段名称语法的更多信息,请参阅关于表达式

使用 PRE 函数时,适用以下注意事项:

  • 在条件表达式中,如工作流条件和验证语句,使用 PRE 函数检索字段的上一个值时,请记住字段的初始值可以为空(即空值)。如果初始值为空,与非空值的任何比较都将导致不可预知的行为。要确保条件表达式在此类情况下的计算结果正确,请将 PRE 函数与 IfNull 函数一起使用,如以下示例所示:

    IfNull([<FieldName>], "无效") <> IfNull(PRE('<FieldName>'), "无效")

    在此示例中,文本字符串无效用于替换空值,但您可以使用任何所需的字符串,前提是该字符串未作为要检查的字段中的值存在。

  • 如果 PRE 函数用于在“等待”操作后调用的工作流规则或操作,则该函数不会返回字段的上一个值。但是,您可能拥有需要此类比较的业务流程。在这种情况下,您可以将工作流规则与“在保存已修改记录之前”触发器事件配合使用,以将字段的上一个值存储在记录类型的任何未使用字段中。接着,您可以将存储的字段值用于在具有“等待”操作的工作流规则中需要的任何比较。

    创建工作流规则以将字段的上一个值存储在记录类型的未使用字段中时,请记住原始字段的上一个值可能为空(即空值)。因此,如果遇到空值,则必须使用如下表达式存储默认值。

    IfNull([<FieldName>], "Invalid")

    在此示例中,文本字符串无效是用于替换空值的默认值,但是您可以使用任何所需的字符串,前提是该字符串未作为原始字段中的值存在。

创建将电子邮件发送到客户记录的上一个拥有者的工作流规则的示例

以下示例说明如何创建在更改记录的拥有者时将电子邮件发送到客户记录的上一个拥有者的工作流规则。

创建将电子邮件发送到客户记录的上一个拥有者的工作流规则

  1. 为触发器事件为“在保存已修改记录时”的客户记录类型创建工作流规则。
  2. 保存工作流规则。
  3. 在工作流规则中创建“创建电子邮件”操作。
  4. 在工作流操作中,执行以下操作:
    1. 在“收件人”字段中,选择“特定电子邮件地址”。
    2. 在“收件人”字段表达式文本框中,添加以下表达式:

      JoinFieldValue('<User>', IfNull(PRE('<OwnerId>'), "admin@mycompany.com"),'<EMailAddr>')

    3. 在电子邮件的主题和正文中添加必要文本。
    4. 保存工作流操作。

相关主题

请参阅以下主题以了解相关的 Expression Builder 信息:


已发布 10月 2016 Copyright © 2005, 2016, Oracle. 保留所有权利。Legal Notices.