付録E.2 COBOL言語での実現例

<この項の構成>
(1) COBOL言語での注意事項
(2) 呼ぶプログラム
(3) 基本データタイプ
(4) 構造体データタイプ

(1) COBOL言語での注意事項

(a) コピーファイル

コピーファイルは,メッセージキューイング機能を定義し,COBOL言語で記述されたアプリケーションプログラムでメッセージキューイング機能を使用できるようにします。コピーファイルには定数を含む二つのファイルおよび各構造体に二つのファイルがあります。

各構造体には,二つの形式があります。初期値がある形式と初期値がない形式です。

表E-2にコピーファイルの一覧を示します。

表E-2 コピーファイルの一覧

ファイル名内容
初期値がある形式初期値がない形式
CMQCFHVCMQCFHLPCFヘッダの構造体
CMQCFILVCMQCFILLPCF整数リスト引数の構造体
CMQCFINVCMQCFINLPCF整数引数の構造体
CMQCFSLVCMQCFSLLPCF文字列リスト引数の構造体
CMQCFSTVCMQCFSTLPCFストリング引数の構造体
CMQCFVPCFの定数
CMQDHVCMQDHL配布ヘッダの構造体
CMQDLHVCMQDLHLデッドレターヘッダの構造体
CMQGMOVCMQGMOL取り出し動作オプションの構造体
CMQMD1VCMQMD1Lバージョン1のメッセージ記述子の構造体
CMQMDEVCMQMDELメッセージ記述子拡張の構造体
CMQMDVCMQMDLメッセージ記述子の構造体
CMQODVCMQODLオブジェクト記述子の構造体
CMQORVCMQORLオブジェクトレコードの構造体
CMQPMOVCMQPMOL登録動作オプションの構造体
CMQRMHVCMQRMHLメッセージ参照ヘッダの構造体
CMQRRVCMQRRL応答レコードの構造体
CMQTMVCMQTMLトリガメッセージの構造体
CMQXQHVCMQXQHL転送キューヘッダの構造体
CMQVMQIの定数
(凡例)
-:該当しません。

(b) データ構造

各構造の宣言をレベル番号10の項目で始めます。このようにすることで,データ項目をレベル番号01の宣言でコーディングしたあと,残りのデータ項目をコピー文で複写して,幾つかのインスタンスを宣言できます。インスタンスを参照するときは,INを指定できます。

* Declare two instances of MQMD
01 MY_MQMD.
   COPY CMQMDV.
01 MY_OTHER_MQMD.
   COPY CMQMDV.
*
* Set MSGTYPE field in MY_OTHER_MQMD
   MOVE MQMT_REQUEST TO MQMD_MSGTYPE IN MY_OTHER_MQMD.

4バイト単位でバウンダリ調整してください。レベル番号01でない項目に続く構造体にコピー文を使用している場合,レベル番号01の項目の始まりから,4バイトの倍数に位置するように構造体を宣言してください。

「1. データタイプ」の「データタイプの概要」で示す,構造体のフィールド名には接頭語がありません。COBOL言語では,フィールド名は構造体の名称にハイフンが付けられた形式で表現されます。MSGTYPEという名称をCOBOL言語で表記すると,MQMD-MSGTYPEになります。

Vが最後に付く名称の構造体では,初期値が設定されています。そのため,初期値と異なる値を使用したい場合はフィールドを初期化してください。

(c) 定数
(d) リンケージ方法

HP-UX,Windows,およびLinuxの場合,リンケージのコマンドに引数(-lmqacb)を指定してください。

AIXの場合,リンケージのコマンドに引数(-lmqacb2)を指定してください。

一つのロードモジュールにC言語およびCOBOL言語を混在できません。

(2) 呼ぶプログラム

(a) MQCLOSE命令 - オブジェクトのクローズ
PROCEDURE DIVISIONの指定

CALL 'MQCLOSE' USING HCONN,HOBJ,OPTIONS,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN    PIC S9(9) BINARY.
**  オブジェクトハンドル
01 HOBJ     PIC S9(9) BINARY.
**  クローズオプション
01 OPTIONS  PIC S9(9) BINARY.
**  完了コード
01 COMPCODE PIC S9(9) BINARY.
**  理由コード
01 REASON   PIC S9(9) BINARY.

(b) MQCONN命令 - キューマネジャへの接続
PROCEDURE DIVISIONの指定

CALL 'MQCONN' USING NAME,HCONN,COMPCODE,REASON.

