何らかの方法で、非互換システム上で稼働しているアプリケーション間でメッセージを交換する場合、メッセージがブローカーを通過する際にデータ変換を行うよう、ご使用のシステムを構成することができます。 送信側と受信側のシステム上で、次の 2 つの値のいずれかが異なっている場合には、データ変換が必要かもしれません。
WebSphere Event Broker と一緒に他の製品を使用する場合、この性質は影響を受ける場合があります。 コード・ページのサポートに関するさらに詳しい情報が必要な場合は、使用するデータベースを含め、他の製品の資料を調べてください。
送信側および受信側のシステム上のネイティブの CCSID およびエンコードが同じ場合には、データ変換処理を呼び出す必要はありません。
WebSphere Event Broker および WebSphere MQ は、非類似システム間でのメッセージ交換をサポートする、データ変換機能を提供します。 どの機能を使用するかの選択は、メッセージ・フローによって処理されるメッセージの特性に左右されます。
使用するメッセージがすべてテキスト (文字データまたはストリング) WebSphere MQ メッセージである場合、このセクションをお読みください。 WebSphere MQ が、データ変換を行うために送信側と受信側の両方のアプリケーションが稼働しているシステムをサポートしている場合には、WebSphere MQ 機能を使用してください。 これは、最も効率的なデータ変換オプションを提供します。
WebSphere MQ のデフォルトの振る舞いでは、ローカル・システム CCSID およびエンコードを指定するキューにメッセージを置きます。 MQGET を発行するアプリケーションは、キュー・マネージャーがそのローカル CCSID およびエンコードへの変換を、get 処理の一部として提供することを要求することができます。
次のようにして、このオプションを使用します。
この方法で WebSphere MQ が提供するものよりも高度なデータ変換が必要な場合には (例えば、サポートされないコード・ページへの変換)、WebSphere MQ データ変換出口を使用してください。 これらの詳細については、「WebSphere MQ アプリケーション・プログラミング解説書」を参照してください。
メッセージに数値データが含まれる場合、またはテキストのみだが WebSphere MQ メッセージではない場合、このセクションをお読みください。 メッセージが数値データを含む WebSphere MQ メッセージである場合、WebSphere MQ データ変換出口を使用できます。 メッセージが WebSphere MQ メッセージでなくテキストのみである場合、またはテキストと数値である場合、独自の送信または受信アプリケーションによって呼び出されたプロシージャーを使用することが必要です。
例えば、次のようにして、実行するターゲット z/OS システムの値を、CCSID 37 およびエンコード 785 に設定します。
SET OutputRoot.MQMD.CodedCharSetId = 37; SET OutputRoot.MQMD.Encoding = 785;