CANCEL
取消时间间隔控制请求。
动态事务路由的注意事项: 将 CANCEL 与 REQID (POST , DELAY 或 START) 配合使用可能会创建对动态事务路由的使用产生负面影响的事务间亲缘关系。 有关事务亲缘关系的更多信息,请参阅 亲缘关系 。
描述
CANCEL 取消先前发出的 DELAY , POST 或 START 命令。 CANCEL 命令不能用于除去本地排队的请求。 如果包含 SYSID 选项,那么该命令将提供给远程系统。 如果省略 SYSID ,那么 TRANSID 选项 (如果存在) 指示要执行命令的位置。 取消的效果因要取消的命令类型而异,如下所示:
- 只能在 DELAY 命令到期之前取消该命令,并且只能由发出 DELAY 命令 (在请求期间暂挂) 的任务以外的任务取消该命令。 必须指定暂挂任务所使用的 REQID。 取消的效果与原 DELAY 的提前到期相同。 即,已暂挂的任务变为可分派,就像已达到原始到期时间一样。
- 当要取消同一任务发出的 POST 命令时,不需要指定 REQID。 可以在原始请求到期之前或之后请求取消。 取消的效果就像原来的要求从来没有提出过一样。
- 当要取消另一个任务发出的 POST 命令时,必须指定该命令的 REQID。 取消的效果与原始 POST 请求的提前到期相同。 即,将发布其他任务的计时器事件控制区域,就像已达到原始到期时间一样。
- 当要取消 START 命令时,必须指定与原始命令相关联的 REQID。 取消的效果就像原来的命令从来没有发出过一样。 取消仅在接受原始命令之前生效。
- 当您将 START 命令与 PROTECT 选项配合使用时,仅当已落实 START 命令时, CANCEL 才会取消 START 命令。
注: 对带有 REQID 的 START 的 CANCEL 命令的 NOTFND 响应表示启动请求不再未完成。 这并不意味着要启动的任务已在此时间点完成; 也不意味着已启动的任务已发出 RETRIEVE 命令以从 REQID 队列读取 FROM 数据。 如果此时 REQID 队列仍然存在,那么复用相同 REQID 值的后续 START 命令可能会失败,并产生 AEIQ 异常终止 (IOERR 条件)。
选项
- REQID (名称)
- 指定应该唯一的名称 (1-8 个字符) 以标识命令。 此名称用作临时存储器标识。 因此标识的临时存储器队列必须定义为处理 CANCEL 命令的 CICS ® 系统上的本地队列。
此选项不能用于取消同一任务发出的 POST 命令 (对于该命令,如果指定了 REQID 选项,那么将忽略该选项)。
- SYSID (systemname)
- (仅限远程系统) 为 CANCEL 命令指定系统的名称 (1-4 个字符)。
- TRANSID (名称)
- 指定要用于确定执行 CANCEL 命令的位置的事务的符号标识 (1-4 个字符) (如果未指定 SYSID)。 如果 TRANSID 定义为 REMOTE ,那么 CANCEL 请求将函数输送到远程系统。
条件
- 54 ISCINVREQ
- 当远程系统指示不符合已知条件的故障时发生。
缺省操作: 异常终止任务。
- 70 NOTAUTH
- 当对指定的 TRANSID 或与请求标识对应的 START 命令的 TRANSID 进行资源安全性检查失败时发生。
缺省操作: 异常终止任务。
- 13 NOTFND
- 如果指定的请求标识无法与未到期的时间间隔控制命令匹配,那么将发生此情况。
缺省操作: 异常终止任务。
- 53 个 SYSIDERR
- 当 SYSID 选项指定既不是本地系统也不是远程系统 (通过定义 CONNECTION 使 CICS 知道) 的名称时发生。 当到远程系统的链路关闭时,也会发生此情况。
缺省操作: 异常终止任务。
