【问题标题】:BizTalk Flat File, multi-line record debatchingBizTalk Flat File,多行记录分批
【发布时间】:2012-02-07 23:20:22
【问题描述】:

我试图在其他问题中找到答案,但没有一个“标准”答案有效,所以我希望有人可以指出我已经回答了这个问题,或者可以告诉我如何这样做。

我有一个包含多个文档的大文件。对于示例,假设是这样的

DOCUMENT_IDENTIFIER    123400000000000000000123457   OTHER STUFF HERE
LINE WITH STUFF HERE
LINE WITH STUFF HERE
DOCUMENT_IDENTIFIER    123500000000000000000127456   OTHER STUFF HERE
LINE WITH STUFF HERE
LINE WITH STUFF HERE

现在,我需要保留 DOCUMENT_IDENTIFIER 行中的所有内容,从第一个 0 到 123(或第二个文档中的 127)该标题行以及所有 LINE WITH STUFF HERE 行在它下面应该组成一个 Document,一个新文档应该从第二个 DOCUMENT_IDENTIFIER 行开始。

当我尝试使用标准的 Debatching 技术时,管道会失败:要么完全失败(例如,当我尝试为管道定义标题和正文模式时),要么它永远不会启动第二个文档(如果我只尝试一个正文模式)。

我确定这是相当简单的事情,但我完全不知道如何完成它。欢迎任何建议/方向。

如果重要的话,我目前被困在 BT2006 R2 上。

【问题讨论】:

    标签: biztalk flat-file biztalk2006r2


    【解决方案1】:

    你的身体模式是什么样的?我会开始做对,并确保您有一些东西可以创建带有所有“DOCUMENT_IDENTIFIER 1234”记录的单独记录的 xml。

    我将使用“DOCUMENT_IDENTIFIER”1234 位作为标签标识符,然后将标签偏移设置为 4,以避免前 4 个字符。

    你应该有一个

    RecordForDocumentIdentifiers(架构的根)组 Maxoccurs=* RecordForDocumentIdentifier(在此处设置标签标识符) 要解析的列的字段

      RecordForOtherLines   Group Maxoccurs=*
               RecordForOtherLine   Maxoccurs=* or whatever your rules are.   
                       Fields for the columns of other lines
    

    当这似乎可以解析您的示例并生成所需的 XML 时,我将开始从中创建我的标题和正文模式。我知道这是两个步骤,但它需要一些猜测。

    我猜应该从 RecordDocumentIdentifier 中选择 Header 架构,而正文将是 RecordForOtherLines(外部记录)。

    我希望这会有所帮助。如果没有,请发布您的实际文件和架构,让我们来看看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 2022-01-20
      • 2019-06-18
      • 1970-01-01
      • 2021-05-21
      • 2012-11-29
      • 1970-01-01
      相关资源
      最近更新 更多