Thursday 7 December 2017

SAP BASIS Online Tutorial | Remote Function Call in SAP BASIS


What is RFC?
For business applications, it is necessary to communicate and exchange information (in pre-defined formats) with other systems. Hence, there are well defined mechanisms to enable this communication. SAP has also provided us with such mechanism called RFC, which stands for 'Remote Function Call'.
To communicate between SAP systems, there is a need to define a mechanism. One of the most common ways is to define Remote Function Call (RFC Connection) between two systems. By creating a trusted RFC connection between two systems, it allows you to create trusted-trusting relationship between systems wherein, you can communicate and exchange information and data.
There are different types of trusted RFC connections.
A calling interface for ABAP Programs (See SAP ABAP training for more info about ABAP)
A calling interface for Non-SAP programs.
Basis is a set of programs and tools that act as an interface with Database, Operating system, Communication protocols and business applications (such as FI, CO, MM, etc). Full form of BASIS is "Business Application Software Integrated solution". (Develop career with SAP BASIS training by experts).
Functions of the RFC interface:
Converting all parameter data to the representation needed in the remote system.
Calling the communication routines needed to talk to the remote system.

Handling communications errors, and notifying the caller, if desired (using EXCEPTIONS parameter of the CALL FUNCTION).
RFC is a SAP protocol to handle communications between systems to simplify the related programming. It is the process of calling a function module which is residing on a different machine from the caller program. RFCs can be used to call a different program on the same machine as well, but usually, it is used when 'calling' and 'called' function modules/ programs are running on separate machines.
Details about RFC
SAP Uses CPIC (Common Programming Interface for Communication) Protocol to transfer data between Systems. It is SAP Specific protocol. Remote Function Call (RFC) is a communications interface based on CPI-C, but with more functions and easier for application programmers to use.
RFC connections can always be used across the entire system. This means that an RFC connection you have defined in client 000 can also be used from client 100 (without any difference).
RFC is the protocol for calling special subroutines (function modules) over the network. Function modules are comparable with C functions or PASCAL procedures. They have a defined interface through which data, tables and return codes can be exchanged. Function modules are managed in the R/3 System in their own function library, called the Function Builder.
You maintain the parameters for RFC connections using transaction SM59. The R/3 System is also delivered with an RFC-SDK (Software Development Kit) that uses extensive C libraries to allow external programs to be connected to the R/3 System.
The only difference between a remote call of a function module to another server and a local call is a special parameter (destination) that specifies the target server on which the program is to be executed.
RFC Advantages
RFC helps to reduce the efforts of programmers, by letting them avoid the re-development of modules and methods at remote systems. It is capable enough to:
  • Convert the data into the format understandable by the remote (target) system.
  • Convert the data into the format understandable by the remote (target) system.
  • Call up certain routines which are necessary to start communication with the remote system.
  • Handle errors that might occur in the process of communication.

Types of RFC
Synchronous
Requires both the systems (client and server) to be available at the time of communication or data transfer. It is the most common type and is required when the result is required immediately after the execution of sRFC.
sRFC is a means of communication between systems where acknowledgments are required. The resources of the Source System wait on the target system and ensure that they deliver the message/data with ACKD. The Data is consistent and reliable for communication.
Used for
For communication between systems
For communication between SAP Web Application Server to SAP GUI
Asynchronous
It is communication between systems where acknowledgments are not required (it is similar to postcard delivery).It doesn't require both the systems to be available at the time of execution and the result is not immediately required to be sent back to the calling system.
The Source System resource does not wait for the target system as they deliver the message/data without waiting for any acknowledgment. It is not reliable for communication since data may be lost if the target system is not available.
Used for
For communication between systems
For parallel processing
Transactional
It is a special form of aRFC. Transactional RFC ensures transaction-like handling of processing steps that were originally autonomous. Transactional RFC is an asynchronous communication method that executes the called function module in the RFC server only once, even if the data is sent multiple times due to some network issue. The remote system need not be available at the time when the RFC client program is executing a tRFC. The tRFC component stores the called RFC function, together with the corresponding data, in the SAP database under a unique transaction ID (TID). tRFC is similar to aRFC as it does not wait at the target system (Similar to a registered post). If the system is not available, it will write the Data into aRFC Tables with a transaction ID (SM58) which is picked by the scheduler RSARFCSE (which runs for every 60 seconds).
Interested to learn SAP BASIS join, SAP Trainings Online is a deceptively simple e-learning and course authoring solution. Create super-effective training content and deliver courses via Virtual and implant in existing systems.
Try SAP BASIS Demo Class today! To register Click Here
For more details visit: www.saptrainingsonline.com
Email: contact@saptrainingsonline.com
Contact: India +91 9052775398 USA +13152825809

No comments:

Post a Comment