cancel
Showing results for 
Search instead for 
Did you mean: 

Choice Between IDOC and ABAP Proxy

Former Member
0 Kudos

Hello All,

We are building a Bi Directional Interface for Business partners between a third Party ERP, XI and SAP CRM.

We are looking for some advise on the best way to go forward between the two options below:

a) Do an ABAP Proxy Call on Fn Module CRMXIF_PARTNER_SAVE from XI

b) Create and IDOC in CRM

( Message Type CRMXIF_PARTNER_SAVE_M )

Not being an XI consultant, my understanding is as follows

Option A : Gives me the flexibility to format my response in the manner we like. But this is a synchronous call. Also this is a generated RFC. So changes in the XIF layer of CRM could be an issue.

Option B : Response can be achieved only through the ALE Audit Functionality, which has a predefined message structure. For Eg: If I wanted to send the response in the same format as the incoming message with an added segment for the error, this is not possible. Ofcourse, I get all the functionalities of monitoring and Handling IDOCs in this option.

Any thoughts on the advantages and disadvantages of each option would be greatly appreciated.

Thanks

Anoop

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi Annop,

Just atke a look at this blog. It addresses the same inssue in a broader sense,

/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems

Regards,

Bhavesh

Former Member
0 Kudos

Thanks Bhavesh.

Went through the BLOG, found it useful.

The BLOG recommends using an IDOC for asynchronous communication. But my question is what happens if I have to send a response back ( could be sync or async )to the Sender system once the IDOC message has been processed.

For e.g : I might have to send the Customer Number in CRM to the Original Source system, or I might have to send the CRM error message along with the Original Inbound Message? I can do a lot of custom code and achieve this functionality ( Read the Original IDOC, Add the error segment, swap the reciever and sender and then send it back to XI). Instead If I used the PROXY, though it was a synchronous call, I could have sent the message back to the Sender system with little development effort ( though I am not too sure on the Performance ).

Any thoughts would be appreciated.

Thanks

Anoop

Former Member
0 Kudos

Anoop,

I probably should have mentioned in the BLOG, that IDOC is good if its a standard IDOC, so that you don't have under go the pain doing the modifications for the custom one.

In your case, PROXY might make more sense as you are saying that you have to do some custom processing as well. So, you can call the BAPI / Function for the standard processing and then do the custom processing in your Proxy code. And more over, if you have want to have a Synch interface, then you cannot use IDOC.

So, the options in this case boil down to PROXY / RFC.

PROXY will definitely have the advantage as its going to bypass the adapter engine and directly interact with the Integration server. And moreover, even if you already have a RFC, you can always call that inside your PROXY. However, the only flip side here compared to IDOC, is that you will have to create all your IR objects manually.

Hope this helps you in making your decision.

regards,

Ravi

Note : Please mark the helpful answers.

Former Member
0 Kudos

Thanks Ravi.

I have one more question. Is there any mechanism where by closed loop communication between XI and IDOC can be acheived out of the box?

For eg : XI sends an IDOC to SAP. IDOC is processed at a later stage. Now a response is sent out to XI ( I think only ALE audit is out of the box for acknowledgements. ) Now XI reads the original message which was sent to SAP and the ALE audit message and then builds a response message to the Original Sender.

Former Member
0 Kudos

Anoop,

There is no straight forward way of doing it. However from a business process perspective, there is something called as acknowledgements.

Let take the case of a ORDERS IDOC, that you are sending to your business partner. Now, in this case if you get a technical acknowledgement (ALEAUDIT) that the IDOC has been delivered. Now, ideally the business partner should have configure an IDOC ORDRSP (Order Acknowledgement) to let you know that he has recieved the order and everything is fine with the data. This is at a functional level.

Apart from this I am not aware of any other options. XI cannot read the IDOC from the target system as you are expecting, unless the target system initiates the same.

Regards,

Ravi

Note : please mark the helpful answers.

Former Member
0 Kudos

Dear Anoop,

I had a similar query as the option was thrown open to me for writing an abap proxy or a 'z' idoc.There was other factoes like volume of data that would flow,

please see my thread,

May be you get some additional points for your solutions,

Regards and best of luck!!

Anirban.

Answers (0)