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

Similar Messages

  • 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.

  • 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.

  • 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

  • Standard Component in CRM that will call RFC Function Module

    HI all,
    Is there any Standard Component in CRM that will call RFC Function Module from ECC and that called RFC FM should Fetch the data from ECC.

    You can call RFC from different places, like programs, function modules, web dynpros, classes...
    So you just have to have appropriate RFC on ERP side and call it from CRM side. To call it you use the following statement...
          CALL FUNCTION 'YOUR RFC FUNCTION'
            DESTINATION i_dest "name of server
            EXPORTING
              your export parameters
            IMPORTING
              your import parameters
    Regards.

  • 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.

  • RFC function module with call transaction  and Import memory ID

    Hi,
    I am calling RFC function module from R/3 which exists in BW.
    In BW stand alone function module works fine.
    When I am Calling from R/3 it is not working,
    Can you tell me is it because of the below code, And suggest if any corrections required.
    I am calling the call transaction and using EXPORT memory iD inside the program
    and IMPORT in after that.
    And populating RFC table's table  " p_i_tcode_user" finally.
    set parameter id 'TCD' field p_tcode.
    call transaction 'Z_BW_RSUSR002' AND SKIP FIRST SCREEN.
      ENDIF.
    get the final user data from submitted program
    import gt_users_complete from memory id tcode_userid.
    LOOP AT gt_users_complete.
          lwa_tcode_user-tcode =  p_tcode.
          lwa_tcode_user-uname = gt_users_complete-Bname.
          APPEND lwa_tcode_user TO p_i_tcode_user.
    ENDLOOP.
    Thanks,
    Veerendra.

    HI,
       Can you just exaplin it clearly plz..
    Thanks
    Mahesh

  • 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.

  • PDF Attachement in RFC Function Module

    Hi Experts,
    We are going to send the PDF format of Purchase Orders to other Non-SAP System through RFC Function Module.
    Please suggest, is there any RFC function module to send PDF file as the attachment.
    Or is there any other way to send the PDF files on regular basis from SAP to Non-SAP system.
    Regards,
    Nrusingha

    Hi ,
    follwo the belwo steps..
    *      Work Area for Print Parameters
    Data :      wa_pri_params TYPE pri_params,
    *      Work Area for Converted PDF file
    Data :       wa_pdf TYPE tline,
      if t_ouputdata[] is not initial.
    *    WAIT UP TO 1 SECONDS.
        CONCATENATE 'E'
                     w_tabix
                     sy-datum+4(4)
                     sy-uzeit INTO
                     wa_pri_params-plist.
      ENDIF.
      NEW-PAGE PRINT ON NO DIALOG PARAMETERS wa_pri_params.     "creating spool request
      WRITE : / text-s32.
      ULINE.
      LOOP AT t_error INTO wa_error.
        WRITE : / wa_error-text.
      ENDLOOP.
      WRITE : / text-s33.
      NEW-PAGE PRINT OFF.                                                                   "closing spool request
    * To fetch the spool number from TSP01 table
      SELECT rqident
             FROM tsp01
             INTO w_rqident
             UP TO 1 ROWS
             WHERE rq2name = wa_pri_params-plist.
      ENDSELECT.
    * Subroutine to convert ABAP spool to PDF file
      PERFORM abapspoll_to_pdf.
    * Now t_pdf table contains the PDF data...
    " now call the function module in backgrond task destination and push the PDF format dat to external system...
    FORM abapspoll_to_pdf.
    * Function Module to Convert Spool to PDF file
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          src_spoolid     = w_rqident
          no_dialog       = 'X'
          dst_device      = 'LP01'
          pdf_destination = 'X'
        TABLES
          pdf             = t_pdf.
      CLEAR wa_mail_receivers.
    ENDFORM.                    " ABAPSPOLL_TO_PDF
    Regards,
    Prabhudas

  • What are the steps we have to follow to develop RFC function module

    hi
    what are the steps we have to follow to develop RFC function module

    I will tell you simple example within r/3 systems..
    source system - A  (SAP R/3 )
    Destination System B (SAP R/3).
    First create RFC Destination in SM59 - in A System.
    Createing RFC Destination - GOTO SM59 Transaction and click R/3 System .
    it will go second screen and give ur RFC Name ,IP Address and log on details.
    click on test concetion and remote logon.
    now create RFC Function module in B System.
    goto se37 - create fm with starting with Z* or Y*.
    maintain all data like
    attribute should be remote enabled
    importing is v_matnr
    exporting is v_maktx.
    write the simple code - select single maktx from makt into v_maktx
                                                          where matnr = v_matnr.
    Call this fm in report program in se38 in B sytem and copy the FM.
    paste this code A System
    use ur logic and destination 'RFC Name'.
    Reward Points if it is helpful
    Thanks
    Seshu
    Message was edited by:
            Seshu Maramreddy

  • Rfc functional module problem

    hi
    am created a rfc functional module program(se37) which receives the two input value from calling program and just add and it returns to the calling program(se38).
    the program is executed successfully but the probs is the rfc functional module does not print it executable contents. the calling program does print its executable contents.
    PLZ RESOLVE THIS PROBLEM
    see the calling program and rfc functional module below
    REPORT YSUSEX51.
    PARAMETERS : I1 TYPE I ,
    I2 TYPE I,
    DEST1 LIKE RFCDES-RFCDEST DEFAULT 'NONE'.
    DATA: RESULT TYPE I,
    SYSTEMID TYPE SY-SYSID.
    CALL FUNCTION 'Y_RFCMODULE' DESTINATION DEST1
    EXPORTING
    A = I1
    B = I2
    IMPORTING
    C = RESULT
    SYS = SYSTEMID
    EXCEPTIONS
    INVALID_DATA = 1
    COMMUNICATION_ FAILURE = 2
    SYSTEM_FAILURE = 3.
    CASE SY-SUBRC.
    WHEN 1.
    WRITE: / 'NO DATA AVAIL'.
    EXIT.
    WHEN 2.
    WRITE:/ 'CONNECTION COULD NOT BE ESTABLISHED'.
    WHEN 3.
    WRITE : / 'SYSTEM NOT AVAIL'.
    EXIT.
    ENDCASE.
    WRITE:/ 'INSIDE THE CALLING MACHINE'.
    WRITE: / RESULT.
    WRITE: / SYSTEMID COLOR 7.
    IN THE RFC FUNCTIONAL MODULE IT DOES NOT PRINT THE A ,B,C AND SYS VALUE,
    FUNCTION Y_RFCMODULE.
    ""Local Interface:
    *" IMPORTING
    *" VALUE(A) TYPE I
    *" VALUE(B) TYPE I
    *" EXPORTING
    *" VALUE(C) TYPE I
    *" VALUE(SYS) LIKE SY-SYSID
    *" EXCEPTIONS
    *" INVALID_DATA
    WRITE: /'INSIDE THE REMOTE SYSTEM'.
    WRITE: / A.
    WRITE: / B.
    C = A + B.
    SYS = SY-SYSID.
    WRITE:/ C.
    WRITE: / SYS COLOR 7.
    ENDFUNCTION.
    REGARDS
    surender

    Hi
    Instead Of giving write statement inside a function module
    write these statement where this rfc is called.
    if rfc connection is established ,then
    number will be printed.
    otherwise not.
    Dont forget to reward points
    Edited by: neetu chhabra on Mar 10, 2008 12:14 PM

  • How to create RFC function module and how to call this function module

    Hi,
    i want to know step for creating RFC function module and then How to  use this function module from some other sap system.
    Thnaks,
    jigar

    Jigar,
    To implement a remote function module in ABAP, perform the following steps:
    Register the module as remotely callable in the RFC server system.
    In the function module Administration screen (transaction code SE37), set the field Can be called via REMOTE CALL. Registering a module as remote causes an RFC stub to be generated for it.
    Write the code for the function module.
    Create the destinations.....................
    Displaying, Maintaining and Testing Destinations
    To display, create or modify destinations, choose Tools ® Administration ® Administration ® Network ® RFC destinations or enter transaction code SM59.
    Remote Destinations are stored in table RFCDES. The RFCDES table describes logical destinations for remote function calls.
    It is not possible to maintain the RFCDES table directly.
    You can also access logical destinations via the Implementation Guide (IMG) by choosing Tools ® AcceleratedSAP ® Customizing ® Execute Project ® SAP Reference IMG.
    In the Implementation Guide, expand the following hierarchy structure:
    Basis
    Application Link Enabling (ALE)
    Sending and Receiving Systems
    Systems in Network
    Define Target Systems for RFC Calls
    Displaying Destinations
    The initial screen for this transaction displays a tree:
    Different connection types (i.e. partner systems or programs) are possible. For further information, see Types of Destinations.
    To display all information for a given destination, double-click it, or place the cursor on it and press F2 .
    To search for a destination, press the Find button and specify your selection. You get a list of all entries matching your selection. Place the cursor on the one you want, and press F2 or simply double-click the destination. All information for the given entry appears.
    Creating Destinations
    On the destinations overview screen (transaction code SM59), the connection types and all existing destinations are displayed in a tree structure.
    All available connection types are explained in Types of Destinations.
    To create a new RFC destination, press the Create button. A new screen is displayed with empty fields for you to fill in.
    If you want to create a new destination
    As you create a remote destination, you can specify a particular application server or a group of servers for a balanced distribution of system load.
    For details of the destination parameters, see Entering Destination Parameters.
    Changing Existing Destinations
    On the destinations overview screen (transaction code SM59), the connection types and all existing destinations are displayed in a tree structure.
    You can display all information for a given destination by double-clicking it or pressing F2 on it.
    To change an existing destination, double-click it, or place the cursor on it and press the Change button.
    For details of the destination parameters, see Entering Destination Parameters.
    Testing Destinations
    To test a destination, choose the appropriate function from the Test menu.
    Connection (also available via the Test connection pushbutton)
    Authorization (checks logon data)
    Local network (provides a list of application servers)
    You can use the CALL FUNCTION statement to call remote functions, just as you would call local function modules. However, you must include an additional DESTINATION clause to define where the function should run:
    CALL FUNCTION RemoteFunction
    DESTINATION Dest
    EXPORTING
    f1 =...
    f2 =...
    IMPORTING
    f3 =...
    TABLES
    t1 =...
    EXCEPTIONS......
    The field Dest can be either a literal or a variable: its value is a logical destination (for example, "hw1071_53") known to the local SAP System. Logical destinations are defined in the RFCDES table (or the TRFCD table in R/2 Systems) via transaction sm59 or the following menu path: Tools ® Administration, Administration ® Network ® RFC destinations. You can also access logical destinations via the Implementation Guide (IMG) by choosing Tools ® Customizing ® Enterprise IMG. In the Implementation Guide, you can then choose Cross-application components ® ALE ® Communication ® Define RFC destination.
    The remote function call concept, for example, allows you to access a function module in an R/2 System from an ABAP program in an R/3 System. If you want to read a customer record from your R/2 System’s database, create a remotely callable function module in the R/2 environment which retrieves customer records. Call this function from your R/3 System using a remote function call and listing the destination for the target R/2 System:
    Pls. reward if useful

  • 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

