根据值将 Biztalk 平面文件消息拆分为单独的分组平面文件
Debatching Biztalk flat file message into individual grouped flat files based on value
遇到一个问题,我试图根据原始文件中的值(在本例中为 PONumber)将 BizTalk Server 中的平面文件(逗号分隔到制表符分隔)拆分为单独的平面文件。
示例输入:
PartNumber,Weight,PONumber,Other
21519,234,46788,1
81919,456,47115,1
91910,789,47115,1
这将产生 2 条消息,例如:
PartNumber Weight PONumber Other
21519 234 46788 1
和
PartNumber Weight PONumber Other
81919 456 47115 1
91910 789 47115 1
我也看到过类似的东西但是没有确定的答案,或者样本是死链接。有没有人有他们做过这样的事情的样本或有好的解决方案?
选项 1:车队模式
更改您的架构,使采购订单行的最大出现次数为 1,这将在接收到每一行时将其分批放入它自己的消息中。
升级 PONumber,使其成为消息上下文中的升级 属性。
具有基于 PO 编号的关联集的编排,并在第一个接收形状上对其进行初始化。
具有以下相关性的接收形状在循环内处于等待形状,以接收具有相同 PO 编号的所有其他行并将它们组合成一条消息。
选项 2:登台数据库
另一种选择是将所有行插入到 SQL 数据库中,然后使用一个存储过程轮询获取单个 PO 的所有行。
这有时会更简单,并且可以避免 Zombies 的问题,因为您可以将其实现为仅消息传递模式或使用更简单的无循环编排。
遇到一个问题,我试图根据原始文件中的值(在本例中为 PONumber)将 BizTalk Server 中的平面文件(逗号分隔到制表符分隔)拆分为单独的平面文件。
示例输入:
PartNumber,Weight,PONumber,Other
21519,234,46788,1
81919,456,47115,1
91910,789,47115,1
这将产生 2 条消息,例如:
PartNumber Weight PONumber Other
21519 234 46788 1
和
PartNumber Weight PONumber Other
81919 456 47115 1
91910 789 47115 1
我也看到过类似的东西但是没有确定的答案,或者样本是死链接。有没有人有他们做过这样的事情的样本或有好的解决方案?
选项 1:车队模式
更改您的架构,使采购订单行的最大出现次数为 1,这将在接收到每一行时将其分批放入它自己的消息中。
升级 PONumber,使其成为消息上下文中的升级 属性。
具有基于 PO 编号的关联集的编排,并在第一个接收形状上对其进行初始化。
具有以下相关性的接收形状在循环内处于等待形状,以接收具有相同 PO 编号的所有其他行并将它们组合成一条消息。
选项 2:登台数据库
另一种选择是将所有行插入到 SQL 数据库中,然后使用一个存储过程轮询获取单个 PO 的所有行。
这有时会更简单,并且可以避免 Zombies 的问题,因为您可以将其实现为仅消息传递模式或使用更简单的无循环编排。