Use
An application can parallelize its calculations and data collections by using parallel RFCs. This can also happen indirectly, as with the inbound queue in qRFC. Every RFC request occupies a dialog work process on the application server on which the RFC is executed.
This section describes how to configure your system to use parallel RFCs.
Integration
The following RFC types use the resource checks described in this documentation.
Asynchronous RFC with Load Distribution
You can use this RFC type for explicitly program parallel RFC calls. The resources are checked and assigned as far as the set quotas allow.
The required ABAP language element is as follows:
CALL FUNCTION <func> STARTING NEW TASK <task> DESTINATION IN GROUP <group>
With this ABAP command, you are telling the SAP system to process function module calls in parallel. The command implements parallel processing by sending asynchronous RFC calls to the appropriate servers. These are servers in the RFC server group
group that is specified as being available for processing of 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 for processing the outbound queue. For this to be possible, you have to maintain the destinations using 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.
qRFC with Inbound Queue
If you are using the inbound queue, the inbound scheduler takes over the processing of the inbound queue. For this to be possible, you have to register the queue names that are to be processed using the inbound scheduler. To do this, use 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.Transactional RFC
Transactional RFC uses resource checking only. It does not use parallel RFCs.
The required ABAP language element is as follows:
CALL FUNCTION <func> DESTINATION <dest> IN BACKGROUND TASK
This ABAP command marks the function module
func for asynchronous processing. The module is not executed immediately, though. The data transferred with EXPORTING or TABLES is placed in a database table, and a COMMIT WORK then causes the function module to be processed in another work process.Note that RFC calls with
See also the following sections:
Parallel Processing with Asynchronous RFC Defining RFC Groups for Parallel Processing JobsFeatures
The documentation on using parallel RFCs is divided into the following sections.
RFC Resources on 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 describes how you can manipulate RFC resources, either dynamically or using corresponding profile parameters. Calculating Resources for Asynchronous and Transactional RFC describes how resource checking in the system works. Both local checking and remote checking (that is, checking on another server) are described.Constraints
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 correct types (such as synchronous RFCs, qRFC without inbound queue, asynchronous RFCs without the added
DESTINATION IN GROUP …).