Search code examples
biztalkbiztalk-2013

Any idea why microsoft did not provide a"multiple" version X12 820 schema?


I need handle a huge 820 file (more than 700M). It take forever to let biztalk edireceive this file. So i am thinking to split the file to small pieces. in BizTalk, both 834 and 837 have the "mulltiple" version schema which allows incoming file be splitted in small messages (per claim in 837 for example). But there's no such a "multiple" schema present. Is there any technical reason or business reason preventing the 820 file be splitted?

( I do try to add subdocument_break etc instructions in the 820 xsd, but it ends up with the non-well-formatted xml).

Any idea/hint on how to process huge 820 files is appreciated.


Solution

  • Well, you on the right track, technically. While subdocument_break and subdocument_creation_break are documented under HIPAA, they are just a feature of the EDI Disassembler you can add to any EDI Schema.

    However, and I'm sorry to say, I don't think that would help on it's own. A 700MB 820 is large on it's own and likely contains several hundred thousand transactions. When disassembling, the number of transactions in a batch is a significant factor to deal with because BizTalk treats the entire batch as a single transaction.

    If you expect to regularly receive such a file, I would 'de-transactionalize' the batch processing by using a wrapped EDI Disassembler where you call GetNext on you own to debatch all messages. But, instead of passing them up to the Messaging Agent, submit them through a side channel, even if it's just a file location. Meaning, BizTalk would only call GetNext once, while you then do all the debatching work.

    That way, all the messages are picked up on their own.