DATA DIVISIONの指定

**  キューマネジャ名
01 NAME     PIC X(48).
**  コネクションハンドル
01 HCONN    PIC S9(9) BINARY.
**  完了コード
01 COMPCODE PIC S9(9) BINARY.
**  理由コード
01 REASON   PIC S9(9) BINARY.

(c) MQDISC命令 - キューマネジャからの切り離し
PROCEDURE DIVISIONの指定

CALL 'MQDISC' USING HCONN,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN    PIC S9(9) BINARY.
**  完了コード
01 COMPCODE PIC S9(9) BINARY.
**  理由コード
01 REASON   PIC S9(9) BINARY.

(d) MQGET命令 - メッセージの取り出し
PROCEDURE DIVISIONの指定

CALL 'MQGET' USING
HCONN,HOBJ,MSGDESC,GETMSGOPTS,BUFFERLENGTH,
BUFFER,DATALENGTH,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN        PIC S9(9) BINARY.
**  オブジェクトハンドル
01 HOBJ         PIC S9(9) BINARY.
**  メッセージ記述子
01 MSGDESC.
   COPY CMQMDV.
**  メッセージ取り出しオプション
01 GETMSGOPTS.
   COPY CMQGMOV.
**  バッファ長
01 BUFFERLENGTH PIC S9(9) BINARY.
**  バッファ
01 BUFFER       PIC X(n).
**  データ長
01 DATALENGTH   PIC S9(9) BINARY.
**  完了コード
01 COMPCODE     PIC S9(9) BINARY.
**  理由コード
01 REASON       PIC S9(9) BINARY.

(e) MQINQ命令 - オブジェクトの属性の照会
PROCEDURE DIVISIONの指定

CALL 'MQINQ' USING
HCONN,HOBJ,SELECTORCOUNT,SELECTORS,INTATTRCOUNT,
INTATTRS,CHARATTRLENGTH,CHARATTRS,COMPCODE,
REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN          PIC S9(9) BINARY.
**  オブジェクトハンドル
01 HOBJ           PIC S9(9) BINARY.
**  セレクタ数
01 SELECTORCOUNT  PIC S9(9) BINARY.
**  セレクタ
01 SELECTORS.
 02 SELECTORS     PIC S9(9) BINARY OCCURS n TIMES.
**  整数型属性数
01 INTATTRCOUNT   PIC S9(9) BINARY.
**  整数型属性値
01 INTATTRS.
 02 INTATTRS      PIC S9(9) BINARY OCCURS n TIMES.
**  文字型属性長
01 CHARATTRLENGTH PIC S9(9) BINARY.
**  文字型属性値
01 CHARATTRS      PIC X(n).
**  完了コード
01 COMPCODE       PIC S9(9) BINARY.
**  理由コード
01 REASON         PIC S9(9) BINARY.

(f) MQOPEN命令 - オブジェクトのオープン
PROCEDURE DIVISIONの指定

CALL 'MQOPEN' USING
HCONN,OBJDESC,OPTIONS,HOBJ,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN     PIC S9(9) BINARY.
**  オブジェクト記述子
01 OBJDESC.
   COPY CMQODV.
**  オープンオプション
01 OPTIONS   PIC S9(9) BINARY.
**  オブジェクトハンドル
01 HOBJ      PIC S9(9) BINARY.
**  完了コード
01 COMPCODE  PIC S9(9) BINARY.
**  理由コード
01 REASON    PIC S9(9) BINARY.

(g) MQPUT命令 - メッセージの登録
PROCEDURE DIVISIONの指定

CALL 'MQPUT' USING
HCONN,HOBJ,MSGDESC,PUTMSGOPTS,BUFFERLENGTH,
BUFFER,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN        PIC S9(9) BINARY.
**  オブジェクトハンドル
01 HOBJ         PIC S9(9) BINARY.
**  メッセージ記述子
01 MSGDESC.
   COPY CMQMDV.
**  メッセージ登録オプション
01 PUTMSGOPTS.
   COPY CMQPMOV.
**  バッファ長
01 BUFFERLENGTH PIC S9(9) BINARY.
**  バッファ
01 BUFFER       PIC X(n).
**  完了コード
01 COMPCODE     PIC S9(9) BINARY.
**  理由コード
01 REASON       PIC S9(9) BINARY.

(h) MQPUT1命令 - 1メッセージの登録
PROCEDURE DIVISIONの指定

