MQCONN - キュー・マネージャーの接続

MQCONN 呼び出しは、アプリケーション・プログラムをキュー・マネージャーに接続します。

この呼び出しは、キュー・マネージャー接続ハンドルを提供します。アプリケーションはこの接続ハンドルを、後続のメッセージ・キューイング呼び出しで使用します。
  • z/OS®では、 CICS® アプリケーションはこの呼び出しを発行する必要はありません。 これらのアプリケーションは、CICS システムが接続されているキュー・マネージャーに自動的に接続されます。 ただし、MQCONN および MQDISC 呼び出しは、CICS アプリケーションからでも発行できます。
  • IBM® iでは、互換モードで実行しているアプリケーションは、この呼び出しを発行する必要はありません。 これらのアプリケーションは、最初の MQOPEN 呼び出しを発行したときに、キュー・マネージャーに自動的に接続されます。 ただし、 IBM i アプリケーションからの MQCONN 呼び出しと MQDISC 呼び出しは引き続き受け入れられます。
    [IBMi]重要: まだ互換モードを使用している場合は、アプリケーションを再コンパイルし、代わりに静的バインド呼び出しを使用することを検討してください。 IBM iでの RPG アプリケーションの互換モード を参照してください。

    その他のアプリケーション (互換モードで実行していないアプリケーション) では、キュー・マネージャーに接続するには MQCONN または MQCONNX 呼び出しを使用し、切断するには MQDISC 呼び出しを使用する必要があります。 これがプログラミングの推奨スタイルです。

サーバーのみのインストールでは、クライアント接続はできません。また、クライアントのみのインストールでは、ローカル接続は使用できません。

構文

MQCONN(QMgrName,Hconn,CompCode,Reason)

パラメーター

QMgrName
タイプ: MQCHAR48 - 入力
これは、アプリケーションが接続先にしたいキュー・マネージャーの名前です。 この名前には、以下に示す文字を使用できます。
  • 英大文字 (A から Z まで)
  • 英小文字 (a から z まで)
  • 数字 (0 から 9 まで)
  • ピリオド (.)、スラッシュ (/)、下線 (_)、パーセント (%)
名前の先頭をブランクにしたり、名前にブランクを埋め込んだりすることはできませんが、名前の後にブランクを入れることはできます。 ヌル文字を使用して、名前の中における有効なデータの末尾を示すことができます。ヌル文字とそれに続く文字はすべてブランクとして扱われます。 以下に示す制約事項は、それぞれ明記している環境に適用されます。
  • EBCDIC カタカナを使用するシステムでは、小文字を使用できません。
  • z/OS では、先頭または末尾に下線がある名前は、各操作や制御パネルで処理できません。 そのため、そのような名前は避けてください。
  • IBM iでは、コマンドに小文字、スラッシュ、またはパーセントを含む名前を指定するときは、引用符で囲んでください。 これらの引用符は、 QMgrName パラメーターでは指定しないでください。

名前全体がブランクで構成されている場合は、デフォルト のキュー・マネージャーの名前が使用されます。 ただし、 IBM MQ MQI client アプリケーションのセクションで説明されているブランクのキュー・マネージャー名の使用に注意してください。

QMgrName に指定する名前は、 接続可能な キュー・マネージャーの名前、またはキュー・マネージャー・グループが使用されている場合はそのキュー・マネージャー・グループの名前でなければなりません。

z/OS では、接続が可能なキュー・マネージャーは、環境によって決まります。
  • CICS の場合は、CICS システムが接続されたキュー・マネージャーのみが使用できます。 QMgrName パラメーターも指定する必要がありますが、その値は無視されます。ここでは、ブランク文字にするのが適しています。
  • IMSの場合、サブシステム定義表 (CSQQDEFV) にリストされているキュー・マネージャー、 および IMSの SSM 表にリストされているキュー・マネージャーのみが接続可能です (使用上の注意 6 を参照)。
  • z/OS バッチおよび TSO の場合、アプリケーションと同じシステムにあるキュー・マネージャーのみが接続可能です (使用上の注意 6 を参照)。

