Upravit

Sdílet prostřednictvím


Operations on RFCs in SAP

You can use theMicrosoft BizTalk Adapter for mySAP Business Suite both as an RFC client and as an RFC server. In RFC client scenarios, your application invokes RFCs on the SAP system by invoking RFC operations on the SAP adapter. In RFC server scenarios the SAP system invokes RFCs on the SAP adapter, which, in turn, invokes the RFC as an operation on your application.

RFC Operations

RFCs are surfaced by name as operations under the RFC metadata category node by the SAP adapter. (You can browse or search for RFCs under the RFC node when you use the Add Adapter Service Reference Plug-in or the Consume Adapter Service Add-in.)

The SAP adapter can surface only those RFCs for which it can retrieve metadata from the SAP system. The adapter uses the RFC SDK to retrieve this metadata, so it cannot surface RFCs that contain parameters with data types that are not supported by the RFC SDK. For example, the adapter cannot surface RFCs that contain ITAB II type structures or tables.

The SAP adapter supports the following on RFCs:

  • IMPORT parameters

  • EXPORT parameters

  • CHANGING parameters

    For more information about the message structures and SOAP actions used for RFCs by the adapter, see Message Schemas for RFC Operations.

Invoking RFCs on an SAP System

The SAP adapter surfaces RFCs as individual operations that take the name of the RFC on the SAP system. To invoke an RFC on the SAP system, you invoke the appropriately named RFC operation on the adapter.

For more information about:

Receiving Inbound RFC Calls from an SAP System

It is possible for SAP to act as a client and invoke function modules on an external RFC server. This functionality enables:

  • SAP to push notifications to external systems without the external systems having to continuously poll SAP for notifications by calling RFCs.

  • The implementation of business logic outside the SAP system. The SAP system can then call the external program on the RFC server.

    The SAP adapter can act as an RFC server to receive such inbound RFC calls from the SAP system. When the adapter receives an RFC call from SAP, it invokes that RFC operation on your application.

    For the adapter to perform as an RFC server:

  • The RFC must be declared on the SAP system. This is so the adapter can retrieve metadata that describes the RFC from the SAP system. The RFC is actually implemented in your application.

  • The adapter must register with an RFC destination on an SAP gateway. The registration is based on a logical name called a program ID. You supply parameters in the connection URI to specify the PROGRAM ID, SAP gateway, and SAP server for this registration.

    The following example shows the ABAP code required to invoke an RFC through the PROGRAM ID, MYDEST.

CALL FUNCTION ‘ABC’ DESTINATION ‘MYDEST’  

For more information about:

Special RFC Operations

The SAP adapter can also perform certain special RFC operations on the SAP system. One such operation is RfcGetAttributes.

  • RfcGetAttributes. The SAP adapter uses this operation to get information about the RFC connection parameters such as system ID, partner code page, and language. This operation is available under the RFC node when using the Add Adapter Service Reference Plug-in and Consume Adapter Service Add-in.

    For more information about message structure and SOAP action for invoking an RfcGetAttributes operation on the SAP system, see Message Schemas for RFC Operations.

See Also

What Operations Can be Performed Using the Adapter?