2014-02-21 104 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信封。