機能説明
当該アプリケーションをMQDから切断します。このとき、アプリケーションがメッセージキューに接続している場合には、アプリケーションをメッセージキューから切断します。
記述形式
CALL "MQDDISCONNECT" USING MQDシステム情報アドレス格納域名, 復帰情報域名, 復帰値格納域名
パラメタ
MQDCONNECTプログラムから通知されたMQDシステム情報アドレスをそのまま指定します。
例外処理のための復帰情報が通知されます。エラー詳細コードには以下の値(10進数)が返されます。復帰情報の詳細については、“8.4 復帰情報の説明”を参照してください。
16 (SYNTAX)
18 (NOSYSTEM)
19 (NOCONNECT)
23 (ONTRAN)
24 (NOTEOU)
33 (NOMEMORY)
本プログラムの処理結果が通知されます。詳細は復帰値の説明を参照してください。
復帰値
本プログラムの処理結果が、復帰値格納域と特殊レジスタ“PROGRAM-STATUS”で以下のように通知されます。
正常時:0
異常時: -1
注意事項
グローバルトランザクション処理中に、アプリケーションをMQDから切断することはできません。MQDからの切断は、ワークユニットの後出口プログラムで実行する必要があります。
MQDBEGINプログラムによって開始したトランザクションの途中で MQDからの切断を行った場合の注意事項を以下に示します。
アプリケーションはメッセージキューおよびMQDから切断されます。ただし、エラー詳細コードには“23”が通知されます。
処理中のトランザクションはシステムから取り消されます。
トランザクションを使用せずにユニットの途中(ユニット内の最後のメッセージを送信または受信する前)で MQDからの切断を行った場合の注意事項を以下に示します。
アプリケーションはメッセージキューおよびMQDから切断されます。ただし、エラー詳細コードには“24”が通知されます。
ユニット内のすでに送信済または受信済のメッセージはすべて取り消されます。
当該アプリケーションがMQDCONNECTRDBプログラムを使用してMQDに接続している場合の注意事項を以下に示します。
本プログラムの後で、データベースとの切断をしてください。
トランザクションの途中でMQDからの切断を行った場合、アプリケーションはメッセージキューおよびMQDからは切断されません。この時、エラー詳細コードには“23”が通知されます。なお、処理中のトランザクションは取り消されないため、“SQL ROLLBACK文”を使用してトランザクションを取り消してください。