流程和活动的到期日期

流程实例的到期日期是流程实例的所有相关活动均已完成的预期日期和时间。 同样,活动到期日期是活动的预期完成时间。您可以在 Process Portal 中使用到期日期来确定流程实例和活动是按调度执行,还是存在不能按时完成的风险。

Process Portal 中,流程实例按照到期日期列出,并在到期日期期满时标记为有风险或逾期。要仅列出在某一日期的特定时间范围内到期或者逾期的流程实例,可以使用流程实例到期日期作为已保存搜索中的搜索过滤器。在创建流程实例后,如果管理员和实例所有者团队成员希望该实例恢复正常调度,可以更改流程实例到期日期。

任务按到期日期列出。任务到期日期和预计路径也用于计算流程实例的预期完成时间。管理员可以在 Process Portal 中更改任务到期日期。如果为流程启用了预计路径管理,那么授权业务用户可以更改个别任务和整个流程实例的到期日期。

如何计算到期日期

IBM® BPM 在运行时计算到期日期。将基于流程实例或运行时任务的开始日期以及在 Process Designer 中为到期时间和工作调度属性指定的值来计算到期日期。所有属性都有缺省值。这些值存储在 99Local.xml 配置文件中。管理员可以在 100Custom.xml 配置文件中定制属性的缺省值。有关 100Custom.xml 配置文件的信息,请参阅100Custom.xml 文件和配置
到期时间
完成活动或整个流程实例所需的预期时间长度。如果以天为单位指定该值,那么一天的长度取决于时间调度;仅当指定 24x7 时间调度时,它才等于 24 小时或 1440 分钟。出于性能考虑,请勿指定大于 800 小时、分钟或天的到期时间,因为此类值会导致多次检查时间调度和假期调度。请改为使用 JavaScript 表达式来直接设置到期日期,从而避免这些检查。您也可以使用 JavaScript 表达式来指定固定日期。在此情况下,将忽略工作调度设置。
注意: 对于流程和活动而言,到期时间的处理方式略有不同:
流程
流程实例的缺省到期时间为 8 小时。可以使用天、小时和分钟为单位指定不同的时间。例如,到期时间为 2 天 4 小时 30 分钟意味着在流程实例启动后,预期将运行该时间长度。
活动
活动的缺省到期时间为 1 小时。可以使用天、小时或分钟为单位指定不同的时间。如果到期时间的单位为天,可以使用字段右侧的字段来指定到期日期计算的开始时间。例如,如果指定 1 天和时间 11:00,那么运行时任务将于任务启动一天后的 11:00 到期。
工作调度
工作调度、时区和假日调度属性将确定用户可以完成工作的工作时间。您可以为各个流程和活动指定工作调度值,也可以保留缺省值。如果对活动使用缺省值,那么将使用对应流程设置的值。
时间调度
正常工作时间。例如,如果预期业务用户工作时间为周一到周五上午 9 点到下午 5 点,那么可以使用预定义的 9AM-5PM M-F 时间调度。
时区
用于运行流程实例或活动的时区。例如,如果处理任务的业务用户位于加利福尼亚州,那么可以使用“美国/太平洋”时区。到期日期计算的缺省时区是中部标准时间 (CST)。如果使用缺省时区,并且它与您的系统时区不同,那么在计算到期日期或使用 JavaScript tw.system.calculateBusinessDate() 方法计算工作日时,您可能会获得意外结果。
假期调度
正常时间调度以外的日期列表。 如果使用 JavaScript 表达式来定义假期调度,请输入字符串(或字符串生成的 JavaScript)或可返回 TWHolidaySchedule 变量的 JavaScript 表达式。如果使用字符串,那么 IBM BPM 会根据这些规则按名称查找假期调度。如果使用 TWHolidaySchedule 变量,那么将插入假期调度。要查看 TWHolidaySchedule 变量的参数,请在系统数据 Toolkit 中打开该变量。
有关如何使用 JavaScript 表达式来动态设置工作调度属性的示例,请参阅创建和管理时间和节假日安排

示例

下列各表显示了活动和流程实例的到期日期计算的示例。 在所有示例中,系统时区和工作调度时区都是中部标准时间 (CST)。

示例:工作日定义

