Timeout importing xsd files from UBL 2.1 in SAP ECC6

Hello everyone,

We have currently problems importing the UBL2.1 xsd files into SAP ECC6 through transaction SPROXY.

I know recommendation by SAP is to use their EAI (XI, PI, PO) to make the mapping between sap structures and UBL structure but is there no possibility to import it directly into SAP backend system?

The problem is the processing time is very long and leads to timeout. Even when extending timeout, files are then loaded (after 1 hour) but the proxy transaction in SAP takes 20 minutes for each action.

There are inconsistencies due to tag redundencies that we need to solve but the time is much too long.

Is there no possibility of importing partial xsd information or any other solution?

Best regards,


The UBL schemas are necessarily large in order to be comprehensive, but it seems that the tool you are using is insufficient in capacity.  The committee deliverables must be such that every community is served with the complete model, because the committee doesn't know which pieces to remove to make the model smaller.

In my UBL training I tell my students that communities should accept everything that is possible in UBL, but produce only the subset of what they need in UBL.

The answer is to create a subset schemas of the full schemas and use the subset schemas in the tools that are creating UBL documents.

The tools that I use on the committee to create schemas are publicly available to copy and use, and these tools support creating subset schemas. See http://goo.gl/DgMAqy for the links to the tools and an overview diagram.

You ask about "importing partial XSD information", but that is up to your vendor's tool.  At least these tools I have created can help you create the partial (subset) XSD expression and then perhaps your tool will work more easily for you.

I hope this is helpful.  Thank you for posting your question to ubl.xml.org!

. . . . . . . Ken

>  (a deleted reply asking about more detail on process)

I think you will find the diagram at http://goo.gl/DgMAqy will help a lot.  Though the diagram shows the evolution of one schema to a revision, the work of a subset involves only the right-hand path.

The steps in that right-hand path are:

  1. copy the UBL 2.1 spreadsheet to make your subset worksheet
  2. either fill in the subset column with zeroes where you want to remove an item, or with a cardinality where you want to preserve an item (whichever is the least amount of work; subsequent steps can be invoked for one choice or the other)
  3. export the spreadsheet as an .ods file to your system
  4. run the Crane-ods2obdgc package to create a genericode XML version of the spreadsheet
  5. create a configuration file that fully describes the properties of the schemas you are creating (directories, file naming conventions, embedded comments, etc.)
  6. run the Crane-gc2obdndr package to create the XSD files
  7. run the Crane-gc2obdsummary to create HTML documentation of the subset

Each package has a readme.txt file with all of the (many!) invocation parameters.

The software is free to use.  It is the same software that I use to create the published schemas. Hopefully each tool is documented well enough with examples you don't need me.

However, from my company I offer a commercial service to create schemas for subsets for my customers:  they modify the Google spreadsheet with their subset specification, they ask me to "press the button", and I turn around and produce a ZIP of all of the schemas and documentation.  I charge about three hours to customize a new invocation environment and produce the first set of subset schemas, and I charge one hour to press the button and ship each subsequent set of results.  I charge a full hour because I am interrupting my other work when I get a request to press the button and it has happened that clients have abused the request process in the past. Please contact me if you are interested in my rate sheet.

But, again, you don't have to use my service.  The tools are complete and can be used by anyone at any time the way they are.  I have incrementally released new versions of the tools when I have created new features to meet customer needs.

I will update that instructions page with a diagram devoted just to subsetting schemas.

I hope this helps . . . . . . Ken

Hello Ken,

I have tried to fill the spreadsheet as mentionned with the 3 additionnal columns. I only filled the first column "Subset MyProf 1" with "0" values in the common library tab as mentionned in the documentation to avoid taking those lines in the final xsd files. I only copied the two tabs "common library and invoice" and "invoice in the final ODS file. 

Converting with the tools took about 8 hours. 

As a result the final 3 folders are created "cva" "xsd" and "xsdrt" In the xsd folder i can see the maindoc folder with all the xsd files but i only need the "UBL-Invoice-2.1.xsd"

Also in the common folder i have 3 files : the heaviest "UBL-CommonAggregateComponents-2.1.xsd" is still too heavy with 2171 Ko and containing all the references i don't need.

I'm afraid this is not the expected result.

Could you tell me if it is the spreadheet file i didn' fill in correctly? (see image attached)

Thanks for your help.

Best regards,

Laurent T.extract 0 value on all non mandatory lines 0 values have been set on all not mandatory lines. (for test)

Hello Ken,

Thanks for your response.

I checked the spreadsheets and diagram information of how to build xsd subset but it is quite difficult to understand.

We only need the invoice UBL xsd subset for sending invoice documents to our partner. Is there anywhere i could find it directly?

Otherwise how to extract the invoice subset xsd from the general UBL? Do we have to create spreadsheet with only the Invoice tab and save it in ods format. Then how to use the Crane-ods2obdgc- as there is no how-to guide... 

Thanks and Best regards,


Hello Ken,

Thank you for this quick reply!

Good to know there is this solution of creating subset schemas.

I saw the link and spreadsheet files you mentionned but as it is quite touchy could you briefly explain the steps required to create the subset files?

Many thanks,


XML.org Focus Areas: BPEL | DITA | ebXML | IDtrust | OpenDocument | SAML | UBL | UDDI
OASIS sites: OASIS | Cover Pages | XML.org | AMQP | CGM Open | eGov | Emergency | IDtrust | LegalXML | Open CSA | OSLC | WS-I