MQCIH- CICS-MQ 网桥头

MQCIH 结构描述通过 IBM® MQ for z/OS®发送到 CICS®-MQ 网桥的消息开始时可能提供的信息。

可用性

AIX, HP-UX, z/OS, Solaris , Linux, Windows 和连接到这些系统的 IBM MQ 客户机。

对于 C++ 应用程序, ImqCICSBridge头类封装 MQCIH 数据结构的特定功能部件。 请参阅 IBM MQ C++ 消息头以了解 CICS-MQ 网桥

格式名称

MQFMT_CICS。

版本

MQCIH 的当前版本为 MQCIH_VERSION_2。 为受支持编程语言提供的头 COPY 和 INCLUDE 文件包含最新版本的 MQCIH , "版本" 字段的初始值设置为 MQCIH_VERSION_2。

如果版本低于 MQCIH_VERSION_2,那么字段 CursorPosition, ErrorOffset, InputItem和 Reserved4 不存在。

字符集和编码

特殊条件适用于用于 MQCIH 结构和应用程序消息数据的字符集和编码:
  • 连接到拥有 CICS-MQ 网桥队列的队列管理器的应用程序必须提供队列管理器的字符集和编码中的 MQCIH 结构,因为在这种情况下不会执行 MQCIH 结构的数据转换。
  • 连接到其他队列管理器的应用程序可以提供 MQCIH 结构,该结构位于任何受支持的字符集和编码中; 连接到拥有 CICS-MQ 网桥队列的队列管理器的接收消息通道代理将转换 MQCIH 结构。
  • 遵循 MQCIH 结构的应用程序消息数据必须采用与 MQCIH 结构相同的字符集和编码。 不能使用 MQCIH 结构中的 CodedCharSetId 和编码字段来指定应用程序消息数据的字符集和编码。 如果数据不是队列管理器支持的其中一种内置格式,那么必须提供数据转换出口以转换应用程序消息数据。

用法

如果应用程序需要与初始值相同的值,并且网桥正在使用 AUTH=LOCAL 或 AUTH=IDENTIFY 运行,那么可以从消息中省略 MQCIH 结构。 在所有其他情况下,该结构必须存在。

网桥接受 version-1 或 version-2 MQCIH 结构,但对于 3270 事务,必须使用 version-2 结构。

应用程序必须确保记录为请求字段的字段在发送到网桥的消息中具有相应的值; 这些字段用作网桥的输入。

记录为响应字段的字段由 CICS-MQ 网桥在网桥发送到应用程序的应答消息中设置。 在 ReturnCode, Function , CompCode, Reason 和 AbendCode 字段中返回错误信息,但并非所有这些信息都在所有情况下设置。 下表显示为 ReturnCode的不同值设置了哪些字段。

表 1. MQCIH 结构中错误信息字段的内容
ReturnCode Function CompCode Reason AbendCode
MQCRC_OK
MQCRC_BRIDGE_ERROR MQFB_CICS_ *
MQCRC_MQ_API_ERROR MQCRC_BRIDGE_TIMEOUT MQ 调用名称 MQ CompCode MQ Reason
MQCRC_CICS_EXEC_ERROR MQCRC_SECURITY_ERROR MQCRC_PROGRAM_NOT_AVAILABLE MQCRC_TRANSID_NOT_AVAILABLE CICS EIBFN CICS EIBRESP CICS EIBRESP2
MQCRC_BRIDGE_ABEND MQCRC_APPLICATION_ABEND CICS ABCODE