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

第1部 基本機能編> 第8章 プログラムインタフェース

8.4 復帰情報の説明

 各インタフェースの処理において例外事象(エラー)が発生した場合には、復帰情報の領域( C言語の場合は“env”ポインタで指された“MQD_Environment”構造体)にエラー種別とエラー詳細コードが通知されます。

 以下に復帰情報の形式を示します。また、表8.28にエラー種別を、表8.29にエラー詳細コードをそれぞれ一覧します。

復帰情報の形式

COBOL言語の場合

     
     WORKING-STORAGE SECTION.
       01 MQD-ENVIRONMENT.
         02 LEVEL   PIC 9(5)  COMP-5.            … エラー種別
         02 RCODE   PIC 9(5)  COMP-5.            … エラー詳細コード


C言語の場合

     
     typedef struct mqd_environment_t{
       MQDLONG  level;                              /* エラー種別               */
       MQDLONG  code;                               /* エラー詳細コード         */
     }MQD_Environment;


エラー種

[表8.28 エラー種別一覧]

エラー種別

意味内容

マクロ名(注)

0

MQD_SUCCESS

正常復帰

0以外

MQD_ERROR

異常復帰

注) C言語の場合に有効


エラー詳細コー

[表8.29 エラー詳細コード一覧]

エラー詳細コード

意味内容

対処方法

マクロ名(注)

16

MQD_ERR_
SYNTAX

パラメタの内容に誤りがあります。

パラメタを確認してください。

17

MQD_ERR_NOENV

MQDのシステム環境がありません。

MQDのシステム環境を作成してください。

クラスタ環境用のMQDシステムを作成する時の、SystemDirectoryの値に誤りがあります。

クラスタ環境の設定を修正したMQDシステムを再作成した後に、再実行してください。

18

MQD_ERR_
NOSYSTEM

MQDが起動されていません。

MQDを起動してください。

19

MQD_ERR_
NOCONNECT

MQDに接続されていません。

アプリケーションをMQDに接続してください。

20

MQD_ERR_
CONNECTED

すでにMQDに接続されています。

MQDへの接続が重複しないようにアプリケーションを修正してください。

指定されたメッセージキューは、アプリケーションから使用されているため、削除できません。

メッセージキューの削除を行う場合は、メッセージキューからの切断を行ってください。

21

MQD_ERR_
INVALIDAPI

プログラムの実行順番が間違っています。

アプリケーションを修正してください。

22

MQD_ERR_
NOCONNECTQUE

メッセージキューに接続されていません。

アプリケーションをメッセージキューに接続してください。

23

MQD_ERR_
ONTRAN

トランザクション処理中です。

当プログラムは、トランザクション処理区間外で実行してください。

24

MQD_ERR_
NOTEOU

ユニット内の最終メッセージの送信または受信が行われていません。

当プログラムは、ユニット内の最終メッセージを送信または受信してから実行してください。

25

MQD_ERR_
DOWNRCV

ダウンリカバリが完了していません。

Interstageを起動した後、再実行してください。

26

MQD_ERR_
OVERTRAN

トランザクションの数がトランザクション多重度を超えました。

MQD内で起動するアプリケーションの数を減らしてください。

27

MQD_ERR_
TRANMIX

グローバルトランザクション中です。

グローバルトランザクション配下ではMQDのトランザクション機能を利用しないでください。

28

MQD_ERR_
NOBEGIN

トランザクションが開始されていません。

MQDBEGIN(mqd_begin)を発行してトランザクションを開始してください。

29

MQD_ERR_
DEADLOCK

プログラムによって、データベースがデッドロック状態になりました。

トランザクションを取り消した後、再度同じトランザクションを実行してください。

30

MQD_ERR_
BACKOUT

グローバルトランザクションがロールバックされました。

グローバルトランザクションを取り消した後、再度同じトランザクションを実行してください。

31

MQD_ERR_
OTHERTHR

他のスレッドですでにメッセージ操作が行われています。

アプリケーションを修正してください。

32

MQD_ERR_IO

I/Oエラーが発生しました。

ディスク装置を確認してください。

                                                                       (つづく)

エラー詳細コード

意味内容

対処方法

マクロ名(注)

33

MQD_ERR_
NOMEMORY

実メモリ、スワップ、共有メモリ、メッセージバッファ、トランザクション多重度、トランザクション用管理用ファイル容量のいずれかが不足しています。

一時的資源不足の可能性があるので、リトライしてください。その場合には、ユニットまたはトランザクションの先頭からリトライしてください。

リトライしても同様のエラーになる場合には、メモリ領域、MQD環境定義の MessageBufferMaxSizeMax_Size の値を確認してください。

