Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue メッセージ


KFCA31650-W

mmm 転送メッセージをデッドレターキューに登録できません。

チャネル名=aa....aa:bbb メッセージ長=cc....cc 理由コード=dd 詳細コード=ee....ee,ff....ff,gg....gg,hh....hh

mmm:MQT識別子

aa....aa:チャネル名

bbb:チャネルタイプ

snd:センダ

csn:クラスタセンダ

srv:サーバ

cc....cc:異常を検出したメッセージのメッセージ長(単位:バイト)

dd:理由コード

ee....ee:異常を検出したメッセージの情報1(16進数の4バイト)

次に示す場合に有効な情報を出力します。それ以外の場合は00000000を出力します。

  • 理由コードが01で,メッセージ長が4バイト以上の場合

  • 理由コードが02で,メッセージ長が432バイト以上の場合

  • 理由コードが03で,メッセージ長が468バイト以上の場合

  • 理由コードが04で,メッセージ長が464バイト以上の場合

  • 理由コードが05で,転送メッセージが配布リストではない状態で,メッセージ長が432バイト以上の場合

  • 理由コードが05で,転送メッセージが配布リストであり,メッセージ長が432バイト+MQDH構造体のStrucLengthの値以上の場合

ff....ff:異常を検出したメッセージの情報2(16進数の4バイト)

次に示す場合に有効な情報を出力します。それ以外の場合は00000000を出力します。

  • 理由コードが01で,メッセージ長が8バイト以上の場合

  • 理由コードが02で,メッセージ長が436バイト以上の場合

gg....gg:保守情報(16進数の4バイト)

hh....hh:異常を検出したメッセージの情報3(16進数の4バイト)

理由コードが02で,メッセージ長が468バイト以上の場合に有効な情報を出力します。それ以外の場合は00000000を出力します。

(S)送信側チャネルが転送メッセージから異常を検出後,デッドレターキューに登録できなかった場合に,異常の詳細情報を出力し処理を続行します。ファーストメッセージの場合だけ出力されます。

〔対策〕出力された理由コードに従って処置してください。

理由コード

意味

対策

00

メッセージ長が不正です。

KFCA31652-Wで表示される登録アプリケーションおよびチャネルの最大メッセージ長を見直してください。

01

MQXQH構造体(転送キューヘッダ)の形式が不正です。

異常を検出したメッセージの情報1が58514820(XQH )になっているか確認してください。58514820(XQH )になっていない場合はリモートキューのローカル定義名で指定したキューに対してメッセージを登録するようにアプリケーションを変更するか,MQXQH構造体のStrucIdフィールドを正しく設定したメッセージを転送キューに登録するようにアプリケーションを変更してください。

異常を検出したメッセージの情報2が00000001(Windowsの場合は01000000)になっているかを確認してください。

00000001(Windowsの場合は01000000)になっていない場合はリモートキューのローカル定義名で指定したキューに対してメッセージを登録するようにアプリケーションを変更するか,MQXQH構造体のVersionフィールドを正しく設定したメッセージを転送キューに登録するようにアプリケーションを変更してください。

02

MQDH構造体(配布ヘッダ)の形式が不正です。

異常を検出したメッセージの情報1が44822020(DH )になっているか確認してください。44822020(DH )になっていない場合はMQDH構造体のStrucIdフィールドを正しく設定したメッセージを転送キューに登録するようにアプリケーションを変更してください。

異常を検出したメッセージの情報2が00000001(Windowsの場合は01000000)になっているか確認してください。00000001(Windowsの場合は01000000)になっていない場合はMQDH構造体のVersionフィールドを正しく設定したメッセージを転送キューに登録するようにアプリケーションを変更してください。

異常を検出したメッセージの情報3がMQDH構造体のRecsPresent値として正しいか確認してください。正しくない場合は正しい形式のMQDH構造体を付けたメッセージを転送キューに登録するようにアプリケーションを変更してください。

03

MQOR構造体(オブジェクトレコード)の形式が不正です。

異常を検出したメッセージの情報1がMQDH構造体のRecsPresent値として正しいかを確認してください。正しくない場合は正しい形式のMQDH構造体を付けたメッセージを転送キューに登録するようにアプリケーションを変更してください。

04

MQPMR構造体(登録メッセージレコード)の形式が不正です。

異常を検出したメッセージの情報1がMQDH構造体のPutMsgRecFields値として正しいかを確認してください。正しくない場合は正しい形式のMQDH構造体を付けたメッセージを転送キューに登録するようにアプリケーションを変更してください。

05

MQMDE構造体(メッセージ記述子の拡張)の形式が不正です。

異常を検出したメッセージの情報1が4d444520(MDE )になっているか確認してください。4d444520(MDE )になっていない場合はMQMDE構造体のStrucIdフィールドを正しく設定したメッセージを転送キューに登録するようにアプリケーションを変更してください。

06

データ変換に失敗しました。

アプリケーションで指定する文字セット識別子(MQMD構造体のCodedCharSetIdフィールド)と,変換後CCSID(mqtalccha定義コマンドの-d cnvccsidオペランド)の組み合わせが正しいかどうかを確認してください。確認する際には,マニュアル「TP1/Message Queue プログラム作成リファレンス」の文字セット識別子一覧についての記載を参照してください。

07

配布リストを送信できません。

相手システムで配布リスト機能をサポートしているか確認してください。

自システムのバッファ方式(mqtalccha定義コマンドの-g buftypeオペランド)をメッセージ方式に変更してください。