ADMIN_TASK_UPDATE存储过程

ADMIN_TASK_UPDATE存储过程用于更新管理任务调度程序任务列表中的任务计划。 如果您要更新的任务正在运行,则更改将在当前执行完成后生效。

您必须指定要修改计划的任务的所有参数,即使这些参数自您使用存储过程 ADMIN_TASK_ADD 创建任务以来从未更改过。

开始通用编程接口信息。

环境

ADMIN_TASK_UPDATE在WLM建立的存储过程地址空间中运行,并使用资源恢复服务附件功能连接到 Db2

授权

要调用此存储过程,您必须拥有 MONITOR1 权限。

任何拥有SYSOPR、SYSCTRL或SYSADM权限的用户都可以更新任何任务。 任何拥有此存储过程执行权限的用户都可以更新他们添加的任务。 如果您尝试更新其他用户添加的任务,输出中将返回错误。

语法

下面的语法图显示了调用此存储过程的SQL CALL语句:

阅读语法图跳过可视化语法图 CALL ADMIN_TASK_UPDATE ( 任务名称 , 描述 , 开始时间戳 , 结束时间戳 , 最大调用量 , 时间间隔 , 时间点 , 触发任务名称 , 触发任务条件 , 触发任务代码 , db2-ssid , 返回码 , 消息 )

选项说明

任务名称
指定要在管理任务调度程序的任务列表中更新的任务的唯一名称。 这是一个VARCHAR(128)类型的输入参数。
描述
指定分配给任务的描述。 这是一个VARCHAR(128)类型的输入参数。
开始时间戳
一个TIMESTAMP类型的输入参数,用于指定任务可以开始执行的最早时间。 此参数的值不能早于过去,也不能晚于 end_timestamp

任务的开始执行取决于此参数和其他参数的定义:

开始时间戳的非空值
开始时间戳
如果时间点触发任务名称为空,则任务执行从开始时间戳开始。
上次执行此任务后的间隔时间(分钟)
任务执行从开始时间戳开始。
下一个时间点定义为开始时间戳或之后
如果时间点不为空 ,则任务执行将在开始时间戳或之后定义的下一个时间点开始。
触发任务名称开始时间戳之后完成时
任务执行将在触发任务名称完成或开始时间戳之后开始。
开始时间戳的值为空
立即
如果时间点触发任务名称为空,则立即开始执行任务。
上次执行此任务后的间隔时间(分钟)
任务执行从开始时间戳开始。
定义了下一个时间点
如果时间点不为空 ,则任务执行将在下一个时间点开始。
触发任务名称完成后
任务执行将在触发任务名称完成时开始。
结束时间戳
一个TIMESTAMP类型的输入参数,用于指定任务可以开始执行的最新时间。 这个论点的价值不能在过去了,也不能早于开始时间戳。 如果参数为空,则任务可以无限期地继续按计划执行。

执行任务不会因结束时间戳而中断。

最大调用量
指定修改后的任务允许的最大执行次数。 此值适用于所有计划执行,无论它们是由事件触发、按时间间隔重复还是按时间点重复。 该值包括之前执行修改后的任务的结果。

如果最大调用次数小于或等于任务已执行的次数,则不会再次执行该任务。 要修改任务使其再次运行,必须将max-invocations 指定为NULL,或者指定为大于当前任务已执行次数的值。 此外,如果 max-invocations 、interval 、point-in-timetrigger-task-name 为空,则任务仅执行一次。

如果此参数设置为 NULL,则此任务可以无限次执行。 如果同时指定了结束时间戳最大调用次数 ,则以先达到的限值为准。 例如,如果达到结束时间戳的值,即使任务执行次数尚未达到最大调用次数 ,也不会再次执行该任务。 同样,如果达到最大调用次数 ,即使未达到结束时间戳的值,也不会再次执行任务。

这是一个整数类型的输入参数。

时间间隔
定义重复性常规任务两次执行之间的时间间隔。 第一次执行发生在开始时间戳

如果此参数设置为 NULL,则不会定期执行任务。 如果此参数包含非空值,则必须将时间点触发任务名称参数设置为空。

