外部 CICS 接口
外部 CICS® 接口(EXCI)是一种应用程序编程接口,它使在 MVS 中运行的非 CICS 程序(客户端程序)能够调用在 CICS 区域中运行的程序(服务器程序),并通过通信区或通过通道和一组容器来传递和接收数据。 CICS 应用程序被启动时,如同被另一个 CICS 应用程序所链接。
您可以使用外部 CICS 接口将会话或 管道 (发送进程与接收进程之间的单向通信路径) 分配到 CICS 区域,并通过这些会话传递分布式程序链接 (DPL) 请求。 CICS 区域间通信 (IRC) 设施的多区域操作 (MRO) 设施支持这些请求,每个管道映射到一个 MRO 会话,其中客户机程序表示发送进程, CICS 服务器区域表示接收进程。
每个EXCI地址空间默认限制为100个管道;当 MVS 被IPLed时,该限制可被修改。 此限制可防止EXCI客户端独占MRO资源,从而避免 CICS 区域无法使用MRO的情况。 此限制在 MRO 和跨系统 MRO (XCF/MRO) 环境中都适用。 allocate_pipe 请求导致发出 MRO LOGON 请求,并且对允许来自所有地址空间的 MRO LOGON 请求总数进行了限制。 当您使用 XCF/MRO 时,这很关键,其中 XCF 组中成员数的限制也会限制 MRO LOGON 请求的总数。
因此,当不再需要管道时,必须确保管道已关闭并取消分配。 在程序终止之前,由用户负责确保客户机程序关闭并取消分配它已打开的管道。 未能释放管道可能会导致由于达到登录限制而导致的错误。
如果 Open_Pipe 请求失败,建议取消分配管道以避免达到登录限制。
- CICS 区域正在支持跨系统 MRO 的综合系统中运行。
- 客户机程序发出的所有 DPL 请求都指定 SYNCONRETURN 选项。
或者,如果 MVS 映像中不存在本地 CICS 区域,则必须通过在DFHXCOPT表中编码CICSSVC参数,来指定外部 CICS 接口应使用的SVC参数。 尽管外部 CICS 接口不支持跨内存访问方法,但它可以使用 CICS 的XCF/MRO设施提供的XCF访问方法。
使用外部 CICS 接口的客户端程序可为不同用户运行多个会话(这些会话可能位于同一TCB或不同TCB下),所有会话均可在同一 MVS 地址空间中共存,彼此互不干扰且互不知晓。
如果客户机程序连接另一个客户机程序,那么连接的程序将在其自己的 TCB 下运行。
EXCI 编程接口
- EXCI CALL 接口
- EXCI EXEC CICS 接口