<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: rfc in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547384#M579570</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at below link. It gives you a PDF which contains all the details abt RFC. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;TRFC:&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;The called function module is executed exactly once in the RFC server system. The remote&lt;/P&gt;&lt;P&gt;system need not be available at the time when the RFC client program is executing a tRFC. The&lt;/P&gt;&lt;P&gt;tRFC component stores the called RFC function together with the corresponding data in the R/3&lt;/P&gt;&lt;P&gt;database, including a unique transaction identifier (TID).&lt;/P&gt;&lt;P&gt;If a call is sent, and the receiving system is down, the call remains in the local queue until a later&lt;/P&gt;&lt;P&gt;time. The calling dialog program can proceed without waiting to see whether or not the remote&lt;/P&gt;&lt;P&gt;call was successful. If the receiving system does not become active within a certain amount of&lt;/P&gt;&lt;P&gt;time, the call is scheduled to run in batch.&lt;/P&gt;&lt;P&gt;Transactional RFCs use the suffix IN BACKGROUND TASK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;QRFC:&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;The characteristics of qRFC with send queue are:&lt;/P&gt;&lt;P&gt;Queued RFC with send queue enforces a serialization on the side of the send system. The&lt;/P&gt;&lt;P&gt;target system has no information about the serialization in the send system. This allows&lt;/P&gt;&lt;P&gt;communication with any R/3 target system as of Release 3.0.&lt;/P&gt;&lt;P&gt;qRFC with send queue is an enhancement of tRFC. It transfers an LUW (transaction) only if&lt;/P&gt;&lt;P&gt;it has no predecessors (in reference to the sequence defined in different application&lt;/P&gt;&lt;P&gt;programs) in the participating queues. In addition, after executing a qRFC transaction, the&lt;/P&gt;&lt;P&gt;system tries to start all waiting qRFC transactions automatically according to the sequence.&lt;/P&gt;&lt;P&gt;For queue administration, the system needs a queue name and a queue counter for each&lt;/P&gt;&lt;P&gt;qRFC transaction. Each tRFC call to be serialized is assigned to a queue name that can be&lt;/P&gt;&lt;P&gt;determined by the application. The application passes the queue name with the call of&lt;/P&gt;&lt;P&gt;function module TRFC_SET_QUEUE_NAME. This function module is called immediately&lt;/P&gt;&lt;P&gt;before each tRFC call to be serialized. See also Programming Serialization [Page 28].&lt;/P&gt;&lt;P&gt;A queue name is a text of up to 24 bytes length. You can choose any text, but you must not&lt;/P&gt;&lt;P&gt;use * (asterisk).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;ARFC:&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user&lt;/P&gt;&lt;P&gt;does not have to wait for their completion before continuing the calling dialog. There are three&lt;/P&gt;&lt;P&gt;characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:&lt;/P&gt;&lt;P&gt;When the caller starts an asynchronous RFC, the called server must be available to&lt;/P&gt;&lt;P&gt;accept the request.&lt;/P&gt;&lt;P&gt;The parameters of asynchronous RFCs are not logged to the database, but sent directly&lt;/P&gt;&lt;P&gt;to the server.&lt;/P&gt;&lt;P&gt;Asynchronous RFCs allow the user to carry on an interactive dialog with the remote&lt;/P&gt;&lt;P&gt;system.&lt;/P&gt;&lt;P&gt;The calling program can receive results from the asynchronous RFC.&lt;/P&gt;&lt;P&gt;You can use asynchronous remote function calls whenever you need to establish communication&lt;/P&gt;&lt;P&gt;with a remote system, but do not want to wait for the function&amp;#146;s result before continuing&lt;/P&gt;&lt;P&gt;processing. Asynchronous RFCs can also be sent to the same system. In this case, the system&lt;/P&gt;&lt;P&gt;opens a new session (or window) and allows you to switch back and forth between the calling&lt;/P&gt;&lt;P&gt;dialog and the called session.&lt;/P&gt;&lt;P&gt;To start a remote function call asynchronously, use the following syntax:&lt;/P&gt;&lt;P&gt;CALL FUNCTION RemoteFunction STARTING NEW TASK taskname&lt;/P&gt;&lt;P&gt;Destination ...&lt;/P&gt;&lt;P&gt;EXPORTING...&lt;/P&gt;&lt;P&gt;TABLES ...&lt;/P&gt;&lt;P&gt;EXCEPTIONS...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Reshma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Jul 2007 06:48:01 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-17T06:48:01Z</dc:date>
    <item>
      <title>rfc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547383#M579569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what r the types of rfc? and differences between them?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 06:45:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547383#M579569</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T06:45:50Z</dc:date>
    </item>
    <item>
      <title>Re: rfc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547384#M579570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at below link. It gives you a PDF which contains all the details abt RFC. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;TRFC:&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;The called function module is executed exactly once in the RFC server system. The remote&lt;/P&gt;&lt;P&gt;system need not be available at the time when the RFC client program is executing a tRFC. The&lt;/P&gt;&lt;P&gt;tRFC component stores the called RFC function together with the corresponding data in the R/3&lt;/P&gt;&lt;P&gt;database, including a unique transaction identifier (TID).&lt;/P&gt;&lt;P&gt;If a call is sent, and the receiving system is down, the call remains in the local queue until a later&lt;/P&gt;&lt;P&gt;time. The calling dialog program can proceed without waiting to see whether or not the remote&lt;/P&gt;&lt;P&gt;call was successful. If the receiving system does not become active within a certain amount of&lt;/P&gt;&lt;P&gt;time, the call is scheduled to run in batch.&lt;/P&gt;&lt;P&gt;Transactional RFCs use the suffix IN BACKGROUND TASK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;QRFC:&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;The characteristics of qRFC with send queue are:&lt;/P&gt;&lt;P&gt;Queued RFC with send queue enforces a serialization on the side of the send system. The&lt;/P&gt;&lt;P&gt;target system has no information about the serialization in the send system. This allows&lt;/P&gt;&lt;P&gt;communication with any R/3 target system as of Release 3.0.&lt;/P&gt;&lt;P&gt;qRFC with send queue is an enhancement of tRFC. It transfers an LUW (transaction) only if&lt;/P&gt;&lt;P&gt;it has no predecessors (in reference to the sequence defined in different application&lt;/P&gt;&lt;P&gt;programs) in the participating queues. In addition, after executing a qRFC transaction, the&lt;/P&gt;&lt;P&gt;system tries to start all waiting qRFC transactions automatically according to the sequence.&lt;/P&gt;&lt;P&gt;For queue administration, the system needs a queue name and a queue counter for each&lt;/P&gt;&lt;P&gt;qRFC transaction. Each tRFC call to be serialized is assigned to a queue name that can be&lt;/P&gt;&lt;P&gt;determined by the application. The application passes the queue name with the call of&lt;/P&gt;&lt;P&gt;function module TRFC_SET_QUEUE_NAME. This function module is called immediately&lt;/P&gt;&lt;P&gt;before each tRFC call to be serialized. See also Programming Serialization [Page 28].&lt;/P&gt;&lt;P&gt;A queue name is a text of up to 24 bytes length. You can choose any text, but you must not&lt;/P&gt;&lt;P&gt;use * (asterisk).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;ARFC:&amp;lt;/u&amp;gt;&lt;/P&gt;&lt;P&gt;Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user&lt;/P&gt;&lt;P&gt;does not have to wait for their completion before continuing the calling dialog. There are three&lt;/P&gt;&lt;P&gt;characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:&lt;/P&gt;&lt;P&gt;When the caller starts an asynchronous RFC, the called server must be available to&lt;/P&gt;&lt;P&gt;accept the request.&lt;/P&gt;&lt;P&gt;The parameters of asynchronous RFCs are not logged to the database, but sent directly&lt;/P&gt;&lt;P&gt;to the server.&lt;/P&gt;&lt;P&gt;Asynchronous RFCs allow the user to carry on an interactive dialog with the remote&lt;/P&gt;&lt;P&gt;system.&lt;/P&gt;&lt;P&gt;The calling program can receive results from the asynchronous RFC.&lt;/P&gt;&lt;P&gt;You can use asynchronous remote function calls whenever you need to establish communication&lt;/P&gt;&lt;P&gt;with a remote system, but do not want to wait for the function&amp;#146;s result before continuing&lt;/P&gt;&lt;P&gt;processing. Asynchronous RFCs can also be sent to the same system. In this case, the system&lt;/P&gt;&lt;P&gt;opens a new session (or window) and allows you to switch back and forth between the calling&lt;/P&gt;&lt;P&gt;dialog and the called session.&lt;/P&gt;&lt;P&gt;To start a remote function call asynchronously, use the following syntax:&lt;/P&gt;&lt;P&gt;CALL FUNCTION RemoteFunction STARTING NEW TASK taskname&lt;/P&gt;&lt;P&gt;Destination ...&lt;/P&gt;&lt;P&gt;EXPORTING...&lt;/P&gt;&lt;P&gt;TABLES ...&lt;/P&gt;&lt;P&gt;EXCEPTIONS...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Reshma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 06:48:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547384#M579570</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T06:48:01Z</dc:date>
    </item>
    <item>
      <title>Re: rfc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547385#M579571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RFC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Remote Function Call:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RFCs are requests that an SAP component sends to invoke functions on remote systems, or calls that remote systems initiate to invoke functions on an SAP component.A process that can accept RFCs from SAP components. This allows SAP components to access functions in external systems. In SAP BC terminology, the process is called a Listener. Listeners are one or more threads on SAP Business Connector that wait for incoming requests from SAP components. Listeners are named and register with an SAP gateway to indicate that they are ready to accept requests. Listeners can accept RFC or tRFC requests.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transactional RFC:&lt;/P&gt;&lt;P&gt;If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.&lt;/P&gt;&lt;P&gt;To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Queued RFC:&lt;/P&gt;&lt;P&gt;When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RFCs manage the communication process, parameter transfer and error handling.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a look at this link.&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE2/BCFESDE2.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please go through the following link. You will get good info on RFC &amp;amp; its types.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694" target="test_blank"&gt;https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check out the following link it might help you&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/de/data/pdf/BCFESDE2/BCFESDE2.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/de/data/pdf/BCFESDE2/BCFESDE2.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/22/0424ba488911d189490000e829fbbd/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/22/0424ba488911d189490000e829fbbd/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Priyanka.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 06:53:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547385#M579571</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T06:53:18Z</dc:date>
    </item>
    <item>
      <title>Re: rfc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547386#M579572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check with the following links&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_46c/helpdata/en/22/0424ce488911d189490000e829fbbd/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_46c/helpdata/en/22/0424ce488911d189490000e829fbbd/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.planetsap.com/RFC.htm" target="test_blank"&gt;http://www.planetsap.com/RFC.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm" target="test_blank"&gt;http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;dinesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 06:55:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547386#M579572</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T06:55:22Z</dc:date>
    </item>
    <item>
      <title>Re: rfc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547387#M579573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;    RFC (remote function call) is a call to a function module running in a different system.Programmatically ,you can call the RFC enabled function module&lt;/P&gt;&lt;P&gt;using the "CALL FUNCTION Destination" statement.&lt;/P&gt;&lt;P&gt;There are 3 types of RFC's.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.Synchronous RFC: With this call,the calling program stops processing until the control is returned back to the called function&lt;/P&gt;&lt;P&gt;2.Transactional RFC (tRFC)&lt;/P&gt;&lt;P&gt;Transactional RFC (known as asynchronous RFC) is an asynchronous communication method that executes the called function module in the RFC server only once. &lt;/P&gt;&lt;P&gt;3.Queued RFC: 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). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to enable the function module to RFC from se37 transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 06:58:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547387#M579573</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T06:58:24Z</dc:date>
    </item>
    <item>
      <title>Re: rfc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547388#M579574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;CALL FUNCTION &amp;#150; RFC&amp;lt;/b&amp;gt;&amp;amp;#61656;	A remote function call is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system (as a remote call).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	RFC consists of two interfaces : A calling interface for ABAP Programs and a calling interface for Non-SAP programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	Any ABAP program can call a remote function using the CALL FUNCTION...DESTINATION statement. The DESTINATION parameter tells the SAP System that the called function runs in a system other than the caller's. &lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	You can use the CALL FUNCTION statement to call remote functions by including an additional DESTINATION clause.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	&amp;lt;b&amp;gt;CALL FUNCTION &amp;#145;remotefunction&amp;#146;&lt;/P&gt;&lt;P&gt;    	 DESTINATION dest    &lt;/P&gt;&lt;P&gt;    	 EXPORTING f1 = &lt;/P&gt;&lt;P&gt;	 IMPORTING  f2 = &lt;/P&gt;&lt;P&gt;	 TABLES t1 = &lt;/P&gt;&lt;P&gt;	 EXCEPTIONS &lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	Calling remote functions locally :-&lt;/P&gt;&lt;P&gt;          ( i.e. call a remote function within the same system )&lt;/P&gt;&lt;P&gt;            The two options to do this are &amp;#150;&lt;/P&gt;&lt;P&gt;&amp;#149;	CALL FUNCTION...DESTINATION = 'NONE'&lt;/P&gt;&lt;P&gt;&amp;#149;	CALL FUNCTION... [no DESTINATION used]&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;The remote function can invoke its own caller (if the caller is itself a function module), or any function module loaded with the caller.&lt;/P&gt;&lt;P&gt;    You can trigger this call-back mechanism   using &lt;/P&gt;&lt;P&gt;    CALL FUNCTION... DESTINATION 'BACK&amp;#145;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Types of RFC&amp;#146;s&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	&amp;lt;b&amp;gt;Synchronous RFC&amp;lt;/b&amp;gt; &amp;#150; The calling program continues the execution only after the called function is complete.&lt;/P&gt;&lt;P&gt;       SYNTAX: CALL FUNCTION func DESTINATION dest &lt;/P&gt;&lt;P&gt;                     parameter_list. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	&amp;lt;b&amp;gt;Asynchronous RFC&amp;lt;/b&amp;gt; - The calling program continues the execution without waiting for return from the called function.&lt;/P&gt;&lt;P&gt;       SYNTAX&lt;/P&gt;&lt;P&gt;       Eg: CALL FUNCTION &amp;#145;remotefunction&amp;#146; STARTING NEW TASK                                 &amp;#145;taskname&amp;#146;.&lt;/P&gt;&lt;P&gt;EXAMPLE: T_RFC in ECCHYD&lt;/P&gt;&lt;P&gt;REPORT calltransaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ABAP4_CALL_TRANSACTION' STARTING NEW TASK 'TEST'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    tcode                   = 'SM59'&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    call_transaction_denied = 1&lt;/P&gt;&lt;P&gt;    tcode_invalid           = 2&lt;/P&gt;&lt;P&gt;    OTHERS                  = 3.&lt;/P&gt;&lt;P&gt;IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE sy-subrc.&lt;/P&gt;&lt;P&gt;  WHEN 2.&lt;/P&gt;&lt;P&gt;    WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; ' transaction doesnot exist'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;amp;#61656;	Transactional RFC&amp;lt;/b&amp;gt; &amp;amp;#61558;	This type of RFC was renamed from asynchronous to transactional RFC, because asynchronous RFC has another meaning in R/3 Systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	The called function module is executed exactly once in the RFC server system. Each function call is seen as a transaction in the target system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	Transactional RFCs use the suffix IN BACKGROUND TASK. The remote system need not be available at the time when the RFC client program is executing a tRFC. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	The tRFC component stores the called RFC function together with the corresponding data in the R/3 database, including a unique transaction identifier (TID).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	If a call is sent, and the receiving system is down, the call remains in the local queue until a later time. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	The system logs the remote call request in the database tables ARFCSSTATE and ARFCSDATA with all of its parameter values. You can display the log file using transaction SM58. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	When the calling program reaches a COMMIT WORK, the remote call is forwarded to the requested system for execution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	Transactional RFC requests are transferred, with parameter data in byte-stream form, using TCP/IP or X400.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	LUW's are identified by transaction ID's that are unique world-wide. The transaction ID can be determined from an ABAP program by calling function module  ID_OF_BACKGROUNDTASK. (You must call this function after the first asynchronous CALL, and before the related COMMIT WORK.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	The system function module ARFC_DEST_SHIP transports the data to the target system and the function module ARFC_EXECUTE executes the stored function calls. If an error or an exception occurs during one of the calls, all the database operations started by the preceding calls are rolled back and an appropriate error message is written to the file ARFCSSTATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	Once you have identified the ID of the LUW, you can use the function module STATUS_OF_BACKGROUNDTASK to determine the status of the transactional RFC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	Call transaction SM58 (Tools _ Administration _ Monitoring _ Transactional RFC). This tool lists only those transactonal RFCs that could not be carried out successfully or that had to be planned as batch jobs. The list includes the LUW ID and an error message. Error messages displayed in SM58 are taken from the target system. To display the text of the message, double-click on the message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	If a LUW runs successfully in the target system, the function module ARFC_DEST_CONFIRM is triggered and confirms the successful execution in the target system. Finally, the entries in the Tables ARFCSSTATE and ARFCSDATA are deleted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DISADVANTAGES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	These can reduce performance significantly in both the send and the target&lt;/P&gt;&lt;P&gt;       systems. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;#61558;	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.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SYNTAX&lt;/P&gt;&lt;P&gt;       Eg :    CALL FUNCTION &amp;#145;remotefunction&amp;#146; IN BACKGROUND TASK &lt;/P&gt;&lt;P&gt;      CALL FUNCTION func IN BACKGROUND UNIT &lt;/P&gt;&lt;P&gt;                     parameter_list. &lt;/P&gt;&lt;P&gt;&amp;amp;#61656;	The field &amp;#145;dest&amp;#146; can be either a literal or a variable. Logical destinations are defined in the RFCDES table via transaction SM59 or via the menu path: Tools -&amp;gt;Administration,Administration-&amp;gt;Network-&amp;gt;RFC destinations.&lt;/P&gt;&lt;P&gt;SAMPLE PROGRAM&lt;/P&gt;&lt;P&gt;RSTRFCT0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;ravish&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;plz dont forget to reward points if helpful&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Jul 2007 08:25:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/rfc/m-p/2547388#M579574</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-17T08:25:57Z</dc:date>
    </item>
  </channel>
</rss>

