OSCアプリケーションからのMQI呼び出し
本付録では、OSCで使用するアプリケーション・プログラムをIBM MQと連携する際の注意事項について説明します。
1. OSCアプリケーションからのMQI呼び出し時の注意事項
アプリケーションからMQをアクセスするには、MQが提供するMQI(MQ Interface)を使用する必要があります。まず、アクセスしようとするキュー・マネージャー名を指定して、MQCONNを呼び出します。キュー・マネージャーとの接続が正常に確立されたら、コネクション・ハンドル値が返されます。以降、MQOPEN、MQGET、MQPUT、MQCMIT、MQBACK、MQCLOSEなどのMQIに取得したコネクション・ハンドル値を入力として指定します。
OSCアプリケーションからMQをアクセスする方法は、MQCONNを直接呼び出す方法と、OSCが提供するMQアクセス機能を利用する方法があります。MQCONNを利用する場合には、MQCONNの呼び出しにより受信したコネクション・ハンドル値を使用します。OSCが提供するアクセス機能を利用する場合には、OSCからMQに接続時に確立したコネクション・ハンドル値を使用してMQIを呼び出します。
OSCでは、OSCから接続したMQのコネクション・ハンドル値を返すAPIを提供します。
void OSC_GET_MQ_HANDLE(int32_t *connid);
MQへの接続が正常に処理された場合には、MQのコネクション・ハンドル値を返し、MQへの接続が確立していない場合は、-1を返します。
以下は、OSCアプリケーションでMQを使用する例です。
IDENTIFICATION DIVISION. PROGRAM-ID. TESTMQ01. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-MQ-HCONN PIC S9(9) COMP VALUE +0. PROCEDURE DIVISION. CALL 'OSC_GET_MQ_HANDLE' USING WS-MQ-HCONN. CALL 'MQOPEN' USING WS-MQ-HCONN MQOD WS-MQ-OPTIONS WS-MQ-HMQOD WS-MQ-COMPCODE WS-MQ-REASON.