Start of Content Area

Function documentationConfiguration of System Resources for RFC   Locate the document in its SAP Library structure

Use

Every RFC call occupies a dialog work process on the application server. If parallel processing is used for the RFC (aRFC, qRFC, bgRFC), sufficient system resources must be available.

The various ways of configuring the SAP System are described below.

Caution

Note that RFC calls with CALL FUNCTION are processed in DIALOG work processes. The DIALOG limitation for processing a dialog step (default: 300 seconds, system profile parameter rdisp/max_wprun_time) thus also applies to these RFC calls. Remember to consider this restriction when dividing up your data packets for parallel processing.

Asynchronous RFC with Load Distribution  (aRFC)

You can use this RFC type to program parallel RFC calls. The resources are checked and assigned as far as the set quotas allow.

The required ABAP language element is:

CALL FUNCTION remote function STARTING NEW TASK task name DESTINATION IN GROUP group name

With this ABAP command, you are instructing the SAP system to process function module calls in parallel. The instruction implements parallel processing by sending asynchronous RFC calls to the appropriate servers. These are servers in the RFC server group Group Name specified as being available for processing requests. The group name DEFAULT means that all available application servers are being used.

qRFC with Outbound Queue

The qRFC LUWs are executed using the outbound scheduler. The outbound scheduler uses parallel RFC to process the outbound queue. To allow this, you need to maintain the destinations in transaction SMQS.

The outbound scheduler then checks the resources and executes parallel RFCs if resources are available. If no resources are available, synchronous RFC is used instead.

qRFC with Inbound Queue

If you are using the inbound queue, the inbound scheduler takes is responsible for processing the inbound queue. To allow this, you need to register the queue names to be processed using the inbound scheduler in transaction SMQR. 

The inbound scheduler then checks the resources and executes parallel RFCs if resources are available. If no resources are available, the scheduler waits until resources become available.

For more information, see Monitor Transactional RFC and Queued RFC.

tRFC and qRFC

The transactional RFC and the qRFC use the resource check. The associated ABAP language elements for both RFC types is:

CALL FUNCTION Remote function IN BACKGROUND TASK DESTINATION destination

With a preceding additional function call (TRFC_SET_QIN_PROPERTIES or TRFC_SET_QUEUE_NAME)  tRFC can be defined as qRFC.

This ABAP command flags a function module Remotefunction for asynchronous processing. The module is not executed immediately. The data transferred with EXPORTING or TABLESis placed in a database table. A COMMIT WORK then triggers the function module. There are various cases:

      The data is updated. If tRFC/qRFC has been triggered within the update, these are executed in parallel after the V1 update (within the update). If the tRFC/qRFC call is registered in the scheduler, the scheduler is simply triggered within the update. The execution of tRFC/qRFC takes place outside the update through the scheduler.

      The data is not updated. The tRFC/qRFC function modules started within the application LUW are executed in parallel as far as possible. If local system resources are exhausted, the tRFC/qRFC is serialized so as not to further increase resource utilization. However, this is not the case if the tRFC/qRFC function modules are processed in batch. If the tRFC/qRFC have been started in batch, they are always processed in parallel as in the update process, regardless of the system resource utilization.

Caution

No resource checks are run with RFC calls from the update process or batch, since these must always be processed in parallel to avoid deadlocks. 

Background RFC (bgRFC)

bgRFC is a newly developed RFC variant. With its characteristics type t (transactional) and type q (queued), it replaces tRFC and qRFC.

With both types, parallel processing is performed by the scheduler if enough dialog work processes are available.

Features

This documentation is divided into the following sections:

      RFC Resources in the Application Server

      Describes which resources are relevant for the use of parallel RFCs, and how you can monitor the available resources system-wide.

      System Configuration for Parallel RFCs

      Displays the configuration parameters for RFC resources either dynamically or from settings in profile parameters.

      Determining Resources for Asynchronous and Transactional RFC

      Describes how resources are checked in the system and explains the difference between local and remote checks (on a different server).

      Configuring Resources for bgRFC

Provides information about determining the required number of work processes for bgRFC and maintaining the relevant parameters.

Restrictions

Caution 

Note that the techniques for monitoring and controlling resources described in this document only apply to the RFC types mentioned above.

Even if you have correctly configured the quotas, your system may still become flooded with RFCs if these are not of the types mentioned (such as synchronous RFCs, qRFC, asynchronous RFCs without the suffix DESTINATION IN GROUP).

Additional Information

Known problems, their causes and solutions are described in the following section:

      Problems with RFC Resource Assignment

Detailed information about parallel processing is provided under:

      Parallel Processing with Asynchronous RFC

      Defining RFC Groups for Parallel Processing Jobs

Note

SAP note 597583 (Performance Improvement Using RFC Parallelization) describes which RFC types and ABAP language elements are recommended for various purposes.

 

 

End of Content Area