发生异常情况时

从逻辑单元检测到异常情况时,将涉及以下 CICS® 组件:
  • 针对 SNA 部分的终端控制程序 z/OS® Communications Server :DFHZCA , DFHZCB , DFHZCC , DFHZCP , DFHZCQ , DFHZCW , DFHZCX , DFHZCY 和 DFHZCZ。
  • 节点异常条件程序 DFHZNAC。
  • CICS提供的缺省节点错误程序 DFHZNEP 或您自己的版本。

对于逻辑单元,有关终端的处理状态的所有信息都包含在 TCTTE 和请求参数列表 (RPL) 中。 因此,当必须为逻辑单元处理终端错误时,将 TCTTE 本身放置到系统错误队列上。

DFHZNAC 假定系统检测代码在收到来自逻辑单元的异常响应时可用。 因此,将执行分析以确定响应的原因。 根据接收到的系统检测代码做出决策,例如要设置哪些操作标志以及需要哪些请求。 如果检测信息不可用,那么将设置缺省操作标志,并且如果响应未完成,那么将 DFHZEMW 调度为发送否定响应,并向终端发送错误消息。

DFHZNAC 在接收特定入站系统检测代码时设置的操作标志在 节点异常条件程序的缺省操作中列出。

在执行指定的例程之前, DFHZNAC 链接到 DFHZNEP。 您可以使用 DFHZNEP 来执行除 DFHZNAC 执行的错误处理之外的其他错误处理; 或者更改先前由 DFHZNAC 设置的缺省操作。 仅当要执行其中任一操作时,才需要对节点错误程序进行编码。

DFHZNAC 为帮助节点错误程序而设置的操作标志位于通信区域的 TWAOPTL 字段中。

如果要在发生异常情况后修改 DFHZNAC 的操作, DFHZNEP 可以查询字段 TWAOPTL 并修改位设置。 如果您同意 DFHZNAC 的建议操作,那么字段 TWAOPTL 保持不变。

在大多数情况下, DFHZNEP 可以修改 DFHZNAC 建议的操作。 DFHZNAC 覆盖 DFHZNEP 修改字段 TWAOPTL 的唯一时间是当逻辑单元要与 CICS断开连接时; 即,当 DFHZNAC 确定异常情况需要 CICS 为逻辑单元发出 ACF/SNA CLSDST 宏时。 在这种情况下, DFHZNAC 断开终端连接并异常终止任务,即使 DFHZNEP 尝试阻止此类操作。

如果已将否定响应发送到逻辑单元,或者如果 DFHZEMW 要将错误消息写入逻辑单元,那么也将忽略节点错误程序重置任务终止标志。

当节点错误程序已执行其功能时,它通过 EXEC CICS RETURN 命令将控制权返回给 DFHZNAC。

从 DFHZNEP 返回控制时, DFHZNAC 将执行字段 TWAOPTL 中指定的操作 (断开逻辑单元的连接时除外,如前所述) ,根据需要发出消息并设置错误代码。