Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Tables Parameters

Former Member
0 Kudos

Hello all

I am having performance issues relating to an RFC call between CRM and ECC. I have been asked to get an RFC call between the two working as quickly as possible.

The code is as optimised as possible, I have replaced onerous FM calls with bespoke code and optimised select statements.

But for some reason I have a niggling thought in the back of my mind that no tables should be passed to the RFC FM in the IMPORTING parameters section and should be passed as TABLES parameters only.

Does anyone know if this is true or not. I have found OSS note 888777 which says that this is true in relation to ABAP-JAVA comms but it doesn't say whether this is the case in ABAP-ABAP.

Any advice/comments most welcome.

1 ACCEPTED SOLUTION

matt
Active Contributor
0 Kudos

It's true. By switching to TABLES parameters, I've seen the performance go way up. It's to do with the way SAP passes the data.

matt

Edited by: Matthew Billingham on Oct 3, 2008 1:44 PM

5 REPLIES 5

matt
Active Contributor
0 Kudos

It's true. By switching to TABLES parameters, I've seen the performance go way up. It's to do with the way SAP passes the data.

matt

Edited by: Matthew Billingham on Oct 3, 2008 1:44 PM

Former Member
0 Kudos

Is the RFC called once or in a loop?

Rob

0 Kudos

Just the once.

The signature of the FM is:

*" IMPORTING

*" VALUE(I_FIELD1) TYPE ANYFIELD OPTIONAL

*" VALUE(IT_TAB1) TYPE ANYTABLE

*" VALUE(I_FIELD2) TYPE ANYFIELD OPTIONAL

*" VALUE(I_FIELD3) TYPE ANYFIELD OPTIONAL

*" VALUE(IT_TAB2) TYPE ANYTABLE OPTIONAL

*" EXPORTING

*" VALUE(EV_RETURN) TYPE BAPIRET2

*" TABLES

*" IT_TAB3 STRUCTURE ANYTABLE

I'm just wondering whether removing the IT_TAB1 and IT_TAB2 parameters from the IMPORTING section and placing them in the TABLES section would have any performance improvements.

0 Kudos

It is good practice to pass tables using the TABLES parameter.

Are you passing a large amount of data?

0 Kudos

Not tons but it's been very hard to determine where the delay in prcessing occurs. There was some bad code in the RFC FM in ECC but this has now been cleaned. I'm just trying to think of any other places to improve the performance.