如果指定 9AM-5PM M-F 作为时间调度,指定 24 小时或 1440 分钟作为到期时间,那么活动或流程实例预期需要 3 个工作日完成,因为一个工作日仅包含 8 小时的可用工作时间。但是,如果指定 24x7 时间调度,那么一个工作日对应于 24 小时,运行时任务或流程实例预期需要一个日历日即可完成。
表 1. 工作日定义
开始日期 到期时间值 到期时间单位 时间调度 假期 到期日期
2017-03-01 周三 10:00 1440 分钟 9AM-5PM M-F 2017-03-06 周一 10:00
2017-03-01 周三 10:00 24 小时 9AM-5PM M-F 2017-03-06 周一 10:00
2017-03-01 周三 10:00 1 9AM-5PM M-F 2017-03-02 周四 10:00
2017-03-01 周三 10:00 1440 分钟 24x7 2017-03-02 周四 10:00
2017-03-01 周三 10:00 24 小时 24x7 2017-03-02 周四 10:00
2017-03-01 周三 10:00 1 24x7 2017-03-02 周四 10:00

示例:到期时间超出正常工作时间

如果将到日时间加到开始日期上所得的结果超出正常工作时间,那么剩余的小时和分钟数将加到下一个工作日的开始。
表 2. 到期时间超出正常工作时间
开始日期 到期时间值 到期时间单位 时间调度 假期 到期日期
2017-03-03 周五 16:15 60 分钟 9AM-5PM M-F 2017-03-06 周一 9:15
2017-03-03 周五 16:15 1 小时 9AM-5PM M-F 2017-03-06 周一 9:15
2017-03-03 周五 16:15 1 9AM-5PM M-F 2017-03-06 周一 16:15
2017-03-01 周三 10:00 1 9AM-5PM M-F 2017-03-02 2017-03-03 周五 10:00

示例:开始日期超出正常工作时间

如果开始日期不是工作日,那么到期日期计算将从下一个工作日开始时算起。
表 3. 开始日期超出正常工作时间
开始日期 到期时间值 到期时间单位 时间调度 假期 到期日期
2017-03-04 周六 10:00 60 分钟 9AM-5PM M-F 2017-03-06 周一 10:00
2017-03-04 周六 10:00 1 小时 9AM-5PM M-F 2017-03-06 周一 10:00
2017-03-04 周六 10:00 1 9AM-5PM M-F 2017-03-07 周二 09:00
2017-03-01 周三 10:00 1 9AM-5PM M-F 2017-03-01 2017-03-03 周五 09:00

示例:到期时间包含天、小时和分钟值

如果指定天、小时和分钟值作为到期时间,那么对于流程和活动而言,该时间的处理方式有所不同。
表 4. 以天、小时和分钟为单位的到期时间
开始日期 到期时间值 到期时间单位 小时和分钟 时间调度 假期 到期日期 类型
2017-03-06 周一 10:00 1 10:30 9AM-5PM M-F 2017-03-08 周三 12:30 过程实例
2017-03-05 周日 10:30 1 10:30 9AM-5PM M-F 2017-03-07 周二 09:00 活动
  • 对于流程,小时和分钟值将加到耗用时间上,从而得出 1 天 10 小时 30 分钟的预期持续时间。
  • 对于活动,开始日期是创建运行时任务的日期,小时和分钟值表示到期日期计算的开始时间。由于开始时间为周日,因此计算将从下一个工作日开始时算起。

示例:时区与系统时区不同

您可以在工作调度中指定与系统时区不同的时区。对于到期日期计算,流程实例或任务的开始日期将转换为指定的时区。计算结果将转换回系统时区。在以下示例中,系统时区设置为中欧时间 (CET / UTC+1),而用于到期日期计算的时区为中部标准时间 (CST / UTC-6)。
表 5. 不同的时区
开始日期 到期时间值 到期时间单位 时间调度 假期 到期日期
2017-03-06 周一 12:00 1 9AM-5PM M-F 2017-03-07 周二 16:00
  1. 开始日期将转换为 CST:2017-03-06 周一 05:00。
  2. 由于开始日期超出正常工作时间,因此到期日期计算将从下一个工作日(2017-03-06 周一 09:00)开始时算起。
  3. 计算到期日期时,将一个工作日加到到期时间上:2017-03-07 周二 09:00。
  4. 到期日期结果将转换回 CET:2017-03-07 周二 16:00。