Remote Function Call - New features in Releases 3.0, 3.1 and 4.0B/C

Description

This documentation describes the new features in Release 4.0, and also some features that have been part of the system since Release 3.0.

Asynchronous RFC

Syntax: CALL FUNCTION function STARTING NEW TASK taskname
From 3.0: Direct processing
From 3.0F: Background processing

Automatic load distribution with local parallel processing (from 3.1G)

If you specify a group (DESTINATION IN GROUP ...), the function modules are executed in parallel on a group of application servers in an R/3 System. The load is distributed automatically within the group.

Authorization check when accessing function groups using RFC (from Release 3.1G).

If the instance profile parameter auth/rfc_authority_check is set to 1, the system checks authorization for the function group of the RFC function module against the authorization object S_RFC.
The function module AUTHORITY_CHECK_RFC allows you to check authorization for RFC access to function groups in advance.

Wait function with asynchronous RFC

The WAIT command allows you to wait for data to be returned from a function module that you have called asynchronously. You must use the addition PERFORMING form ON END OF TASK. The WAIT statement must occur in the same program context (internal session).
You can specify a condition or time limit in the WAIT statement:

Keeping the remote context in an asynchronous RFC (from Release 4.0)

The following addition in the subroutine keeps the remote context, allowing you to reuse it:
RECEIVE RESULTS FROM FUNCTION function
KEEPING TASK ...

Transporting system fields in error situations (from Release 4.0)

If an error occurs in the target system during a remote function call, the following fields of table structure SYST are transported back to the calling system:
SY-MSGNO, SY-MSGID, SY-MSGTY and SY-MSGV*

Trusted Systems (from Release 4.0)

An RFC client that is registered as a trusted system can log onto the RFC server without using a password (Transactions SMT1/SMT2).