Regarding: RFC Function Mod

Hi all,
Can any body Tell me whats the Difference between Synchroner RFC and Asynchroner
All i KNow is that
Synchroner RFC
CALL FUNCTION func DESTINATION dest
                     parameter_list.
Asynchroner RFC
2. CALL FUNCTION func STARTING NEW TASK task
                [DESTINATION {dest|{IN GROUP {group|DEFAULT}}}]
                parameter_list
                [{PERFORMING subr}|{CALLING meth} ON END OF TASK].
Can any body Please explain ...
Thanks
Srinivas

hi,
A remote function call (RFC) is the call of a function module that runs in a different system to the calling program. Although it is also possible to call a function module in the same system as an RFC, normally RFCs are used when the caller and the called function module run in the same system.
In the SAP system, these functions are provided by the RFC interface system. The RFC interface system enables function calls between two SAP systems, or between an SAP system and an external system.
The RFC- interface system is made up of the following interfaces:
• Calling interface for ABAP programs
• Each ABAP program can call a remote function module using the command CALL FUNCTION...DESTINATION. The parameter DESTINATION informs the SAP system that the called function module runs in a different system to the calling system. RFC communication with the remote system takes place as a part of the CALL FUNCTION command.
• RFC function modules in an SAP system must be proper function modules and must be registered in the SAP system as remote.
• If the calling program and the called program are both ABAP programs, the RFC interface provides both communication partners. The calling program can be any ABAP program, and the called program must be a function module that is registered as remote.
• For more detailed information on calling function modules that are registered as remote, see Calling RFC Function Modules in ABAP.
• For more information on writing function modules that you want to call remotely, see Writing RFC Function Modules in ABAP.
• Interfaces for calling non-ABAP programs
If either the calling program or the called partner is not an SAP program, this program must be programmed in such a way that it can play the role of the other partner in RFC communication.
To support you when implementing RFC partner programs in non-SAP systems, read: Components of the SAP Communication Technology
RFC-supported and GUI-supported interfaces can be used by external programs to call function modules in SAP systems, and execute them in these systems. Likewise, ABAP programs can also use these interfaces to use functions supplied by external programs.
These are the types of RFC :
Asynchronous RFC (aRFC)
Synchronous RFC (sRFC)
Transactional RFC (tRFC)
Queued RFC (qRFC)
Parallel RFC (pRFC)
RFC:
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.
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 .
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:
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.
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.
For More Info,
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f078394a-4469-2910-c4bf-853c75674694

