2010-03-25 3 views
1

Я использую скриптовый функционал на карте BizTalk. В определенном случае я хочу, чтобы элемент назначения был пропущен (а не пуст).Сделать скриптовый functoid на карте BizTalk пропустить выходной элемент

Я использую встроенный C#. Когда я возвращаю null, элемент назначения пуст. Есть ли способ сделать это вообще пропущенным?

ответ

4

Используйте функциональный элемент LogicalEquals, чтобы определить, соответствует ли ваш вход вашему делу. Затем отобразите этот вывод в LogicalNot. Отправляйте вывод LogicalEquals в один функционал Mapping (второй вход для Mapping будет значением вашего поля) и вывод вашего LogicalNot на другой (тот же второй вход). Затем сопоставьте обе значения функции functoids с вашим узлом назначения.

Затем, когда ваше значение равно вашему делу, вы отправите FALSE в пункт назначения (вместо Null или Empty), и узел не будет выводиться. В любое другое время LogicalNot будет запускать свой Mapping Functoid, и вы должны получить желаемый результат.

+0

Таким образом, функционал преобразования значений является ключом. Благодаря! –

0

Вот как я решил это: (Пожалуйста, отправить ответ, если у вас есть лучший способ.)

расколоть сценариев functoid на две части. Первый определяет, должен ли элемент назначения вообще существовать и возвращает логическое значение. Второй определяет, какое значение должно быть установлено в пункте назначения (если есть). Используйте эти два функционала скриптинга в качестве входных данных для функции functoid.

Обновление: Я не видел подобный ответ Аллена, когда я разместил это. Я оставлю свой альтернативный подход здесь, если это поможет кому-то.

Смежные вопросы