cancel
Showing results for 
Search instead for 
Did you mean: 

Practical maximum size limit of imported XSD files

Former Member
0 Kudos

Can anybody tell me if there is a kind of upper limit on the size of XSD files that can be imported into XI and used without problems?

I have seen a comment before that states XI will 'choke' on large XSD files, and that enumerations were recommended to be left out of the file if there are a lot of them and it is possible to do so.

Also, if the same XSD file is used in many scenarios. is it loaded into memory once, or many times?

BR,

Tony.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Great,

JAVA heap size control the run time memory of a JAVA application, A loaded XSD is a JAVA object converted according to SAP XML packaged using XML parser.

As long as you are not getting an out of memory error in JAVA process load whatever size you want. In case if your application or JAVA process using large number of dynamic resources including XSD there will be a loat of minor and majot garbage collection happening so that JVM can kill the used object anytime it feel it is not being used or has to adjust the new memory for new request.

Also keep in mind J2EE or JAVA technologies use XML parser to convert XML objects into JAVA objects. Parser do have certain limitation on the maximum size it can load from an XML source, but still it has nothing do with XSD, cuz XSD define structure not the source of data.

Thanks

Former Member
0 Kudos

Hi Shaji,

Any idea how I can measure the loading effect of the XSD file on the JVM?

BR,

Tony.

Former Member
0 Kudos

Use a JAVA memory profiler in your Netweaver J2EE instance. Run the scenario where it use the XSD structure and XML file. Look for the classes from SAP's XML processing related JAR files and see how profiler is reporting about these class object usage.

I am also seeing two different ideas getting mixed here in this thread.

An ideal class load into the heap and usage of a another properatory system to handle large processing are different ideas.

XSLT mapping and XSLT engine is a framework which use JAVA heap. However the Queues used in context with an XSLT mapping in XI is a properatory approach to efficiently handle multiple operations in a mapping process efficiently, so we have to differtiate both aspects of large size file we can handle in a Java engine.

Thanks

Former Member
0 Kudos

Also forgot to tell you SAP recently has released a new tool for JAVA heap management, I never used it but seems like it is good as any other vendor's memory analyzer tool.

Thanks

Former Member
0 Kudos

Hi Shaji,

Do you have a link to mor information on that?

BR,

Tony.

krumts
Advisor
Advisor
0 Kudos

Hi Tony,

You can find a link to download the tool and some information on the our Wiki page:

https://wiki.sdn.sap.com/wiki/display/Java/JavaMemoryAnalysis

There are also several blogs linked from there which you can find useful.

Regards,

Krum

Answers (3)

Answers (3)

Former Member
0 Kudos

please refer the following link

Former Member
0 Kudos

Hi Anthony,

I have been using very big XSD, some idoc in HR with all the infotypes inside (i dont remenber the name of the idoc right now). I have big problems because the idoc was very heavy, and I solved it reducing the XSD schema, following the instructions of one SAP NOTE.

If you think this can be useful for you, let me know and I will look for that note and for this idoc.

Eduardo.

Former Member
0 Kudos

Hi Eduardo,

Yes I would be interested if you could find that OSS note for me!

Thanks for taking time to reply.

BR,

Tony.

Former Member
0 Kudos

Hi,

the SAP note is: Note 709400 - Performance problems with large IDocs in mapping tool.

The large IDOC was the next: ZBE_HRMD_A06 (it must be BE_HrMDA06 in original, but we added some fields, that's why is 'Z')

Cheers.

Eduardo.

Former Member
0 Kudos

Hi Eduardo,

This is useful; it doesn't completely answer the question concerning the quantitative effects of a large XSD file, but I appreciate your efforts!

Kind Regards,

Tony.

Former Member
0 Kudos

>>>Also, if the same XSD file is used in many scenarios. is it loaded into memory once, or many times?

Import it once and you can use it across SWCV.

Am not sure about the max size limit of xsd files. The integrations I have been involved, contained only some simple xsd files. But I guess you wont have any problems importing a big xsd file.

Regards,

Jai Shankar