Similar Messages

  • How to debug a RFC function mod in background?

    Hi all,
    I am uploading a file thru a portal application & the output will go to a mail box. Everything happens in background.
    First the portal application will call a XI devlopment & then the data processed will call a RFC fun mod and the output is going to a mailbox.
    In the function modules, I am getting the errors. Since it is a protal application & it runs in backgrnd, I am unable debug the fun modules. I tried both external break point & internal breakpoints. But I am unable to debug the program.
    can anyone help me how to keep external breakpoints & debug it in background?
    Thanks,
    Vijay.

    HI ,
    you can do  Debugging  , what you need to do is  need not  use the login as Public  . there will be  another   group server  .
    i am sure you are  using  PUBLIC   in this  only the  front  end   will work   means  only   inside the sap objects will be  stopped  . for  Portal  other thigs  you need to take  other gropu server  .
    Your Basis Knows  it  well ....
    Normally , in SAP   You will have PUBLIC  ,SPACE, MESSAGE ,dialog  servers.
    Take the last  one  which will have   all  facilities  ,so that  it will stop  in the  break Points which  you kept.
    it means the Dialog  proces will take  care of the  screens and  also takes  Break Point  and  stops  it  in sap  .
    Reward  points  if it is usefull....
    Girish

  • Regarding RFC function module

    Hi ,
    Our requirement is like this , we  have to send the material long text from r/3 to srm system
    for this we have developed a rfc function module with srm system as destination  .But when we are using this in the program while rfc funtion module is invoked that time it is going to srm system and asking for credentials. how can i supress this .
    Thanks in advance.

    Hello;
    In your RFC destination, you can use a default user.
    If you want to use the current user, go check
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm</a>
    It explains how to setup up trusted/trusting system and the use of SSO.
    Regards

  • Regarding RFC Function module in Multimapping

    Hi All
    I am trying to use RFC function module in Multimapping at target side.I want to call RFC Function based on some condition, if condition fails i dont want to call the Function Module. So i need to change the occurance of target RFC Message to 0...1 When
    i try to change occurance in messages tab, it is displaying message that RFC Function module not found. When i change 
    occurance to 1..1, then it is showing RFC structure in mapping properly. I am suspecting why it is behaving like this.
    Can we use RFC Function Module in Multimapping??. Please share ur experience on this.
    Thanks,
    Balu

    Hi,
      Can any body cofirm how below sender message will behave in Interface Determination,
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_FILE1 xmlns:ns0="http://ctrlanddataconceptsinglereceiver">
    <Structure>  
    <***>male</***>
       <ID>12</ID>
       <Desig>cons</Desig>
       <Sal>1000</Sal>
    </Structure>
    <Structure>  
    <***>female</***>
       <ID>12</ID>
       <Desig>cons</Desig>
       <Sal>1000</Sal>
    </Structure>
    </ns0:MT_FILE1>
    In my interface determination, i will add 2 inbound interfaces and two mappings.
    For first interface i will check condition like if Structure/***=male then it has to goto one receiver agreement
    For second interface i will check condition like if Structure/***=female, then it has to goto another receiver agreement.    
    But in my sender payload *** is male and female also. Will it execute 2 receiver agreements???.
    My openion is it will go through 2 interface mappings and it will execute 2 receiver agreements.
    Thanks,
    Balu.

  • Regarding rfc functional module

    hi,
       can any one tell me how the rfc FM triggers and how it works?????how to test??
    thanks

    Hi
    Refer to this link:
    http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/mysap4/mysap4104.htm
    Regards,
    K.Tharani

  • ABAP RFC Function to merger table data?

    Hi All,
    Has anybody tried to merger that from multiple table in 1 table using ABAP RFC function module.
    I have to merger 3 table into 1 which I am not able to do using Combine or Union operater.
    One solution suggested in the below thread by Marcel was to use ABAP RFC function mod..I dont know how to do that.
    If anybody has tried please share.
    Union operator between tables
    Thanks,
    Murtuza.

    Thank you for the reply,
    I got the solution without ABAP code.
    I created a structure of table (Key Figures) in Column of query designer and then use that structure in VC to output table.
    There I had used formula for each KeyFigures using IF ...something like this:-
    NVAL(IF(@Key_Figures=="Prior Sales",0,IF(@Key_Figures=="Price",NVAL(IF(#ID[ACA257]@Price_Impact_value>=0,#ID[ACA257]@Prior_Sales_Value,#ID[ACA257]@Prior_Sales_Value+#ID[ACA257]@Price_Impact_value)),IF(@Key_Figures=="FX",#ID[ACA257]@GAP_3,IF(@Key_Figures=="Volume",#ID[ACA257]@GAP_4,IF(@Key_Figures=="Lost Mix",#ID[ACA257]@GAP_5_6,IF(@Key_Figures=="Gain Mix",#ID[ACA257]@GAP_5_6,IF(@Key_Figures=="Current Sales",0,123))))))))
    This way I got the output table as required.
    Pls see this thread for the requirement.
    link: Table with Formula Values as output table?

  • RFC Function Module behaves differently in foreground and background

    Hi,
    I have RFC function module which works well when executed in debugg mode where as in normal mode it doesnt work as the time stamp is not changed and the record cannot be created with the same timestamp.
    Can anybody suggest any solution on how to change the current timestamp when still in the same LUW.
    Regards,
    Roberts.

    Hi,
    Use:
    T1 = SY-UZEIT.
    GET TIME.
    T2 = SY-UZEIT.
    T1 will be different from T2
    Best regards,
    Leandro Mengue

  • Regarding  RFC [ URGENT ]

    Hello Experts
    I am updating a table in SCM server with the data from R/3 tables. I am using RFC with destination.
    I created an FM[RFC] in R/3
    I created a program in SCM, in that i am calling that RFC.
    I created a dummy RFC in SCM with the same paramters.
    When i am executing the FM in R/3 i could able to fetch the data as output including some return value.
    But when i am executing the program which is calling the RFC i am not getting the data.
    But i am able to get the return value in R/3 FM[RFC]*
    So i am sure that logical destination name is working
    [ call  'FM' destination 'dest name' ].
    My problem is i am not getting the data to the SCM server eventhogh i could able to get data in R/3 and I could able to connect to remote server.
    *Guys Kindly let me know the solution for this it's a bit urgent
    thanks in advance
    Pramod

    Hi Pramod,
    In the RFC function place the code as infinate loop. like
    Data : x type c.
    do.
    if not x is initial.
    exit.
    endif.
    enddo.
    when you execute this the process will stop in this loop. Go to SM50 and select the process in debug mode. And in the debug mode you can change the value of x. then you can continue from that step in debug mode and you can trace.
    Regards
    Ganesh

  • RFC Function Modules

    Hi Friends,
    Is there any transaction to see all the RFC Function Modules.
    How can we identify all the RFC Function Modules in SAP System.
    Any Transaction / Report or any Customizing Path
    Regards:
    Sridhar

    hI,
    You can get it from TFDIR table and specify mode as 'R'.
    Regards,
    Nagaraj

  • Using RFC Function Module to send data to NON SAP Application

    Hi friends,
    Please guide me how can I send data from SAP -> Dotnet Applcation using Dotnet Connector through RFC function module from SAP side. In my scenerio, I Run Z transaction  to executte RFC function module which create some data to pass to dotnet connector.
    Regards,
    Rajesh Kumar

    Hi,
    You can make use of Dotnet connector to read the content of SAP RFC .. (eaiest of all)
    The RFC can be executed using connector , and can read the data simultaneously.. u need to code in dotnet for this..
    else create a webservice and read it from dot net ..
    Regards
    Renu Gusain
    Edited by: Renu Gusain on Jan 25, 2010 12:55 PM

  • How to debug a RFC function module remotely from another R/3 system?

    Hi experts,
       I have RFC function module in one R/3 system. I am calling this from another R/3 system that is cross apps (Xapps).
       This function module is Synchronous.
      Is it possible to debug this function module from cross apps?
      Can somebody give me the steps?
    Thanks & Regards
    Gopal

    Hi Shree,
       Can you explain it bit more?
       Do I have to call the function  module with "IN BACKGROUND TASK"?
       Or is it that I have to just put external breakpoint in the function module?
       Please help
    Thanks
    Gopa

  • Is it possible to call custom designed RFC function module, apart from BAPI

    Hi Friends,
    1.     Is it possible to call custom designed RFC function module, apart from BAPI.
    2.     Why we call it Adaptive RFC layer, Since every time the JCO layer updated with SAP, Why can’t be dynamic.
    Thanx for Ur time.
    Cheers,
    Sam

    Also check <a href="http://help.sap.com/saphelp_nw04/helpdata/en/41/38bc8f813719488ddc9d9b21251ec3/frameset.htm">here</a> for more information on aRFC. Here you can find why it is called adaptive.
    Regards,
    Christophe

  • Problem while calling an RFC Function Module in Background

    Hello,
    I have created a RFC function module for reading data from an external DB system. The FM calls an external RFC program (coded in C++ using RFC SDK), which delivers the required data. This external program is maintainged as an TCP RFC Connection in SM59.
    Further I have created a report, that calls the RFC function module to get the data from the external RFC programm.
    My problem is, when I call the report in foreground, everything works OK, the RFC connection works and data can be read from the external program.
    However, when I schedule the report to run in background as a job, the report is stating in the protocoll that there was a problem calling the defined RFC connection (although the connection is working properly at that time).
    More funny is, this particular problem with running in background occurs only in the productive system, in test and development system the report works correctly also while running as a job in background.
    Can you suggest the solution to this problem? Could it be something with authorisations or server settings?
    I will be on holiday for the next 6 weeks, so take your time to answer .
    Regards,
    Dusan.
    Edited by: Julius Bussche on Jan 22, 2009 7:19 PM
    Please read the forum rules about u r g e n t ...

    This is an external RFC server program, not a remote enabled ABAP RFC function module as the others seem to be assuming, right?
    Is it possible that your DEV and QAS systems only have one application server, but the PROD has many and dedicated one(s) for processing low priority background jobs?
    It might be that the target server of your TCP connection is not this BTC instance, and your RFC server is returning the data "locally" - so, into nirvana...
    Just guessing, but might be worth checking.
    Cheers,
    Julius

  • Calling Synchronous RFC Function Module in Background

    Hi all,
    Currently we are working on some requirement where in we have to retrieve data from one system(CRM) and update the same into another system(ECC). We have developed a RFC Function in CRM system and it is being called from ECC system as in synchronous mode via a batch program.
    Now since all sychronous call to a RFC function will be dialog there is a constraint on the runtime which is being set by maximum run time for each dialog work process. So my question is there an option to call an RFC function synchronously in background (background task) so there is no runtime performance.
    The standard TRFC, QRFC calls in background runs asynchronously and so I am trying to check with the SDN world as whether has anyone tried  SRFC(Synchronous) call in background?
    Thanks in advance,
    Jagath

    So my question is there an option to call an RFC function synchronously in background (background task) so there is no runtime performance.
    One solution would be to increase the value of the "time out" parameter defined the CRM system. This i feel is not a fool-proof solution as the run-times cannot be predicted. Check this thread: Re: RFC timeout profile parameter
    For me a better solution would be to implement tRFC call instead of a synchronous call. Any reasons why you don't want to implement a tRFC ?
    BR,
    Suhas
    Edited by: Suhas Saha on Jun 26, 2010 8:52 AM

  • Problem with RFC function module from R/3 to CRM

    Hi, i have a RFC function module created in R/3, this is the code:
    function Z_CRM_PRODUCTO_INTERLOCUTOR.
    ""Interfase local
    *"  IMPORTING
    *"     VALUE(GV_VKORG) TYPE  VKORG
    *"     VALUE(GV_VTWEG) TYPE  VTWEG
    *"     VALUE(GV_MATNR) TYPE  MATNR
    *"     VALUE(GV_KUNNR) TYPE  KUNNR_V
    *"  EXPORTING
    *"     VALUE(GV_KDMAT) TYPE  MATNR_KU
    *"     VALUE(GV_POSTX) TYPE  KDPTX
    *"  EXCEPTIONS
    *"      NOT_FOUND
      UNPACK GV_MATNR TO GV_MATNR.
      UNPACK GV_KUNNR TO GV_KUNNR.
      select single  KDMAT POSTX
              into (GV_KDMAT, GV_POSTX) from KNMT
              where   VKORG = GV_VKORG
                      and  VTWEG = GV_VTWEG
                      and  KUNNR = GV_KUNNR
                      and  MATNR = GV_MATNR.
      IF sy-subrc <> 0.
        RAISE NOT_FOUND.
      ENDIF.
    endfunction.
    When i call this function from CRM, i do it like this:
    CALL FUNCTION 'Z_CRM_PRODUCTO_INTERLOCUTOR'
      DESTINATION LV_RFCDEST
      EXPORTING
        GV_VKORG  = lv_vkorg
        GV_VTWEG  = ORGMAN_H-DIS_CHANNEL
        GV_MATNR  = ORDERADM_I_WRK-ORDERED_PROD
        GV_KUNNR  = WA_DATOS_PER-N_PAGADOR
      IMPORTING
        GV_POSTX  = IT_POS_LINE-DESCRIPCION
        GV_KDMAT  = IT_POS_LINE-material
      EXCEPTIONS
        not_found = 1.
    where:
    it_pos_line-descripcion type string
    it_pos_line-material type string.
    Well, my problem is that when debugging, in R/3 the 2 return values have the correct value, but when they are passed to CRM they have only one position.
    As i've been told, it was working ok, but it's being wrong since we made a ¿conversion to unicode?. Maybe I should change the type of return ???
    Thanks in advance !!!

    Hello Maria,
    Make sure you define your parameters in CRM exactly the same way as in R3, do not use type string here.
    So:
    it_pos_line-descripcion type C char 40,
    it_pos_line-material type C length 35.
    Kind regards,
    John.

Maybe you are looking for

  • Problem in drilling out to relational from OLAP worksheet

    Hi, I am using level based hierarchy for my dimensions and trying drill out to relation worksheet from OLAP worksheet. The problem I am facing is that the way OLAP stores data is always sufixed with the "_LEVELNAME". Now when passing parameters from

  • How do I connect a 2nd router and 2nd airport extreme network?

    I need a wps connection and my airport expreme does not have it.  How do I connect a 2nd router with wps?

  • How to use quartz in web applications

    Hi people, Can anyone please help me out how i can use quartz scheduler in web applications ? I want to utilize quartz to update databases periodically and automatically. Please help me its urgent ...:(

  • Inbound Queues getting stuck up in PI7.1 for Idoc scenario Mpackg. enabled

    Hi Experts, We have an issue while processing Single Idocs in PI 7.1. we have extended MATMAS05 and we are processing these via PI to FTP folder. The inbound queues are frequently getting stuck.we will be sending atleast 1000 idocs every hour from R3

  • Lost Phone and how to suspend PIN

    My friend just lost her phone and her Service provider said they can't do anything to help. Aren't they supposed to be able to Disable/Suspend the PIN of the lost device so that the "new owner" can't even log onto BB network? Now I am actually receiv