CALL 'MQPUT1' USING
HCONN,OBJDESC,MSGDESC,PUTMSGOPTS,BUFFERLENGTH,
BUFFER,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN        PIC S9(9) BINARY.
**  オブジェクト記述子
01 OBJDESC.
   COPY CMQODV.
**  メッセージ記述子
01 MSGDESC.
   COPY CMQMDV.
**  メッセージ登録オプション
01 PUTMSGOPTS.
   COPY CMQPMOV.
**  バッファ長
01 BUFFERLENGTH PIC S9(9) BINARY.
**  バッファ
01 BUFFER       PIC X(n).
**  完了コード
01 COMPCODE     PIC S9(9) BINARY.
**  理由コード
01 REASON       PIC S9(9) BINARY.

(i) MQSET命令 - オブジェクトの属性の設定
PROCEDURE DIVISIONの指定

CALL 'MQSET' USING
HCONN,HOBJ,SELECTORCOUNT,SELECTORS,INTATTRCOUNT,
INTATTRS,CHARATTRLENGTH,CHARATTRS,COMPCODE,REASON.

DATA DIVISIONの指定

**  コネクションハンドル
01 HCONN      PIC S9(9) BINARY.
**  オブジェクトハンドル
01 HOBJ           PIC S9(9) BINARY.
**  セレクタ数
01 SELECTORCOUNT  PIC S9(9) BINARY.
**  セレクタ
01 SELECTORS.
 02 SELECTORS     PIC S9(9) BINARY OCCURS n TIMES.
**  整数型属性数
01 INTATTRCOUNT   PIC S9(9) BINARY.
**  整数型属性値
01 INTATTRS.
 02 INTATTRS      PIC S9(9) BINARY OCCURS n TIMES.
**  文字型属性長
01 CHARATTRLENGTH PIC S9(9) BINARY.
**  文字型属性値
01 CHARATTRS       PIC X(n).
**  完了コード
01 COMPCODE       PIC S9(9) BINARY.
**  理由コード
01 REASON         PIC S9(9) BINARY.

(3) 基本データタイプ

基本データタイプの宣言を次の表に示します。

表E-3 基本データタイプの宣言(COBOL言語)

データタイプ表記
MQBYTE型PIC X
MQBYTE8型PIC X(8)
MQBYTE16型PIC X(16)
MQBYTE24型PIC X(24)
MQBYTE32型PIC X(32)
MQBYTE40型PIC X(40)
MQCHAR型PIC X
MQCHAR4型PIC X(4)
MQCHAR8型PIC X(8)
MQCHAR12型PIC X(12)
MQCHAR20型PIC X(20)
MQCHAR28型PIC X(28)
MQCHAR32型PIC X(32)
MQCHAR48型PIC X(48)
MQCHAR64型PIC X(64)
MQCHAR128型PIC X(128)
MQCHAR256型PIC X(256)
MQHCONN型PIC S9(9) BINARY
MQHOBJ型PIC S9(9) BINARY
MQLONG型PIC S9(9) BINARY
MQPTRPOINTER

(4) 構造体データタイプ

(a) MQCFH構造体 - PCFヘッダ

**  MQCFH構造体
10 MQCFH.
**  構造体タイプ
 15 MQCFH-TYPE           PIC S9(9) BINARY.
**  構造体長
 15 MQCFH-STRUCLENGTH    PIC S9(9) BINARY.
**  構造体バージョン番号
 15 MQCFH-VERSION        PIC S9(9) BINARY.
**  命令識別子
 15 MQCFH-COMMAND        PIC S9(9) BINARY.
**  メッセージシーケンス番号
 15 MQCFH-MSGSEQNUMBER   PIC S9(9) BINARY.
**  制御オプション
 15 MQCFH-CONTROL        PIC S9(9) BINARY.
**  完了コード
 15 MQCFH-COMPCODE       PIC S9(9) BINARY.
**  理由コード
 15 MQCFH-REASON         PIC S9(9) BINARY.
** 引数構造体の数
 15 MQCFH-PARAMETERCOUNT PIC S9(9) BINARY.

(b) MQCFIL構造体 - PCF整数リスト引数

**  MQCFIL構造体
10 MQCFIL.
**  構造体タイプ
 15 MQCFIL-TYPE        PIC S9(9) BINARY.
**  構造体長
 15 MQCFIL-STRUCLENGTH PIC S9(9) BINARY.
**  引数識別子
 15 MQCFIL-PARAMETER   PIC S9(9) BINARY.
