EXCI 用户可更换模块

外部 CICS® 接口提供用户可替换的模块 DFHXCURM。

装入模块在 CICSTS54.CICS.SDFHEXCI 中提供,在 CICSTS54.CICS.SDFHSAMP 中提供源。 您可以在 组装和链接编辑用户可替换程序中找到有关组装和链接编辑用户可替换程序的信息。

DFHXCURM 由非CICS 区域中的外部 CICS 接口在处理 allocate_pipe 命令期间以及发生任何可重试错误之后启动。

可重试的响应为:
  • 目标 CICS 区域不可用。
  • 目标 CICS 区域上没有可用的管道。
  • 自 MVS™ IPL 以来,没有 IRC 活动。

要在可重试错误后重试,请再次发出 EXCI 调用。

如提供的那样, DFHXCURM 实际上是一个哑元程序,因为一个分支指令绕过样本逻辑并将控制权返回给外部 CICS 接口调用者。 要使用样本逻辑,请除去分支指令并组装和链接编辑模块。 您可以定制 DFHXCURM 以执行以下操作:
  • 在 allocate_pipe 处理期间,您可以更改指定的 CICS APPLID ,以将请求路由到另一个 CICS 系统。
  • 在 allocate_pipe 处理期间,可以将请求定向到另一个 XCF 组。
  • 在发生可重试的错误后启动 DFHXCURM 时,您可以存储有关 CICS 可用性的信息。 然后,可以在下一次调用 DFHXCURM 以进行 allocate_pipe 处理时使用此信息,以便您可以决定要路由请求的 CICS 系统。
DFHXCURM 使用标准 MVS 寄存器约定进行调用,寄存器 1 包含参数列表的地址,寄存器 14 是调用者的返回地址。 寄存器 1 所寻址的参数映射在赋形剂 _URM_PARMS DSECT 中,它包含在 DFHXCPLD 副本中。 传递到 DFHXCURM 的参数如下所示:
URMINV
包含 DFHXCURM 调用原因的全字地址,由以下等号定义:
URM_ALLOCATE     EQU 1  This invocation is for an Allocate_Pipe
URM_NO_CICS      EQU 2  The target CICS region is not available
URM_NO_PIPE      EQU 3  There are no pipes available
URM_NO_CICS_IRC  EQU 4  There has been no IRC activity since the MVS IPL
URMCICS
包含目标 CICS 系统 APPLID 的 8 字节区域的地址,如 Allocate_Pipe 命令的 CICS_applid 参数或 EXEC CICS LINK 命令的 APPLID 参数所指定。

由其中一个命令指定时,可以将 APPLID 更改为另一个目标 CICS 区域的 APPLID。 此外,如果其中一个命令指定的 APPLID 不是有效的特定 APPLID ,那么必须将 APPLID 更改为有效的特定 APPLID。

如果从 allocate_pipe 请求中省略 CICS_applid 参数,或者从 EXEC CICS LINK 命令中省略 APPLID ,那么此参数所寻址的字段包含 8 空白。 在这种情况下,必须先在 DFHXCURM 中指定 APPLID ,然后再将控制权返回给调用者。

URMAPPL
包含客户机程序的用户名 (在 Initialize_User 命令的 my_name 参数上指定) 的 8 字节区域的地址。 如果针对 EXEC CICS LINK 命令启动 DFHXCURM ,那么此名称始终设置为 DFHXCEIP。
URMPROG
包含目标程序名称 (如果可用) 的 8 字节区域的地址。 仅当针对 EXEC CICS LINK 命令启动 DFHXCURM 时,此名称才可用。 对于外部 CICS 接口 allocate_pipe 命令,在发出 DPL 调用之前,程序名未知。
URMOPTS
包含分配选项的 1 字节区域的地址,可以是在 allocate_opts 参数上指定的 X'00 'X'80'。 此地址仅对 Allocate_Pipe 请求有效。
URMANCH
仅供 DFHXCURM 使用的 4 字节区域的地址。 这方面的典型用途是存储用于在 DFHXCURM 的多个调用中保存信息的区域的全局锚点地址。 例如,您可以 GETMAIN 所需的存储器,并将地址保存在此参数寻址的 4 字节区域中。 4 字节区域的初始值设置为零。

对于使用 EXCI 的地址空间中的每个 TCB ,都有一个 URMANCH 参数。

URMXCFG
包含 XCF 组名的 8 字节区域的地址,如 DFHXCOPT 表的 XCFGROUP 参数中所指定。 当在处理 EXCI Allocate_Pipe 命令期间调用 DFHXCURM 时,使用此参数来更改 XCF 组名。 如果对 DFHXCURM 的调用失败但可以重试,那么该区域包含先前分配管道时使用的值。 更改值没有任何影响。

组名必须为 8 个字符长,在右边填充空白 (如果需要)。 有效字符为 A-Z 0-9 $# @。 不要以字母 A , B , C , E , F , G , H , I "SYS" 开头组名。 这些名称由 IBM® 用于其 XCF 组。 此外,请勿使用名称 "UNDESIG" ,该名称保留供安装中的系统程序员使用。

建议使用以字母 "DFHIR" 开头的组名。