MQIIH- IMS 信息头

MQIIH 结构描述通过 IMS 网桥发送到 IMS 的消息的头信息。 对于任何 IBM® MQ 支持的平台,您可以创建和传输包含 MQIIH 结构的消息,但只有 IBM MQ for z/OS® 队列管理器可以使用 IMS 网桥。 因此,要使消息从非z/OS 队列管理器到达 IMS ,队列管理器网络必须至少包含一个 z/OS 队列管理器,通过该队列管理器可以路由消息。

可用性

所有 IBM MQ 系统和 IBM MQ 客户机。

格式名

MQFMT_IMS

字符集和编码

特殊条件适用于用于 MQIIH 结构和应用程序消息数据的字符集和编码:
  • 连接到拥有 IMS 网桥队列的队列管理器的应用程序必须提供队列管理器的字符集和编码中的 MQIIH 结构。 这是因为在这种情况下不会执行 MQIIH 结构的数据转换。
  • 连接到其他队列管理器的应用程序可以提供 MQIIH 结构,该结构位于任何受支持的字符集和编码中; 连接到拥有 IMS 网桥队列的队列管理器的接收消息通道代理将转换 MQIIH。
  • 遵循 MQIIH 结构的应用程序消息数据必须采用与 MQIIH 结构相同的字符集和编码。 请勿使用 MQIIH 结构中的 CodedCharSetIdEncoding 字段来指定应用程序消息数据的字符集和编码。

    如果数据不是队列管理器支持的其中一种内置格式,那么必须提供数据转换出口以转换应用程序消息数据。

字段

注: 在下表中,字段按用法 (而不是按字母顺序) 进行分组。 子主题遵循相同的顺序。
表 1. MQIIH 的 MQIIH 中的字段
字段名称和描述 常量的名称 常量的初始值 (如果有)
StrucId (结构标识) MQIIH_STRUC_ID 'IIH¬'
版本 (结构版本号) MQIIH_VERSION_1 1
StrucLength (MQIIH 结构的长度) MQIIH_LENGTH_1 84
编码 (保留-请参阅 字符集和编码) None 0
CodedCharSetId(保留 - 参见字符集和编码) None 0
格式 (MQIIH 之后的数据的MQ 格式名称) MQFMT_NONE 空白
标志 (标志) MQIIH_NONE 0
LTermOverride (逻辑终端覆盖) None 空白
MFSMapName (消息格式服务映射名称) None 空白
ReplyToFormat (MQ format name of reply message) MQFMT_NONE 空白
Authenticator (RACF® 密码或通行票) MQIAUT_NONE 空白
TranInstanceId(事务实例标识符) MQITII_NONE Null
TranState (事务状态) MQITS_NOT_IN_CONVERSATION '¬'
CommitMode (落实方式) MQICM_COMMIT_THEN_SEND '0'
SecurityScope (安全作用域) MQISS_CHECK 'C'
保留 (保留) None '¬'
备注信息:
  1. 符号 ¬ 表示单个空白字符。
  2. 在 C 编程语言中,宏变量 MQIIH_DEFAULT 包含表中列出的值。 它可以通过以下方式用于为结构中的字段提供初始值:
    MQIIH MyIIH = {MQIIH_DEFAULT};
    

语言声明

MQIIH 的 C 声明

typedef struct tagMQIIH MQIIH;
struct tagMQIIH {
  MQCHAR4   StrucId;         /* Structure identifier */
  MQLONG    Version;         /* Structure version number */
  MQLONG    StrucLength;     /* Length of MQIIH structure */
  MQLONG    Encoding;        /* Reserved */
  MQLONG    CodedCharSetId;  /* Reserved */
  MQCHAR8   Format;          /* MQ format name of data that follows
                                MQIIH */
  MQLONG    Flags;           /* Flags */
  MQCHAR8   LTermOverride;   /* Logical terminal override */
  MQCHAR8   MFSMapName;      /* Message format services map name */
  MQCHAR8   ReplyToFormat;   /* MQ format name of reply message */
  MQCHAR8   Authenticator;   /* RACF password or passticket */
  MQBYTE16  TranInstanceId;  /* Transaction instance identifier */
  MQCHAR    TranState;       /* Transaction state */
  MQCHAR    CommitMode;      /* Commit mode */
  MQCHAR    SecurityScope;   /* Security scope */
  MQCHAR    Reserved;        /* Reserved */
};

MQIIH 的 COBOL 声明

**   MQIIH structure
  10 MQIIH.
**    Structure identifier
   15 MQIIH-STRUCID        PIC X(4).
**    Structure version number
   15 MQIIH-VERSION        PIC S9(9) BINARY.
