cancel
Showing results for 
Search instead for 
Did you mean: 

xCBL usage in SAP XI

Former Member
0 Kudos
124

Hello SDN,

I am trying to use an orders xsd compliant to xCBL Structures, (http://www.xcbl.org) in xi.

But its a Huge structure and has many other/Multiple Global elements like accountdetail, agency,contact etc.

How do i use it in a single instance, if i import it directly, i need to make many datatypes for a single interface,

Any workaround or have anyone used xCBL in XI.

I have seen a thread on it where they asked to remove the wsdl tags but i could not get it correctly,

Any help??

The thread that had a similar issue was

I have the same problem.

Anirban.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Anirban -

Which version are you using? I was able to get the 3.5 version of the Order.xsd in fine b/c this version has a single instance or "Single file per root XSDL Schema" version - meaning no include/import statements.

It's ok for it to have other elements. In a message mapping, I just selected the Order element.

For 4.0, such a version does not seem to exist.

Regards,

Jin

Former Member
0 Kudos

Hi,

The existimg landscape uses BC and the Xcbl version is 3.0

Jin, can you get me the steps that you used to import and use it in message mapping.

Thanks,

Anirban.

Former Member
0 Kudos

Hi Anirban -

I just downloaded the xCBL 3.0 schema (the "Single file per root XSDL Schema version") version to make sure...

Let's say for the Order document ('Order.xsd'):

- I simply imported 'Order.xsd' as an External Definition using "From All Available Global Elements" option and saved.

- You're right, there are a ton of elements, but that's ok.

- Created a new message mapping and dragged over the external definition just created.

- In the subsequent popup, I selected 'Order' element since that's the parent element. The structure in the mapping looked good.

Regards,

Jin

Former Member
0 Kudos

Hi Jin,

So this Order element can be used for standard mapping and as a single xsd?? Anothering in the popup if you observe the xsd are just sorted, so you picked up the parent and mapped it, right??

Anirban.

Former Member
0 Kudos

Hi Anirban -

It definitely appears that you can leverage this xsd as a valid external definition for your mapping. I haven't actually used this in a real scenario (I used xCBL 3.5 way back in SRM 2.0/3.0 when SAP delivered the XSLT mappings it), I was just testing the feasibility of it based on the question and information in this thread.

In the popup, the elements appear sorted, which is good when so many elements exist - makes it easier to find the parent or root element which you can generally figure out by looking at the xsd.

I think you're fortunate that xCBL provides a single xsd that includes all the elements instead of many separate xsds that you would have to link using external references.

Best regards,

Jin

Former Member
0 Kudos

Anirban

Just adding a point to Jin's note below - we are currently mapping SAP standard PO XML ( SRM 4.0 ) to XCBL 3.5 - In IR, I could easily add Order.xsd as an external reference and pick it up during message mapping - among the other XSDs. We are already testing the mapping - by sending it to vendors - no problems so far.

PS : One thing you might want to look out for - since the XCBL35 Order structure is huge , if you do a message mapping, ensure that your desktop has a good amount of RAM - atleast 1.5 G with a good paging size. Everytime you save the message mappings that involves this XCBL structure, the javaw work process hogs the CPU.....this and takes time to save - this certainly slows down the mapping development process...

Former Member
0 Kudos

Thanks Jin and Karthik, i am working on it and get back to you all if i get struck.

Thanks again,

Anirban.

Former Member
0 Kudos

Hi,

Anyone else who has worked on xCBL can please share their input and how they used it in xi.

Regards,

Anirban.

Former Member
0 Kudos

Anirbhan

Another point that I came across : The Order.xsd by definition includes a target namespace to be prefixed to each of the target elements created in XCBL35. Some of your vendor systems may not accept/know how to handle this prefix. In that case, you have two options : 1. To change Order.xsd defn ( customize it incase none of your vendor systems cannot accept the prefix ) 2. Write an XSLT and get it to execute- that removes this prefix after the main mapping program is executed.

The target namespace issue is quite prevalent and well-known in the XCBL document exchange world.