CALL FUNCTION - RFC (RFC Variants)


Synchronous RFC

1.
CALL FUNCTION func DESTINATION dest
                     parameter_list.


Asynchronous RFC

2.
CALL FUNCTION func STARTING NEW TASK task
                [DESTINATION {dest|{IN GROUP {group|DEFAULT}}}]
                parameter_list
                [{PERFORMING subr}|{CALLING meth} ON END OF TASK].

Transactional RFC

3.
CALL FUNCTION func IN BACKGROUND TASK
                     [DESTINATION dest]
                     parameter_list
                     [AS SEPARATE UNIT].

Effect

Calling a function module or a function using the RFC interface.

Exceptions

Exceptions that cannot be handled

·        Cause: The called function module is not released for RFC.
Runtime error:
CALL_BACK_ENTRY_NOT_FOUND

·        Cause: The type of the destination is not allowed.
Runtime error:
CALL_FUNCTION_DEST_TYPE

·        Cause: Current function is not called remotely
Runtime error:
CALL_FUNCTION_NO_SENDER

·        Cause: Missing communication type (I for internal connection, 3 for ABAP) when executing an asynchronous RFC
Runtime error:
CALL_FUNCTION_DESTINATION_NO_T

·        Cause: The specified destination does not exist.
Runtime error:
CALL_FUNCTION_NO_DEST

·        ·        Cause: Maximum length of options for the destination exceeded
Runtime error:
CALL_FUNCTION_OPTION_OVERFLOW

·        Cause: The specified destination (in load distribution mode) does not exist.
Runtime error:
CALL_FUNCTION_NO_LB_DEST

·        Cause: Data received for unknown CPI-C connection.
Runtime error:
CALL_FUNCTION_NO_RECEIVER

·        Cause: The function module being called is not flagged as being "remotely" callable.
Runtime error:
CALL_FUNCTION_NOT_REMOTE

·        Cause: While executing an RFC, an error occurred that has been logged in the calling system.
Runtime error:
CALL_FUNCTION_REMOTE_ERROR

·        Cause: Logon data for the user is incomplete.
Runtime error:
CALL_FUNCTION_SIGNON_INCOMPL

·        Cause: Logon attempt in the form of an internal call in a target system not allowed
Runtime error:
CALL_FUNCTION_SIGNON_INTRUDER

·        Cause: RFC from external program without valid user ID
Runtime error:
CALL_FUNCTION_SIGNON_INVALID

·        Cause: Logon attempt in target system without valid user ID.
Runtime error:
CALL_FUNCTION_SIGNON_REJECTED
This error codes may have any of the following meanings:
1) Incorrect password or invalid user ID
2) User locked
3) Too many login attempts
5) Error in authorization buffer (internal error)
6) No external user check
7) Invalid user type
8) Validity period of the user exceeded

·        Cause: No authorization to log on as Trusted System.
Runtime error:
CALL_FUNCTION_SINGLE_LOGIN_REJ
The error code may have any of the following meanings:
0) Incorrect logon data for valid security ID.
1) Calling system is not a
Trusted Systemor security ID is invalid.
2) Either user does not have RFC authorization (authorization object
S_RFCACL), or a logon was performed using one of the protected users DDIC or SAP*.
3) Time stamp of the logon data is invalid.

·        Cause: RFC without valid user ID only allowed when calling a system function module. The meaning of the error codes is the same as for CALL_FUNCTION_SINGLE_LOGIN_REJ.
Runtime error:
CALL_FUNCTION_SYSCALL_ONLY

·        Cause: Data error (info internal table) during a 'Remote Function Call'.
Runtime error:
CALL_FUNCTION_TABINFO

·        Cause: No memory available for table being imported
Runtime error:
CALL_FUNCTION_TABLE_NO_MEMORY

·        Cause: For asynchronous RFC only: task name is already being used.
Runtime error:
CALL_FUNCTION_TASK_IN_USE

·        Cause: For asynchronous RFC only: the specified task is already open.
Runtime error:
CALL_FUNCTION_TASK_YET_OPEN

·        Cause: No RFC authorization
Runtime error:
CALL_FUNCTION_NO_AUTH

·        Cause: No trusted authorization for RFC caller and trusted system.
Runtime error:
CALL_RPERF_SLOGIN_AUTH_ERROR

·        Cause: No valid trusted entry for the calling system.
Runtime error:
CALL_RPERF_SLOGIN_READ_ERROR

·        Cause: No RFC authorization for user.
Runtime error:
RFC_NO_AUTHORITY

·        Cause: Destination "BACK" is not permitted in current program
Runtime error:
CALL_FUNCTION_BACK_REJECTED
Runtime error:
CALL_XMLRFC_BACK_REJECTED

·        Cause: Error while evaluating RFC destination
Runtime error:
CALL_FUNCTION_DEST_SCAN

·        Cause: Error while evaluating RFC destination
Runtime error:
CALL_FUNCTION_DEST_SCAN

·        Cause: Type conflict while transferring table
Runtime error:
CALL_FUNCTION_CONFLICT_TAB_TYP

·        Cause: No memory available for creating a local internal table.
Runtime error:
CALL_FUNCTION_CREATE_TABLE

·        Cause: Type conflict while transferring structure
Runtime error:
CALL_FUNCTION_UC_STRUCT
Runtime error:
CALL_FUNCTION_DEEP_MISMATCH

·        Cause: Invalid data type while transferring parameters
Runtime error:
CALL_FUNCTION_WRONG_VALUE_LENG
Runtime error:
CALL_FUNCTION_PARAMETER_TYPE
Runtime error:
CALL_FUNCTION_ILLEGAL_DATA_TYP

·        Cause: Type conflict while transferring an integer.
Runtime error:
CALL_FUNCTION_ILLEGAL_INT_LEN
Runtime error:
CALL_FUNCTION_ILL_INT2_LENG

·        Cause: Type conflict while transferring a floating point number
Runtime error:
CALL_FUNCTION_ILL_FLOAT_FORMAT
Runtime error:
CALL_FUNCTION_ILL_FLOAT_LENG

·        Cause: Invalid LEAVE statement on RFC server
Runtime error:
CALL_FUNCTION_ILLEGAL_LEAVE

·        Cause: Type conflict while transferring a reference
Runtime error:
CALL_FUNCTION_OBJECT_SIZE
Runtime error:
CALL_FUNCTION_ROT_REGISTER

Using Predefined Exceptions for RFCs