メッセージ・セットをバージョン 2.1 からバージョン 6.0にマイグレーションするには、mqsimigratemsgflows コマンドを使用する必要があります。 バージョン 5.0 からバージョン 6.0にマイグレーションするときには、このコマンドを使用する必要はありません。
バージョン 2.1 では、プロモートされるプロパティーがドラッグ・アンド・ドロップ・プロセスで 作成されると、プロパティー名 (xmi.label) は属性名を翻訳したものに設定されます。 オリジナルの属性名にはスペースが入っていてはなりません。 スペースがあると、ブローカーによって拒否されます。 しかし、プロモート属性はブローカーには送信されないので、 バージョン 2.1 ではプロモート属性にはスペースを入れることができます。
フローのマイグレーション時、オリジナル名は失われ、翻訳のみが保持されます。 プロモート属性は複数の属性をオーバーライドできるので、オリジナル名が翻訳名に対応している必要があります。
解決策は、スペースまたは他の問題になる文字を、 Unicode 表記で置換することによって適切な属性名を生成することです。 propertyDescriptor の propertyName 属性は、key=Property.<翻訳された属性名> に設定されます。 UI は <翻訳された属性名> を戻します。
しかし、マイグレーションされるフローは、属性システム名を保管せず、翻訳名だけを保管しています。 したがって、オリジナルの属性を見つけるのは困難か、または不可能です。
フローおよびプロパティーには、バージョン 6.0 で無効な名前が入っていることがあります。 この状態が発生する場合、次のような変換が行われます。 問題となる各文字が、その Unicode コード・ポイントを表す一連の文字で置換されます。 たとえば、感嘆符 ("!") は X0026 で置換されます。 これは、生成されるレポート・ファイルで説明されます。
変換は決定論的に行われます。 無効な文字を持つフローを参照するフローが、別の機会にマイグレーションされる場合、 両方の名前が同じ方法で変換されます。
これらの変換では、非常にまれな状況を除けば、名前の対立が起きることはありません。 対立が起こりうるのは、Unicode コード・ポイント・シーケンスが、 対応する文字が他の点では同一の名前で発生するのと同じ位置にあるためです。 この場合、これらのフローまたはプロパティーの 1 つの名前を変更し、 フローを再エクスポートする必要があります。 Unicode コード・ポイント・シーケンス ('Xnnnn') を含まない新しい名前を選択し、マイグレーション前に コントロール・センター のメッセージ・フロー名を変更してください。 ファイル・システム中の .msgflow ファイルの名前は絶対に変更しないでください。 名前変更タスクの実行には、常に コントロール・センター または ワークベンチ を使用してください。