MQDISC - キュー・マネージャーの切断

MQDISC 呼び出しはキュー・マネージャーとアプリケーション・プログラムとの接続を切断します。MQCONN および MQCONNX 呼び出しの逆の操作にあたります。

  • IBM® iでは、互換モードで実行しているアプリケーションは、この呼び出しを発行する必要はありません。 詳しくは、 MQCONN-キュー・マネージャーの接続 を参照してください。
[IBMi]重要: まだ互換モードを使用している場合は、アプリケーションを再コンパイルし、代わりに静的バインド呼び出しを使用することを検討してください。 IBM iでの RPG アプリケーションの互換モード を参照してください。

構文

MQDISC (HCONN, CMPCOD, REASON)

使用上の注意

  1. アプリケーションがまだオブジェクトをオープンしているときに MQDISC 呼び出しが発行されると、これらのオブジェクトはキュー・マネージャーによってクローズされます。このときのクローズ・オプションは CONONE です。
  2. 作業単位内にあるコミットされていない変更内容でアプリケーションが終了する場合、それらの変更内容の後処理は、そのアプリケーションの終了の仕方によって異なります。
    1. アプリケーションが終了前に MQDISC 呼び出しを発行する場合、
      • キュー・マネージャーが調整する作業単位の場合、キュー・マネージャーがアプリケーションの代わりに MQCMIT 呼び出しを出します。 可能であれば作業単位がコミットされ、そうでなければバックアウトされます。
      • 外部的に調整された作業単位の場合、作業単位の状態には変更がありません。しかし、キュー・マネージャーは、作業単位コーディネーターに求められると、作業単位がコミットされなければならないことを示します。
    2. アプリケーションが正常終了しても MQDISC 呼び出しを発行しない場合は、作業単位はバックアウトされます。
    3. アプリケーションが MQDISC 呼び出しを出さずに異常終了 する場合、作業単位はバックアウトされます。
  3. IBM iでは、互換モードで実行しているアプリケーションは、この呼び出しを発行する必要はありません。詳細については、MQCONN 呼び出しを参照してください。

パラメーター

MQDISC 呼び出しには、以下のパラメーターがあります。

HCONN (10-digit signed integer) - 入出力

接続ハンドル。

このハンドルは、キュー・マネージャーに対する接続を表します。 HCONNの値は、先行の MQCONN または MQCONNX 呼び出しによって戻されたものです。

互換モードで実行するアプリケーションの IBM i では、MQCONN 呼び出しを省略できます。また、 HCONNには以下の値を指定できます。
HCDEFH
デフォルトの接続ハンドル。
呼び出しが正常に完了すると、キュー・マネージャーは HCONN を環境の有効なハンドルではない値に設定します。 値は、以下のとおりです。
HCUNUH
使用できない接続ハンドル。
CMPCOD (10 桁の符号付き整数) - 出力

完了コード。

これは、以下のいずれかになります。
CCOK
正常終了。
CCWARN
警告 (部分完了)。
CCFAIL
呼び出し失敗。
REASON (10 桁の符号付き整数) - 出力

CMPCODを限定する理由コード。

CMPCOD が CCOK の場合
RCNONE
(0, X'000') レポートする理由コードはありません。
CMPCOD が CCFAIL の場合
RC2219
(2219, X'8AB') 前の呼び出しが完了する前に MQI 呼び出しが再入力されました。
RC2009
(2009, X'7D9') キュー・マネージャーとの接続が失われました。
RC2018
(2018, X'7E2') 接続ハンドルが無効です。
RC2058
(2058, X'80A') キュー・マネージャー名が無効であるか、認識されていません。
RC2059
(2059, X'80B') キュー・マネージャーを接続に使用できません。
RC2162
(2162, X'872') キュー・マネージャーのシャットダウン中です。
RC2102
(2102, X'836') 使用できるシステム・リソースが不足しています。
RC2071
(2071, X'817') ストレージが不足しています。
RC2195
(2195, X'893') 予期しないエラーが発生しました。

RPG 宣言

     C*..1....:....2....:....3....:....4....:....5....:....6....:....7..
     C                     CALLP     MQDISC(HCONN : CMPCOD : REASON)
呼び出しのプロトタイプ定義は次のようになります。
     D*..1....:....2....:....3....:....4....:....5....:....6....:....7..
     DMQDISC           PR                  EXTPROC('MQDISC')
     D* Connection handle
     D HCONN                         10I 0
     D* Completion code
     D CMPCOD                        10I 0
     D* Reason code qualifying CMPCOD
     D REASON                        10I 0