**  引数の値の数
 15 MQCFIL-COUNT       PIC S9(9) BINARY.

(c) MQCFIN構造体 - PCF整数引数

**  MQCFIN構造体
10 MQCFIN.
**  構造体タイプ
 15 MQCFIN-TYPE        PIC S9(9) BINARY.
**  構造体長
 15 MQCFIN-STRUCLENGTH PIC S9(9) BINARY.
**  引数識別子
 15 MQCFIN-PARAMETER   PIC S9(9) BINARY.
**  引数の値
 15 MQCFIN-VALUE       PIC S9(9) BINARY.

(d) MQCFSL構造体 - PCF文字列リスト引数

**  MQCFSL構造体
10 MQCFSL.
**  構造体タイプ
 15 MQCFSL-TYPE           PIC S9(9) BINARY.
**  構造体長
 15 MQCFSL-STRUCLENGTH    PIC S9(9) BINARY.
**  引数識別子
 15 MQCFSL-PARAMETER      PIC S9(9) BINARY.
**  文字セット識別子
 15 MQCFSL-CODEDCHARSETID PIC S9(9) BINARY.
**  引数の値の数
 15 MQCFSL-COUNT          PIC S9(9) BINARY.
**  文字列長
 15 MQCFSL-STRINGLENGTH   PIC S9(9) BINARY.

(e) MQCFST構造体 - PCFストリング引数

**  MQCFST構造体
10 MQCFST.
**  構造体タイプ
 15 MQCFST-TYPE           PIC S9(9) BINARY.
**  構造体長
 15 MQCFST-STRUCLENGTH    PIC S9(9) BINARY.
**  引数識別子
 15 MQCFST-PARAMETER      PIC S9(9) BINARY.
**  文字コード識別子
 15 MQCFST-CODEDCHARSETID PIC S9(9) BINARY.
**  文字列長
 15 MQCFST-STRINGLENGTH   PIC S9(9) BINARY.

(f) MQDH構造体 - 配布ヘッダ

**  MQDH構造体
10 MQDH.
**  構造体識別子
 15 MQDH-STRUCID           PIC X(4).
**  構造体バージョン番号
 15 MQDH-VERSION           PIC S9(9) BINARY.
**  MQDH構造体とそれに続くMQOR構造体とMQPMR構造体を足した長さ
 15 MQDH-STRUCLENGTH       PIC S9(9) BINARY.
**  MQOR構造体およびMQPMR構造体に続くデータのマシンコード形式
 15 MQDH-ENCODING          PIC S9(9) BINARY.
**  MQOR構造体およびMQPMR構造体に続くデータの文字セット識別子
 15 MQDH-CODEDCHARSETID    PIC S9(9) BINARY.
**  MQOR構造体およびMQPMR構造体に続くデータのフォーマット名
 15 MQDH-FORMAT            PIC X(8).
**  フラグ
 15 MQDH-FLAGS             PIC S9(9) BINARY.
**  MQPMR構造体フィールドの存在
 15 MQDH-PUTMSGRECFIELDS   PIC S9(9) BINARY.
**  MQOR構造体の数
 15 MQDH-RECSPRESENT       PIC S9(9) BINARY.
**  最初のMQOR構造体までのオフセット
 15 MQDH-OBJECTRECOFFSET   PIC S9(9) BINARY.
**  最初のMQPMR構造体までのオフセット
 15 MQDH-PUTMSGRECOFFSET   PIC S9(9) BINARY.

(g) MQDLH構造体 - デッドレターヘッダ

**  MQDLH構造体
10 MQDLH.
**  構造体識別子
 15 MQDLH-STRUCID        PIC X(4).
**  構造体バージョン番号
 15 MQDLH-VERSION        PIC S9(9) BINARY.
**  メッセージ通知理由
 15 MQDLH-REASON         PIC S9(9) BINARY.
**  あて先キュー名
 15 MQDLH-DESTQNAME      PIC X(48).
**  あて先キューマネジャ名
 15 MQDLH-DESTQMGRNAME   PIC X(48).
**  MQDLH構造体に続くデータのマシンコード形式
 15 MQDLH-ENCODING       PIC S9(9) BINARY.
**  MQDLH構造体に続くデータの文字セット識別子
 15 MQDLH-CODEDCHARSETID PIC S9(9) BINARY.
**  MQDLH構造体に続くデータのフォーマット名
 15 MQDLH-FORMAT         PIC X(8).
