cancel
Showing results for 
Search instead for 
Did you mean: 

Best method to replace RFC between to SAP ECC and SAP CRM system

former_member216611
Participant
0 Kudos

Hi Team,

Currently I am trying to update transnational data between SAP ECC and SAP CRM system using RFC function modules. I have observed that it is failing in some cases ( Example if the order in CRM is in edit mode and by the same time if we are trying to update it , it is getting failed) and even we couldn't able to see the detailed log why it was failed to updated. Can you please suggest is there any best way to communicate between these two system?

Greatly appreciate for best suggestions .

Regards,

Siva Krishna

Accepted Solutions (0)

Answers (2)

Answers (2)

Sandra_Rossi
Active Contributor
0 Kudos

You should be more explicit, because RFC is not the cause of not being able of retrieving the failure messages in the remote system, of course.

former_member216611
Participant
0 Kudos

Hi Sandra,

More explicit means, we can get the failure reason by using reason but we have to store them in a separate table and we need to re-execute the process again. Instead of that if it can re-process it self after some time it would be good. Can you please suggest .

Regards,

Siva Krishna 

Sandra_Rossi
Active Contributor
0 Kudos

I meant RFC is the major protocol for all communications in SAP (also HTTP of course, and few others). So the solution will be RFC, you just need a "framework" around to store the errors and play them later.

There are frameworks for RFC like tRFC, qRFC, bgRFC, and the BDocs being based on these ones, but with a much better but complex framework for handling errors and replay.

If you're not comfortable with BDocs, you can still do your own custom solution, if you use sRFC (synchronous), you may store the exception in a custom database table, and create a program to restart them...

You may also use tRFC, which stores exceptions (the function module must fail with RAISE) and you may see the erroneous calls in transaction SM58, but they won't be automatically played again, there's a need of an administrator (or you may create a program with a strategy for some errors, based on RSARFCEX program for instance).

With qRFC, you can do whatever you want, but it's a little bit more complex...

Of course, you must carefully think to the solution (imagine that you run an old failed RFC, which is obsolete because there were other intermittent updates...)

Former Member
0 Kudos

Hi Siva

Have you looked at using the Middleware layer - Bdocs / Idocs

I don't believe that you should be developing custom applications to meet your requirement unless the business process is not standard.

Take a look at this link as a starting point

Defining ERP as Leading System (Data Exchange Scenarios X, Y, Z) - Data Exchange for Business Transa...

Regards

Arden

former_member216611
Participant
0 Kudos

Hi Arden,

Thank you very much for your quik responce.

we are creating service order in CRM based on Sales order in ECC. Both orders having some common fields, if we have done change in CRM then it should be update at ECC ( Currently we are using RFC FM to update and it is failing to update if the sales order is in edit mode and capturing the failed reason  vise versa If I update some thing in ECC the same thing has to be update in CRM ) .

if it can achieve via IDOC/BDOC do we need to create custom Idoc and BDOC types ?

can we re-trigger the process by implementing QRFC ?

Regards,

Siva Krishna 

Former Member
0 Kudos

Hi Siva

The Middleware object BUS_TRANS_MSG will suit your requirements.

if you've not set-up middleware before then you should refer to the SAP CRM Best practice guides for doing this.

SAP Best Practices for CRM

Using custom when this functionality is provided as standard makes no sense at all. I'd encourage you to use the tools that SAP has provided for what you're wanting to achieve.

Regards

Arden

former_member216611
Participant
0 Kudos

Hi Arden,

BUS_TRANS_MSG - CRM Sales Orders is related to Sales Order process . where in my cases I am working with Custom filed in Service Order. By the time of saving CRM Service order the data which is in CRM Service order has to flow to ECC-Sales order ( Here also added new fields in VBAK table using append structure ) . if you don't mine can you please explain in more detail.

Regards,

Siva Krishna