mqsimigratemsgflows コマンドを使用して、メッセージ・フローをバージョン 2.1 からバージョン 6.0 にマイグレーションします。バージョン 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 ファイルは名前変更しないでください。 名前変更タスクの実行には、常に コントロール・センター または ワークベンチ を使用してください。