这是一个整数类型的输入参数。

时间点
指定执行任务的一个或多个时间点。 如果此参数设置为 NULL,则任务不会在固定时间点进行调度。 如果此参数包含非空值,则参数intervaltrigger-task-name 必须设置为NULL。

时间点字符串使用UNIX cron格式。 这种格式包含以下信息,以空格分隔:

  • 给定分钟数
  • 给定小时数
  • 指定日期或每月的某几天
  • 一年中的某个月或某几个月
  • 星期几

对于每个部分,您可以指定一个或多个值和范围。

这是一个VARCHAR(400)类型的输入参数。

触发任务名称
指定任务名称,该任务完成后将触发此任务的执行。 任务名称 DB2START 和 DB2STOP 保留给 Db2 启动和关闭事件。 这些事件由调度程序处理,调度程序与正在启动或停止的 Db2 子系统相关联。

如果此参数设置为 NULL,则不会由其他任务触发此任务的执行。 如果此参数包含非空值,则参数intervalpoint-in-time 必须为空。

这是一个VARCHAR(128)类型的输入参数。

触发任务条件
指定在执行任务触发器-任务名称后,对返回代码进行比较的类型。 可能的值包括:
GT
大于
GE
大于等于
环境资格
等于
LT
小于
LE
小于或等于
NE
不等于

如果此参数设置为 NULL,则触发任务执行,而不考虑任务触发器名称的返回代码。 如果触发器任务名称设置为 NULL 或为 DB2START 或 DB2STOP ,则此参数必须设置为 NULL。

这是一个字符型(CHAR)的输入参数(2)。

触发任务代码
指定执行任务触发器任务名称的返回代码。

如果执行此任务是由存储过程触发的,则触发任务代码包含触发存储过程必须返回的 SQLCODE,以便执行此任务。

如果执行此任务是由 JCL 作业触发的,则触发任务代码包含触发作业必须返回的 MAXRC,以便执行此任务。

要了解任务执行后的MAXRC或SQLCODE,请调用用户定义的函数DSNADM。 ADMIN_TASK_STATUS在MAXRC和SQLCODE列中返回此信息。

触发任务代码的值受以下限制:

  • 如果触发任务条件为空,则触发任务代码也必须为空。
  • 如果触发任务条件不为空,则触发任务代码也必须不为空。

如果触发任务条件触发任务代码未设置为空,则它们用于测试执行触发任务名称的返回代码,以确定是否执行此任务。 例如,如果触发任务条件设置为“GE”, 触发任务代码设置为“8”,则只有当触发任务名称的上一次执行返回的MAXRC(对于JCL作业)或SQLCODE(对于存储过程)大于或等于8时,才会执行此任务。

这是一个整数类型的输入参数。

db2-ssid
指定 Db2 子系统的ID,其关联的调度程序应执行该任务。

此参数用于数据共享环境,其中不同的 Db2 成员具有不同的配置,并且任务的执行依赖于特定的环境。 但是,在 db2-ssid 将阻止其他成员的管理任务调度程序执行该任务。 因此,只有在 db2-ssid 正在运行时,才能执行。

对于由触发任务名称中的 Db2 启动或 Db2 停止事件触发的任务,在 db2-ssid 指定一个值,仅在指定的 Db2 子系统启动或停止时执行任务。 如果没有给出值,则每个开始或停止的成员都会触发任务的局部执行,如果执行是串行的。

如果此参数设置为 NULL,则任何管理任务调度程序都可以执行该任务。

这是一个VARCHAR(4)类型的输入参数。

返回码
提供存储过程的返回代码。 可能的值包括:
0
通话已成功结束。
12
通话未成功完成。 消息输出参数包含描述错误的消息。

这是一个整数类型的输出参数。

消息
包含描述存储过程所遇到错误的信息。 该区域中的第一条消息(如果有的话)由存储过程生成。 Db2 生成的消息可能会遵循存储过程消息。

这是一个VARCHAR(1331)类型的输出参数。

输出

此存储过程具有以下输出参数,在选项描述中进行了说明:

  • 返回码
  • 消息

通用编程接口信息结束。