BizTalk文件/消息拆分

时间:2016-10-28 17:55:31

标签: biztalk biztalk-2010 biztalk-mapper biztalk-pipelines biztalk-schemas

我有一个要求,我必须根据源文件中逗号分隔值的第一列的值拆分文件内容。
输出中要生成的文件数取决于第一列中唯一值的数量。

例如:

FILENAME.TXT
CODE001,value11,value12,value13,value14
Code002,value21,value22,value23,value24
Code003,value31,VALUE32,value33,value34
CODE001,value15,value16,value17,value14
Code003,value37,value38,value39,value31

输出必须是文件数,作为文件内容第一列中的唯一值。

Ex输出:它应该是3个单独的文件,其名称和内容如下所示

Code001.txt
CODE001,value11,value12,value13,value14
CODE001,value15,value16,value17,value14

Code002.txt
Code002,value21,value22,value23,value24

Code003.txt
Code003,value31,VALUE32,value33,value34
Code003,value37,value38,value39,value31

1 个答案:

答案 0 :(得分:0)

这实际上可以通过几种方式实现,但我正在考虑的一件事是:

  1. 使用FF反汇编程序,只需将FF模式反汇编为XML(就像您一直要做的那样。
  2. 创建一个信封文档架构,该架构适合您的输出架构。您的文档架构最终将与您想要的输出文件类似。您可能希望使用与您的唯一代码集合(Code001,Code002和Code003)匹配的文档架构。
  3. 我们的想法是创建一个业务流程,将您的反汇编FF架构映射到信封架构。使用接收/发送端口中的映射无法完成此操作。
  4. 在业务流程中,执行一个接收管道,其中包含使用信封和文档架构配置的XML反汇编程序。这会将您的消息拆分为多条消息。
  5. 将您的业务流程绑定到一个发送端口,该端口会将实例映射到您的输出架构并通过FF汇编器发送。