Show TOC

Syntax documentationRfcCallReceive Locate this document in the navigation structure

Use

You can make an RFC call and receive return values using a single function:

Syntax Syntax

  1. RFC_RC  SAP_API   RfcCallReceive(RFC_HANDLE	handle,
  2. 	char *	function,
  3. 	RFC_PARAMETER *	exporting,
  4. 	RFC_PARAMETER *	importing,
  5. 	RFC_TABLE *	tables,
  6. 	char **	exception)
End of the code.

This function waits till it receives an answer before returning. The return values are just the same as those you would receive by calling RfcReceive. Note that RfcCallReceive can fail because you called RfcOpen with an invalid password. See RfcOpen for more information.

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.

  • RFC_FAILURE

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

  • RFC_EXCEPTION

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

  • RFC_SYS_EXCEPTION

    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.

  • RFC_CALL

    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

  • function

    function module to call

  • exporting

    'exporting' parameters

  • importing

    '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 RfcReceive.