機能説明
メッセージをユニット単位に削除します。メッセージを削除するとカーソルは次のユニットの先頭メッセージに移動します。
記述形式
---------------------------------------------------------------------------------------- CALL "MQDDELETEMSG" USING メッセージキューアドレス格納域名, 復帰情報域名, 復帰値格納域名 ----------------------------------------------------------------------------------------
パラメタ
MQDCONNECTQプログラムから通知されたメッセージキューアドレスをそのまま指定します。
例外処理のための復帰情報が通知されます。エラー詳細コードには以下の値(10進数)が返されます。復帰情報の詳細については、“8.4 復帰情報の説明”を参照してください。
16 (SYNTAX), 18 (NOSYSTEM), 19 (NOCONNECT), 21 (INVALIDAPI), 22 (NOCONNECTQUE), 25 (DOWNRCV), 29 (DEADLOCK), 30 (BACKOUT), 32 (IO), 33 (NOMEMORY), 36 (PROCESSOVER), 39 (TRANFILE), 40 (MSGFILE), 51 (UNITMSGOVER), 52 (UNITSUMOVER), 66 (NOQUE), 67 (NOCURSORMSG), 68 (NOMSG), 70 (QUEEND), 73 (QUERINHIBIT), 74 (PURGEMSG)
16 (SYNTAX), 18 (NOSYSTEM), 19 (NOCONNECT), 21 (INVALIDAPI), 22 (NOCONNECTQUE), 25 (DOWNRCV), 29 (DEADLOCK), 30 (BACKOUT), 31 (OTHERTHR), 32 (IO), 33 (NOMEMORY), 36 (PROCESSOVER), 39 (TRANFILE), 40 (MSGFILE), 51 (UNITMSGOVER), 52 (UNITSUMOVER), 66 (NOQUE), 67 (NOCURSORMSG), 68 (NOMSG), 70 (QUEEND), 73 (QUERINHIBIT), 74 (PURGEMSG)
本プログラムの処理結果が通知されます。詳細は復帰値の説明を参照してください。
復帰値
本プログラムの処理結果が、復帰値格納域と特殊レジスタ“PROGRAM-STATUS”で以下のように通知されます。
正常時: 0
異常時: -1
注意事項
メッセージを削除するとき、カーソルはユニット内の先頭メッセージを指しておく必要があります。
正しく削除されなかった場合には、カーソル位置は保証されません。ただし、エラー詳細コードが“67”の場合には、カーソルは次のメッセージに位置づけられます。カーソルをメッセージキューの先頭メッセージに移動するためには、MQDSEEKMSGを使用してください。
直前のトランザクションを取り消した場合には、カーソルを先頭メッセージに位置付けてから本プログラムを実行してください。
エラー詳細コード“29”は、メッセージ格納ファイルとしてデータベースを使用している場合に、グローバルトランザクション処理中に限り通知されます。
同一メッセージキューに対して複数アプリケーションが同時にメッセージを削除しようとする場合、タイミングによってはカーソルが指していたメッセージを他のアプリケーションが消してしまうという現象が発生します。その場合には、エラー詳細コード“67”または“68”が通知されます。
エラー詳細コード“31”は、Symfoware/RDBトランザクション連携機能を使用している場合に限り通知されます。