The function

RFC_RC SAP_API RfcReceive(RFC_HANDLE handle,
RFC_PARAMETER * parameters,
RFC_TABLE * tables,
char ** exception);

receives the return values from a function call issued by RfcCall.

This function thus allows you to receive the answer to an RFC call and must be called after calling RfcCall. The tables’ description ( RFC_TABLE) must be identical to the one used in RfcCall.

RfcReceive waits till the answer is received before returning. If you want to check for incoming events without waiting, use the routine RfcListen.

This function is defined in SAPRFC.H.

Return Values:

  • RFC_OK

The call was successfully completed, and the values of the returned parameters were filled into the fields being supplied by the RFC_PARAMETER array.


An internal error has occurred. RfcLastError may give more information.


The callee has raised an exception. The field ‘*exception’ points to the name of the exception. No data were transported.


The local or remote RFC system has raised an exception. Also, ‘*exception’ points to the name of the exception. The connection was automatically closed by the system and RfcLastError may give more information on the origin of the error. Two exceptions may occur now: SYSTEM_FAILURE and COMMUNICATION_ FAILURE.


The callee has issued an RFC call to the caller of RfcReceive. No data are transported. The call request must be handled by using the functions RfcDispatch or by RfcGetName, RfcGetData and RfcSendData before an other call to RfcReceive can be done.

Function Parameters:

  • handle

connection handle

  • parameters

‘importing’ parameters

  • tables

‘tables’ parameters

  • exception

output parameter: pointer to exception string. This parameter is only set if RFC_EXCEPTION or RFC_SYS_EXCEPTION is returned

See also RfcCall and RfcCallReceive.