Page tree
Skip to end of metadata
Go to start of metadata

Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.

For more detailed Fundamentals and Concepts about Remote Function Call (RFC),please check the RFC SAP Help Portal Page.

Related Wiki Space
RFC Types

Execution flow

The following illustrates the execution of a synchronous RFC between two systems.

 

Need quick help? Please see our Guided answers troubleshooting process for RFC performance issues!

Examples

For example, the following illustration showing an ECC system communicating with other systems (another ECC, BW, SCM, CRM) through Remote Function Calls.

RFCs can also occur with non-SAP/Netweaver systems as in:

 RFC Communication Scenarios

RFC Cycle

Here is the the course and measured times of a synchronous RFC from the perspective of performance analyzing.

The figure illustrates the course and measured times of a synchronous RFC, which are displayed in the single-record statistics (Transaction STAD) and in the workload monitor (Transaction ST03).RFC Cycle shown as follow:

  1. Establishing the connection (the CMINIT phase)
  2. Data exchange (CMSEND and CMRECEIVE phases)
  3. Closing the connection or wait status
  4. Repeated data exchange
  5. Closing the connection

In this procedure, Establishing the connection should take only a few milliseconds. If you find this status (the CMINIT phase) often in the work process overview, there may be an overload in the recipient system.

  • 2317074 - "timeout during allocate" when starting external programs
  • 1842162 - Connection test SM59: Timeout during allocate
  • 581509 - Reasons for "timeout during allocate"
  • 944792 - Runtime analysis when you start external RFC servers
  • 1333483 - Timeout during allocate of a registered program

During the connection,RFC users are running in the Dialog work process in the receiver system. By specifying RFC user ID, you can monitor the RFC process in the receiver system.

  • 2180934 - Analysis of Work process in "On Hold" RFC, or Stopped CPIC status
  • 1260137 - Work process status "Stopped RFC" by SAPLARFC (tRFC/qRFC)
  • 1324454 - qRFC scheduler is still set to WAITING status

 After the data exchanging, finally, the connection is closed. The recipient work process is free again, and the sender work process continues with its work.

  • 1520551 - RFC: Connections in Gateway are not closed
RFCs and Network issues

One source of high RFC time can be a potential Network issue. In this case, the systems involved need to be identified in order to perform a NIPING analysis and test latency. See the following;

  • 2471983 - Identifying RFC connections in STAD and ST03 
  • 552845 - FAQ: RFC Statistics in Transactions ST03/ST03N and STAD 

 After identifying the systems involved, you can perform a NIPING analysis to see if Network is a source of the high RFC time.

Related SAP Notes and KBAs

General performance issues
2418936 - High RFC time: Performance troubleshooting
2457530 - Performance problems with OLE_FLUSH_CALL, how to analyze
2490095 - ARFC_RUN_NOWAIT is slow
638701 - Starting RFC servers takes too long
2426336 - Performance analysis of external RFC server programs (registered program)
2356090 - GW: RFCs hang 2442915 - GW: RFCs hang (II)
1485789 - QRFC: Long running processes in SM50
2140916 - Performance issues in RFC processing (Oracle)
1946287 - Slow RFC performance shown in ST03N for TASK_VITAL_PERIOD by SAP_WSRT user
2468083 - Hanging RFC session of FM SALC_PERF_REPORT_VALUE in SM04
532918 - “RFC trace generation scenarios”, section 2 “Communication from ABAP to an external program”

Connection issues
1954118 - Connection Failure with RFC Destination of Started External RFC Server and Memory Leaks with RFC Accept
1403974 - Determining the maximum connections in transaction SMQA

Load balancing
593058 - New RFC load balancing procedure
103523 - RFC Load Balancing

RFC queue processing
1272327 - "Max.Runtime" and a generic queue in SMQS and SMQR
527481 - tRFC or qRFC calls are not processed
869399 - * bottlenecks when processing CIF queues (LUWs)
1324454 - qRFC scheduler is still set to WAITING status
1493644 - Long running process reading TRFCQIN blocking execution
2334064 - Various issues with qRFC processing after a support package
1051445 - qRFC scheduler does not use all available resources
1623430 - Outbound queue scheduler does not process all LUW’s

Incorrect/Very high RFC time
2071875 - Incorrect Average RFC Interface Time ("CPIC/RFC") in ST03N Workload Overview
570751 - Incorrect RFC+CPIC time/Roll time wait in ST03
2241334 - ST: Queue time is too long