Whatis use of rfc

1.what is use of rfc in sap.
2.can u tell about asap phases in sap hr for implementation

RFC: In all SAP systems, CALL FUNCTION represents an integral part of the ABAP language. This statement executes a function (a function module) in the same system.
REMOTE FUNCTION CALL (RFC) is an extension of CALL FUNCTION in a distributed environment. Existing function modules can be executed using an RFC from a remote system. This is done by adding a DESTINATION clause to the CALL FUNCTION statement. The destination parameter displays an entry in the RFCDES table (which is defined with transaction SM59). This entry contains all necessary parameters to connect to and log in the destination system. 
You can use RFC between two SAP systems.

Similar Messages

  • What is adaptive RFC and How to Use it

    hi friends
    what is the adaptive RFC
    what is the use of it
    how we can use it
    explain me anyone
    and send pdf also
    thanks
    ramu.

    Hi,
    To give u a brief idea.
    rfcs are used to call data from the backend that is R/3.We use the Bapis from the R/3 system which have some pre defined functionality and data is populated in the correspoding ui elements in webdynpro interface.earlier Rfcs were used but now we have adaptive rfcs in which
    if there are changes in the backend(R/3 system) such as changes in the datatype,structures,fields would be automatically be refllected in the rfcs and there would be no errors in web dyn pro even if there is  a change in the back end
    to be more specific folow this link
    http://help.sap.com/saphelp_nw70/helpdata/EN/41/38bc8f813719488ddc9d9b21251ec3/frameset.htm
    and try out this application
    to use the rfcs firstly check out this document for configurations
    Important Configurations for Calling ABAP Function from Java Web Dynpro Application
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e07753b9-fa0c-2a10-64a8-c6754c45396e
    heres the application.
    Creating a Web Dynpro Application Accessing ABAP Functions
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/355b9c90-0201-0010-d2a8-89fece426526
    regards
    Nikhil Tapkir

  • What is RFC , use of RFC

    plz send me reply

    Hi Rajyalakshmi,
    Check this info.
    These are the types of RFC
    Asynchronous RFC (aRFC)
    Synchronous RFC (sRFC)
    Transactional RFC (tRFC)
    Queued RFC (qRFC)
    Parallel RFC (pRFC)
    Asynchronous RFC :
    This is used when you need to increase the performance of ABAP program by having system call more than one function module in parallel than forcing the program to wait for results .
    Transactional RFC
    This let you group one or more function module call together o tRFC LUW and ensure that fucnction module within LUW is called once . In contrast to aRFC and sRFC the tRFC belonging to tRFC LUW are executed in order .
    tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are
    1.Executed in the order in which they are called
    2.Executed in the same program context in the target system
    3.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
    Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:
    • When the caller starts an asynchronous RFC, the called server must be available to accept the request.
    The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.
    • Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.
    • The calling program can receive results from the asynchronous RFC.
    You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (or window). You can then switch back and for between the calling dialog and the called session
    RECEIVE RESULTS FROM FUNCTION Remotefunction is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:
    IMPORTING
    TABLES
    EXCEPTIONS
    The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.
    Transactional RFC (tRFC) and Queued RFC (qRFC).
    tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).
    Transactional RFC:
    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.
    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.
    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:
    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
    Therefore, Queued RFC is better than Transactional RFC.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • XI scenarios using Sender RFC Adapter

    Hi Forum,
    I am eager to know what kind of XI scenarios use sender RFC Adapter, can u give an example,
    does this mean........executing a RFC in a R/3 system and the result of the execution goes to XI.....or,
    does this means, like a sender JDBC Adpter, from XI, triggering execution of a RFC on a R/3, and getting back the result into XI............
    can i have a step by step blog to create such a scenario....
    thanks and regards

    Hi Sudeep,
    Sorry for late reply.
    Yes the 2nd reply was for receiver RFC.
    1. As i mentioned To configure Sender RFC you need TCP\IP connection. in that connection you will use the option registered server program and will mention a program ID there.
    2. Sudeep just remember, please configure RFC sender on XI side first and give a Program ID there, gateway service, host and login of your R3 system. Program id can be any string your name also. and please dont forget to activate the channel before going to R3 side.
    3. Then configure RFC in R3 side, and mention that same program id. mention your gateway host as R3 name or IP and you can get the gateway service from Tcode smgw. it must be something like smgw<xx>.
    and for ur information the program id is nothing but an identity on which basis the R3 system will search that which server object is active using that program id.
    4. when you will write a report to execute that RFC in background,  use Commit work as last statement.
    Please let me know if you want any further information.
    Rewrds if found helpful,
    Regrds,
    Alok

  • How to Use synchronous RFC calls during test run for remote accesses

    there is a Setting for the usage of RFC accesses from a tested system
    using eCATT.
    'X' - Use asynchronous RFC calls during test run for remote accesses
    ' ' - Use synchronous RFC calls during test run for remote accesses
    I developed an eCATT as following :
      SAPGUI ( SAPGUI_1 , Target_system_1 ).
      SAPGUI ( SAPGUI_2 , Target_system_2 ).
    My question is how to run the eCATT in a synchronous RFC calls
    PS: I do not want to change the Target_system to the same one in the
    above script of ecatt.Because I need to run it in 2 different Target
    systems sometime.
    for example, I give a Target_system_3 when run this eCATT
    I want the SAPGUI_1 and SAPGUI_2 run the Target_system_3 but not the
    Target_system_1 or Target_system_2 .
    Could you please tell me how to make it without the changes in script?
    Edited by: Weitong Liu on Mar 24, 2011 9:44 AM

    Hi Liu,
    Weitong Liu wrote:
    > ' ' - Use synchronous RFC calls during test run for remote accesses
    This is the standard option value. Asynchronous are not the standard way and used only for very special purposes.
    Weitong Liu wrote:
    > I developed an eCATT as following :
    >   SAPGUI ( SAPGUI_1 , Target_system_1 ).
    >   SAPGUI ( SAPGUI_2 , Target_system_2 ).
    > My question is how to run the eCATT in a synchronous RFC calls
    The commands will be executed in sequence. So each call will be synchronously replayed against TS1 and TS2.
    What is you issue with this standard procedure?
    Kind regards,
    Christoph

  • Inconsistency of results using adaptive RFC

    I'm calling a function from a R/3 System using Adaptive RFC and i'm having different results from my webdynpro application that the ones that i'm having in the R/3.
    If someone could tell me why this happen I will appreciate.
    Thanks.

    Hi Frank,
    Iin another opportunity I had tried to do the same procedure you are trying and not getting hit. I ended up using the parameter "sap-wd-client = WmlClient" in the url of the application ... What makes this return in xml format and can be accessed like a Web Service. It really is not a proper use for a Web Dynpro application, but with some customization finally meet demand.
    Regards,
    Angelo

  • Can we use custom RFC in creating models in Visual composer??

    Dear Experts,
    Can we use custom RFC in creating models in Visual composer??
    If yes, kindly provide some documents or links which would guide me how to achieve it.
    Warm Regards
    Upendra Agrawal

    Hi,
    Yes,you can do it.
    Configure the rfc and use like others Standard BAPI procedure.
    [https://www.sdn.sap.com/irj/scn/wiki?path=/display/vc/connectivity]
    Regards,
    Govindu

  • How to use two RFC models in one Data Source for a Interactive Form UI Elem

    Hi
    I want to use two RFC models (two Function Modules from a SAP Backend system) in one context node of a View Controller in order to pass it as the data source to a Interactive Form UI element. Can I use the data binding mechanism directly or have I to copy the data into a Value Node within the view controller.
    Thanks for helping
    René Morel
    SAP (Schweiz) AG

    Rene,
    You can create a local context node in component controller and copy the data from both the RFC's to this node, then bind it to the view controller. Then you can make this view context node as the datasource of the interactive form.
    Regards,
    Anand

  • Parallelization is not happening using asychnronous RFC in a function module

    A BW data source ZTEST
    has been created based on a function module ZTEST_FM to pull the
    data into BW system from R/3.
    (Have checked the parellel jobs running in SM66 transaction).
    Inside the function module, an RFC function
    module ZTEST_RFC1 has been called asynchronously to implement the parallelization
    to improve the data extraction time into BW system.
    Note: In this scenario asynchronous
    RFC is used to implement the parallel processing.
    The logic in the function module is as follows.
    Function module ZTEST_FM Logic:
    Fetch data from HRP1000 table into an internal table IT_HRP1000 for
    OTYPE = ‘TN’.
    Loop at IT_HRP1000 into work area (WA).
    Call the RFC asynchronously by passing OBJID,OTYPE and ENDDA,
    Calculate SOBID which is the required output field from the RFC
    function module.
    Populate the results into final internal table E_T_DATA.
    The output structure contains the following fields.
    OBJID
    BEGDA
    ENDDA
    SOBID
    Could you please give us some suggestions, to implement the parellel processing using asychronous RFC in this scenario.
    Would appreciate your help.

    Your RFC call looks correct. For collecting the result you will need to code the callback routine Write_E_T_data. Inside the callback you can use the statement
    RECEIVE RESULTS FROM FUNCTION ZFHLS_EX_TNM_ACADEMY_RFC1 IMPORTING <parameter list>
    to retrieve the calculated result. For the declaration of the callback routine I recommend
    FORM Write_E_T_data USING iv_name TYPE c.
    The parameter iv_name containing the name of the RFC task turned out to be mandatory in my tests.

  • Problem in displaying a field in webdynpro using Adaptive RFC model

    HI,
    I created a webdynpro application using adaptive RFC model and i have a problem in displaying one of the output fields.
    When i execute the function module it is giving the exact value for my output field in this case telephone number (of type STEXT which is char with length 40).But when i am trying to display that telephone number in webdynpro application it is taking only first 4 digits.
    i deleted the model and recreated it still it doesnot work.
    please let me know how to resolve it.
    points will be awarded for sure
    Bala

    Hi Bala,
    Whenever you reimport the model server restart is necessary otherwise the changes will not get reflected. You will get an error when you deploy the application.There is no go around except restarting the server as the meta data gets cached in the server as long as the server is runnig.So, Once you restart the server the cache will be cleared.
    Check once again whether you are fetching data from correct BAPI field. Still problem persist try debugging.
    Regards, Suresh KB

  • How to set the tables parameter to a BAPI using adaptive RFC model

    Hi,
    I have a BAPI ZBAPI that has a tables parameter ZPernr of type ZTable with two elements pernr and name.
    I used adaptive RFC model and created model classes for the BAPI.
    My question how do i set list of pernr and name to the tables parameter in the webdynpro for java.
    I have the following methods available
    ZBAPI input = new ZBAPI();
    1.ZTable table = new ZTable();
    table.setPernr(pernr);
    table.setname(name);
    input.addZPernr(table);
    how do i set the table parameter for multiple pernr and name
    2.
    add all the pernr and name to list and set that list to input in the following way
    input.setZPernr(list) and list of typecom.sap.aii.proxy.framework.core. AbstractList
    out of two methods mentioned which one is correct.
    Please let me know the solution
    Thanks
    Bala Duvvuri

    Hi Bala,
                In your code:
    List pernrList = new ArrayList();
    pernrList  should be declared as the  type of class HROBJECT   ( The structure name in the model  e.g. the node PERFWARN type is Zhrecmfm_002_Perfrat_Warning_Input )
    Try this:
    HROBJECT  pernrList = new HROBJECT();
    pernrList.setPernr(pernr);
    input.setPernr_List(pernrList);
    // call BAPI execute method
    If you want to pass list of pernrs, you can pass in alternate way
    IPrivate<viewname>.I<nodeame>Node prNode = wdContext.node<node>();
    IPrivate<viewname>.I<nodeame>Element prEle;
    for (int i = 0; i < table.size(); i++) {
    HROBJECT  pernrList = new HROBJECT();
    pernrList.setPernr(pernr); // Set the pernr from current record
    prEle = prNode.create<nodeame>Element(pernrList);
    prNode.addElement(prEle);     
    // call BAPI execute method
    Once I execute the BAPI how do i iterate thru second table parameter PERNR_PERFRAT to get pernr and performance rating text
    Say your node name is  PERNR_PERFRAT
    for (int i = 0; i < wdContext.nodePERNR_PERFRAT().size(); i++) {
    wdContext.nodePERNR_PERFRAT().getPERNR_PERFRATElementAt(i).getPernr();
    wdContext.nodePERNR_PERFRAT().getPERNR_PERFRATElementAt(i).getPerfrat();
    Regards,
    Siva

  • What is a data group and what use is it for?

    CAn some one explain me the concept of data group in EBS. What is it used for ? How does it enhance the security of Oracle Apps data ?
    I know that Data groups are used while defining a responsibility and are meant for data security purpose. But I want to know the conceptual details behind it.
    Thanks.

    Ok.. so with a data group we can have data security at Oracle schema level. I hope my understanding is correct.
    I can create a data base user called Sinha and create a data group with this user/schema.
    Now when I create a data group with this schema and assign it to a responsibility, which in turn is assigned to a user, he/she will have access only to those objects which are present in the schema called Sinha, right ?
    Now as all the objects in Oracle Apps are created under the Apps schema, what use this new data group (and schema) is of ?

  • Of what use is SwingUtilities.invokeAndWait?

    hi,
    i have a GUI that processes a huge amount of data on each click of the button. By huge, i mean it processes
    packs of about 1000 bytes each, but at any given time there could be 25,000,000 or more of them. Hence,
    my application is very sensitive to slight shifts in processing speeds for each claim. An extra half a second processing any of these can lead to unacceptable processing times. 2 or 3 hours is OK, but 2 or 3 days is not. Anyways, each time I click on the button to process the process starts, and the GUI stops responding. I have been researching how to get this to stop and I, of course, came across the SwingUtilities.invokeAndWait() method. However, if I can't call it from the EventDispatch thread, of what use is it? I mean, the only time I need it is when a Button is pressed and I start processing data. Is there anything I can do to satisfy my need to maintain speed and a decent looking GUI? I tried calling this.paintAll(this.getGraphics()) a bunch of times, but that makes my screen flash and it seems to take forever and slow my app down way too much. Any ideas Swing gurus? thanks

    Ok, so I took one of my shorter processes from my GUI and I put that into its own class that extends thread and I launched it from the eventDispatch thread (the actionPerformed function, i assume they are the same thing) however, my GUI is still not updating. What gives? I did launch a thread, so it seems like my GUI should be responsive. I know the thread was launched because it responds properly, but I still can't get the GUI part to work. Here is a sample of the code:
    //here is how i call this...
         else if(E.getSource() == CheckRecordLengthButton){
               CheckForRecordLength CFRL = new CheckForRecordLength(ReferenceFileField.getText(),
                                                                                    RFW.getRecordLength(), CheckRecordLengthButton);
           }//end else
    //here is the actual class declaration...
    class CheckForRecordLength extends Thread{
         String filepath;
         int RL;
         JButton Button;
         public CheckForRecordLength(String Filepath,int rL,JButton button){
                           //do constructor stuff...
         public void run(){
              try {
                              //...do some useful work...
              catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              }//end catch
         }//end function run
    } //end class defso, is there a way to launch this thread and still get the GUI to update? I REALLY appreciate the help....

  • V.02 use different RFC connection

    Hello all,
    We have a situation that when a user executes V.02 in R3 and then clicks on an incomplete Sales Document it jumps to the SCM system to do an APO Availability Check.  The problem is that it uses a RFC connection with a system user and when you are in the SCM system you've got full access.  Is there a way to force V.02 to use a specific RFC connection to jump to SCM so I can set that RFC connection to use current user and log into SCM as the same user that's logged into R3?
    Thanks,
    Tom

    > 2.2  Yes, I would like to setup a new RFC connection to SCM and set as a trusted RFC connection with current user but how do I force V.02 to use that specific RFC connection and not one that used for job...extractions..etc that has the system user in it?
    There must be config which is calling the RFC function using a destination to the SCM system. Normally I just debug the call and look to see where the rfcdes value is coming from. I have also seen it hardcoded on a few occations using sy-sysid - also a form of config, even if a rather hollow one...
    Personally I would try to group them into usage cases, and not necessarily "modules" or anything like that.
    > 1. Dont want to restrict the RFC user as it's used for jobs, extractions...etc.
    This is a nice example.
    Cheers,
    Julius

  • Use of RFC destination "DEST" of type SNA/CPI-C connections

    Hi ,
    Please tell me the use of RFC destination "DEST" of type SNA/CPI-C connections in PI system .
    Connection test for this RFC is failing with message "Error when opening RFC connection" . whether it is normal ?
    Regards ,
    Hanumant

    Dear Hanumant Anarase,
    Have you find any solution for your problem,
    Because i am facing the same issue, as you mentioned above.
    Regards,
    Furqan

Maybe you are looking for

  • How to quickly assess the amount of free space on a hard drive or memory stick?

    Before Mavericks there used to be a little reading in the bottom of a finder window telling you how much space was available in whatever drive you were currently viewing, now i have to click get info every time, is there a quicker way?

  • F5 and Cisco ISE Deployment Guide

    Its out! For those of you have been asking and looking for this document as much as I have, it looks like Craig Hyps has delivered! Thank Craig! http://www.cisco.com/c/dam/en/us/td/docs/security/ise/how_to/HowTo-95-Cisco_and_F5_Deployment_Guide-ISE_L

  • SMARTFORM CODE

    Hi all, I've never done sartor till now. can any of you send me the code as to how to start with smartforms in real time scenarious. i ve been following this way. please suggest me whether my approch is correct.Is there any other special conditions t

  • Item credit price changed in Sales order - credit management.

    Dear Friends, In Sale order item change log shows ' item credit price changed' . Item credit price  comes from 'Total ' value line in pricing which is the sum or prices and taxes. But where as none of prices and taxes that contribute to this total ha

  • Acrobat XI will not execute on my Win8 box

    I have installed Acrobat Xi through the CC on my computer and at first when I brought up Acrobat  I received the following error: Acrobat failed to connect to a DDE server. How can I fix this?