CICS 关闭期间与任务相关的用户出口的限制

在关闭期间调用与任务相关的用户出口 (TRUE) 时,出口程序的功能受到限制。 CICS® 异常终止和操作程序取消的性质使得 CICS 可能无法在系统终止时调用出口程序,即使您指定了 SHUTDOWN 也是如此。

对程序可执行的操作 (如果调用) 的限制取决于终止类型:
有序关闭 (UERTCORD)
当所有 CICS 服务都可用但程序不得启动任何新任务时,出口程序必须遵循在 CICS 关闭的第一个停顿阶段运行的程序的规则。
立即关闭 (UERTCIMM)
您的出口程序必须执行所需的最低要求和返回控制,以便可以继续关闭。
CICS 异常终止,重试可能,可分派的 TCB 数 (UERTCABY)
z/OS® 已将故障标记为 符合重试条件。 您的出口程序必须遵循此类型故障的 z/OS 规则,记录在 z/OS MVS Programming: authorized Assembler Services Guide中。

区域中的子任务 (即,除 CICS 作业步骤 TCB 之外的任务控制块 (TCB)) 仍可分派,并且出口程序可以在这些子任务下运行代码。

不得使用任何 CICS 服务。

CICS 异常终止,无法重试, TCB 可分派 (UERTCABN)
z/OS 已将故障标记为 不适合重试。 对于此类型的故障,出口程序必须遵循 z/OS 规则。 您的出口程序是从 CICS 扩展子任务异常终止出口 (ESTAE) 中的代码调用的。 与非 ESTAE 代码相比, z/OS 对 ESTAE 代码施加了更多限制。

区域中的子任务仍可分派,您的出口程序可以在这些子任务下运行代码。

不得使用任何 CICS 服务。

CICS 异常终止,无法重试, TCB 不可分派 (UERTOPCA)
对于 UERTCABN ,除了区域中的子任务不可分派之外; 出口程序不得尝试在它可能已连接的任何 TCB 下运行代码。

重要事项

在异常终止调用 (UERTCABY 通过 UERTOPCA) 中,出口程序不得使用任何 CICS 服务,包括执行 CICS GETMAIN的 DFHEIENT 调用。 要防止在每次调用程序时自动发出 DFHEIENT 调用,请指定 NOPROLOG 转换程序选项; 但在程序源中包含您自己的 DFHEIENT 调用,仅在非异常终止调用时发出。 图 1中提供了如何对要在 CICS 终止时调用的任务相关用户出口程序进行编码的示例。 有关对 DFHEIENT 调用进行编码的更多信息,请参阅 DFHECALL 宏