MessageQueueDirector説明書
目次 索引 前ページ次ページ

第1部 基本機能編> 第8章 プログラムインタフェース> 8.2 COBOL言語インタフェース> 8.2.1 各インタフェースの説明

8.2.1.18 MQDROLLBACK (トランザクションを取り消す)

機能説明

 現在処理中のトランザクションを取り消します。

記述形式

----------------------------------------------------------------------------------------
      CALL  "MQDROLLBACK" USING  MQDシステム情報アドレス格納域名,
            復帰情報域名, 復帰値格納域名
----------------------------------------------------------------------------------------

パラメタ

MQDシステム情報アドレス格納域: POINTER

 MQDCONNECTプログラムから通知されたMQDシステム情報アドレスをそのまま指定します。

復帰情報域

 例外処理のための復帰情報が通知されます。エラー詳細コードには以下の値(10進数)が返されます。復帰情報の詳細については、“8.4 復帰情報の説明”を参照してください。

  16 (SYNTAX),     18 (NOSYSTEM), 19 (NOCONNECT), 24 (NOTEOU),
  27 (TRANMIX),    28 (NOBEGIN),  33 (NOMEMORY)

  16 (SYNTAX),     18 (NOSYSTEM), 19 (NOCONNECT), 21 (INVALIDAPI),
  24 (NOTEOU),     27 (TRANMIX),  28 (NOBEGIN),   33 (NOMEMORY)

復帰値格納域: PIC S9(5) COMP-5

 本プログラムの処理結果が通知されます。詳細は復帰値の説明を参照してください。

復帰値

 本プログラムの処理結果が、復帰値格納域と特殊レジスタ“PROGRAM-STATUS”で以下のように通知されます。

 正常時: 0
 異常時: -1

注意事項

  1.  トランザクションを取り消すためには、MQDへ接続し、トランザクションを開始しておく必要があります。
  2.  MQDROLLBACKは、以下の契機で実行すると、エラー詳細コード“24”で復帰します。
  3.  グローバルトランザクション処理中にMQDROLLBACKを実行すると、エラー詳細コード“27”で復帰します。
  4.  MQDROLLBACKがエラー詳細コード“27”以外のエラーコードで復帰した場合、処理中のトランザクションはシステムから取り消されます。また、カーソル位置は保証されません。カーソルをメッセージキューの先頭メッセージに移動するためには、MQDSEEKMSGを使用してください。トランザクション内でMQDPEEKMSGEXによる複数メッセージキューからのメッセージ参照を行っている場合には、MQDDISCONNECTQEXを使用して複数メッセージキューから切断を行い、MQDCONNECTQEXを使用して再度複数メッセージキューへ接続を行ってください。
  5.  メッセージへのカーソル位置はトランザクション機能の対象外です。トランザクションを取り消しても、カーソルは現在の場所に留まります。

  6.  当該アプリケーションがSymfoware/RDBトランザクション連携機能を使用している場合、本プログラムはエラー詳細コード“21”で復帰します。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005