34

MQD_ERR_
NODISK

空きのディスク領域が不足しています。

不要なファイルなどを消してディスク領域を確保してください。

35

MQD_ERR_
ARRAYLACK

指定された数よりも多くのメッセージキューがあるため、すべてのメッセージキュー名を通知することができません。

個数格納域 (C言語の場合はqnum)に通知されたメッセージキューの数を参照し、十分なだけの配列を準備して再実行してください。

36

MQD_ERR_
PROCESSOVER

MQD内のプロセスの数が多過ぎます。

MQD内で起動するアプリケーションの数を減らしてください。

37

MQD_ERR_
ACCESSDENY

MQDのシステム環境のファイルへのアクセス権がありません。

アプリケーションの実行者の権限を確認してください。

38

MQD_ERR_
BUFFERLACK

メッセージ本体を格納する領域が不足しています。

メッセージ本体を格納する領域を大きくしてください。

運用イベント拡張情報を格納する領域が不足しています。

運用イベント拡張情報を格納する領域を大きくしてください。

39

MQD_ERR_
TRANFILE

トランザクションファイルの空き容量が不足しています。

他のアプリケーションの処理が終了した後、再実行してください。

40

MQD_ERR_
MSGFILE

メッセージ格納域の空き容量が不足しています。

メッセージの受信側を起動してください。またはメッセージ格納域の容量変更をしてください。

41

MQD_ERR_
ELIMIT

システム資源の制限値に違反しています。

システム資源の設定値を見直してください。システム資源の設定値については“インストールガイド”を参照してください。

48

MQD_ERR_
QUEOVER

メッセージキュー数の最大に達したため、メッセージキューが作成できません。

不要なメッセージキューを削除してください。

49

MQD_ERR_
OPENQUEOVER

プロセス内でシステムに接続できるメッセージキューの最大数(4096)に達したため、メッセージキューをシステムに接続できません。

不要なメッセージキューをシステムから切断してください。

50

MQD_ERR_
FILEOVER

プロセス内でのファイルオープン数が上限に達しました。

プロセス内でのメッセージキューのシステムへの接続数を減らしてください。

51

MQD_ERR_
UNITMSGOVER

トランザクション機能を使用している場合、一つのトランザクションで扱うことのできるメッセージ数の最大に達したため、メッセージを格納できません。

トランザクションの単位を変えて、一つのトランザクション内で扱うメッセージ数を少なくしてください。

トランザクション機能を使用していない場合、一つのユニットで扱うことのできるメッセージ数の最大に達したため、メッセージを格納できません。

ユニットの分割単位を変えて、一つのユニット内のメッセージ数を小さくしてください。

                                                                        (つづく)

エラー詳細コード

意味内容

対処方法

マクロ名(注)

52

MQD_ERR_
UNITSUMOVER

トランザクション機能を使用している場合、一つのトランザクションで扱うことのできるメッセージ合計サイズの上限に達したため、メッセージを格納できません。

トランザクションの単位を変えて、一つのトランザクション内で扱うメッセージサイズを小さくしてください。

トランザクション機能を使用していない場合、一つのユニットで扱うことのできるメッセージ合計サイズの上限に達したため、メッセージを格納できません。

ユニットの分割単位を変えて、一つのユニット内のメッセージサイズを小さくしてください。

64

MQD_ERR_
QUEEXIST

作成しようとしたメッセージキューはすでに存在します。

作成するメッセージキューの名前を変更してください。

65

MQD_ERR_
NOQUEEXIST

MQDにメッセージキューが一つもありません。

なし。

66

MQD_ERR_
NOQUE

指定されたメッセージキューは存在しません。

メッセージキュー名を確認してください。

67

MQD_ERR_
NOCURSORMSG

指定されたメッセージはすでに他の利用者から受信または削除されています。カーソルは次のメッセージに位置づけられます。

なし。

68

MQD_ERR_
NOMSG

指定されたメッセージキューにメッセージが存在しません。

なし。

69

MQD_ERR_
LONGMSG

メッセージ長が最大値を超えています。

メッセージを複数のメッセージに分割してください。

70

MQD_ERR_
QUEEND

カーソルがメッセージキューの終端に達しました。

カーソルの移動を行い、カーソルをメッセージキューの先頭に位置付けてください。またはメッセージキューを一端システムから切断し、再度接続してください。

71

MQD_ERR_
MSGEXIST

メッセージキューにメッセージが残っているため、通常モードのメッセージキューの削除ができません。

該当メッセージキューの中の全メッセージを削除した後、再実行してください。

