‎2008 Jan 24 9:56 AM
Can anyone please explain in detail what is meant by RFC, what is the purpose and use.
please explain in deatail.
thanks in advance
‎2008 Jan 24 10:00 AM
Purpose of RFC:
RFCs are not only used for external access to SAP systems but also for interconnections of SAP systems. For example, if you have the CUA (central user administration) installed in your SAP system landscape you will need RFC destination to all daughter systems of the CUA system.
Another important scenario which requires RFC is ALE (application link enabling). Let's assume you have a MDM (master data management) system and want to distribute the master data to all SAP systems which require these master data. For this purpose you can use ALE scenarios to distribute the master data among the different SAP systems using IDocs.
REgards.
‎2008 Jan 24 10:02 AM
Communication between applications of different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.
Synchronous RFC
The first version of RFC is synchronous RFC (sRFC). This type of RFC executes the function call based on synchronous communication, which means that the systems involved must both be available at the time the call is made.
Transactional RFC (tRFC)
Transactional RFC (tRFC, also originally known as asynchronous RFC) is an asynchronous communication method that executes the called function module in the RFC server only once. 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).
If a call is sent, and the receiving system is down, the call remains in the local queue until a later time. The calling dialog program can proceed without waiting to see whether or not the remote call was successful. If the receiving system does not become active within a certain amount of time, the call is scheduled to run in batch.
tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are
· executed in the order in which they are called
· executed in the same program context in the target system
· run as a single transaction: they are either committed or rolled back as a unit.
Implementation of tRFC is recommended if you want to guarantee that the transactional order of the calls is preserved.
Disadvantages of tRFC
· tRFC processes all LUWs independent of one another. Due to the amount of activated tRFC processes, this procedure can reduce performance significantly in both the send and the target systems.
· In addition, the sequence of LUWs defined in the application cannot be kept. Therefore, there is no guarantee that the transactions are executed in the sequence dictated by the application. The only guarantee is that all LUWs are transferred sooner or later.
Queued RFC (qRFC)
To guarantee that multiple LUWs are processed in the order specified by the application, tRFC can be serialized using queues (inbound and outbound queues). This type of RFC is called queued RFC (qRFC).
qRFC is therefore an extension of tRFC. It transfers an LUW (transaction) only if it has no predecessors (in reference to the sequence defined in different application programs) in the participating queues.
Implementation of qRFC is recommended if you want to guarantee that several transactions are processed in a predefined order.
RFC: Data Transfer
All RFC types are transferred by means of CPI-C or TCP/IP. They constitute a form of Structure linkgateway communication.
Check this link
http://help.sap.com/saphelp_nw04/helpdata/en/22/042518488911d189490000e829fbbd/content.htm
http://www.planetsap.com/RFC.htm
Checkthis link to create RFC Destination
http://help.sap.com/saphelp_nw04/helpdata/en/b3/dd773dd1210968e10000000a114084/content.htm
/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
Steps to Create RFC
1. goto --> se80
2. give the name of the Function Group to be Created for the Relating RFC.
3. pop-up will appear accept it
4. start the name with FG (mean - Function Group)
5. If the function group is already exist no need of the above steps.
OR
1. goto --> se37
2. goto > GOTO menu>Function Group-->Create Group
3. give the name of the Function Group to Create --> save it
1. goto --> se37
2. give name of the RFC to create
3. a popup apperas asking Function Group to the RFC
4. Give the Created Function Group
3. goto --> Attribute
5. select Remote Function enable Option at the right end of the Tab - this will enable your RFC to call from Non-SAP Systems
if you select Normal Function module it accepts within SAP.
6. goto --> Import Tab
7. enter the Input Parameters i,e from user the program gets the value
8. go to --> Export Tab
9. enter the Output Parameters i,e Program gives value to the User.(ex: Message, etc)
can also display data through Export when it displays a single value.
10. goto --> Tables Tab
11. declare the tables like the structure it needs to be Displayed as Output. i,e when there is a need to display more records choose tables. can create n number of tables for display the data in the final itab of your program are passed through this tables to display.
12 goto --> Exceptions Tab
13. Create Message i,e assign a variable and the Message Description this is used to through error message vis Program.
14. Goto --> SourceCode tab
15. Write Code over here.
Main thing is Pass the Itab data to The Tables declared for Display.
Reward Me if its Useful
‎2008 Jan 24 10:05 AM
hi,
i am giving differences between BAPI and RFC
i hope u will get idea abot RFC compare to BAPI
RFC and BAPIs are remote enabled function modules. They are practicly the same. A BAPI is one step further as it usually is a self contained business function, such as "Create Purchase Order", or "Change Sales Document". BAPIs interface is very well defined and documented. BAPIs can be found in the BAPI browser via transaction BAPI. RFCs are just remote enabled function modules.
BAPI stands for Business Application Programming Interface. It is a library of functions that are released to the public as an interface into an existing SAP system from an external system.
RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system. Functions can only be called via RFC, if they are tagged as RFC functions in the SAP development workbench.
The main difference between BAPI and RFC is BUSINESS OBJECT.
BAPI is the defined interface it holds business data and process, it is the point of entry to the external apllications( JAVA, VB,...) for aceesing and processing SAP data directly.
BAPI has it's corresponding RFC function module where as viceversa is not possible.
We can call BAPI as Remote Enabled Function Module and Call as the method of Business Object in the BOR, where as RFC can be called as Remote Enabled Function Module only.
BAPI has no User dialog and Exceptions.
Reward if its useful