cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Sort records before processing

Former Member
0 Likes
769

Hi SDNers,

My requirement is File - XI - R/3 (IDOC). Before processing the file, it should be sorted out based on a particular field.

Eg. The input file may have this pattern. I need to sort the file based on second field.

D,5601,Jai,Caritor

D,5000,Raj,Caritor

D,7000,Albert,Caritor

Records after sorting

D,5000,Raj,Caritor

D,5601,Jai,Caritor

D,7000,Albert,Caritor

I tried the following way. Read the whole record as a node, so there are 3 nodes for the above example. With in adapter module, retrieve all records and based on the second field sort and then construct the XML with each record containing all 4 fields. I am using DOM parser for this.

Issue: My actual input file has 27 fields and the size of the file is expected around 2 to 20 MB. It is really diffucult to construct the output XML. Is there any other alternative or a better way to handle such scenario?

Share your ideas.

Thank You.

Regards,

Jai Shankar

View Entire Topic
Former Member
0 Likes

one issue i definately see here is you are using DOM..cant imagine a 20 MB xml being loaded into DOM.

I would suggest you a change in your approach using SAX...load the contents of your file into a dynamically growing datastructure like vectors...and also put the key field into another datastructure which then you could sort easily...rearrange / copy from the original data strcture to a new datastructure with your own sorting logic which may be looking up for an object with perticular field value(key value)..