cancel
Showing results for 
Search instead for 
Did you mean: 

Query another message payload from graph mapping program

Former Member
0 Kudos

Hi all,

I have the following scenario

Third Party Business System -> XI -> ECC 5.0

Third Party sends ORDER to ECC and ECC answers with ORDRSP

When mapping ORDRSP.ORDERS05 to Third Pty format, I need to use info that the Third Party provided us on the ORDERS.

So... I have to query the ORDERS message payload from ORDRSP message mapping program.

Any ideas?

My first idea deal with doing an RFC lookup to search the ABAP Database for this info (my ABAP background raises ) but I'd like to know if there is a more elegant and efficent way of doing this.

regards,

David R.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Your question is not very clear. You want to map the response, i.e ORDRSP to the third party format(say orders) right?

If so, you can always create a mapping between the response from ECC and map it with the format specified by the third party.

You would need a seperate receiver interface, in case the third party sender interface is not synchronous.

Regards,

Smitha.

Former Member
0 Kudos

Hi,

Let's try again to explain myself with my poor english!

Time frame

A) TPart system sends order. XI maps to ORDERS.ORDER05 idoc and is forwarded to ECC.

B) In ECC users modify Sales order and then triggers the outbound ORDRSP.ORDERS05.

C) XI has to map ORDRSP.ORDERS05 and include some info (in fact the original message) that was sent in step B).

The xmls from TPart could be (simplified version):

Orders (step A)

<?xml version="1.0" encoding="iso-8859-1">

<document>

<header>

.

.

</header>

<Items>

.

.

</Items>

<Items>

.

.

</Items>

</Header>

</Document>

The received XML on step C) could be something like this:

<?xml version="1.0" encoding="iso-8859-1">

<Document>

<PurchaseOrder_from_vendor>

<i>Here I have to include the whole xml sent in step A</i>

</PurchaseOrder_from_vendor>

<SalesOrder_from_customer>

<i>Here the ORDRSP.ORDERS05 mapping stuff</i>

</SalesOrder_from_customer>

</Document>

All the communication will be always async.

Any ideas?

regards,

David R.

Former Member
0 Kudos

Hi,

I'm not very sure of the first part, i.e,

<b><PurchaseOrder_from_vendor>

Here I have to include the whole xml sent in step A

</PurchaseOrder_from_vendor></b>

The second part,

<b><SalesOrder_from_customer>

Here the ORDRSP.ORDERS05 mapping stuff

</SalesOrder_from_customer></b>

Whenever a mapping has to take place, there must be corresponding tags in the target to which the source tags can be mapped.

So, in this target data type, create another tag (say targetItem)and make the occurence to 0..unbounded.

Now map the source <document> to target <Document>

and source <header> to target <SalesOrder_from_customer>

And, the source <Items> to the new target tag (targetItem)we created.

This will solve the second part of the problem.

Regards,

Smitha.

Former Member
0 Kudos

Hi David,

basically you want to correlate two messages order and order response with each other in an asynchronous process using payload information e.g. the order number.

To be able to do this, i think you need to use a BPM, where you define the correlation (i.e. which fields in the order and order response must have the same value to identify the response for a particular order). In that BPM you have then access to both messages the original order and the order response and can use a multi mapping with two sources and one target to combine both messages into one.

The basic steps of such a BPM would be:

1. receive message from Third Party

2. send message to ECC

3. receive order response from ECC

4. Carry out multi mapping to combine order with order response

5. send message to third party

As mapping execution in BPM needs more resources than outside BPM, i would put the mapping from third party order to ORDER IDoc outside the BPM (i.e. after the BPM) and only execute the multi mapping within the BPM.

Regards

Christine

Former Member
0 Kudos

Thanks Christine!

Now I have seen the light! (wow it sounds like religious, isn't it?).

Since I don't have any experience with BPM I'll have to get the knowledge in BPM.

For sure I'll come back to the forum to ask concrete questions.

Thanks a lot to you and all the others who tried to help,

David R.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

when u perform the mapping order info from the thrid party can be obtained.so u can directly use the mapping to get the info abt the ORDER from the third party system.

third party system should hav a synchronous interface so tat it waits for a reply and from ECC u can send the response with the info u obtained from mapping.

regards

jithesh

Former Member
0 Kudos

Hi David,

The best would be if you can get the data that you required from ORDERS IDoc into ORDERSP provided you are not using the standard Process to create the IDoc or you can update this data using exits.

This way you can avoid making a call to ABAP which is always a overhead to your XI system.

Regards

Vijaya