**    Length of MQIIH structure
   15 MQIIH-STRUCLENGTH    PIC S9(9) BINARY.
**    Reserved
   15 MQIIH-ENCODING       PIC S9(9) BINARY.
**    Reserved
   15 MQIIH-CODEDCHARSETID PIC S9(9) BINARY.
**    MQ format name of data that follows MQIIH
   15 MQIIH-FORMAT         PIC X(8).
**    Flags
   15 MQIIH-FLAGS          PIC S9(9) BINARY.
**    Logical terminal override
   15 MQIIH-LTERMOVERRIDE  PIC X(8).
**    Message format services map name
   15 MQIIH-MFSMAPNAME     PIC X(8).
**    MQ format name of reply message
   15 MQIIH-REPLYTOFORMAT  PIC X(8).
**    RACF password or passticket
   15 MQIIH-AUTHENTICATOR  PIC X(8).
**    Transaction instance identifier
   15 MQIIH-TRANINSTANCEID PIC X(16).
**    Transaction state
   15 MQIIH-TRANSTATE      PIC X.
**    Commit mode
   15 MQIIH-COMMITMODE     PIC X.
**    Security scope
   15 MQIIH-SECURITYSCOPE  PIC X.
**    Reserved
   15 MQIIH-RESERVED       PIC X.

MQIIH 的 PL/I 声明

dcl
 1 MQIIH based,
  3 StrucId        char(4),       /* Structure identifier */
  3 Version        fixed bin(31), /* Structure version number */
  3 StrucLength    fixed bin(31), /* Length of MQIIH structure */
  3 Encoding       fixed bin(31), /* Reserved */
  3 CodedCharSetId fixed bin(31), /* Reserved */
  3 Format         char(8),       /* MQ format name of data that follows
                                     MQIIH */
  3 Flags          fixed bin(31), /* Flags */
  3 LTermOverride  char(8),       /* Logical terminal override */
  3 MFSMapName     char(8),       /* Message format services map name */
  3 ReplyToFormat  char(8),       /* MQ format name of reply message */
  3 Authenticator  char(8),       /* RACF password or passticket */
  3 TranInstanceId char(16),      /* Transaction instance identifier */
  3 TranState      char(1),       /* Transaction state */
  3 CommitMode     char(1),       /* Commit mode */
  3 SecurityScope  char(1),       /* Security scope */
  3 Reserved       char(1);       /* Reserved */

MQIIH 的 High Level Assembler 声明

MQIIH                 DSECT
MQIIH_STRUCID         DS   CL4   Structure identifier
MQIIH_VERSION         DS   F     Structure version number
MQIIH_STRUCLENGTH     DS   F     Length of MQIIH structure
MQIIH_ENCODING        DS   F     Reserved
MQIIH_CODEDCHARSETID  DS   F     Reserved
MQIIH_FORMAT          DS   CL8   MQ format name of data that follows
*                                MQIIH
MQIIH_FLAGS           DS   F     Flags
MQIIH_LTERMOVERRIDE   DS   CL8   Logical terminal override
MQIIH_MFSMAPNAME      DS   CL8   Message format services map name
MQIIH_REPLYTOFORMAT   DS   CL8   MQ format name of reply message
MQIIH_AUTHENTICATOR   DS   CL8   RACF password or passticket
MQIIH_TRANINSTANCEID  DS   XL16  Transaction instance identifier
MQIIH_TRANSTATE       DS   CL1   Transaction state
MQIIH_COMMITMODE      DS   CL1   Commit mode
MQIIH_SECURITYSCOPE   DS   CL1   Security scope
MQIIH_RESERVED        DS   CL1   Reserved
*
MQIIH_LENGTH          EQU  *-MQIIH
                      ORG  MQIIH
MQIIH_AREA            DS   CL(MQIIH_LENGTH)

MQIIH 的 Visual Basic 声明

Type MQIIH
  StrucId        As String*4 'Structure identifier'
  Version        As Long     'Structure version number'
  StrucLength    As Long     'Length of MQIIH structure'
  Encoding       As Long     'Reserved'
  CodedCharSetId As Long     'Reserved'
  Format         As String*8 'MQ format name of data that follows MQIIH'
  Flags          As Long     'Flags'
  LTermOverride  As String*8 'Logical terminal override'
  MFSMapName     As String*8 'Message format services map name'
  ReplyToFormat  As String*8 'MQ format name of reply message'
  Authenticator  As String*8 'RACF password or passticket'
  TranInstanceId As MQBYTE16 'Transaction instance identifier'
  TranState      As String*1 'Transaction state'
  CommitMode     As String*1 'Commit mode'
  SecurityScope  As String*1 'Security scope'
  Reserved       As String*1 'Reserved'
End Type