Help on Parameters in RFC Function Module

Hi,
I am creating a RFC function module. The requirement is:
In a report program, the user enters ABC and XYZ values on the selection screen. These 2 fields are select options so will have From-Value and To-Value. This report program will pass these values to my RFC FM and depending upon these values I have to read a DB table and pass the data back to the program.
My doubt is, how should I intake these select options value? i.e should I specify them in import tab or tables tab? What TYPE/LIKE should I use?
Please help me in this...
Rgds,
Nimma.

Hi Anji,
What is 'WSELKUNNR'? Is it a user defined type?
I am doing as below in the IMPORT tab.
Parameter name/Type Spec/Associated Type
ABC/LIKE/
I am not sure what type I have to use here as the incoming values will be of type SELECT-OPTIONS. Is there any standard type to specify here? If not, what should I do?
Best Regards,
Nimma.

Similar Messages

  • Unable to retrieve parameters from RFC Function Module

    Hi All,
    I have created a model for the RFC Enabled function module BAPI_BUPA_CENTRAL_GETDETAIL within my webdynpro program. I am passing parameters to the function module BAPI_BUPA_CENTRAL_GETDETAIL and I have validated that this is being passed correctly by displaying the passed value from the node of the input parameters.
    Code used to pass input parameters -
      IWDMessageManager manager = wdComponentAPI.getMessageManager();
       try
          wdContext.currentBapi_Bupa_Central_Getdetail_InputElement().modelObject().execute();
          size = wdContext.nodeCentraldataperson().size();     
          wdComponentAPI.getMessageManager().reportSuccess(Integer.toString(size));
          wdContext.nodeOutput().invalidate();
       catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
    I also see that it returns 1 record by using the code below:
    IWDMessageManager manager = wdComponentAPI.getMessageManager();
       try
          wdContext.currentBapi_Bupa_Central_Getdetail_InputElement().modelObject().execute();
          size = wdContext.nodeCentraldataperson().size();     
          wdComponentAPI.getMessageManager().reportSuccess(Integer.toString(size));
          wdContext.nodeOutput().invalidate();
       catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
    But, when I try to retrieve the value returned it does not fetch that value -
       Bapi_Bupa_Central_Getdetail_Output getdata = wdContext.nodeBapi_Bupa_Central_Getdetail_Input().nodeOutput().currentOutputElement().modelObject();
       Bapibus1006_Central_Person[] getres = new Bapibus1006_Central_Person[size];
       for(int i=0; i<size; i++){
            wdComponentAPI.getMessageManager().reportSuccess(Integer.toString(i));
            getres<i> = getdata.getCentraldataperson();
              //String fullname = wdContext.nodeBapi_Bupa_Central_Getdetail_Input().nodeOutput().nodeCentraldataperson().getElementAt(i).getAttributeValue("Fullname").toString();
            String fullname = getres<i>.getFullname();
           fullname += Integer.toString(i);
            wdContext.currentContextElement().setFullname(fullname);
            wdComponentAPI.getMessageManager().reportSuccess("fullname:" + fullname);
    It always returns 0 or null. Can someone please help me with this issue. The BAPI returns values in structure format and not internal table and hence I dont see the issue there as well.
    What can be the problem?
    Thanks for all your help in advance.
    Best regards,
    Divya

    Nikhil / Srihari,
    I changed my code and it now looks like -  I am trying get the return value into the context fullname but i still cant get the value although the size of nodeCentraldataperson() is thrown as 1 and the input is being passed correctly as i have validated this in this line of code [wdContext.nodeBapi_Bupa_Central_Getdetail_Input().currentBapi_Bupa_Central_Getdetail_InputElement().getBusinesspartner();]
    IWDMessageManager manager = wdComponentAPI.getMessageManager();
       try
          wdContext.currentBapi_Bupa_Central_Getdetail_InputElement().modelObject().execute();
          size = wdContext.nodeCentraldataperson().size();     
          wdComponentAPI.getMessageManager().reportSuccess(Integer.toString(size));
          wdContext.nodeCentraldataperson().invalidate();
       catch(WDDynamicRFCExecuteException e)
          manager.reportException(e.getMessage(), false);
         for(int i=0; i <size; i++){
              String name = "FullName: ";
              wdContext.nodeBapi_Bupa_Central_Getdetail_Input().nodeOutput().nodeCentraldataperson().setLeadSelection(i);
              name += wdContext.nodeBapi_Bupa_Central_Getdetail_Input().currentBapi_Bupa_Central_Getdetail_InputElement().getBusinesspartner();
              name += wdContext.nodeBapi_Bupa_Central_Getdetail_Input().nodeOutput().nodeCentraldataperson().currentCentraldatapersonElement().getFullname();
              wdContext.currentContextElement().setFullname(name);     
    Any idea what could be wrong?
    Thanks,
    Divya

  • Error while creating import parameters in RFC function module

    Hi,
    I am trying to create import parameter in RFC enabled function module and getting the following error "Reference parameters are not allowed with RFC". Am I doing something wrong.
    Your earlier response is much appreciated
    Regards
    Kasi

    There is a "Pass by Value" checkbox, just check that and you wont get the error.  The basic reason behind is since an RFC is called by a different system the parameters have to be sent as values than as references.
    hith
    Sunil Achyut

  • RFC function module without RETURN parameter thows error in XI. Please help

    Hi Experts,
       I have a File to RFC scenario in XI. The RFC function module that I am using at the receiving end does not have "RETURN" parameter. So when I test my scenario I get "RETURN" parameter not found error on SXMB_MONI.
    So is it mandatory that RFC function module must have RETURN parameter when used in XI?
    Is there any work around to avoid the error without changing the RFC function module?
    Please help!
    Thanks
    Gopal

    In my senario the QOS is best effort because it is a Sync.
    But the function module is sync in nature as it is returning a parameter called SO_Docs and Ret_Msg. The Ret_Msg contains the error info but it not of BAPIRET2 type.
    So is there any way to avoid this error when my QOS is best effort?
    Please help!
    Gopal

  • Problem while importing RFC function module in XI. Please Help!

    Hi Experts,
               When I try to import RFC function module in XI I get the following error:
                 **Ready for import**
    Import started...
    YCOP_VALIDATE_GR:
      + com.sap.aii.ibrep.sbeans.upload.RemoteUploadException: connection closed without message (CM_NO_DATA_RECEIVED)
    Import failed with 1 error
    Any idea why is this error? How to resolve this?
    Thanks
    Gopal

    Hi
       The problem still persists.
       This is what I have done:
        1. My FM is RFC enabled. In the "Attribute" tab of the FM I have selected "Remote-enabled module" and "Start immed".
    2.Activated and tested the FM.
    3.Released the FM. In se37, Function Module -> Release ->Release. 
    4.Tried to import this FM in XI under "RFC". Get the same error.
    I have some questions:
    1. After releasing the FM do I have to activate it?
    2. In release there is "Internal Release" Do I have to use that?
    3.Do I have to do "Internal Release" first then "Release"?
    4.The FM i am trying to import makes a call to another FM. Both the FMs are in the same system. Both are remote enabled. The second FM updates data in custom table. the first FM which I am importing validates the data and then calls the second FM for update. Do I have to import both FMs?
    Please help me!
    Thanks
    Gopal

  • RFC function module - not considering string type parameters

    Hi,
    i am calling one RFC, this rfc function module is enhanced to have one more import parameter and the type of this parameter is of type "string".
    i am passing this value from while calling rfc fm but i can see this value is not being considered here in the target system, i mean the passed value from source system is not seen in the target system.
    i read some thing related to rfc restrictions on code pages, is it something to do with that or string type is not allowed??
    Please suggest!!!

    Hi all,
                   I faced the same problem and solved it ,
    You have defined a reference parameter for a remotely called
      function module. However, only value parameters are allowed
      for this type of module.
      Procedure
      Change the reference parameter to a value parameter.
    Guys  pls .don't leave the thread un-asnwered when you solved problem , post the solution it might be useful for others also.
    Regards
    Krishna Acharya

  • Call RFC Function Module and return 1000 records at a time

    I would like to call a Remote Enabled Function Module from a non SAP system.  This function module will select data from the database and return it to the calling program.
    Suppose there are 100,000 records that need to be returned, but the calling module would like the data in chunks of 1000 records.  Therefore the calling program would call the FM 100 times. 
    How do I code the function module to know on each subsequent call to grab the next chunk of 1000 records? 
    Let me know if additional information is needed.
    Thanks,
    Aaron

    Hello,
    Here is how you can go for this issue:
    1. Create one RFC function module with following parameter. These parameters are with respective of chunking logic.
         Import: Package Size
         Export: Total number of records
         Changing: chunk count
    Implement following logic:
    1. First of you need to know how many chunks you need to fetch for that get the count of total number of records. This is one  
        time activity so you better maintain one flag import parameter will be set to 'X' only first call.
    2. Get the number of chunk using total number of records / chunk size for e.g. 1000 / 100 so chunk count = 10.
    3. Define internal chunk counter in function module which will be used to locate the correct chunk depending on the chunk
        counter value sent from calling program.
    4. Send first call with package size 100 and chunk count = 1, execute select statement and increment internal
        chunk count check if chunk count = internal chunk count in current case chunk count = 1 so exit select statement and return
        with first chunk.
    5. Send second call with package size 100 and chunk count = 2. Execute select statement and check chunk count with internal
        chunk counter, in current case it will be 1 so skip that data and go for next chunk of 100 records increment internal chunk  
        counter. In this case it will match with external chunk count = 2. load output table with that data and return to calling program.
    6. Repeat step 4 until you reach last chunk.
    You need to use SELECT...ENDSELECT with PACKAGE SIZE addition so for every loop it will return number of records mentioned in package size.
    Hope this helps.
    Thanks,
    Augustin.

  • Help in Creation of a Function Module.

    Hi Abapers,
                    I am new to ABAP and hardly have knowledge abt it. I need to create a Function Module which is of the type RFC. Pls provide me information and steps to create the same.
    Many thanks in Advance.

    Hi Pooja,
    Please follow the below steps to create a function module :
    1. Goto Transaction code : SE37.
    2. Create a Function Group first.
       a) From the Menu Bar Choose Goto -> Function groups ->  Create group.
       b) Specify the function group name and a short text.
       c) Choose Save.
    When you create a new function group, the system automatically creates a main program containing two includes. Like any other programs and includes, you can display them in the Repository Browser.
    3. Now create a Function Module.
    4. Enter the function's name in the field Function module.
    5. Choose Create.
    6. In the Enter function group dialog box, enter the function group to which you want to assign the function module.
    7. In The Attributes Tab select Remote Enabled Module (since you want a RFC function module ).
    8. Give the Import and Export parameters and exceptions(if any).
    9. Write the functioning part of the fuction module in the Source code tab.
    10. Save and Activate your function Module.
    Now go ahead and use your function module where ever you want.
    Hope it helps.
    Reward if helpful.
    Regards
    Hemant Khemani

  • Get interface of RFC function modules in a remote system

    Hi,
    my goal is to write a report which checks if DDIC structures in two systems fit together when I use RFC`s.
    I have the destination and the name of the RFC.
    Can somebody tell me if I can get a list of the Importing/Exporting Parameters of this RFC? Maybe even with a typedescribtion?
    Thanks for you help.
    Best regards
    Lars
    Edited by: Lars-Eric Biewald  on May 21, 2008 8:39 AM

    Hello ,
    Thank you for your quick help.
    Here I have 3 ECC 6 system .
    1 Central systen
    2 Slave system
    Data will be updated to 2 slave system using RFC function module .
    We've already the SAP address, Client, User name , Password.. of the remote system
    So here how we will create RFC in SM59 to be used in the RFC call ?
    We will transfer the username, password , client in the RFC function module/..
    Here I do not know how to create RFC connection in SM59 and how to use them in ABAP
    Could you please help me ????
    Thanks

  • Problem in the creation of rfc function module

    hi,
                I am creating one rfc function module comparing to standard non-rfc function module. In that one i have one export parameter with the standard strcture type. but this stcture component contains with strcture type. among all these components four fields are common. but when i am trying to activate function module it is giving message you cannot use internal tables, strings,references, or strctures as components. that function module name is BAL_FILTER_CREATE and that export parameter name is that export parameter name is E_S_LOG_FILTER that associated type is BAL_S_LFIL. how can i solve the problem. pls give me solution as soon as possible.

    hi,
    for rfc fm's u should enable the call by value check box which will appear on that of import and export parameters. tick that one for each parameter in rfc and activate.
    if helpful reward some points.
    with regards,
    Suresh Aluri.

  • Help in enhancing CRM logon function module

    Hello all,
    We have a situation where in the past we have allowed the creation of multiple Business Partners sharing the same e-mail address. We are about to close this loophole but we have this as a master data issue for some existing Customers/Business PArtners.
    Currently, our CRM Webshop only uses e-mail address and password for login verification (not using Business Partner/Customer number).
    We would like to enhance the webshop logon to include customer number as well ie. We want to determine which customer number associated with the ambiguous e-mail address is used. I have attempted to identify which function module is involved by inserting an endless WHILE loop into the following , but none of them seems to be called :
    CRM_ICSS_USER_LOGIN
    CRM_ISA_IUSER_LOGINr
    CRM_ISAI_BP_LOGIN_BPARTNER_GET
    CRM_ISA_BP_LOGIN_CHECK
    CRM_ISA_LOGIN_R3USER_CHECK
    CRM_ISA_IUSER_LOGIN
    CRM_ISA_LOGIN_CHECK
    CRM_ISAI_BP_LOGIN_BPARTNER_GET
    In addition I notice the function SUSR_CHECK_LOGON_DATA can not be enhanced as it's a Basis FM.
    I have attempted to look up documentation in SAP Help and not much joy. Can anyone tell me whether I'm barking up the wrong tree and this needs to be addressed by a kernel level function or recommend another place in the standard code ?
    Regards,
    Gabriel

    Hi Pooja,
    Please follow the below steps to create a function module :
    1. Goto Transaction code : SE37.
    2. Create a Function Group first.
       a) From the Menu Bar Choose Goto -> Function groups ->  Create group.
       b) Specify the function group name and a short text.
       c) Choose Save.
    When you create a new function group, the system automatically creates a main program containing two includes. Like any other programs and includes, you can display them in the Repository Browser.
    3. Now create a Function Module.
    4. Enter the function's name in the field Function module.
    5. Choose Create.
    6. In the Enter function group dialog box, enter the function group to which you want to assign the function module.
    7. In The Attributes Tab select Remote Enabled Module (since you want a RFC function module ).
    8. Give the Import and Export parameters and exceptions(if any).
    9. Write the functioning part of the fuction module in the Source code tab.
    10. Save and Activate your function Module.
    Now go ahead and use your function module where ever you want.
    Hope it helps.
    Reward if helpful.
    Regards
    Hemant Khemani

  • RFC Function module-With Only Request message

    Hi
    i need a RFC with only Request message and Response message is not required.
    please help me, how to create a RFC function module with out Response message, and it should contain only Request message.
    i have created RFC in this way:
    RFC doesn't contain neither import nor export parameters. and i have defined one table in TABLE tab which refers to a ztable created already.
    when i imported RFC into XI i came to know that RFC has both Request and Response messages, but i don't need Response message.
    Thanks in advance..help would be appreciated
    Regards,
    Rajesh

    Thankx Michal,
    I have written ZRFC this way:
    insert ZMM_AUTO_GR from INPUT_TABLE .
      if sy-subrc = 0.
        commit work.
      else.
       rollback work.
    im not using neither import nor export parameters..but using only tables parameters. but when imported in XI im getting same table  structure in both request an response.
    please suggest what changes required in above code to invoke my ZRFC in async way.
    you will not get any response in XI- what chages required in my code to dnt get .reponse in XI.
    appreciate your help.
    Regards,
    Rajesh.

  • RFC function module exporting

    Hi..
    when I am trying to export some paramters and tables in RFC function module, i m getting error as well as a warning message stating performance will reduce.
    So please help me to solve the issue.
    Thanks
    Vimalraj

    You are getting this message because you are exporting tables 'by value'. Since this will cause the complete data in that internal table to be copied into a new memory area this might impact the performance of that function in case the table has a lot of data in it.
    However - for an RFC you can only define parameters to be called by value, hence this is not an error in your case. It just lets you know that the performance will suffer when you have lots of data in your internal table compared to a function that would pass the data by reference - but you don't have that option for an RFC anyway.
    Hope that helps,
    Michael

  • 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

Maybe you are looking for