cancel
Showing results for 
Search instead for 
Did you mean: 

Using OASIS UBL in SAP PI

former_member182004
Contributor
0 Kudos

Hello everyone!

We are working with a customer who uses UBL 2.0 as a standard to exchange messages, so we'll have to use it in PI to communicate with them.

I was reading some threads were people asked about if it's supported by SAP PI and I found some yes and no:

I would like to know if someone already used it in SAP XI/PI and could give me some tips and information about how to create Data Types and using Communication Channels if necessary. So far, they gave me some XSD files that represent common structures (where the types are defined) and other files that import the commons to define some messages. They both are large files containing types and definitios. I couldn't import them into PI because the whole schemas are not declared.

Any information would be very useful.

Thanks!

   Juan.

Accepted Solutions (1)

Accepted Solutions (1)

aashish_sinha
Active Contributor
0 Kudos

HI Juan,

I have had the same question 6 month back when we get similar requirement to use UBL schema's in PI to integrate with ECC in Synchronous/Asynchronous ways.I will suggest you below things-

1. Import UBL schema 2.0 in PI - You will get the whole set of UBL schema o OASIS site as well as you can request client for the sccema.

2. Once you import these UBL schema in PI, look carefully for referencing schema each XSD requires. It is necessary to have correct schema reference else once you test SOAP scenarios(Inbound/outbound), you will get strange errors wile testing it.

3. Make sure in each XSD fields, no RED references, means all references are there in external references tab.

4. As you must be aware that UBL schemas are big in nature, don't try to use one to one mapping for same XSD - It will give error, a well known error of memory exception / Array index. Don't remember exact error.

5. Lets say if you are creating SOAP(UBL) -> PI -> Proxy scenario, create minimal proxy structure manually, don't use same UBL structure.

Let me know if you want any more clarification.

Regards

Aashish Sinha

former_member182004
Contributor
0 Kudos

Thanks Aashish, I'll give it a try.

Regards !

     Juan.

former_member182004
Contributor
0 Kudos

Hi Aashish,

I´ve imported the main schema like external definition in PI, but I have problems to reference the other's xsd (Commons) that there are in the external references tab.The xsd fields are in RED.

I have to import all the xsd's in the same namespace? or I have to create one for xsd?

Could you give me more details on how to do the reference, or some screenshots?

(I'm leaving some screenshots to describe a little clearer the scenario)

Thanks a lot.

  Juan

aashish_sinha
Active Contributor
0 Kudos

Hi Juan,

You have to upload all XSD's UBL in same namespace and then only references are going to be worked. All these XSD's are dependent and referencing to each other. You have to correct all basic level of referencing of each XSD's, then all RED stuff will be gone.Have a look into below screenshot where i have uploaded my UBL xsd's (may be that will help you).

Regards

Aashish Sinha

I Hope it will help you.

former_member182004
Contributor
0 Kudos

Hi Aashish, it worked.

Thanks a lot for the screenshots and explanation.

  Regards,

    Juan.

arijit_mukherjee2
Participant
0 Kudos

Hello Experts,

I have downloaded all the UBL 2.0 XSD from http://docs.oasis-open.org/ubl/os-UBL-2.0.zip and imported them in a single namespace however there is one red sign for "p1:UBLExtensions" if I open Order/Invoice schema. This is not resolving even I imported all the common XSDs. Can you please help?

0 Kudos

Hi Arijit,

I had the same problem when I worked with UBL schemas. When you find reds in the "Type" Column means that there are some references missing.

To solve this you have to look first in the Main Schema ( In your case `Order`) in the flap "External References" which are the references to the Common Schemas. In this flap there are two Columns, one with the path source to the common schema (you get this path from Main Schema tag "SchemaLocation"), and the other should have the name of the common schema to which refers, when you have reds means that some name in this column is empty.

Solution: .copy the path from the column "Source" for the external reference who has the column "Name" empty, or get it from the Main Schema (tag "SchemaLocation"), and go to the common schema, change the mode to Edit and paste the path

Then go to the Common Schema (the Source path include the name), change to mode "Edit" and paste the path in the "Source" textbox.the common schema I used in the image is representative only. You have to do this with all the source path taht have the column name empty, could be Main Schema or Common Schema too.

If you want take a look to this link.

http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/07/18/importing-xsd-s-schema-with-exter...

Best regards,

Rodrigo.

arijit_mukherjee2
Participant
0 Kudos

Hello Mr. Rodrigo Ferradas,

Thanks a lot for your help. That solved my initial problem and now the external definitions looks good without any red reference.

But while I am trying to create a message mapping(graphical),and choosing the UBL External Definition as message type ,PO gives "java heap space error". Any idea? I wonder whether the problem posted in still exist with latest PO version as well?

Any idea? Have you had a scenario working with UBL and graphical mapping?

Appreciate your help!!

P.S. You can write your comment at so that I can give you points for your help.

Thanks,

Arijit

0 Kudos

Hi Arijit,

I will search if I have documentation about this Project where I've worked with UBL Schemas because I do not remembered to have problems with the mapping. I have problems to import the schemas in PI 7.1, then in PI 7.3 I do not have any problems with that.

I'm going to search if I have something related to this error.

Regards,

Rodrigo.

robert_warde4
Active Participant
0 Kudos

Hi Rodrigo,

I work with Arijit and we have looked at increasing the heap space on the server and the client. Its really not a workable solution and we get a significant number of errors when attempting to create, update or save mappings. We have no confidence that it will work.


We are working on SAP PO 7.31 (Single Stack). I can see from your comment you managed to get it working in 7.3. Are you able to share any experiences? Did you use graphical mapping or something else?

Regards

Rob Warde

Former Member
0 Kudos

Hey Arijit/Rob,

Were you able to find a solution to the heap space error?  I am getting the same when trying to save the Message Mapping.

Thanks,

Jeff

robert_warde4
Active Participant
0 Kudos

Hi, no we didn't. We managed to persuade the vendor to use a different format. We worked on this for several weeks without a resolution.

Sorry

Answers (2)

Answers (2)

former_member201264
Active Contributor
0 Kudos

Hi Juan,

You can see this thread, here you have a lot of guide and documents for starter of PI.

https://scn.sap.com/thread/943796

Regards,

Sreeni.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

I think they provided schema definition about their side message structures and WSDL (web service definition language). Please contact the client and check whether they support Webservice. If so, get the WSDL and import it in PI as external defintion. You don't need to create data types for this. You simple use their message definition as message types.  In this case you can use SOAP receiver adapter to integrate with the client. Please search SCN for the soap receiver adapter scenarios.

If they don't support web service then you use their XSDs as message types. You don't need to create data types and ask for the communication standards(like protocols such as SOAP, FILE etc) they support.