我们正在使用BizTalk和A4SWIFT生成SWIFT FIN MT 103消息。当我们输出到具有多个选项的字段(例如57a,57b,57c,57d)时,我们应该只有一个输出(我将它称为字段标记)。然而,所有可用的选项都是输出的,不管它们是否应该如此。使用A4SWIFT生成SWIFT FIN MT103导致空的多选SWIFT字段令牌
考虑字段57,其可以具有选项57a,57b,57c和57d。
在我们的测试中,我们现在限制为57a和57d。
我们有一个来自我们的源XML文档/模式的地图,它选择使用哪些字段并相应地填充A4SWIFT模式。
(我削除图像在无关紧要的细节)
在这个例子中,我们正在寻找的BIC(“ABCDEFGHXXX”)的字符串和填充A4SWIFT端场57A如果这是真的。 对于名称地址(57d),我们检查NameAddress/Line1字段中的任意字符串,我们知道它将评估为false。
(BIC的虚构是)
这工作得很好,除了我们也得到一个空的结果为57D,即使这应该已经评估为假。
:57A:/
ABCDEFGHXXX
:57D:/
我们需要57D不在那里。如果条件Functoid返回False,则值映射Functoid似乎仍然会导致结果。
所以我们正在考虑Functoid的选择是不正确的。我们已经尝试了逻辑存在,逻辑字符串和字符串平等。
我们如何抑制未选择的字段出现在我们的输出SWIFT中?
感谢您的建议。不过,我不确定我是否理解你。 您是否建议不使用Value Mapping Functoid?因为这不会只是使用平等Functoid的结果,所以文字“真”或“假”? 为了澄清,我在屏幕截图上描绘的Functoid已经是“Equal” –
因此,不要过多考虑它。您可以直接从Equal或Not Equal连接到x_57A/D元素,这些元素将允许或禁止该元素及其所有子元素。由于我不完全确定你需要什么,我更多地给你一种技巧,你会尝试一些组合。 –
是的,我一直在想。我已经从Equal Functoid和Value Mapping Functoid的输出中映射了一个额外的链接,并且当没有匹配时足够肯定,字段标记被抑制。非常感谢。 –