Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成リファレンス


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

〈この項の構成〉

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

(a) コピーファイル

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

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

  • 初期値がある構造体は作業場所節で使用でき,"V"が最後に付く名称のコピーファイルに含まれています。

  • 初期値がない構造体は連絡節で使用でき,"L"が最後に付く名称のコピーファイルに含まれています。

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

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

ファイル名

内容

初期値がある形式

初期値がない形式

CMQCFHV

CMQCFHL

PCFヘッダの構造体

CMQCFILV

CMQCFILL

PCF整数リスト引数の構造体

CMQCFINV

CMQCFINL

PCF整数引数の構造体

CMQCFSLV

CMQCFSLL

PCF文字列リスト引数の構造体

CMQCFSTV

CMQCFSTL

PCFストリング引数の構造体

CMQCFV

PCFの定数

CMQDHV

CMQDHL

配布ヘッダの構造体

CMQDLHV

CMQDLHL

デッドレターヘッダの構造体

CMQGMOV

CMQGMOL

取り出し動作オプションの構造体

CMQMD1V

CMQMD1L

バージョン1のメッセージ記述子の構造体

CMQMDEV

CMQMDEL

メッセージ記述子拡張の構造体

CMQMDV

CMQMDL

メッセージ記述子の構造体

CMQODV

CMQODL

オブジェクト記述子の構造体

CMQORV

CMQORL

オブジェクトレコードの構造体

CMQPMOV

CMQPMOL

登録動作オプションの構造体

CMQRMHV

CMQRMHL

メッセージ参照ヘッダの構造体

CMQRRV

CMQRRL

応答レコードの構造体

CMQTMV

CMQTML

トリガメッセージの構造体

CMQXQHV

CMQXQHL

転送キューヘッダの構造体

CMQV

MQIの定数

(凡例)

−:該当しません。

(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) 定数

  • このマニュアルでは,定数にアンダスコア(_)が使用されていますが,COBOL言語では,アンダスコアの代わりにハイフン(−)を使用してください。

  • 文字列値を含む定数では,文字列のデリミタとしてシングルコーテーションを使用しています。そのため,環境によってはコンパイラオプションを指定して,コンパイラが文字列のデリミタとしてシングルコーテーションを受け取るようにする必要があります。

  • 定数は,コピーファイルにレベル番号10の項目として宣言されています。定数を使用するには,レベル番号01の項目として定義してから,定義の宣言でコピー文を使用します。

    *構造体を大域データとして定義します
     01  MY_MQ_CONSTANTS.
       COPY CMQV.

    この方法で定数が定義された場合,定数がプログラム中の領域を占有します。プログラムが幾つかの部分に分かれた場合は,定数が多重に複写されます。定数が多重に複写されるとメモリが必要以上に使用されるため,次に示す方法を使用してください。

  • グローバル句をレベル番号01で指定してください。

    * 定数を大域データとして宣言します
     01  MY_MQ_CONSTANTS GLOBAL.
         COPY CMQV.

    このようにすると,定数が一つの領域で割り当てられ,それぞれのプログラムで参照できます。なお,グローバル句は一部の環境ではサポートされていません。

  • プログラムから参照するデータだけを選んで複写してください。すべての定数を複写することはしないでください。

(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

MQPTR

POINTER

(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).