**  登録アプリケーションタイプ
 15 MQDLH-PUTAPPLTYPE    PIC S9(9) BINARY.
**  登録アプリケーション名
 15 MQDLH-PUTAPPLNAME    PIC X(28).
**  登録日付
 15 MQDLH-PUTDATE        PIC X(8).
**  登録時刻
 15 MQDLH-PUTTIME        PIC X(8).

(h) MQGMO構造体 - メッセージ取り出しオプション

**  MQGMO構造体
10 MQGMO.
**  構造体識別子
 15 MQGMO-STRUCID       PIC X(4).
**  構造体バージョン番号
 15 MQGMO-VERSION       PIC S9(9) BINARY.
**  取り出しオプション
 15 MQGMO-OPTIONS       PIC S9(9) BINARY.
**  待ち合わせ最大時間
 15 MQGMO-WAITINTERVAL  PIC S9(9) BINARY.
**  シグナル
 15 MQGMO-SIGNAL1       PIC S9(9) BINARY.
**  予備
 15 MQGMO-SIGNAL2       PIC S9(9) BINARY.
**  受信キュー名
 15 MQGMO-RESOLVEDQNAME PIC X(48).
**  一致オプション
 15 MQGMO-MATCHOPTIONS  PIC S9(9) BINARY.
**  メッセージグループフラグ
 15 MQGMO-GROUPSTATUS   PIC X.
**  論理メッセージフラグ
 15 MQGMO-SEGMENTSTATUS PIC X.
**  セグメント分割フラグ
 15 MQGMO-SEGMENTATION  PIC X.
**  予備
 15 MQGMO-RESERVED1     PIC X.

(i) MQMD構造体 - メッセージ記述子

**  MQMD構造体
10 MQMD.
**  構造体識別子
 15 MQMD-STRUCID          PIC X(4).
**  構造体バージョン番号
 15 MQMD-VERSION          PIC S9(9) BINARY.
**  報告メッセージオプション
 15 MQMD-REPORT           PIC S9(9) BINARY.
**  メッセージタイプ
 15 MQMD-MSGTYPE          PIC S9(9) BINARY.
**  メッセージ保持時間
 15 MQMD-EXPIRY           PIC S9(9) BINARY.
**  報告メッセージ返答コード
 15 MQMD-FEEDBACK         PIC S9(9) BINARY.
**  メッセージデータのマシンコード形式
 15 MQMD-ENCODING         PIC S9(9) BINARY.
**  メッセージデータの文字セット識別子
 15 MQMD-CODEDCHARSETID   PIC S9(9) BINARY.
**  メッセージデータのフォーマット名
 15 MQMD-FORMAT           PIC X(8).
**  メッセージ優先度
 15 MQMD-PRIORITY         PIC S9(9) BINARY.
**  メッセージ永続性
 15 MQMD-PERSISTENCE      PIC S9(9) BINARY.
**  メッセージ識別子
 15 MQMD-MSGID            PIC X(24).
**  相関識別子
 15 MQMD-CORRELID         PIC X(24).
**  ロールバック回数
 15 MQMD-BACKOUTCOUNT     PIC S9(9) BINARY.
**  応答キュー名
 15 MQMD-REPLYTOQ         PIC X(48).
**  応答キューマネジャ名
 15 MQMD-REPLYTOQMGR      PIC X(48).
**  ユーザ識別子
 15 MQMD-USERIDENTIFIER   PIC X(12).
**  課金トークン
 15 MQMD-ACCOUNTINGTOKEN  PIC X(32).
**   アプリケーション識別データ
 15 MQMD-APPLIDENTITYDATA PIC X(32).
**  登録アプリケーションタイプ
 15 MQMD-PUTAPPLTYPE      PIC S9(9) BINARY.
**  登録アプリケーション名
 15 MQMD-PUTAPPLNAME      PIC X(28).
**  登録日付
 15 MQMD-PUTDATE          PIC X(8).
**  登録時刻
 15 MQMD-PUTTIME          PIC X(8).
**  登録元データ
 15 MQMD-APPLORIGINDATA   PIC X(4).
**  グループ識別子
 15 MQMD-GROUPID          PIC X(24).
**  メッセージシーケンス番号
 15 MQMD-MSGSEQNUMBER     PIC S9(9) BINARY.
**  オフセット
 15 MQMD-OFFSET           PIC S9(9) BINARY.
**  メッセージフラグ
 15 MQMD-MSGFLAGS         PIC S9(9) BINARY.