他のアプリケーションがメッセージ受信中またはメッセージ削除中のため、メッセージの一括削除または強制モードのメッセージキューの削除ができません。

他のアプリケーションの処理が終了した後、再実行してください。

72

MQD_ERR_
QUEWINHIBIT

メッセージキューが送信禁止状態です。

mqdchgqコマンドを実行してメッセージキューを送信可能状態にしてください。

                                                                        (つづく)

エラー詳細コード

意味内容

対処方法

マクロ名(注)

73

MQD_ERR_
QUERINHIBIT

メッセージキューが受信禁止状態です。

mqdchgqコマンドを実行してメッセージキューを受信可能状態にしてください。

74

MQD_ERR_
PURGEMSG

メッセージキューが使用禁止状態です。

しばらく待って使用禁止状態が解除されてから再実行してください。使用禁止状態が解除されない場合は、mqdprgmsgコマンドを実行してメッセージキューの使用禁止状態を解除してから、再実行してください。

75

MQD_ERR_
QUEUSE

メッセージキューはすでに使用されています。

メッセージキューへの接続が重複しないようにアプリケーションを修正してください。

76

MQD_ERR_
UNITNOTCONT

メッセージキューからユニット途中または最後のメッセージを受信または参照することができません。

メッセージキューが受信禁止状態や使用禁止状態の場合は禁止状態を解除した後、メッセージキューを一端システムから切断し、再度接続してください。

80

MQD_ERR_
EVENTNOOPEN

運用イベントがオープンされていません。

運用イベントをオープンしてください。

81

MQD_ERR_
EVENTOPENED

すでに運用イベントがオープンされています。

他の運用イベントアプリケーションの処理が終了した後、再実行してください。

82

MQD_ERR_
NOEVENT

運用イベントが発生していません。

なし。

83

MQD_ERR_
INVALIDHANDLE

運用イベントへのハンドルが無効(不正)です。

mqd_openevent(MQD_OPENEVENT)から通知されたイベントへのハンドルを正しく指定するようにアプリケーションを修正してください。

112

MQD_ERR_
SYSNAME

MQDシステム名が誤っています。

正しく指定してください。

113

MQD_ERR_QNAME

メッセージキュー名、または返信キュー名が誤っています。

正しく指定してください。

114

MQD_ERR_
MSGNAME

メッセージ名が誤っています。

正しく指定してください。

128

MQD_ERR_
GUARANTEE

メッセージ保証レベルの指定が誤っています。

正しく指定してください。

129

MQD_ERR_QUOTA

最大ディスク容量の指定が誤っています。

0を指定してください。

130

MQD_ERR_
MSGMAXLEN

メッセージの最大長の指定が誤っています。

正しく指定してください。

131

MQD_ERR_
PRIORITY

プライオリティの指定が誤っています。

正しく指定してください。

132

MQD_ERR_
TIMELIMIT

最大保存時間の指定が誤っています。

0を指定してください。

133

MQD_ERR_
PUTSTATUS

送信状態の指定が誤っています。

正しく指定してください。

134

MQD_ERR_
GETSTATUS

受信状態の指定が誤っています。

正しく指定してください。

135

MQD_ERR_
MSGBODYLENGTH

メッセージ本体長が誤っています。

正しく指定してください。

136

MQD_ERR_
ACCESSRIGHT

アクセス権の指定が誤っています。

0を指定してください。

137

MQD_ERR_QNUM

メッセージキュー名の個数の指定が誤っています。

正しく指定してください。

144

MQD_ERR_
DELMODE

削除モードの指定が誤っています。

正しく指定してください。

                                                                        (つづく)
                                                                        (つづき)

エラー詳細コード

意味内容

対処方法

マクロ名(注)

145

MQD_ERR_
GETMODE

受信モードの指定が誤っています。

正しく指定してください。

146

MQD_ERR_
PEEKMODE

参照モードの指定が誤っています。

正しく指定してください。

147

MQD_ERR_
CURSORMODE

カーソル情報の指定が誤っています。

正しく指定してください。

148

MQD_ERR_
UNITFLAG

ユニットフラグの指定が誤っています。

正しく指定してください。

149

MQD_ERR_
GETCOND

受信中止条件の指定が誤っています。

正しく指定してください。

150

MQD_ERR_
PEEKCOND

参照中止条件の指定が誤っています。

正しく指定してください。

151

MQD_ERR_
IDMAX

運用イベントIDの有効数の指定が誤っています。

正しく指定してください。

152

MQD_ERR_
EXTENDLENGTH

運用イベント拡張情報を格納する領域長の指定が誤っています。

正しく指定してください。

注) C言語の場合に有効


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

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