3.4.3 アプリケーションデータの変換
異なるOSと通信するときには,アプリケーションデータを相手アプリケーションが必要とする文字セットに変換してください。送信側のキューマネジャで変換したり,受信側のキューマネジャで変換したりできます。組み込みフォーマットのライブラリで不十分な場合には,独自のライブラリを作成してください。MQMD構造体のFormatフィールドで指定されたメッセージ形式に変換されます。
- 注意事項
-
-
MQFMT_NONEが指定されたメッセージは変換されません。
-
PCF(プログラマブルコマンドフォーマット)データの転送時は,コード変換(mqtalccha定義コマンド-dオプションのcnvccsidオペランドに変換後の文字セット識別子を指定)は有効になりません。
-
- 〈この項の構成〉
(1) 送信側キューマネジャでの変換
送信側メッセージチャネルエージェントでアプリケーションデータを変換する場合には,mqtalccha定義コマンド-dオプションのcnvccsidオペランドに変換後の文字セット識別子を指定します。
また,適切なUOCを作成すると送信側キューマネジャで組み込みフォーマットにデータ変換できます。
- 組み込みフォーマット
-
次に示すデータのフォーマットです。
-
文字(MQFMT_STRINGのフォーマット名を使用)から構成されるメッセージ
-
プログラマブルコマンドフォーマットのようなキューマネジャで定義するメッセージ
TP1/Message Queueではメッセージとイベントを管理するためにプログラマブルコマンドフォーマットメッセージを使用します。この場合,フォーマット名はMQFMT_ADMINです。ユーザは独自のメッセージに同じフォーマットを使用して,組み込みフォーマットを利用できます。この場合,フォーマット名はMQFMT_PCFです。
すべてのキューマネジャ組み込みフォーマットは"MQFMT"で始まる名前を持ちます。MQMD構造体のFormatフィールドについては,マニュアル「TP1/Message Queue プログラム作成リファレンス」を参照してください。
-
- アプリケーション定義フォーマット
-
ユーザ定義フォーマットの場合,メッセージ編集出口UOCでデータ変換できます。メッセージ編集出口UOCについては,マニュアル「TP1/Message Queue 使用の手引」を参照してください。
(2) 受信側キューマネジャでの変換
アプリケーションメッセージデータを,受信側キューマネジャで組み込みフォーマットに変換できます。MQGMO_CONVERTオプションがMQGET命令に指定されると変換が実行されます。MQGMO構造体については,マニュアル「TP1/Message Queue プログラム作成リファレンス」を参照してください。
- 文字セット識別子
-
TP1/Message Queueは動作環境のOSで提供される文字セット識別子をサポートします。キューマネジャを作成するときは,動作環境のOSの文字セット識別子が使用されます。
OSがサポートする文字セットについてはOSのマニュアルを参照してください。
複数のOSにわたるアプリケーションを記述するときには,アプリケーションでのデータ変換,フォーマット名,およびUOCについて検討してください。