キュー共用グループ: 複数のキュー・マネージャーが存在し、キュー共用グループを形成するように構成されているシステムでは、キュー共用グループの名前をキュー・マネージャーの代わりに QMgrName に指定することができます。 これにより、アプリケーションは、キュー共有グループ内で使用可能であり、かつアプリケーションと同じ z/OS イメージ上にある 任意の キュー・マネージャーに接続できます。 また、 QMgrName をブランクにするとデフォルトのキュー・マネージャーではなくキュー共有グループに接続されるようにシステムを構成することもできます。

QMgrName がキュー共有グループの名前を指定し、その名前を持つキュー・マネージャーもシステムに存在する場合、その名前を持つキュー・マネージャーに優先的に接続されます。 その接続が失敗した場合のみ、キュー共有グループ内のキュー・マネージャーの 1 つへの接続が試行されます。

接続が正常に行われた場合、MQCONN または MQCONNX 呼び出しで戻されたハンドルを使用して、接続が確立された先のキュー・マネージャーに所属するリソース (共有の場合も共有でない場合も) のすべてに アクセスすることができます。 これらのリソースへのアクセスは、通常の許可制御に従います。

アプリケーションが並行する接続を確立するために MQCONN または MQCONNX 呼び出しを 2 つ発行して、どちらかの、または両方の呼び出しがキュー共有グループの名前を指定する場合、2 番目の呼び出しが最初の呼び出しと同じキュー・マネージャーに接続すると、完了コード MQCC_WARNING および理由コード MQRC_ALREADY_CONNECTED を戻します。

キュー共用グループは、z/OS でのみサポートされています。 キュー共有グループへの接続は、バッチ環境、RRS バッチ環境、 CICS環境、および TSO 環境でのみサポートされます。 CICSの場合、 CICS システムが接続されているキュー共有グループのみを使用できます。 QMgrName パラメーターも指定する必要がありますが、その値は無視されます。ここでは、ブランク文字にするのが適しています。
重要: IMS はキュー共有グループに接続できません。

IBM MQ MQI client アプリケーション: IBM MQ MQI client アプリケーションの場合、指定されたキュー・マネージャー名を持つクライアント接続チャネル定義ごとに、接続が成功するまで接続が試行されます。 ただし、キュー・マネージャーは、指定された名前と同じでなければなりません。 名前全体がブランクで指定されている場合は、名前全体がブランクのキュー・マネージャー名をもつ各クライアント接続チャネルが、成功するまで試行されます。この場合、キュー・マネージャーの実際の名前についての検査は行われません。

IBM MQ クライアント・アプリケーションは z/OSではサポートされていませんが、 z/OSIBM MQ サーバーとして機能することができ、 IBM MQ クライアント・アプリケーションが接続できるようになります。

IBM MQ MQI client キュー・マネージャー・グループ: 指定された名前がアスタリスク (*) で始まる場合、接続先のキュー・マネージャーの名前は、アプリケーションによって指定された名前とは異なる可能性があります。 指定された名前 (アスタリスクなし) は、接続可能なキュー・マネージャーのグループ を定義します。 実装環境では、接続できるものが見つかるまで、グループ内で 1 個ずつ順に試行しながら 1 つ選択します。 接続が試行される順序は、クライアント・チャネルの重み付けや対象となるチャネルの接続アフィニティーの値が関係します。 グループ内のキュー・マネージャーがどれも接続に使用できない場合、呼び出しは失敗します。 各キュー・マネージャーは、1 回のみ試行されます。 名前にアスタリスクのみが指定されている場合は、インプリメンテーション定義のデフォルトのキュー・マネージャー・グループが使用されます。

