2190 (088E) (RC2190): MQRC_CONVERTED_STRING_TOO_BIG

説明

GetMsgOpts パラメーターに MQGMO_CONVERT オプションが指定されている MQGET 呼び出しにおいて、メッセージ内の固定長フィールドのストリングがデータ変換時に拡張し、フィールド・サイズを超えました。 この場合、キュー・マネージャーは、末尾のブランク空白文字および最初のヌル文字に続く文字を廃棄して、ストリングをフィールド長に合わせます。 しかし、この場合は廃棄するだけの文字がありませんでした。

この理由コードは、フォーマット名が MQFMT_IMS_VAR_STRING のメッセージの場合も発生することがあります。 この場合は、IMS 可変ストリングが拡張し、その長さが IMS 可変ストリングの構造体内に含まれる 2 バイトのバイナリー長フィールドの容量を超えてしまいました (キュー・マネージャーは、IMS 変数ストリングの末尾ブランクは決して破棄しない。)

MQGET 呼び出しのCompCodeパラメーターが MQCC_WARNING に設定されていると、メッセージは変換されずに戻されます。 メッセージはいくつかの部分から構成されており、各部分が独自の文字セットとエンコード・フィールドで記述されている場合 (例えば、フォーマット名が MQFMT_DEAD_LETTER_HEADER のメッセージ)、変換される部分と変換されない部分が発生するという可能性があります。 ただし、このようなメッセージの戻り値は、関連のメッセージ・データを常に正確に表しています。

この理由コードは、末尾ブランク文字を廃棄することでストリングをフィールドに合わせられる場合は発生しません。

完了コード

MQCC_WARNING

プログラマー応答

メッセージ内のフィールドに正しい値が含まれていること、およびメッセージの送信側と受信側が指定した文字セット ID が正しいことを確認します。 これらがすべて正しい場合は、メッセージのデータ・レイアウトを変更して、変換時にストリングが拡張しても十分なスペースがあるようにフィールド長を増やす必要があります。