直接 MQSeries 呼び出し

コードと MQSeries® の間に介在する一連のインストール済み EGL 関数を使用できます。これについては、『MQSeries のサポート』に記載されています。

次の表には使用可能な関数と必要な引き数が示されています。例えば、MQBACK (MQSTATE) は、MQBACK を呼び出すときに MQSTATE レコード・パーツに基づく引き数を渡すことを示しています。 レコード・パーツについては後述します。

MQSeries 関連の EGL 関数の呼び出し 結果
MQBACK (MQSTATE) システム関数 sysLib.rollback を呼び出して、作業論理単位をロールバックする。このロールバックは、プログラムでアクセスされているすべての リ カバリー可能リソース (データベース、メッセージ・キュー、リカバリー可能ファイルな ど) に影響を与えます。
MQBEGIN (MQSTATE, MQBO) 作業論理単位を開始する。
MQCHECK_COMPLETION (MQSTATE) MQSTATE に基づくレコードの mqdescription フィールドを設定する。 この設定は最後に戻された理由コードに基づきます。関数 MQCHECK_COMPLETION は、EGL 関数 MQBEGIN、MQCLOSE、MQCONN、 MQCONNX、MQDISC、MQGET、MQINQ、 MQOPEN、MQPUT、MQPUT1、および MQSET から自動的に呼び出されます。
MQCLOSE (MQSTATE) MQSTATE.hobj が参照するメッセージ・キューを閉じる。
MQCMIT (MQSTATE) システム関数 sysLib.commit を呼び出して、作業論理単位をコミットする。このコミットは、プログラムでアクセスされているすべての リ カバリー可能リソース (データベース、メッセージ・キュー、リカバリー可能ファイルな ど) に影響を与えます。
MQCONN (MQSTATE, qManagerName) キュー・マネージャーに接続する。キュー・マネージャーは qManagerName (最大 48 文字のストリング) によって示されます。MQSeries は、以降の呼び出しで使用するための接続ハンドル (MQSTATE.hconn) を設定します。
注: コードで一度に接続できるキュー・マネージャーの数は 1 つです。
MQCONNX(MQSTATE, qManagerName, MQCNO) 呼び出し方法 を制御するオプションを使用して、キュー・マネージャーに接続する。キュー・マネージャーは qManagerName (最大 48 文字のストリング) によって示されます。MQSeries は、以降の呼び出しで使用するための接続ハンドル (MQSTATE.hconn) を設定します。
MQDISC (MQSTATE) キュー・マネージャーから切断する。
MQGET(MQSTATE, MQMD, MQGMO, BUFFER) メッセージをキューから読み取って除去する。バッファーは 32767 バイトを超えてはなりませんが、EGL の get next 文を使用している場合にはこの制限は適用されません。
MQINQ(MQSTATE, MQATTRIBUTES) キューの属性を要求する。
MQNOOP() EGL によってのみ使用される。
MQOPEN(MQSTATE, MQOD) メッセージ・キューを開く。MQSeries は、以降の呼び出しで使用するためのキュー・ハンドル (MQSTATE.hobj) を設定します。
MQPUT(MQSTATE, MQMD, MQPMO, BUFFER) メッセージをキューに追加する。バッファーは 32767 バイトを超えてはなりませんが、EGL の add 文を使用している場合にはこの制限は適用されません。
MQPUT1(MQSTATE, MQOD, MQMD, MQPMO, BUFFER) キューを開き、1 つのメッセージを書き込んで、キューを閉じる。
MQSET(MQSTATE, MQATTRIBUTES) キューの属性を設定する。

次の表には、MQSeries 関連の EGL 関数を呼び出したときに引き数として使用 されるオプション・レコードがリストされています。また、所定の引き数に対して呼び出す必要のある初 期化関数も併せてリストされています。

最初のステップは、MQSTATE レコード・パーツに基づく引き数を初期化す ることです。以下の例では (その下の表に示すように)、引き数の名前はレコード・パーツ名と同じであると想定されています。
  MQSTATE_INIT(MQSTATE);

