cancel
Showing results for 
Search instead for 
Did you mean: 

Runtime interface mapping selection based on the target message. SYNCHRNOUS

Former Member
0 Kudos

Hi,

X system sends the data to SAP PI through SOAP. SAP PI determines the target operation after performing the RFC look in ECC whether to create/change/update master data in ECC. So SAP PI has to execute different mapping program bsed on the response from RFC lookup. This can be achieved through Enhanced Receiver Determination. My question is here the X system needs the final response...i.e SYNCHRONOUS interface. How can we implement this requirement ?

Thanks in advance,

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos
So SAP PI has to execute different mapping program bsed on the response from RFC lookup.

Include the target structures in the single mapping itself...depending on the response of Lookup map it to the corresponding target node (message) so that you will have only one of the target message out of the mapping....ensure that min. occurence of the target messages is 0.

Regards,

Abhishek.

Former Member
0 Kudos

Hi Abhishek,

How can we do this conditional mapping in a single mapping program ? As you told based on RFC lookup we can map to the node(Message type) which ever is required. Can we do this with Message mapping, if so HOW ?

Do we have to use Java mapping ?

Thanks in advance,

My3

Former Member
0 Kudos

Hi Abhishek,

How can we do this conditional mapping in a single mapping program ? As you told based on RFC lookup we can map to the node(Message type) which ever is required. Can we do this with Message mapping, if so HOW ?

Do we have to use Java mapping ?

Thanks in advance,

My3

former_member200962
Active Contributor
0 Kudos

Suppose that you have to call two target structures (one at a time) based on the response of the lookup then include the two strcutures as target interfaces in the mapping program (min occurence should be 0)....then based on a condition as shown below map the target-root node so that only that structure will be present in the output:

Source --> RFCLookup --> 
                           -->       EqualS --> If (then some source node) --> Target1
                    Constant -->

Similarly for Taget2....so that your request message will have the desired target structure.

Regards,

Abhishek.

Former Member
0 Kudos

Hi Abhishek,

So we can handle synchronous interface with Enhanced interface determination without issues ?

Thanks,

MY3

Former Member
0 Kudos

Hi Abhishek,

Can we handle the response (synchronous interface) using enhanced interface determination.

Thanks,

Jogula Ramesh

Former Member
0 Kudos

Hi Abhishek,

Can we handle the response (synchronous interface) using enhanced interface determination.

Thanks,

former_member200962
Active Contributor
0 Kudos

Multi-mapping supported only for Asynchronous interfaces...refer pre-requisites section of this help section:

http://help.sap.com/saphelp_nw70/helpdata/en/42/f3b31d48fb1bc8e10000000a11466f/content.htm

Regards,

Abhishek.

former_member187339
Active Contributor
0 Kudos

Hi Mythree,

>>Can we handle the response (synchronous interface) using enhanced interface determination.

No.. But if you choose to use Enhanced Receiver Determination then your scenario might work!!! (Hoping that you are in PI7.1 or I7.0 SPS23. Check this link http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/frameset.htm)

If you have doubt in creating the Enhanced RD then check this wiki page http://wiki.sdn.sap.com/wiki/display/XI/EnhancedReceiverDeterminationinSAP+XI

Now once the Receivers are identified in Runtime, you can use a normal (sync to sync interface ) interface determination and get back the response.

Regards

Suraj

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Mythree,

If you are using PI 7.1, you can have three synchronous operations(Request : remains same across all operations, Response :create, update, change) in a single interface and do the routing in ID. ( i have not tried till now).

or if you are not using PI 7.1,

I think you can go for multimapping, having all the three message types at the target side and the RFC response being at the source side.

Regards,

Swetha.

Former Member
0 Kudos

HI Mythree,

As per u r requirement u have to make one more mapping to responce.Like this

X system(request)->PI->Soap(request)

soap(responce)->PI->Xsystem (responce)

Thanks

Ravi