キュー・マネージャー・グループは、MQ クライアント環境で実行されるアプリケーションでのみサポートされます。非クライアント・アプリケーションがアスタリスクで始まるキュー・マネージャー名を指定すると、この呼び出しは失敗します。 グループ内の各キュー・マネージャーと通信するために、同じキュー・マネージャー名を持つクライアント接続チャネル定義 (アスタリスクなしで指定された名前) を指定することによって、グループが定義されます。 デフォルト・グループの定義は、1 つ以上のクライアント接続チャネル定義に、それぞれブランクのキュー・マネージャー名を付けることによって行われます (したがって、ブランクのみの名前を指定することは、クライアント・アプリケーションの名前にアスタリスクを 1 つ指定することと同じ効果があります)。

グループの 1 つのキュー・マネージャーに接続したあと、アプリケーションは、メッセージおよびオブジェクト記述子の中のキュー・マネージャー名フィールドに、通常の方法でブランクを指定することで、アプリケーションが接続されたキュー・マネージャーの名前 (ローカル・キュー・マネージャー) を表すことができます。 アプリケーションがこの名前を認識する必要がある場合は、MQINQ 呼び出しを使用して QMgrName キュー・マネージャー属性を照会することができます。

接続名の先頭にアスタリスクを付けることは、アプリケーションはグループ内の特定のキュー・マネージャーへの接続に依存していないことを意味します。 これが有効なアプリケーションは次のとおりです。
  • メッセージは書き込むが、メッセージを読み取らないアプリケーション。
  • 要求メッセージを書き込んでから、一時動的 キューから応答メッセージを取得するアプリケーション。
有効ではないアプリケーションは、特定のキュー・マネージャーの特定のキューからメッセージを読み取らなければならないアプリケーションなどです。このようなアプリケーションでは、名前の先頭にアスタリスクを付けてはなりません。

アスタリスクを指定する場合、名前の残りの最大長は 47 文字です。

このパラメーターの長さは MQ_Q_MGR_NAME_LENGTH によって指定されます。

Hconn
タイプ: MQHCONN - 出力

このハンドルは、キュー・マネージャーに対する接続を表します。 これは、アプリケーションが発行する、以降のすべてのメッセージ・キューイング呼び出しで指定します。 MQDISC 呼び出しが発行されたとき、またはハンドルの有効範囲を定義する処理の単位が終了したときに、有効でなくなります。

IBM MQ は、サーバー・パッケージだけでなく、クライアント・パッケージも含む mqm ライブラリーを提供するようになりました。 これはつまり、mqm ライブラリーにある MQI 呼び出しが行われる場合、接続タイプがクライアント接続かサーバー接続かが検査され、正しいことが確認された基礎となる呼び出しが呼び出されるということを意味します。 そのため、Hconn に渡される出口が、mqm ライブラリーに対してリンク付けされますが、クライアント・インストールの環境で使用されます。

ハンドルの有効範囲: 戻されるハンドルの有効範囲は、キュー・マネージャーへの接続に使用される呼び出し (MQCONN または MQCONNX) によって異なります。 使用される呼び出しが MQCONNX の場合は、ハンドルの有効範囲も、MQCNO 構造の Options フィールドに指定される MQCNO_HANDLE_SHARE_* オプションによって決まります。
  • 呼び出しが MQCONN である場合や、MQCNO_HANDLE_SHARE_NONE オプションが指定されている場合、戻されるハンドルは非共有 ハンドルになります。

    非共有ハンドルの有効範囲は、アプリケーションが実行されているプラットフォームによってサポートされる並列処理の最小単位です (詳しくは、 表 1 を参照)。このハンドルは、呼び出しが発行された並列処理の単位の外部では無効です。

  • 一方、MQCNO_HANDLE_SHARE_BLOCK オプションか MQCNO_HANDLE_SHARE_NO_BLOCK オプションを指定した場合、戻されるハンドルは共有 ハンドルになります。

    共有ハンドルの有効範囲は、呼び出しの発行元のスレッドを所有するプロセスであり、そのプロセスに属するすべてのスレッドでこのハンドルを使用することができます。 ただし、すべてのプラットフォームでスレッドがサポートされているわけではありません。

  • MQCONN 呼び出しまたは MQCONNX 呼び出しが MQCC_FAILED に等しい完了コードを出して失敗すると、Hconn 値は未定義となります。
