如果在路由选择中发生错误

如果在路由选择中发生错误 (例如,如果分布式路由程序返回的 sysid 不可用或未知) ,那么将再次调用分布式路由程序。

重新调用程序时,您可以选择操作:
  1. 您可以尝试通过更改 sysid 并在 DYRRETC 中发出返回码 "0" 来将请求路由到其他目标区域。

    如果此区域也不可用,那么将针对路由选择错误再次调用路由程序。 在 DYRCOUNT 字段中传递此请求为路由目的调用路由程序的次数的计数。 使用此计数可帮助您决定何时停止尝试路由请求。

  2. 通过在 DYRRETC 中发出非零返回码,可以告知 CICS® 将请求视为 "不可用"。
    有时,可能由于事务亲缘关系,必须在特定目标区域上执行活动,而不能在其他目标区域上执行活动。 如果是这种情况,并且目标区域不可用,请将请求分类为不可用。 CICS不会针对路由选择错误重新调用路由程序:
    1. 以 1 分钟的时间间隔反复尝试将请求路由到指定的目标区域。

      如果其中一个尝试成功,那么 CICS 会发出消息 DFHSH0108。 将在路由区域上为 "路由尝试完成" 调用路由程序,并在目标区域上为 "事务启动" 调用路由程序 (如果已指定)。

    2. 每小时,如果目标区域仍然不可用,将发出消息 DFHSH0106。
    3. 如果发出请求后 24 小时内目标区域仍不可用,那么发出消息 DFHSH0107,并停止尝试路由已废弃的请求。 在路由区域上为 "路由尝试完成" 调用路由程序。