我需要处理一个巨大的820文件(超过700M)。让biztalk edireceive这个文件需要永远。所以我想把文件分成小块。在BizTalk中,834和837都有“mulltiple”版本模式,允许传入文件在小消息中分割(例如,837中的每个声明)。但是没有这样的“多重”架构。是否有任何技术原因或业务原因阻止820文件被拆分?
(我确实尝试在820 xsd中添加subdocument_break等指令,但最终会得到格式不正确的xml)。
对于如何处理大量820文件的任何想法/提示表示赞赏。
答案 0 :(得分:3)
嗯,从技术上讲,你走在正确的轨道上。虽然在HIPAA下记录了subdocument_break和subdocument_creation_break,但它们只是您可以添加到任何EDI模式的EDI反汇编程序的一个功能。
然而,我很遗憾地说,我不认为这会对它有所帮助。一个700MB的820很大,它可能包含数十万笔交易。在反汇编时,批处理中的事务数是一个重要因素,因为BizTalk将整个批处理视为单个事务。
如果您希望定期收到这样的文件,我会将其转发给交易所'通过使用包装的EDI反汇编程序进行批处理,您可以在其中调用GetNext来解除所有消息。但是,它们不是将它们传递给Messaging Agent,而是通过侧面通道提交它们,即使它只是一个文件位置。意思是,BizTalk只会调用GetNext一次,然后你就完成所有的debatching工作。
这样,所有消息都会自行获取。