cancel
Showing results for 
Search instead for 
Did you mean: 

XML Message Length limits

0 Kudos

Dear all

a new XI Customer want to use XI to transfer batch input file from a legacy system (As400) to R/3.

No problems, if you define the R/3 system as a third party system in the SLD (XI read the file from AS400 using a FTP inbound adapter and sends the file to R/3 with a FTP outbound adapter), whilst, I can decide,regarding the message format, either to transfer the entire File as a unique XML document with thousands of rows or to transfer the File as thousands of XML documents with single row(one per input file row).

Personally, I think the first choice has a lot advantages than the latter,especially in terms of monitoring. Moreover using the R/3 std batch input with program RFBIBL00 (to load accounting documents), this appear to be the only solution possible.

Since the customer will transfer thousands of accounting documents, (each of these with 4 or more rows), so it's XML message length without any limits and what about the system performance ?

Any suggestions will be appreciated.

Thanks lot in advance

Gianluigi Brenna

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Regarding performance issues the big file is much better.

Still it should be not bigger than ~200-300 MB because with the current implementation all processing done in the memory of application server.

If you don't use "java side" (message mapping for instance) then one can handle bigger files but I can't tell you any additional information.

Having any of jdbc or file adapters in your process chain or any of mappings (java, xslt, message mappings) leads to the processing in J2EE engine memory. Usually it is not greater than 2-4Gb. Having a file of 100Mb size you need 200Mb of memory just to load it. If one parses the file then the memory cosumption can be ~400Mb-800Mb or even more if XSLT is used or any other transformation mechanizm (message mapping uses SAX parser still as the processing done completelly in memory it consumes 1 input buffer, 1 output buffer and some memory for processing buffer).

You can count yourself that depending on your scenario file size limit is defenetelly not higher then 500-600 Mb.