表 1. 各種プラットフォームでの非共有ハンドルの有効範囲
プラットフォーム 非共有ハンドルの有効範囲
z/OS
  • CICS: CICS タスク
  • IMS: 次の同期点までのタスク (そのタスクのサブタスクは除く)
  • z/OS バッチおよび TSO: タスク (そのタスクのサブタスクは除く)
IBM i ジョブ
UNIX システム スレッド
16 ビットの Windows アプリケーション プロセス
32 ビットの Windows アプリケーション スレッド
z/OS for CICS アプリケーションの場合、および IBM i で互換モードで実行されているアプリケーションの場合、返される値は以下のとおりです。
MQHC_DEF_HCONN
デフォルトの接続ハンドル。
CompCode
タイプ: MQLONG - 出力
完了コード。以下のいずれかです。
MQCC_OK
正常終了。
MQCC_WARNING
警告 (部分完了)。
MQCC_FAILED
呼び出し失敗。
理由 (Reason)
タイプ: MQLONG - 出力
CompCodeが MQCC_OK の場合:
MQRC_NONE
(0, X'000') レポートする理由コードはありません。
CompCodeが MQCC_WARNING の場合:
MQRC_ALREADY_CONNECTED
(2002, X'7D2') アプリケーションはすでに接続されています。
MQRC_CLUSTER_EXIT_LOAD_ERROR
(2267, X'8DB') クラスター・ワークロード出口をロードできません。
MQRC_SSL_ALREADY_INITIALIZED
(2391, X'957') SSL はすでに初期化されています。
CompCodeが MQCC_FAILED の場合:
MQRC_ADAPTER_CONN_LOAD_ERROR
(2129, X'851') アダプター接続モジュールをロードできません。
MQRC_ADAPTER_DEFS_ERROR
(2131, X'853') アダプター・サブシステム定義モジュールが無効です。
MQRC_ADAPTER_DEFS_LOAD_ERROR
(2132, X'854') アダプター・サブシステム定義モジュールをロードできません。
MQRC_ADAPTER_NOT_AVAILABLE
(2204, X'89C') アダプターが利用できません。
MQRC_ADAPTER_SERV_LOAD_ERROR
(2130, X'852') アダプター・サービス・モジュールをロードできません。
MQRC_ADAPTER_STORAGE_SHORTAGE
(2127, X'84F') アダプター用のストレージが足りません。
MQRC_ANOTHER_Q_MGR_CONNECTED
(2103, X'837') 別のキュー・マネージャーがすでに接続されています。
MQRC_API_EXIT_ERROR
(2374, X'946') API 出口で障害が発生しました。
MQRC_API_EXIT_INIT_ERROR
(2375, X'947') API 出口の初期化に失敗しました。
MQRC_API_EXIT_TERM_ERROR
(2376, X'948') API 出口の終了に失敗しました。
MQRC_ASID_MISMATCH
(2157, X'86D') 1 次 ASID とホーム ASID が異なっています。
MQRC_BUFFER_LENGTH_ERROR
(2005, X'7D5') バッファー長パラメーターは無効です。
MQRC_CALL_IN_PROGRESS
(2219, X'8AB') 前の呼び出しが完了する前に MQI 呼び出しが入力されました。
MQRC_CONN_ID_IN_USE
(2160, X'870') 接続 ID はすでに使用中です。
MQRC_CONNECTION_BROKEN
(2009, X'7D9') キュー・マネージャーとの接続が失われました。
MQRC_CONNECTION_ERROR
(2273, X'8E1') MQCONN 呼び出しの処理でエラーが発生しました。
MQRC_CONNECTION_NOT_AVAILABLE
(2568, X'A08') MQCONN または MQCONNX 呼び出しで、現行のインストール環境では、要求された接続タイプの接続をキュー・マネージャーが提供できない場合に発生します。 サーバーのみのインストールでは、クライアント接続はできません。 クライアントのみのインストールでは、ローカル接続はできません。
MQRC_CONNECTION_QUIESCING
(2202, X'89A') 接続が静止しています。
MQRC_CONNECTION_STOPPING
(2203, X'89B') 接続がシャットダウン中です。
MQRC_CRYPTO_HARDWARE_ERROR
(2382, X'94E') 暗号ハードウェアに構成エラーがあります。
MQRC_DUPLICATE_RECOV_COORD
(2163, X'873') リカバリー・コーディネーターが存在します。
MQRC_ENVIRONMENT_ERROR
(2012, X'7DC') この環境では呼び出しが無効です。

