EXCI CALL 接口

EXCI CALL 接口由六个可用于以下操作的命令组成:

  • 从运行于 MVS 环境下的非 CICS 程序中,向 CICS® 系统分配并打开会话。
  • 对来自非CICS 程序的这些会话发出分布式程序链接 (DPL) 请求。
  • 完成 DPL 请求后,关闭并取消分配会话。

EXCI CALL 接口的插图

这四张图说明了使用 EXCI CALL 接口的 EXCI 接口。

阶段 1 :INITIALIZE_USER (正在初始化用户环境)
此图展示了 MVS 客户端应用程序,其中已建立外部 CICS 用户环境,并配置了安装有MRO EXCI CONNECTION的 CICS 服务器区域,该区域拥有3个会话。
图 1。 阶段 1: INITIALIZE_USER 调用后的状态
此图展示了已建立外部 CICS 用户环境的 MVS 客户端应用程序,以及安装了MRO EXCI CONNECTION并配置3个会话(PROTOCOL=EXCI)的 CICS 服务器区域( RECEIVECOUNT=3 )
  1. 图 1中,当客户机应用程序发出 INITIALIZE_USER 调用时,目标 CICS 区域正在 IRC 打开的情况下运行,并且一个 EXCI 连接已安装三个会话。
  2. 客户机应用程序地址空间是使用 EXCI 用户环境初始化的。 此阶段没有 MRO 活动,并且不存在管道。
阶段 2 :ALLOCATE_PIPE (向 CICS分配管道)
此图展示了 MVS 客户端应用程序已分配管道,以及 CICS 服务器区域已安装MRO EXCI CONNECTION并配置了3个会话。
图 2。 阶段 2: 第一次 ALLOCATE_PIPE 调用后的状态
此图展示了 MVS 客户端应用程序已分配管道,以及 CICS 服务器区域已安装MRO EXCI CONNECTION(包含3个会话,PROTOCOL=EXCI)( RECEIVECOUNT=3 )

图 2中,外部 CICS 接口登录到 MRO ,以标识目标 CICS 服务器区域。

阶段 3 :OPEN_PIPE (将分配的管道连接到接收会话)
此图展示了 MVS 客户端应用程序已打开管道,以及 CICS 服务器区域已安装MRO EXCI CONNECTION并配置了3个会话。
图 3。 阶段 3: OPEN_PIPE 调用后的状态
此图展示了已打开管道的 MVS 客户端应用程序,以及安装了MRO EXCI连接(包含3个会话,PROTOCOL=EXCI)的 CICS 服务器区域( RECEIVECOUNT=3 )
  1. 图 3中,外部 CICS 接口连接到 CICS 服务器区域,该管道现在可供使用。
  2. 其余两个 EXCI 会话是免费的,可以由来自相同或不同客户机应用程序的进一步打开管道请求使用 (前提是连接是通用的)。
阶段 4 :DPL_Request (通过开放式管道发出 DPL 请求)
此图显示 DPL 请求和数据从客户机流到服务器,响应和数据流返回。 MVS 客户端应用程序已打开管道,而 CICS 服务器区域已安装MRO EXCI CONNECTION,并配置了3个会话。
图 4: 阶段 4: 具有一个开放式管道的状态,正在处理 DPL 调用
此图显示 DPL 请求和数据从客户机流到服务器,响应和数据流返回。 MVS 客户端应用程序已打开管道,而 CICS 服务器区域已安装MRO EXCI CONNECTION,包含3个会话(PROTOCOL=EXCI)( RECEIVECOUNT=3 )

图 4中,外部 CICS 接口通过开放式管道传递 DPL 请求以及任何关联数据。 CICS 服务器区域通过打开的管道返回响应和数据。

阶段 5 :Close_Pipe (关闭管道)
当客户机应用程序关闭管道时,它将保持已分配就绪状态以供同一用户使用,并且状态如 图 2中所示。 在此阶段, MRO 会话可供另一个来自相同或不同客户机应用程序的开放式管道请求使用 (前提是连接是通用的)。
阶段 6 :Deallocate_Pipe (取消分配管道)
当客户机应用程序取消分配管道时,它将从 MRO 注销并释放与会话关联的所有存储器。 这将保留状态,如 图 1中所示。

应用程序存根 DFHXCSTB

EXCI 命令通过 CICS提供的名为 DFHXCSTB 的应用程序编程存根来调用外部 CICS 接口。 在链接编辑非CICS 程序时,必须包含此存根。