我在BizTalk地图中使用脚本functoid。在某种情况下,我希望跳过目标元素(而不是空)。
我正在使用内联C#。当我返回null时,目标元素为空。有没有办法让它完全被跳过?
答案 0 :(得分:4)
使用LogicalEquals functoid确定您的输入是否符合您的情况。然后将该输出映射到LogicalNot。将LogicalEquals的输出发送到一个Mapping functoid(Mapping的第二个输入将是您的字段的值),并将LogicalNot的输出发送到另一个(相同的第二个输入)。然后将两个值映射functoid映射到目标节点。
然后,当您的值等于您的情况时,您将向目标发送FALSE(而不是Null或Empty),并且不会输出节点。任何时候,LogicalNot都会触发它的Mapping Functoid,你应该得到你想要的输出。
答案 1 :(得分:0)
以下是我解决问题的方法:(如果你有更好的方法,请发一个答案。)
将脚本functoid分成两部分。第一个确定目标元素是否应该存在并返回布尔值。第二个确定应在目标中设置的值(如果有)。使用这两个脚本functoid作为值映射functoid的输入。
更新:我发布此消息后,我没有看到Allen的类似答案。我会在这里留下我的替代方法,以防它帮助某人。