さらに、MQCONNX 呼び出しで、 CICS または IMS アプリケーションから MQCSP-セキュリティー・パラメーター 制御ブロックを渡します。

MQRC_HCONN_ERROR
(2018, X'7E2') 接続ハンドルが無効です。
MQRC_HOST_NOT_AVAILABLE
(2538, X'9EA') キュー・マネージャーに接続するためにクライアントから MQCONN 呼び出しが出されたが、リモート・システムへの会話の割り振りの試行に失敗しました。
MQRC_INSTALLATION_MISMATCH
(2583, X'A17') キュー・マネージャーのインストール済み環境と、選択されたライブラリーとが一致しません。
MQRC_KEY_REPOSITORY_ERROR
(2381, X'94D') キー・リポジトリーが無効です。
MQRC_MAX_CONNS_LIMIT_REACHED
(2025, X'7E9') 接続が最大数に達しました。
MQRC_NOT_AUTHORIZED
(2035, X'7F3') アクセスは許可されません。
MQRC_OPEN_FAILED
(2137, X'859') オブジェクトが正常にオープンされていません。
MQRC_Q_MGR_NAME_ERROR
(2058, X'80A') キュー・マネージャー名が無効であるか、認識されていません。
MQRC_Q_MGR_NOT_AVAILABLE
(2059, X'80B') キュー・マネージャーを接続に使用できません。
MQRC_Q_MGR_QUIESCING
(2161, X'871') キュー・マネージャーが静止しています。
MQRC_Q_MGR_STOPPING
(2162, X'872') キュー・マネージャーのシャットダウン中です。
MQRC_RESOURCE_PROBLEM
(2102, X'836') 使用できるシステム・リソースが不足しています。
MQRC_SECURITY_ERROR
(2063, X'80F') セキュリティー・エラーが発生しました。
MQRC_SSL_INITIALIZATION_ERROR
(2393, X'959') SSL 初期化エラーが発生しました。
MQRC_STORAGE_NOT_AVAILABLE
(2071, X'817') ストレージが不足しています。
MQRC_UNEXPECTED_ERROR
(2195, X'893') 予期しないエラーが発生しました。

これらのコードについて詳しくは、 メッセージおよび理由コードを参照してください。

