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.