管理 Oracle CRM On Demand > 业务流程管理 > 工作流配置 > 创建工作流操作:等待
创建工作流操作:等待
“等待”操作会导致 Oracle CRM On Demand 将工作流规则中的其他(后续)操作延迟到等待期过后才执行。您可以将等待期指定为时间期,或者可以指定等待期的结束日期和时间。另外,您可以直接指定等待期,或者创建表达式来计算等待期。
注意:等待期指定 Oracle CRM On Demand 开始执行工作流规则中的其他操作之前必须经过的最短时间。执行其他操作之前经过的实际时间可能更长,具体取决于 Oracle CRM On Demand 数据库和 Oracle CRM On Demand 服务器的负载情况,还取决于等待期结束时待处理的“等待”操作数。
关于“等待”操作和“创建集成事件”操作
如果您想要使用“创建集成事件”操作来创建可捕获触发工作流规则事件对记录所做的更改的集成事件,则必须在工作流规则的操作顺序中将“创建集成事件”操作放在任何“等待”操作之前。如果工作流规则中的“等待”操作在“创建集成事件”操作之前,则“等待”操作会阻止“创建集成事件”操作删除对记录的更改。“等待”操作的等待期间结束时,再次读取记录,然后再执行规则的其余操作,并且不保留触发工作流规则的事件之前的记录中的字段值。因此,字段的上一个值和当前值视为相同,且“创建集成事件”操作不创建集成事件,因为它检测不到跟踪的字段有任何更改。
注意:您可以为工作流规则创建多个操作,最多可以为每个规则创建 25 个操作。
以下过程说明如何创建“等待”操作。
开始之前。要执行以下过程,您的用户角色必须具有“管理工作流规则”权限。有关对角色添加权限的信息,请参阅添加角色。
创建“等待”操作
- 请导航到要在其中创建操作的规则:
- 在任何页面中,单击右上角的“管理”全局链接。
- 在“业务流程管理”部分中,单击“工作流配置”。
- 在“工作流规则列表”页面上,找到要在其中创建操作的规则。
有关在列表页中搜索工作流规则的信息,请参阅筛选列表。
- 单击规则上的“工作流名称”链接。
- 在“工作流规则详细信息”页面上的“操作”标题栏中,单击“菜单”,然后选择“等待”。
注意:工作流规则中的触发事件将决定可在此规则中创建的操作的类型。
提示:可以通过单击对应的“复制”链接,创建现有工作流规则操作的副本。
- 在“编辑工作流操作”页面中,输入操作名称。
- 如果想启用该操作,请选中“有效”复选框。
- 如果不想 Oracle CRM On Demand 在等待期结束后重新评估规则条件,请取消选中“等待后重新评估规则条件”复选框。
注意:有关“等待后重新评估规则条件”复选框的更多信息,请参阅关于基于时间的工作流规则。
- 使用以下选项之一指定等待的持续时间:
- 选择“期间”选项,然后输入以年、月、日、小时和分钟表示的延迟期间,操作如下:
- 在“年份”字段中,输入介于 0 到 5 之间的正整数。
- 在“月”字段中,输入介于 0 到 12 之间的正整数。
- 在“日”字段中,输入介于 0 到 200 之间的正整数。
- 在“小时”字段中,输入介于 0 到 200 之间的正整数。
- 在“分钟”字段中,输入介于 0 到 59 之间的正整数。
不能指定负值或非整数值,如 1.5。
- 选择“期间表达式”选项,然后单击该字段旁边的 fx 图标,并使用 Expression Builder 来创建用于计算延迟期间的表达式。
可以使用 Expression Builder 中的“持续时间”函数来计算期间,以日或日的分数表示。有关更多信息,请参阅持续时间。
该表达式的计算结果必须为一个数字。以下是计算延迟期间的有效表达式示例:
Duration('P0YT1H') + Duration('P0YT1M') + Duration('P1Y')
Duration('P0YT1H') + 1
Duration('P1YT1H') - 1
支持的最长持续时间为 'P5Y12M200DT200H59M';即 5 年、12 个月、200 天、200 小时和 59 分钟。
注意:如果计算出的等待期为负数,则等待期会设置为零,且“等待”操作会立即完成。执行工作流规则上的其余所有操作,不再延迟。
- 选择“时间”选项,单击日历图标,然后选择延迟的结束日期和时间。
根据个人设置中指定的时区选择时间。
- 选择“时间表达式”选项,然后单击该字段旁边的 fx 图标,并使用 Expression Builder 创建用于计算延迟的结束日期和时间的表达式。
可以使用 Expression Builder 中的“持续时间”函数来计算期间,以日或日的分数表示。有关更多信息,请参阅持续时间。
该表达式的计算结果必须为日期和时间。以下是计算延迟的结束日期和时间的有效表达式示例:
Timestamp() + Duration('P0YT5M')
Today() + Duration('P0YT1H5M')
注意:如果计算出的结束日期和时间已过去,则该操作上的等待期设置为 0(零),且“等待”操作会立即完成。执行工作流规则上的其余所有操作,不再延迟。
如果该表达式的计算结果并非有效日期和时间,则“等待”操作会立即完成,并执行工作流规则上的其余所有操作,不再延迟。
如果该表达式的计算结果为触发器日期和时间之后大于 5 年、12 个月、200 天、200 小时和 59 分钟(即,支持的最长等待持续时间)的日期和时间,则结束日期和时间计算为触发器日期和时间加上支持的最长等待持续时间。
- 保存操作。
有关创建其他类型的工作流操作的详细步骤说明,请参阅以下主题:
相关主题
请参阅以下主题以了解工作流的相关信息:
|