2014-02-21 43 views
1

我正在使用Oracle SOA套件B2B组件来处理EDIFACT文件。我需要处理+ 2Gb文件,并且不能一次处理所有文件。我需要将文件拆分成更小的文件,然后处理它们。有没有任何Java应用程序可以帮助我解决这个问题? ..如何分割EDIFACT文件?

或者,如果我尝试去发展它,如何应该是较小的EDIFACT文件的格式,以便能够preocess他们?..

感谢,

回答

1

EDIFACT交换文件是由细分市场。每个段以段定界符结束。因此,编写一个小程序将文件分成两个或更多个较小的部分将非常容易。请注意,分段分隔符可以在第一个分段中选择(UNA)。

但是,这种拆分将影响您的EDIFACT文件的整体结构。它需要便宜的交换/消息结构知识才能找到可行的分割位置。

EDIFACT交换的整体结构看起来follows

 Service String Advice  UNA Optional 
+----- Interchange Header  UNB Mandatory 
| +--- Functional Group Header UNG Conditional 
| | +-  Message Header   UNH Mandatory 
| | |  User Data Segments    As required 
| | +-  Message Trailer   UNT Mandatory 
| +--- Functional Group Trailer UNE Conditional 
+----- Interchange Trailer  UNZ Mandatory 

如果你的大文件包含许多邮件(从UNHUNT段结尾),你可以沿着消息边界划分,并添加人工UNB/UNZ信封。