cancel
Showing results for 
Search instead for 
Did you mean: 

Compare QRFC, sproxy and IDOC

cain_sun
Advisor
Advisor
0 Kudos
1,053

hi Experts,

I am working in TM system and sometimes need to choose which way should be used in system communication.

qRFC

Generally, QRFC is used because it looks much easier than iDOC and sproxy. You can set a queue name to make the communication is executed in sequence, this can prevent data update from lock issue.

But we do not have error handling log and importing data log in qRFC.

And if there is any error occurs, the queue will be blocked and all the rest execution is stopped.

iDOC

I do not use a lot of this. I know the framework of it by learning a step by step configuration and writing some codes.

my understanding of it is to generate some data structure called segment and call a RFC in the target system to transfer the data.

iDOC has the monitor tools and user can check the data transferred and re-trigger the call again.

But it seems do not have functionality like queue execution. It seems not used a lot in the new version of SAP systems. and it only supports communication between SAP systems.

SPROXY

I have no idea of this technical. what I know is the tcode SPROXY with definition of outbound/inbound proxy classes to send/receive data.

Can any one send a link to learn it? like a WIKI or homepage?

this way is a suggested way for communication between systems.

it seems also not support queue execution(I am not sure).

But it supports the monitoring of data and re-trigger.

So can anyone give some comments on these 3 ways of data exchange ways? and give me some link to learn sproxy, better with a step by step to create a simple class to transfer data. thanks.

Regards,

Cain

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Cain,

RFC and IDOC have been the traditional way to communicate an ABAP SAP system externally, the two protocols property of SAP. Some time ago the ABAP system can communicate externally with SOAP protocol (via SOAMANAGER transaction) you can take a WSDL and ABAP generate the classes for the communication automatically or you can expose an RFC as SOAP enterprise service.

With sproxy you will work with a SAP PI system. First of all you have to configure the communication infrastructure, this configuration can change if your PI system is a Dual or a Single Stack, more concretely if you will go to communicate with the java PI adapter or the ABAP PI adapter. Example to configure the connection:

ABAP: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0ac1a33-debf-2c10-45bf-fb19f6e15...

JAVA (AEX adapter); Michal Krawczyk's blog Michal's PI tips: How do you activate ABAP Prox... | SCN

When you activate the ABAP proxy technology, you should test the sm59 connections.

Later you can develop your first ABAP proxy, client or server. The client will be easier but you need to have developed a PI scenario. You can find lot of links:

Configuring a Consumer Proxy - Developer's Guide - SAP Library

SAPTechnical.COM - ABAP Proxy Communication Scenario (Client Proxy)

ABAP Client Proxy to ABAP Server Proxy Scenario - Process Integration - SCN Wiki

Hope this helps.

Regards.

cain_sun
Advisor
Advisor
0 Kudos

Thanks Vila,

Can I say that XI addin of business system is a must for proxy? With this XI component in both source and target system, data can be transferred without a PI server.

iaki_vila
Active Contributor
0 Kudos

Hi Cain,


Can I say that XI addin of business system is a must for proxy? With this XI component in both source and target system, data can be transferred without a PI server.

I think you are talking about the ABAP  web services environment. You can consume SOAP endpoints directly and easily from ABAP without any addon and without PI. Check this link: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b043ef4e-e8d1-2c10-7d88-8077b209c...

The PI is useful to have centralized all your connections, however if your ECC has only a few interfaces you can save the PI investment to your client, calling the web services directly from ABAP.

Regards.

cain_sun
Advisor
Advisor
0 Kudos

Thanks Iñaki,

I do not think I am talking about web service. In my scenario, I just want to create a outbound proxy in source system and an inbound sprxy in target system to tranfer daa, like some SAP solution in TM9.

But I am not very sureof the technial of sproxy. Is it use a Connection in SM59 to another system like what IDOC or RFC do. Or sproxy ifself is a web service. For me, I do not have a lot of knowledge of Web Service.

My purpose of this post is to identify which is the best solution of RFC, sproxy and idoc in system integration scenario, like TM need to send its Freight Order information to EWM system.

Also, XI may not be a must, because it is the mapping center but not platform of communication between system. proxy can work without a XI server. Am I right?

Regards,

Cain Sun

iaki_vila
Active Contributor
0 Kudos

Hi Cain,


proxy can work without a XI server. Am I right?

You have two ways to do a proxy from ABAP, from sproxy if you are connected to a XI/PI server or via se80->Enterprise Services->Create and later to configure the endpoint via somanager transaction,

Don't be afraid to enter in the WS world, nobody has experience at beginning, me neither and there a lot of step by step and howt-o shared in SCN.

To take any or another alternative to communicate you can ask yourself the next questions:

1. Are they any standard RFC or IDOC available? are a Z RFC available?, sometimes to do the wheel again is not a good choice.

2. All the communication goes with PI?, could be a problem to connect two SAP systems directly when i have a PI?, the problems can be a possible risk of security, to have interfaces without implies the possibility to forget them in a system stop or upgrade and so on.

3. How many time will i need to do a WS proxy? and what can i get if i do one? (you can monitor the communication and in SOAMANAGER transaction you will all your communications defined).

4. Can be necessary in the future that other systems connect with this development?, think that to a third party application to connect with a WS will be easier than to IDOC or RFC.

Hope this helps you in spite about my written english.

Regards.

Answers (0)