使用上の注意

  1. MQCONN 呼び出しを使用して接続が行われるキュー・マネージャーを、ローカル・キュー・マネージャー と呼びます。
  2. ローカル・キュー・マネージャーが所有するキューは、アプリケーションでは、ローカル・キューとして扱われます。 これらのキューに対しては、メッセージの書き込みと読み取りが可能です。

    ローカル・キュー・マネージャーが所属するキュー共有グループが所有する共有キューは、アプリケーションでは、ローカル・キューとして扱われます。 これらのキューに対しては、メッセージの書き込みと読み取りが可能です。

    リモート・キュー・マネージャーが所有するキューは、リモート・キューとして扱われます。 これらのキューに対しては、メッセージの書き込みは可能ですが、メッセージの読み取りはできません。

  3. アプリケーションの実行中にキュー・マネージャーで障害が発生した場合、アプリケーションは再び MQCONN 呼び出しを発行して、後続の IBM MQ 呼び出しで使用する新しい接続ハンドルを取得する必要があります。 アプリケーションは、呼び出しが成功するまで定期的に MQCONN 呼び出しを発行することができます。

    アプリケーションがキュー・マネージャーに接続されているかどうかが分からない場合でも、安全に MQCONN 呼び出しを発行して接続ハンドルを取得することができます。 アプリケーションがすでに接続されている場合は、戻されるハンドルは前に発行した MQCONN 呼び出しによって戻されたハンドルと同じですが、完了コード MQCC_WARNING と理由コード MQRC_ALREADY_CONNECTED も共に戻されます。

  4. アプリケーションが IBM MQ 呼び出しの使用を終了した場合、アプリケーションは MQDISC 呼び出しを使用してキュー・マネージャーから切断する必要があります。
  5. MQCONN 呼び出しが MQCC_FAILED に等しい完了コードを出して失敗すると、Hconn 値は未定義となります。
  6. z/OS:
    • バッチ、TSO、および IMS アプリケーションは、他の IBM MQ 呼び出しを使用するために MQCONN 呼び出しを発行する必要があります。 これらのアプリケーションは、複数のキュー・マネージャーに並行して接続できます。

      キュー・マネージャーが失敗する場合、アプリケーションは、キュー・マネージャーを再始動させた後に再び呼び出しを発行し、新規接続ハンドルを取得する必要があります。

      すでに接続済みであっても、IMS アプリケーションは MQCONN 呼び出しを繰り返し発行することは可能ですが、オンライン・メッセージ処理プログラム (MPP) の場合にはお勧めできません。

    • CICS アプリケーションは、他の IBM MQ 呼び出しを使用するために MQCONN 呼び出しを発行する必要はありませんが、必要に応じて発行することができます。MQCONN 呼び出しと MQDISC 呼び出しの両方が受け入れられます。 しかし、複数のキュー・マネージャーに並行して接続することはできません。

      キュー・マネージャーが失敗する場合、これらのアプリケーションはキュー・マネージャーが再始動したとき自動的に再接続するので、MQCONN 呼び出しを発行する必要はありません。

  7. z/OS では、使用可能なキュー・マネージャーを定義するには次のようにします。
    • バッチ・アプリケーションの場合は、システム・プログラマーは、CSQBDEF マクロを使用して、デフォルトのキュー・マネージャー名またはキュー共有グループ名を定義するモジュール (CSQBDEFV) を作成することができます。
    • IMS アプリケーションの場合は、システム・プログラマーは、CSQQDEFX マクロを使用して、使用可能なキュー・マネージャーの名前を定義しデフォルトのキュー・マネージャーを指定するモジュール (CSQQDEFV) を作成することができます。

      さらに、各キュー・マネージャーを、IMS 制御領域、およびそのキュー・マネージャーにアクセスする各従属領域に対して定義する必要があります。 そのためには、IMS.PROCLIB ライブラリー内にサブシステム・メンバーを作成し、適用可能な IMS 領域に対してそのサブシステム・メンバーを識別する必要があります。 IMS 領域用のサブシステム・メンバーに定義されていないキュー・マネージャーにアプリケーションが接続しようとすると、このアプリケーションは異常終了します。

    [z/OS]これらのマクロの使用について詳しくは、 お客様が使用するためのマクロを参照してください。

  8. IBM iでは、以前のリリースのキュー・マネージャー用に作成されたアプリケーションは、再コンパイルせずに実行できます。 これは 互換モードと呼ばれます。 この操作モードは、アプリケーションに互換性のある実行時環境を提供します。 これには以下のものが含まれます。
    • ライブラリー QMQM に常駐するサービス・プログラム AMQZSTUB。

      AMQZSTUB は、以前のリリースと同じ共通インターフェースを提供します。また、同じ署名を持っています。 このサービス・プログラムを使用して、バインドされたプロシージャー呼び出しを介して MQI にアクセスします。

    • ライブラリー QMQM に常駐するプログラム QMQM。

      QMQM は、動的プログラム呼び出しを介して MQI にアクセスする手段を提供します。

    • ライブラリー QMQM に常駐するプログラム、MQCLOSE、MQCONN、MQDISC、MQGET、MQINQ、MQOPEN、MQPUT、MQPUT1、および MQSET。

      これらのプログラムは、動的プログラム呼び出しを介して MQI にアクセスする手段も提供しますが、 IBM MQ 呼び出しの標準記述に対応するパラメーター・リストを備えています。

    これらの 3 つのインターフェースには、 IBM MQ バージョン 5.1で導入された機能は含まれていません。 例えば、MQBACK、MQCMIT、および MQCONNX 呼び出しはサポートされていません。 これらのインターフェースにより提供されているサポートは、単一スレッド・アプリケーション用だけです。

    単一スレッド・アプリケーションでの新しい IBM MQ 呼び出し、およびマルチスレッド・アプリケーションでのすべての IBM MQ 呼び出しのサポートは、サービス・プログラム LIBMQM および LIBMQM_R を介して提供されます。

    [IBMi]重要: まだ互換モードを使用している場合は、アプリケーションを再コンパイルし、代わりに静的バインド呼び出しを使用することを検討してください。 IBM iでの RPG アプリケーションの互換モード を参照してください。
  9. IBM iでは、異常終了したプログラムがキュー・マネージャーから自動的に切断されることはありません。 MQCONN または MQCONNX 呼び出しが完了コード MQCC_WARNING および理由コード MQRC_ALREADY_CONNECTED を戻せるように、アプリケーションを作成する必要があります。 この状況で戻される接続ハンドルを、通常どおり使用します。

