2048 (0800) (RC2048): MQRC_PERSISTENT_NOT_ALLOWED
説明
MQPUT 呼び出しまたは MQPUT1 呼び出しで、MQMD 内の Persistence フィールドに指定された値 (または DefPersistence キュー属性から取得された値) が MQPER_PERSISTENT を指定していますが、メッセージが置かれているキューが持続メッセージをサポートしていません。 持続メッセージは、一時動的キューに入れることができません。
この理由コードは、レポート・メッセージのメッセージ記述子のFeedbackフィールドにも発生することがあります。この場合、メッセージ・チャネル・エージェントがリモート・キューにメッセージを書き込もうとしたときにエラーを検出したことを示します。
完了コード
MQCC_FAILED
プログラマー応答
メッセージを一時動的キューに入れる必要がある場合は、MQPER_NOT_PERSISTENT を指定してください。 持続性が必要な場合には、一時動的キューではなく永続動的キューまたは事前定義キューを使用してください。
サーバー・アプリケーションでは、元の要求メッセージ (メッセージ・タイプ MQMT_REQUEST) と同じ持続性を指定して応答メッセージ (メッセージ・タイプ MQMT_REPLY) を送信してください。 要求メッセージが持続メッセージである場合、メッセージ記述子 MQMD 内の ReplyToQ フィールドで指定されている応答キューを一時動的キューにすることはできません。 この場合には、永続動的キューまたは事前定義キューを応答キューとして使用する必要があります。
z/OS®では、キューが使用する CFSTRUCT が RECOVER (NO) で定義されている場合、永続メッセージを共用キューに書き込むことはできません。 非持続メッセージだけをこのキューに入れるか、または CFSTRUCT 定義を RECOVER(YES) に変更してください。 持続メッセージを、RECOVER(NO) が指定された CFSTRUCT を使用するキューに入れようとすると、失敗して MQRC_PERSISTENT_NOT_ALLOWED が出されます。