Thursday, September 11, 2014

Limitations of SAP RFC

As said in previous post an RFC technique is heavily used within SAP systems and while SAP systems are communicating with external systems as well. When it comes to RFC based communication it caused some problems. This is due to the fact that also RF as every other technology has its limits.

Below I list potential issues within RFC and things can be done to solve or to forego them:
1. Delays while processing RFC calls by Registered Server Program on Gateway (TA SMGW): It can be observed e.g. by huge amount of IDocs in yellow status (status 30: delays transferring outbound IDoc from the layer to RFC layer). This may be caused by not utilizing all max connections that can are available. Solution is to increase max connection setting for RFC queue. To be done in TA SMQS: menu Go to transaction SMQS: menu Edit -> Registration and on next pop-up increase the "Max. Conn." field. More details.

2. While calling RFC enabled FM there is a ABAP dump: OPEN_TASK_LIMIT_EXCEEDED: This is due to insufficient check on available resources. You may want to configure open task limit using profile parameter rdisp/task_limit. Moreover check configuration of quota for RFC resource check by parameter rdisp/rfc_max_open_tasks. More details.

3. Getting errors like: "No WP block received" or "No APPC block received" or "No free block found in the WP Communication Area" in system log (TA SM21): Maximum number of RFC connections by parameter rdisp/max_comm_entries needs to be reviewed. More details.

4. No resources made available for parallelization with asynchronous RFC (dump RESOURCE_FAILURE): Some of following system parameters needs to be reviewed: rdisp/rfc_min_wait_dia_wp, rdisp/rfc_max_own_used_wp, rdisp/wp_no_dia, rdisp/rfc_max_queue, disp/rfc_max_login, rdisp/rfc_max_own_login, rdisp/rfc_max_comm_entries. See more details at

5. Time limit for execution of RFC call: As RFC calls are executed through dialog work processes it depends on max runtime allocated to a dialog workprocess in system. Therefore check system parameter: rdisp/max_wprun_time.

6. Max limit of supported simultaneous RFC connection: Review system parameter rdisp/rfc_max_login. More details.

7. Limitation of data volume passed back to calling app by RFC enabled Function Module: There is no limitation from data volume point of view. But the RFC should not time out processing the particular data volume. See point no 5.

No comments: