WebSphere® MQ API は、メッセージ・キュー・マネージャーからサービスを要求する際に使用できる一連のプログラム・インターフェースです。
WebSphere MQ API (MQ インターフェースや MQI とも呼ばれる) は、メッセージ・キュー・マネージャーに直接アクセスします。インターフェースが複雑であるためミスが発生しやすく、柔軟性も低いため、MQI は、既存コードを維持するためにのみ使用してください。 新規コードでは、EGL add ステートメントおよび get next ステートメントを使用して、メッセージ・キュー情報にアクセスしてください。
EGL には、再使用可能パーツのセットがあります。再使用可能パーツ とは、WebSphere MQ API に対して直接呼び出しを行うために使用または変更することができる、 パラメーター、レコード、および関数です。 これらのパーツのソース・ファイル は、SDP70Shared¥plugins¥com.ibm.etools.egl.resources_version¥MqReusableParts ディレクトリーにあります。
MQI パラメーターは、データ項目またはレコードのいずれかです。MQSTATE および MQATTRIBUTES サンプル・レコードは、ほとんどのデータ項目パラメーターの宣言を含みます。
BUFFER パラメーター (MQGET、MQPUT、および MQPUT1 呼び出しで使用されるメッセージ・バッファー・パラメーター) および CHARATTRS (MQINQ および MQSET 呼び出しで使用される文字属性バッファー・パラメーター) は、1024 文字の長さでいずれも定義されます。 より大きいバッファーが必要なプログラムで MQSTATE を再利用する場合は、これらの項目の長さを増やします。
レコード・パラメーターのフォーマットのほか、特殊目的のメッセージおよびメッセージ・ヘッダーを定義するサンプル・レコードが用意されています。 レコード名は、COBOL 構造名と同じです。 レコードのデータ項目は、COBOL 構造の対応するフィールドと同じ名前になります。 ただし、COBOL 名はトークン区切り文字として、下線ではなくハイフン (-) を使用します。
次の表に、WebSphere MQ 直接呼び出しのサンプル・レコードの名前を示します。
| レコード | 説明 | 初期化指定子関数 |
|---|---|---|
| MQBO | オプションの開始 | MQBO_INIT |
| MQCNO | オプションの接続 | MQCNO_INIT |
| MQDH | 配布ヘッダー | MQDH_INIT |
| MQDLH | 送達不能ヘッダー | MQDLH_INIT |
| MQGMO | Get メッセージ・オプション・パラメーター | MQGMO_INIT |
| MQINTATTRS | 整数属性パラメーター | MQINTATTRS_INIT |
| MQMD | メッセージ記述子パラメーター | MQMD_INIT |
| MQMD1 | メッセージ記述子 (バージョン 1) | MQMD1_INIT |
| MQMDE | メッセージ記述子拡張子 | MQMDE_INIT |
| MQOD | オブジェクト記述子パラメーター | MQOD_INIT |
| MQOR | オブジェクト・レコード | MQOR_INIT |
| MQPMO | Put メッセージ・オプション構造 | MQPMO_INIT |
| MQRMH | メッセージ参照ヘッダー | MQRMH_INIT |
| MQRR | 応答レコード | MQRR_INIT |
| MQSELECTORS | 属性セレクター・パラメーター | MQSELECTORS_INIT |
| MQTM | トリガー・メッセージ構造 | MQTM_INIT |
| MQTMC2 | トリガー・メッセージ 2 (文字フォーマット) | MQTMC2_INIT |
| MQXQH | 送信キュー・ヘッダー | MQXQH_INIT |
次の表に、WebSphere MQ API 関数を呼び出すサンプル EGL 関数を示します。
| 関数 | 説明 |
|---|---|
| MQCONN | メッセージ・キュー・マネージャーへの接続 |
| MQCONNX | 拡張接続 |
| MQDISC | メッセージ・キュー・マネージャーからの切断 |
| MQOPEN | メッセージ・キューのオープン |
| MQCLOSE | メッセージ・キューのクローズ |
| MQGET | キューからのメッセージの読み取り |
| MQPUT | キューへのメッセージの書き込み |
| MQPUT1 | キューのオープンおよびクローズを含む、単一メッセージの キューへの書き込み |
| MQINQ | キュー属性の問い合わせ |
| MQSET | キュー属性の設定 |
| MQBEGIN | 作業論理単位の開始 |
| MQCMIT | 作業論理単位のコミット |
| MQBACK | 作業論理単位のバックアウト |