**  登録元メッセージ長
 15 MQMD-ORIGINALLENGTH   PIC S9(9) BINARY.

(j) MQMDE構造体 - メッセージ記述子の拡張

**  MQMDE構造体
10 MQMDE.
**  構造体識別子
 15 MQMDE-STRUCID        PIC X(4).
**  構造体バージョン番号
 15 MQMDE-VERSION        PIC S9(9) BINARY.
**  構造体長
 15 MQMDE-STRUCLENGTH    PIC S9(9) BINARY.
**  MQMDE構造体に続くデータのマシンコード形式
 15 MQMDE-ENCODING       PIC S9(9) BINARY.
**  MQMDE構造体に続くデータの文字セット識別子
 15 MQMDE-CODEDCHARSETID PIC S9(9) BINARY.
**  MQMDE構造体に続くデータのフォーマット名
 15 MQMDE-FORMAT         PIC X(8).
**  フラグ
 15 MQMDE-FLAGS          PIC S9(9) BINARY.
**  グループ識別子
 15 MQMDE-GROUPID        PIC X(24).
**  メッセージシーケンス番号
 15 MQMDE-MSGSEQNUMBER   PIC S9(9) BINARY.
**  オフセット
 15 MQMDE-OFFSET         PIC S9(9) BINARY.
**  メッセージフラグ
 15 MQMDE-MSGFLAGS       PIC S9(9) BINARY.
**  登録元メッセージ長
 15 MQMDE-ORIGINALLENGTH PIC S9(9) BINARY.

(k) MQOD構造体 - オブジェクト記述子

**  MQOD構造体
10 MQOD.
**  構造体識別子
 15 MQOD-STRUCID             PIC X(4).
**  構造体バージョン番号
 15 MQOD-VERSION             PIC S9(9) BINARY.
**  オブジェクトタイプ
 15 MQOD-OBJECTTYPE          PIC S9(9) BINARY.
**  オブジェクト名
 15 MQOD-OBJECTNAME          PIC X(48).
**  オブジェクトキューマネジャ名
 15 MQOD-OBJECTQMGRNAME      PIC X(48).
**  動的キュー名
 15 MQOD-DYNAMICQNAME        PIC X(48).
**  代替ユーザ識別子
 15 MQOD-ALTERNATEUSERID     PIC X(12).
**  オブジェクトレコード数
 15 MQOD-RECSPRESENT         PIC S9(9) BINARY.
**  ローカルキューの数
 15 MQOD-KNOWNDESTCOUNT      PIC S9(9) BINARY.
**  リモートキューの数
 15 MQOD-UNKNOWNDESTCOUNT    PIC S9(9) BINARY.
**  オープンに失敗したキューの数
 15 MQOD-INVALIDDESTCOUNT    PIC S9(9) BINARY.
**  最初のオブジェクトレコードまでのオフセット
 15 MQOD-OBJECTRECOFFSET     PIC S9(9) BINARY.
**  最初の応答レコードまでのオフセット
 15 MQOD-RESPONSERECOFFSET   PIC S9(9) BINARY.
**  最初のオブジェクトレコードのアドレス
 15 MQOD-OBJECTRECPTR        POINTER.
**  最初の応答レコードのアドレス
 15 MQOD-RESPONSERECPTR      POINTER.
**  代替セキュリティ識別子
 15 MQOD-ALTERNATESECURITYID PIC X(40).
**  解決したキュー名称
 15 MQOD-RESOLVEDQNAME       PIC X(48).
**  解決したキューマネジャ名称
 15 MQOD-RESOLVEDQMGRNAME    PIC X(48).

(l) MQOR構造体 - オブジェクトレコード

**  MQOR構造体
10 MQOR.
**  オブジェクト名
 15 MQOR-OBJECTNAME         PIC X(48).
**  オブジェクトキューマネジャ名
 15 MQOR-OBJECTQMGRNAME     PIC X(48).

(m) MQPMO構造体 - メッセージ登録オプション

**  MQPMO構造体
10 MQPMO.
**  構造体識別子
 15 MQPMO-STRUCID            PIC X(4).
**  構造体バージョン番号
 15 MQPMO-VERSION            PIC S9(9) BINARY.
**  登録オプション
 15 MQPMO-OPTIONS            PIC S9(9) BINARY.
**  予備
 15 MQPMO-TIMEOUT            PIC S9(9) BINARY.
