cancel
Showing results for 
Search instead for 
Did you mean: 

Age old question - RFC call or VIA PI

Former Member
0 Kudos

Dear All,

I am going to ask an age old question here again. Mainly for the reason that so much has changed in last few years with respect to integration technologies including XI/PI and when I started to look at the solution for a specific situation I could not easily arrive at the solution. Partly to blame my search query string which most of the time resulted into so many hits for blogs and forums that I could not figure out the answer straight ahead. And here I am asking it all over again if I can get the specific answer.

So let me describe the situation: As part of this big transformation program which has adopted ESOA framework there is a requirement to extract certain piece of information from one R/3 system and send it into another R/3 system. All at latest stable versions. Now without much guesses from your end let me tell you yes there is an integration layer present and it is SAP PI 7.1.

But the business requirement is pretty straight forward, extract the data from one R/3 and post it into another R/3 system, once successfully posted get the document number in the response to source system.

There are two possibilities: I use a direct RFC call to do this stuff or I can use PI as the mediation layer.

Let me tell you business is least bothered if the call fails in any of the systems involved since there is already a strong reconciliation business process in place which can provide the necessary information into the target system and would ensure that source system is updated with document number at a later point. So there is no requirement to monitor, reprocess and even to transform any of the data. Meaning more or less no one really is not looking for all the functionalities PI can offer. In the near future there is no other system which would want such a piece of information. So the reuse of same interface from PI to other systems also far fetched.

So to speak PI is just adding another point of failure whereas RFC can be straightforward call avoiding any development and later support efforts to monitor through PI.

So is it alright in this case to go for direct RFC call and make an exception to ESOA framework on the project?

Thank you in advance for your opinions.

Cheers!

Accepted Solutions (0)

Answers (3)

Answers (3)

Shabarish_Nair
Active Contributor
0 Kudos

>

> Let me tell you business is least bothered if the call fails in any of the systems involved since there is already a strong reconciliation business process in place which can provide the necessary information into the target system and would ensure that source system is updated with document number at a later point. So there is no requirement to monitor, reprocess and even to transform any of the data. Meaning more or less no one really is not looking for all the functionalities PI can offer. In the near future there is no other system which would want such a piece of information. So the reuse of same interface from PI to other systems also far fetched.

you have captured in elaborate so the answer is easy. From the above, a logical point is to say 'you dont need PI'

But here is what you should look at to reconsider the same;

1. ESOA way is to expose the RFC as a webservice and use it. Do you see a real need for this? Just to go the ESOA way it isnt really a good notion to host your RFC as a WS and do the connectivity and routing etc

2. You can still go the PI way for a better scalable solution since in future routing it to different systems (just in case), any kind of message transformation can be easily adjusted in PI

3. It is purely an enterprise decision usually an enterprise defines that all SAP to SAP communication will not be via PI or via PI. Is there any such initiative in your org?

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi,

Your requirement very simple,connectin two sap systems is very easy,

as you mentioned direct momunication with out PI will work it out,other one is use SAP PI and conect two systems if yiu already have PI in your landscape.

While using PI use RFC Adapters based on type of your data you are retrieveing.RFC adapter give the response back,so use it.

Regards,

Raj

former_member200962
Active Contributor
0 Kudos
As part of this big transformation program which has adopted ESOA framework 
So is it alright in this case to go for direct RFC call and make an exception to ESOA framework on the project?

Now this may look as a contradiction, (E)SOA is based on the basic fact that services build are re-usable/ re-buildable.

Using standard structures (IDOC/ RFC) is still followed, but then the amount and frequency of data transfer also needs to be taken into account.

Let me tell you business is least bothered if the call fails in any of the systems

Even if this is the case, i would have liked to have proper error handling mechanism in place or should put in a good amount of validations so that the message processing does not fail in the end system(s) just for the want of proper data. If monitoring is not at all a matter of concern and data transformation is not to be done by the middleware and the middleware is present in the scenario just for namesake, then this exception of making a direct RFC call can be considered.

Regards,

Abhishek.

Former Member
0 Kudos

For error mechanism, if the RFC call fails then that can be checked in calling system and the errors can be reported accordingly if at all needed. If the connectivity issues then trasaction to check RFC call execution and failures can be checked.

So still what value SAP PI would bring as an integration layer for mediation betweeb two SAP systems?

Cheers!

former_member200962
Active Contributor
0 Kudos

I mentioned in the last reply....if not need to monitor and if no need to perform any data transformation (mapping) then use of PI can be avoided.....PI is primarily used to monitor message processing and also to perform transformation of source message format into target message format/ structure.

Regards,

Abhishek.