引き数 (レコード・パーツ名) 初期化関数 説明
MQATTRIBUTES なし 属性 の配列と属性のセレクター、およびコマンド MQINQ または MQSET で使用されるその他 の情報
MQBO MQBO_INIT (MQBO) 開始オプション
MQCNO MQCNO_INIT (MQCNO) 接続オプション
MQGMO MQGMO_INIT (MQGMO) メッセージ取得オプション
MQIIH MQIIH_INIT (MQIIH) IMS™ 情報ヘッダー。IMS に送信される MQSeries メッセージの先頭に必要な情報を記述します (MQSeries の資料には、このヘッダーの使用は Windows® 2000/NT/XP ではサポートされないと記述されています)。
MQINTATTRS なし 整数属性の配列 (MQINQ または MQSET コマンド用)
MQMD MQMD_INIT (MQMD, MQSTATE) メッセージ記述子 (MQSeries バージョン 2)
MQMDE MQMDE_INIT (MQMDE, MQSTATE) メッセージ記述子拡張 (MQSeries バージョン 2 のフィールドのみを使用)
MQOD MQOD_INIT (MQOD) オブジェクト記述子
MQOO MQOO_INIT (MQOO) Open オプション
MQPMO MQPMO_INIT (MQPMO) メッセージ書き込みオプション
MQSELECTORS なし 属性セレクターの配列。EGL 関数を使用せずに MQSeries にアクセスする場合のみ使用します。
MQSTATE MQSTATE_INIT (MQSTATE) MQSeries への 1 つ以上の呼び出しでそれぞれ使用される引き数の集合。例えば、EGL 関数 MQCONN または MQCONNX と接続すると、MQSeries は以降の呼び出しで使用するための接続ハンドル (MQSTATE.hconn) を設定します。
MQXQH MQXQH_INIT (MQXQH, MQSTATE) 伝送キュー・ヘッダー
引き数 (レコード・パーツ名) 初期化関数 説明 Java™ 出力用か COBOL 出力用か
MQATTRIBUTES なし 属性 の配列と属性のセレクター、およびコマンド MQINQ または MQSET で使用されるその他 の情報 両方
MQBO MQBO_INIT (MQBO) 開始オプション 両方
MQCNO MQCNO_INIT (MQCNO) 接続オプション 両方
MQDH MQDH_INIT (MQDH) 配布ヘッダー COBOL のみ
MQDLH MQDLH_INIT (MQDLH) デッド・レター・ヘッダー COBOL のみ
MQGMO MQGMO_INIT (MQGMO) メッセージ取得オプション 両方
MQIIH MQIIH_INIT (MQIIH) IMS 情報ヘッダー。 IMS に送信される MQSeries メッセージの先頭に必要な情報を記述します。 両方。ただし、MQSeries の資料には、このヘッダーの使用は Windows 2000/NT/XP ではサポートされないと記述されています。
MQINTATTRS なし 整数属性の配列 (MQINQ または MQSET コマンド用) 両方
MQMD MQMD_INIT (MQMD, MQSTATE) メッセージ記述子 (MQSeries バージョン 2) 両方
MQMD1 MQMD1_INIT (MQMD1, MQSTATE) メッセージ記述子 (MQSeries バージョン 1 COBOL のみ
MQMDE MQMDE_INIT (MQMDE, MQSTATE) メッセージ記述子の拡張 COBOL 用。Java の場合は、MQSeries バージョン 2 のフィールドのみを使用してください。
MQOD MQOD_INIT (MQOD) オブジェクト記述子 両方
MQOO MQOO_INIT (MQOO) Open オプション 両方
MQOR MQOR_INIT (MQOR) オブジェクト・レコード COBOL のみ
MQPMO MQPMO_INIT (MQPMO) メッセージ書き込みオプション 両方
MQRMH MQRMH_INIT (MQRMH, MQSTATE) メッセージ参照ヘッダー COBOL のみ
MQRR MQRR (MQRR) 応答レコード COBOL のみ
MQSELECTORS なし 属性セレクターの配列。EGL 関数を使用せずに MQSeries にアクセスする場合のみ使用します。 両方
MQSTATE MQSTATE_INIT (MQSTATE) MQSeries への 1 つ以上の呼び出しでそれぞれ使用される引き数の集合。例えば、EGL 関数 MQCONN または MQCONNX と接続すると、MQSeries は以降の呼び出しで使用するための接続ハンドル (MQSTATE.hconn) を設定します。 両方
MQTM MQTM_INIT (MQTM) トリガー・メッセージ COBOL のみ
MQTMC2 MQTMC2_INIT (MQTMC2) トリガー・メッセージ 2 (文字形式) COBOL のみ
MQXQH MQXQH_INIT (MQXQH, MQSTATE) 伝送キュー・ヘッダー 両方

この表から分かるように、COBOL で生成する場合には、Java で生成する場合 よりも多くの引き数を利用できます。

注: レコード・パーツはそれぞれが 1 つの構造体項目 のみを含んでおり、構造体項目は構造体パーツを typeDef として使用します。このセットアップによって 最大限の柔軟性が得られます。それぞれが一連の構造体パーツから成る独自のレコード・パーツを 作成できます。

各構造体パーツ名はレコード・パーツ名の後ろに _S を付けた名前に なります。例えば、レコード・パーツ MQGMO の場合は、MQGMO_S という名前の構造体パーツを使用します。

関連する概念
MQSeries 関連の EGL キーワード
MQSeries のサポート
レコード・パーツ
Typedef

関連する参照項目
get next
sysLib.commit
sysLib.rollback

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.