**  コンテキスト
 15 MQPMO-CONTEXT            PIC S9(9) BINARY.
**  ローカルキューの数
 15 MQPMO-KNOWNDESTCOUNT     PIC S9(9) BINARY.
**  リモートキューの数
 15 MQPMO-UNKNOWNDESTCOUNT   PIC S9(9) BINARY.
**  送信に失敗したキューの数
 15 MQPMO-INVALIDDESTCOUNT   PIC S9(9) BINARY.
**  受信キュー名
 15 MQPMO-RESOLVEDQNAME      PIC X(48).
**  受信キューマネジャ名
 15 MQPMO-RESOLVEDQMGRNAME   PIC X(48).
**  登録メッセージレコード数または応答レコード数
 15 MQPMO-RECSPRESENT        PIC S9(9) BINARY.
**  MQPMR構造体フィールドの存在
 15 MQPMO-PUTMSGRECFIELDS    PIC S9(9) BINARY.
**  最初の登録メッセージレコードまでのオフセット
 15 MQPMO-PUTMSGRECOFFSET    PIC S9(9) BINARY.
**  最初の応答レコードまでのオフセット
 15 MQPMO-RESPONSERECOFFSET  PIC S9(9) BINARY.
**  最初の登録メッセージレコードのアドレス
 15 MQPMO-PUTMSGRECPTR       POINTER.
**  最初の応答レコードのアドレス
 15 MQPMO-RESPONSERECPTR     POINTER.

(n) MQPMR構造体 - 登録メッセージレコード

**  MQPMR構造体
10 MQPMR.
**  メッセージ識別子
 15 MQPMR-MSGID              PIC X(24).
**  相関識別子
 15 MQPMR-CORRELID           PIC X(24).
**  グループ識別子
 15 MQPMR-GROUPID            PIC X(24).
**  報告メッセージ返答コード
 15 MQPMR-FEEDBACK           PIC S(9) BINARY.
**  課金トークン
 15 MQPMR-ACCOUNTINGTOKEN    PIC X(32).

(o) MQRMH構造体 - メッセージ参照ヘッダ

**  MQRMH構造体
10 MQRMH.
**  構造体識別子
 15 MQRMH-STRUCID            PIC X(4).
**  構造体バージョン番号
 15 MQRMH-VERSION            PIC S9(9) BINARY.
**  構造体長
 15 MQRMH-STRUCLENGTH        PIC S9(9) BINARY.
**  長大データのマシンコード形式
 15 MQRMH-ENCODING           PIC S9(9) BINARY.
**  長大データの文字セット識別子
 15 MQRMH-CODEDCHARSETID     PIC S9(9) BINARY.
**  長大データのフォーマット名
 15 MQRMH-FORMAT             PIC X(8).
**  フラグ
 15 MQRMH-FLAGS              PIC S9(9) BINARY.
**  オブジェクトタイプ
 15 MQRMH-OBJECTTYPE         PIC X(8).
**  オブジェクトインスタンス識別子
 15 MQRMH-OBJECTINSTANCEID   PIC X(24).
**  送信元環境データ長
 15 MQRMH-SRCENVLENGTH       PIC S9(9) BINARY.
**  送信元環境データオフセット
 15 MQRMH-SRCENVOFFSET       PIC S9(9) BINARY.
**  送信元オブジェクト名長
 15 MQRMH-SRCNAMELENGTH      PIC S9(9) BINARY.
**  送信元オブジェクトのオフセット
 15 MQRMH-SRCNAMEOFFSET      PIC S9(9) BINARY.
**  あて先環境データ長
 15 MQRMH-DESTENVLENGTH      PIC S9(9) BINARY.
**  あて先環境データオフセット
 15 MQRMH-DESTENVOFFSET      PIC S9(9) BINARY.
**  あて先オブジェクト名長
 15 MQRMH-DESTNAMELENGTH     PIC S9(9) BINARY.
**  あて先オブジェクトのオフセット
 15 MQRMH-DESTNAMEOFFSET     PIC S9(9) BINARY.
**  長大データ長
 15 MQRMH-DATALOGICALLENGTH  PIC S9(9) BINARY.
**  長大データ低位オフセット
 15 MQRMH-DATALOGICALOFFSET  PIC S9(9) BINARY.
**  長大データ高位オフセット
 15 MQRMH-DATALOGICALOFFSET2 PIC S9(9) BINARY.

(p) MQRR構造体 - 応答レコード

