Если запись существует, сопоставьте ее, если нет — сопоставьте другую — сопоставление Biztalk.

Может кто-то помочь мне с этим? У меня есть карта biztalk. В исходной схеме есть две адресные записи с адресными элементами. Адресная запись 1 всегда существует в исходной схеме, но если адресная запись 2 существует в источнике, я хотел бы сопоставить ее с пунктом назначения вместо адресной записи 1. Возможно ли это сделать?


person b777    schedule 23.08.2013    source источник


Ответы (1)


Вот шаги, которые я бы предпринял для достижения этой цели - это должно быть описание решения на высоком уровне, поскольку вы не включили какое-либо определение схемы или образец Xml.

Для этого можно использовать XSLT или The Mapping Designer. Я описываю последнее;

1) Используйте функтоид Logical Existence, чтобы проверить, существует ли узел Address 2. Он возвращает True, если в вашей исходной схеме присутствует адрес 2.

2) Соедините функтоид Logical Existence с функтоидом Value Mapping (в качестве первого входа) и перетащите значение адреса 2 на то же самое (в качестве второго входа).

3) Подключите функтоид Value Mapping к узлу Address Destination.

4) Затем вам нужно обслуживать несуществующие адреса 2. Итак, добавьте функтоид Logical Not на поверхность картографа.

5) Подключить Logical Not к себе Logical Existence. Это читает "Не существует".

6) Подключите свой Logical Not к другому функтоиду Value Mapping в качестве первого входа.

7) Подключите значение адреса 1 к функтоиду Value Mapping в качестве второго входа.

8) Подключите второй Value Mapping к адресу назначения.

Таким образом, у вас должно быть два соединения с целевым узлом, но только один путь должен быть верным, что приводит к одному отображению.

Надеюсь, это даст вам руководство о том, как подойти к этому. Кричите, если вам нужна дополнительная помощь!

РЕДАКТИРОВАТЬ: вот иллюстрация, чтобы помочь!

введите здесь описание изображения

TJ

person TJ Amas    schedule 23.08.2013
comment
Привет, b777, если это ответ на твой вопрос, пожалуйста, отметь ответ, чтобы мы знали, что он правильный, и типибой получает признание в очках репутации. - person Nick Heppleston; 24.08.2013