API 完了コードと理由コード

呼び出しが行われるたびに、その呼び出しが成功したか失敗したかを示すための完了コードと理由コードが、キュー・マネージャーまたは出口ルーチンによって戻されます。

IBM® MQ API について詳しくは、「 アプリケーションの開発」、および「 アプリケーションの開発」の参照情報を参照してください。

API 完了コード

以下は、 IBM MQ によって戻される完了コード (MQCC) のリストです。
0: 正常終了 (MQCC_OK)

呼び出しはすべて完了しました。すべての出力パラメーターが設定されました。

この場合、Reason パラメーターの値は常に MQRC_NONE です。

1: 警告 (部分完了) (MQCC_WARNING)

呼び出しは部分的に完了しました。 CompCode および Reason 出力パラメーターのほかにも、いくつかの出力パラメーターが設定された可能性があります。

Reason パラメーターが追加情報を提供します。

2: 呼び出し失敗 (MQCC_FAILED)

呼び出しの処理は完了しませんでした。通常、キュー・マネージャーの状態は変わりません。例外は個々に示されます。 CompCode および Reason 出力パラメーターだけが設定されました。 その他のパラメーターは変更されませんでした。

理由は、アプリケーション・プログラム内の障害である場合や、そのプログラムの外部の状態の結果である場合があります。 例えば、アプリケーション・プログラムの許可が侵害された場合などです。 Reason パラメーターが追加情報を提供します。

API 理由コード

理由コード・パラメーター (Reason) は、完了コード・パラメーター (CompCode) を修飾するものです。

特に報告する理由がない場合には、MQRC_NONE が戻ります。 呼び出しが成功した場合は、MQCC_OK および MQRC_NONE が返されます。

完了コードが MQCC_WARNING または MQCC_FAILED のいずれかである場合、キュー・マネージャーは常に、それを修飾する理由を報告します。詳細は、各呼び出しの説明で示されています。

ユーザー作成出口ルーチンが完了コードと理由を設定する場合には、これらの規則に必ず従ってください。 さらに、ユーザー作成出口ルーチンによって定義された特殊な理由値は、キュー・マネージャーによって定義されている値と重複しないようにするために、ゼロ未満の値にしてください。 出口ルーチンでは、該当する場合、キュー・マネージャーによってすでに定義されている理由を設定することができます。

理由コードは、以下のフィールドにも設定されます。
  • MQDLH 構造体の Reason フィールド
  • MQMD 構造体の Feedback フィールド
各理由コード全体が、 IBM MQ がサポートするすべてのプラットフォームでサポートされます。ただし、以下の場合を除きます。
  • 理由コードの上に 1 つ以上のプラットフォーム・アイコンがある。この場合、その理由コードは表示されているプラットフォームにのみ適用されます。
  • 特定のステートメントに対してプラットフォーム・アイコンが表示されている。この場合、そのステートメントはそのプラットフォームにのみ適用されます。
アイコンの説明については、 プラットフォーム・アイコン を参照してください。
子トピックは、以下のような理由コードのセット (番号順) であり、それらを理解するのに役立つ詳細情報を提供します。
  • 該当コードを発生させる状況の説明
  • 関連付けられた完了コード
  • コードへの応答で推奨されるプログラマーの応答