**  MQRR構造体
10 MQRR.
**  完了コード
 15 MQRR-COMPCODE            PIC S9(9) BINARY.
**  理由コード
 15 MQRR-REASON              PIC S9(9) BINARY.

(q) MQTM構造体 - トリガメッセージ

**  MQTM構造体
10 MQTM.
**  構造体識別子
 15 MQTM-STRUCID             PIC X(4).
**  構造体バージョン番号
 15 MQTM-VERSION             PIC S9(9) BINARY.
**  イベント発生キュー名
 15 MQTM-QNAME               PIC X(48).
**  プロセス名
 15 MQTM-PROCESSNAME         PIC X(48).
**  トリガデータ
 15 MQTM-TRIGGERDATA         PIC X(64).
**  アプリケーションタイプ
 15 MQTM-APPLTYPE            PIC S9(9) BINARY.
**  アプリケーション識別子
 15 MQTM-APPLID              PIC X(256).
**  環境データ
 15 MQTM-ENVDATA             PIC X(128).
**  ユーザデータ
 15 MQTM-USERDATA            PIC X(128).

(r) MQXQH構造体 - キューヘッダ

**  MQXQH構造体
10 MQXQH.
**  構造体識別子
 15 MQXQH-STRUCID                  PIC X(4).
**  構造体バージョン番号
 15 MQXQH-VERSION                  PIC S9(9) BINARY.
**  リモートキュー名
 15 MQXQH-REMOTEQNAME              PIC X(48).
**  リモートキューマネジャ名
 15 MQXQH-REMOTEQMGRNAME           PIC X(48).
**  登録元メッセージ記述子
 15 MQXQH-MSGDESC.
**  構造体識別子
 20 MQXQH-MSGDESC-STRUCID          PIC X(4).
**  構造体バージョン番号
 20 MQXQH-MSGDESC-VERSION          PIC S9(9) BINARY.
**   報告オプション
 20 MQXQH-MSGDESC-REPORT           PIC S9(9) BINARY.
**  メッセージタイプ
 20 MQXQH-MSGDESC-MSGTYPE          PIC S9(9) BINARY.
**  メッセージ保持時間
 20 MQXQH-MSGDESC-EXPIRY           PIC S9(9) BINARY.
**  報告メッセージ返答コードまたは理由コード
 20 MQXQH-MSGDESC-FEEDBACK         PIC S9(9) BINARY.
**  メッセージデータのマシンコード形式
 20 MQXQH-MSGDESC-ENCODING         PIC S9(9) BINARY.
**  メッセージデータの文字セット識別子
 20 MQXQH-MSGDESC-CODEDCHARSETID   PIC S9(9) BINARY.
**  メッセージデータのフォーマット名
 20 MQXQH-MSGDESC-FORMAT           PIC X(8).
**  メッセージ優先度
 20 MQXQH-MSGDESC-PRIORITY         PIC S9(9) BINARY.
**  メッセージ永続性
 20 MQXQH-MSGDESC-PERSISTENCE      PIC S9(9) BINARY.
**  メッセージ識別子
 20 MQXQH-MSGDESC-MSGID            PIC X(24).
**  相関識別子
 20 MQXQH-MSGDESC-CORRELID         PIC X(24).
**  ロールバック回数
 20 MQXQH-MSGDESC-BACKOUTCOUNT     PIC S9(9) BINARY.
**  応答キュー名
 20 MQXQH-MSGDESC-REPLYTOQ         PIC X(48).
**  応答キューマネジャ名
 20 MQXQH-MSGDESC-REPLYTOQMGR      PIC X(48).
**  ユーザ識別子
 20 MQXQH-MSGDESC-USERIDENTIFIER   PIC X(12).
**  課金トークン
 20 MQXQH-MSGDESC-ACCOUNTINGTOKEN  PIC X(32).
**  アプリケーション識別データ
 20 MQXQH-MSGDESC-APPLIDENTITYDATA PIC X(32).
**  登録アプリケーションタイプ
 20 MQXQH-MSGDESC-PUTAPPLTYPE      PIC S9(9) BINARY.
**  登録アプリケーション名
 20 MQXQH-MSGDESC-PUTAPPLNAME      PIC X(28).
**  登録日付
 20 MQXQH-MSGDESC-PUTDATE          PIC X(8).
**  登録時刻
 20 MQXQH-MSGDESC-PUTTIME          PIC X(8).
**  登録元データ
 20 MQXQH-MSGDESC-APPLORIGINDATA   PIC X(4).