Maybe you are looking for

  • What in God's name is it with Safari 4.0.3 Tiger and iTunes 9.0.1?

    This concatenation of "maybe-it'll-work-THIS-time" software crudpacks has been the most time-wasting, anti-productivity experience I've had in 20 years of owning Macs. I now have iTunes 9.0.1 working, but I have no idea how I got it to happen. None o

  • How can I add encoding code before column link works?

    Hi, guys: I have a question that may be silly. I want to pass multiple parameters of a row in an interactive report to another page through column link by specifing URL. It works OK. However, I found some of the parameters such as address in the repo

  • Why can firefox beta, aurora, and nightly open in windows 8.1 desktop mode but not app mode?

    The applications will launch in desktop mode but not in a windows 8.1 app I am hoping for help with this I have tried everything to fix crashing or slowness and have reinstalled the program in aurora nightly or even firefox beta forms. Help!

  • ORA- 06502: PL/SQL: numeric or value error: character string buffer too sma

    Hi Everybody, Please, I Need of Your Help. We have a table with the following characteristics: PS_NAMES ( EMPLID VARCHAR2(33), NAME VARCHAR2(150), ... ) In this table a Trigger exists... CREATE OR REPLACE TRIGGER TG_NAMES BEFORE UPDATE ON PS_NAMES RE

  • I can't publish my site.

    Last night, I added a new photo page to my site. The upload seemed to be going fine until the very end when the little clock thing just stopped moving, and the page never published. I then tried creating a Web gallery from iPhoto, but couldn't do tha