cancel
Showing results for 
Search instead for 
Did you mean: 

SAP Idocs -How to handle response from target system

Former Member
0 Kudos

Hi,

I am working on a scenario in which I will send Idocs asynchronously from SAP thro a SOAP adapter to a webservice deployed on the target system.

After the Idoc data is posted in the target system,the target system will send the acknowledgement for the receipt(basically response message).How to handle this scenario?

SAP Idoc( outbound asynchronous)---> SAP XI3.0(soap adapter) ---> Target system(inbound synchronous)

Do I need to go for BPM to handle this situation?

Is there any alterantive to BPM.

If any of the forum members who have worked on the similar scenario could help me in finding a better solution,I will be thankful to them.

Thanks,

Leo

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

It depends what you do with the response from the target system. If you want to process the response and conditionally do something, you have to use BPM. Other wise I don't see why you need BPM.

udo_martens
Active Contributor
0 Kudos

Hi Leo,

yes, I recommend to use a business process. You have an scenario IDoc (asynch: no answer) -> XI and XI -> SOAP (synch: you need the answer). How do you want to use (integrate) that? Your process must accept the asynch message and than request the SOAP message. Next you should give back the acknowledgement to R/3.

Alternatives are not better: You need a third application, to accept the IDoc, request the SOAP, get answer and send an acknowledgement. I would be possible to do that in the abap stack of a second XI mandant configured as "application system" working with abap proxies but BPM was just made for tasks like yours. You are in the standard and finally it is easier to that with BPM.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Thanks for the info.My scenario is like this.

SAP R/3 Idoc -> SAP XI 3.0 <-> Webservice in the target system.

The webservice in the target system will receive the Idoc as a request messsage and send a response message synchronously.

Since Idoc is sent asynchronously( I believe Idocs sent from SAP are always asynchronous),there is no Proxy waiting in SAP R/3 to receive the response message from the target system.

If I go for BPM for the above scenario,will the BPM steps look like the following.

1)Receive Idoc from SAP.

2)Send Idoc sysnchronously to webservice

3)Receive the response from the webservice synchronously.

4.Post the response message to a proxy which can handle it further in SAP R/3.

Please note that my knowledge in BPM is limited and correct me if I am wrong.

Thanks in advance

S.Banukumar

Former Member
0 Kudos

Hi Udo,

Thanks for the info.My scenario is like this.

SAP R/3 Idoc -> SAP XI 3.0 <-> Webservice in the target system.

The webservice in the target system will receive the Idoc as a request messsage and send a response message synchronously.

Since Idoc is sent asynchronously( I believe Idocs sent from SAP are always asynchronous),there is no Proxy waiting in SAP R/3 to receive the response message from the target system.

If I go for BPM for the above scenario,will the BPM steps look like the following.

1)Receive Idoc from SAP.

2)Send Idoc sysnchronously to webservice

3)Receive the response from the webservice synchronously.

4.Post the response message to a proxy which can handle it further in SAP R/3.

Please note that my knowledge in BPM is limited and correct me if I am wrong.

Thanks in advance

Leo

udo_martens
Active Contributor
0 Kudos

Hi Leo,

The BPM design is nearly correct: Of course you don't send an IDoc to a webservice. You map the IDoc values to SOAP values. And, if you like, you can send a acknowledge message to R/3 directly from the business process. You don't need a proxy. May you need the information in R/3 that the IDoc values has been transported successfully?

Regards, Udo

Former Member
0 Kudos

Thanks Udo.I will map the Idoc to the Webservice WSDL in XI.The response(acknowledgement) will come from the webservice synchronously.The response message has to be captured in SAP R/3 for further processing.So I am going for a proxy to handle it.

Does it make sense?

Thanks,

Leo

udo_martens
Active Contributor
0 Kudos

Hi Leo,

"...going for a proxy to handle it."

I recommended you to use an business process. I dont't know what do mean with "proxy". Anyway you need any application (a business process for example) to receive the IDoc message and send the SOAP request.

Regards, Udo

Former Member
0 Kudos

Hi Udo,

I think I am putting it in the wrong way.My scenario is

Asynch/Synch bridge using BPM.

I understand that a business process can receive the response from the webservice and pass it on to SAP R/3.

Am I right?

Thanks,

Leo

udo_martens
Active Contributor
0 Kudos

yes