Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成の手引


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について検討してください。