C 言語での呼び出し

MQCONN (QMgrName, &Hconn, &CompCode, &Reason);
パラメーターを次のように宣言します。
MQCHAR48  QMgrName;  /* Name of queue manager */
MQHCONN   Hconn;     /* Connection handle */
MQLONG    CompCode;  /* Completion code */
MQLONG    Reason;    /* Reason code qualifying CompCode */

COBOL での呼び出し

CALL 'MQCONN' USING QMGRNAME, HCONN, COMPCODE, REASON.
パラメーターを次のように宣言します。
**   Name of queue manager
 01  QMGRNAME  PIC X(48).
**   Connection handle
 01  HCONN     PIC S9(9) BINARY.
**   Completion code
 01  COMPCODE  PIC S9(9) BINARY.
**   Reason code qualifying COMPCODE
 01  REASON    PIC S9(9) BINARY.

PL/I での呼び出し

call MQCONN (QMgrName, Hconn, CompCode, Reason);
パラメーターを次のように宣言します。
dcl QMgrName  char(48);       /* Name of queue manager */
dcl Hconn     fixed bin(31);  /* Connection handle */
dcl CompCode  fixed bin(31);  /* Completion code */
dcl Reason    fixed bin(31);  /* Reason code qualifying CompCode */

高水準アセンブラー呼び出し

CALL MQCONN,(QMGRNAME,HCONN,COMPCODE,REASON)
パラメーターを次のように宣言します。
QMGRNAME  DS  CL48  Name of queue manager
HCONN     DS  F     Connection handle
COMPCODE  DS  F     Completion code
REASON    DS  F     Reason code qualifying COMPCODE

Visual Basic での呼び出し

MQCONN QMgrName, Hconn, CompCode, Reason
パラメーターを次のように宣言します。
Dim QMgrName As String*48 'Name of queue manager'
Dim Hconn    As Long      'Connection handle'
Dim CompCode As Long      'Completion code'
Dim Reason   As Long      'Reason code qualifying CompCode'