Performance issue due to RFC calls. (R/3 to R/3 system)

Hi,
My application face serious performance problem because of RFC calls (R/3 system to R/3 system).
1)is there any transaction code for doing performance analysis on RFC calls in R/3 system?
2)How far large volume of Data Transfer (mainly due to internal tables) in a RFC call affects the performance? is there any limit for data transfer size at a time in a RFC call? if so how to calculate for best performance?
Thanks and regards,
Prakash.

Hi Andreas,
Suppose an RFC enabled Fm having an internal table as importing parameter.During execution of this Fm with 4000 enteries for the internal table results in performance degrading.is there any way to improve the performance?.
Thanks and regards,
Prakash.

Similar Messages

  • Avoiding performance issue due to loop within loop on internal tables

    Hi Experts,
                    I have a requirement where in i want to check whether each of the programs stored in one internal table are called from any of the programs stored in another internal table. In this case i am looping on two internal tables (Loop within a loop) which is causing a major performance issue. Program is running very very slow.
    Can any one advise how to resolve this performance issue so that program runs faster.
    Thanks in advance.
    Regards,
    Chetan.

    Forget the parallel cursur stuff, it is much to complicated for general usage and helps nearly nothing. I will publish a blog in the next days where this is shown in detail.
    Loop on loop is no problem if the inner table is a hashed or sorted table.
    If it must be a standard table, then you must make a bit more effort and faciliate a binary search (read binary search / loop from index exit)
    see here the exact coding Measurements on internal tables: Reads and Loops:
    /people/siegfried.boes/blog/2007/09/12/runtimes-of-reads-and-loops-on-internal-tables
    And don't forget, the other table must not be sorted, the loop reaches anyway every line. The parallel cursor requires both tables to be sorted. The additional sort
    consumes nearly the whole advantage of the parallel cursor compared to the simple but good loop in loop solutions.
    Siegfried

  • Cisco ASR 1002- performance issue due to access list

    Hi,
    We are planning to implement inbound access-list to block subnets from particular country. Since the subnets are not contiguous, we have about 16000 lines of acl entries.
    I want to know, would there be any performance or latency issues after applying 16k lines of acl?
    Is there a good document where I can read more about ACL limitations and performance issues on ASR.
    This is for ASR1002, running IOS-XE 15.3(1)S1.
    Thanks

    Disclaimer
    The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
    Liability Disclaimer
    In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
    Posting
    Sorry, I don't know the answer to your questions, but I'm writing to mention a 7200 feature, that if supported on the ASR, might help in your situation.  See http://www.cisco.com/c/en/us/support/docs/security/ios-firewall/23602-confaccesslists.html#turbo

  • Performance Issue related to RFC

    Hi All,
    Iam moving attachments from CRM to R/3 .For this Iam using RFC.If Iam attaching multiple files at a time.Do I need to call the RFC in Loop or should I call it Once for all attachments.Which gives better PERFORMANCE.
    One more thing If I call the RFC in SYNCHRONOUS  mode what happends if the server is down the other side for two to three days.
    If I call the RFC in ASYNCHRONOUS  mode I need to work on the return values of the RFC.How to handle this situation.
    Plz give me the reply as early as possible.
    Thanks,
    Saritha

    Hi,
    If an RFC Channel already exists between the client and server the same channel will be used between the systems. Hence, even calling in a loop should not be a problem. But in here the data needs to go one by one through the channel. Try to send them in a table as this goes as one chunk of data.
    In case of ASYNCHRONOUS also if  you want to receive results then the called system should be up. for this the syntax is
    CALL FUNCTION 'FM' STARTING NEW TASK DESTINATION <dest>
    PERFORMING <form> ON END OF TASK
    EXPORTING
    EXCEPTIONS
    FORM <form> USING taskname.
      RECEIVE RESULTS FROM <fm>
      IMPORTING
    ENDFORM.
    But in any case, the called system should be open for connections.
    Try if possible tRFC calls.
    Regards,
    Goutham

  • Performance issue due to column formula and filters

    Hi,
    I am facing strange issue with performance for my OBIEE reports. I have two sets of reports Static and Dynamic. Both runs against same tables. The only difference between these reports is that the Static reports would run against all the data for given aggregation level e.g. Year, Month, Date and so on. Where as for Dynamic one I have range prompts to filter data. Other difference is that I have a column formula for one of the column in the Dynamic report, which is nothing but Go URL to show another page with certain parameters.
    The static report takes around 14-15 Seconds where as the Dynamic one takes around 3.5 min. The amount of data and range is same here. From the logs I could see that for the Static reports, i.e. reports without filters it applys group by at SQL level where as it is not doing so for the dynamic one. Is this expected ?
    Second issue is, even if I say remove the filters and just have report with column formula in one and no formula in other there is significant time difference in the processing at Presentation service layer. Again this is taken from the log. it takes 8 second to get data from DB but shows almost 218 Seconds as response time at Presentation layer.
    Below are conceptual details about table and reports -
    Table 1 (It is date dimension) : Date_Dim
    DateCode Date
    Day Number
    MonthCode Varchar2
    YearCode Varchar2
    Table 2 (It is aggregate table at year level) : Year_Aggr
    DateCode Date (FK to Table1 above)
    Measure1
    Measure2
    Measure3
    Measure4
    Measure5
    Report 1
    Date_Dim.YearCode | Year_Aggr.Measure1 | Year_Aggr.Measure2 | Year_Aggr.Measure3 | Year_Aggr.Measure4
    Report 2
    Dashboard Filter : Dimension1 | Dimension2 | Year Start | Year End |
    Date_Dim.YearCode | Year_Aggr.Measure1 | Year_Aggr.Measure2 | Year_Aggr.Measure3 | Year_Aggr.Measure4
    Column formula for Date_Dim.YearCode is something like :
    '<a href="saw.dll?Dashboard&PortalPath=somepath and parameters  target=_self>'  || Date Dim"."YearCode" || '</a">'
    Filters :
    Dimension1 is prompted...
    Dimension2 is prompted...
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{Start_Year}
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{End_Year}
    Note : I need to apply cast to int as column is varchar2, legacy problem.+
    How can I fix this? Am I missing something? In the result of report2 the DB SQL doesn't show the year in where thought it is displayed in the logical sql.
    Let me know if anybody had faced this and have fixed. Or suggetion to make changes to fix this.
    Thannks,
    Ritesh</a>

    Hi Ritesh,
    I think you right about the root cause of your problem. The first request does the group by in the database which returns fewer records to the BI Server for processing. The second request does not do the group by and sends significantly more records back to the BI server forcing it to do the group by. Compound that with the fact that pivot table views are relatively expensive computationally and that explains the difference between the execution times.
    Assuming that the execution time of the first report is satisfactory, I would recommend you try to experiment with a few settings to see if you can get the second report to do the group by in the database.
    Are the two filters identical except for the following conditions?
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{Start_Year}
    cast("Date Dim"."YearCode" as Int) is greater than or equal to @{End_Year}
    Best regards,
    -Joe

  • SAP MaxDB 7.7.07.16 - performance issue due to IOWait(R) task

    We are running MaxDB 7.7.07.16 unicode in a non SAP environment (is basis for a web application).
    Database Server has 4 Cpu's, 8 Gb RAM, operating system Debian-Linux 6.0.
    We have some performance problems in not regular periods of time.
    The performance problem occurs for a time frame between 3 and 15 minutes and blocks more or less the complete system.
    After a long phase of checking and evaluating possible issues, we think that we are very near to the issue.
    We identified the database tasks
    - TblPrfC  - Prefetch Table Coordinator:
    - PrefPag - Prefetch Pages
    having the current state "IO Wait (R)".
    As long these tasks are in state "IO Wait (R)" the users (at the web application) gets awful slow respond times on their queries.
    On 9th of April 2011 we changed the DB parameters:
    - ReadAheadTableThreshold         old 0 => new 128
    But today we got the same performance problem again.
    If you have any hints or tips, you're welcome!
    Best regards
       Hannes

    Hello Hannes,
    ok brief but hopefully usefull answer to your post:
    - if the database I/O generated by SQL statements alone brings the system to a grinding halt, then your storage system is undersized. How should it be able to handle additional I/O, e.g. for backups if it isn't capable to handle the standard I/O?
    - the prefetching tasks are used to speed up large scan operations. So, the next thing to do here is to find statements that perform table scans and check whether or not these can be tuned to KEY or Index accesses
    - As a workaround, I would propose to increase the value of ReadAheadTableThreshold to, say, 500, so that the prefetching is done only for really large scans.
    regards,
    Lars

  • System performance issue due to multiple submission of a job

    For month end recoincilation users run few critical reports which are quite resource consuming.
    In order to control this, want to restrict the usage of such  reports. For example if one session is active (Foreground or background) user couldn't submit another job or gets a pop up with an error mesage.
    Searched SDN for this and couldn't find much.
    anya

    Anya since this is the ABAP forum and I happen to be an ABAP programmer I can give you an ABAP solution. This would involve changes to the code in all these reports so you would need the help of an ABAP programmer if you are not one.
    a) Create a Z table containing 3 fields
    1) Client of type MANDT  (Primary key field)
    2)Program Name  of type PROGRAM_ID (Primary key field)
    3) User name of type XUBNAME (Regular field).
    b) Create table maintenance for this internal table.
    c) Create one record for each of the programs you want to regulate. You only need to enter the program name initially and leave the user name blank.
    d) In all the ABAP programs make the following change.
    1) Under the START-OF-SELECTION event of the report lock the use function module ENQUEUE_E_TABLEE to lock the record in the Ztable for the program being executed. Look at the sample code below.
    TABLES: <ztable>.
    data: w_message(100) TYPE c,
            w_locked(1) TYPE c.
    CALL FUNCTION 'ENQUEUE_E_TABLEE'
      EXPORTING
        tabname              = <ztable name>
        varkey               = <concatenation of mandt and sy-cprog>
      EXCEPTIONS
       foreign_lock         = 1
       system_failure       = 2
       OTHERS               = 3.
    IF sy-subrc EQ 1.
      SELECT SINGLE *
        FROM <ztable>
        INTO <ztable>
        WHERE program FIELD name EQ sy-cprog.
      IF sy-subrc EQ 0.
        CONCATENATE 'Program'
                    sy-cprog
                    'is currently being used by'
                    <ztable>-<user name>
          INTO w_message SEPARATED BY space.
        MESSAGE e208(00) WITH w_message.
      ENDIF.
    ELSEIF sy-subrc EQ 0.
      w_locked = 'X'.
      SELECT SINGLE *
        FROM <ztable>
        INTO <ztable>
        WHERE program FIELD name EQ sy-cprog.
      IF sy-subrc EQ 0.
        <ztable>-user name> = sy-uname.
        MODIFY <ztable> FROM <ztable>.
      ENDIF.
    ENDIF.
    e) At the event END-OF-SELECTION (at the end of the program) use function module DEQUEUE_E_TABLEE to unlock the record. Look at sample code below.
    CASE w_locked.
      WHEN 'X'.
        CALL FUNCTION 'DEQUEUE_E_TABLEE'
          EXPORTING
            tabname          = <ztable name>
            varkey             = <concatenation of mandt and sy-cprog>.
    ENDCASE.
    This code is designed to allow just one user or job to run the program at a time. The second person will be issued an error message informing him/her that the program is being used by <user name>.

  • Performance Issues due to Loading of ADF/JClient View Objects

    Hi,
    I developed a two-tier ADF/JClient application.
    When the ADF/JClient application opens for the first time, there's a big delay
    However opening it subsequently, takes less than half of the time to open the screen.
    I think it might the xml files of different view objects which the framework loads for the first time, and thus takes a lot of time. And after that, the time to open the application reduces.
    We have around 200 view objects in our application. Can this be the reason?
    If yes, then can we load the view objects before ahead, or can we just load them at the very time they are requested ?
    Thanks,
    Makrand Pare

    Hi Makrand,
    Check this out:
    "Limiting Fetching of Business Components Attributes in ADF Swing
    http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3/state/content/navId.4/navSetId._/vtTopicFile.developing_jclient_applications%7Cjui_plimitingfetching%7Ehtml/
    Note: In local mode deployment (the client and Business Components reside in the same VM), the fetching of attribute properties is not supported.
    You can optimize startup time for a Business Components client application and the remotely deployed Business Components by specifying the list of view object attributes that your client uses. If you create a project without the metadata, by coding to the API, you will want to add fetchAttributeProperties() to the bootstrap code of the client forms with a list of only the attributes used by the form. Without this method call, your client form would fetch all control hint properties (including the attributes format and label for example) for all the attributes of the named view objects in the application module, in a single network roundtrip.
    For example, when you do not intend to use all the attributes of the ADF Swing form's bound view object, with the fetchAttributeProperties() method, your ADF Swing form fetches only the information required to layout your forms, while ignoring the attributes you do not require.
    Note: In local mode deployment (the client and Business Components reside in the same VM), the fetching of attribute pro
    Calling fetchAttributeProperties() will prevent property methods such as getFormat() or getLabel() from being called on the Business Components attribute definition whenever the form is created."
    Vlad

  • Performance issue due to localization code in SSRS 2008

    The reports I am working on consist lot of data and all the customers use it frequently.
    Report title and columns are localized by expressions .
    This takes long time for report rendering and exporting to csv. When I test without the localization code it doesn't take that long .
    Can someone help me to optimize the report. SSRS 2008 R2
    Archana

    Hi Archana,
    In Reporting Services, the total time to generate a reporting server report (RDL) can be divided into 3 elements:
    Total time = (TimeDataRetrieval) + (TimeProcessing) + (TimeRendering)
    TimeRendering means the number of milliseconds spent after the Rendering Object Model is exposed to the rendering extension. It includes the Time spent in on-demand expression evaluations (e.g. TextBox.Value, Style.*). So it is make sense that the report
    with localization code takes longer time.
    Besides, we can improve the report performance form other aspects. For example, we can add filter, sorting and aggregation in dataset query, because filter, sort, and aggregation is more efficient on the data source than during report processing. For more
    details about report performance, please refer to the following article:
    http://technet.microsoft.com/en-us/library/bb522806(v=sql.105).aspx
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • A performance issue when opening report calls image file

    Hi All,
    I use Oracle reports version 10gR2. When the client user press preview button to display the Oracle report it takes an excessive amount of time. This report displays image file (*.tiff), the image file stored in another server not the application server or database server. I copy the image file first from this machine to the client machine then display the report from the client machine. But still takes time.
    Thanks & regards,
    Walid

    Hi All,
    I use Oracle reports version 10gR2. When the client user press preview button to display the Oracle report it takes an excessive amount of time. This report displays image file (*.tiff), the image file stored in another server not the application server or database server. I copy the image file first from this machine to the client machine then display the report from the client machine. But still takes time.
    Thanks & regards,
    Walid

  • RFC call  - issue

    Hi all,
        I have a issue in makeing RFC call to a function module . The scenario is , i have a custom built transactions which in turn call few standard transactions in one server(A) and i want to open these transactions from another server(B) using RFC calls and hence i made a remote enabled function module in server(A) and i called this function module from server(B) using destination. But the transaction that i call inturn call another standard transaction in  its code which in turn call another standard transaction using the statement "LEAVE TO TRANSACTION" . Because of this the RFC connectivity is getting disconnected.
       Hence i made a asynchronous call by using the statement
       call function "xxxx" destination 'd' performing new task 't1' .
       This worked fine & i was able to execute the transaction. But this asynchronous call has destroyed the 2EE server process on the ITS . But with other normal RFc calls everything is running fine .
       What should i do now coz this asynchronous call is killing the performance and server. Can anyone suggest me anyother approach.
    Thanks & regards,
    Rajbarath

    Hi,
    In SM59 Check if Radio button for Trusted System is YES (Selected). Then it should not ask even after that if it asks then provide the password in Logon details in Logon and Security Tab available in SM59 for your Destination System.
    Thanks,
    Prashanth
    Edited by: Prashanth KR on Feb 11, 2009 12:13 PM

  • RFC call failing due to UNICODE implementation

    Hi
    We are trying to connect to a SAP system using the JCO (SAP-JAVA Connectivity). We are passing the user name as an input parameter and in turn the SAP system send back the no. of item (ABAP Type integer) pending for the user name to the java and its inserted/updated in Oracle DB (which does accept the unicode characters).
    It was all wokring fine untill the SAP system has been migrated to Unicode upgrade. Now the RFC call is getting failed from our system. On analysis we found with debug, that the user name is not getting accepted by the SAP system and throwing the error -says Exception in thread "main" com.sap.aii.proxy.framework.core.BaseProxyException: Conversion error between two character sets., error key: RFC_ERROR_SYSTEM_FAILURE and at the SAP end the error says "Conversion of "UNAME" from code page 4103 to 4102 is failed". The unicode change in SAP system cannot be reverted back due to some constraints.
    Can you please help, how can we pass the user name as encoded in character set 4102 or any other solution so that it can be accepted by SAP and run the Function module and return the data.
    Many Thanks
    Snehil Joshi

    Check RFC destination in Tx SM59. You must have one tab for unicode settings.
    Regards.

  • Performance Issue with subtemplates

    Hi,
    I am working on subtemplates and my requirement needs a single main template which calls several localization specific subtemplates (A localization may have many subtemplates of its own, For example: US_subtemp1, US_subtemp2,US_subtemp3... similarly other localizations).
    I would like to know is there any performance issue associated with the calls made to the subtemplates and on how this performance hit can be minimized.
    Regards,
    Arvind

    Yes the data might be huge because Iam talking about thousands of payrolls that need to be shown in the report. So will a function call effect the performance is my question in this scenario, because even if don't have a function call we still have the same data, which remains huge. So, will the function call to the subtemplate lead to a performance hit when the data to be shown is large.
    Lets take these two scenarios into account while approaching this issue:
    ~Single template and Huge data.
    ~One main template, many subtemplate calls and huge data.
    So in these two scenarios will there be a difference in the performance due to the subtemplates call and if yes, then will it be considerable?
    Regards,
    Arvind
    Edited by: user779004 on Jan 27, 2009 8:37 PM

  • Report Performance Issue - Activity

    Hi gurus,
    I'm developing an Activity report using Transactional database (Online real time object).
    the purpose of the report is to list down all contacts related activities and activities NOT related to Contact by activity owner (user id).
    In order to fullfill that requirment I've created 2 report
    1) All Activities related to Contact -- Report A
    pull in Acitivity ID , Activity Type, Status, Contact ID
    2) All Activities not related to Contact UNION All Activities related to Contact (Base report) -- Report B
    to get the list of activities not related to contact i'm using Advanced filter based on result of another request which is I think is the part that slow down the query.
    <Activity ID not equal to any Activity ID in Report B>
    Anyone encountered performance issue due to the advanced filter in analytic before?
    any input is really appriciated
    Thanks in advanced,
    Fina

    Fina,
    Union is always the last option. If you can get all record in one report, do not use union.
    since all records, which you are targeting, are in the activity subject area, it is not nessecery to combine reports. add a column with the following logic
    if contact id is null (or = 'Unspecified') then owner name else contact name
    Hopefully, this is helping.

  • Capturing RFC call data.

    Hey All,
          I am facing some issues when a RFC call is made from a Java application to SAP(Custom Function Module). The issue is that the calls fail randomly when called from the Java interface, but they run successfully when reprocessed. Also when i process it in SAP through se37 it never fails. I am looking for suggestions on is there any way to capture the Data passed during the failed RFC call. I looked into the option of FBGENDAT, but that requires change to the includes in the function module, to include and do the macro. Is there any other way besides FBGENDAT to capture the data passed during an RFC call.
    Any Suggestion are Highly Appreciated.
    Thanks

    and check whether switching on RFC Trace via ST01 for analysis would be an option.
    http://help.sap.com/saphelp_nw70/helpdata/EN/5a/ace298ca0211d194b500a0c94260a5/frameset.htm

Maybe you are looking for

  • How do I get past the license agreement screen on Reader 9.4?

    I've just installed Reader 9.4 on my Dell Inspiron 1501 laptop, o/s WinVista HP.  I have the same thing on my desktop and have never had a problem.   On the laptop, when I click on the Reader icon, I get the License Agreement and the instruction to "

  • Write-off the MM inventory stock

    Dear expert, I want write-off the MM inventory stock which is expired, please give the step & procedure. Regards, PK

  • How to launch the dialog with a wizard having train component

    Hi I have a page with a button and onclicking the button i need to show a dialog wizard( a wizard with 3 pages with the train component to move back and forth) I have created a taskflow as a train with 3 pages, but onclicking the button i am not able

  • DVD Superdrive problem.  Can anyone help?

    Hi, My MBP seems to have developed a fault with the superdrive (MATSHITA UJ 857D). CDs mount OK but when I put a pre manufactured DVD in the drive you can hear it speed up, stays at the same speed for something like 5 seconds, slows down and repeats

  • Is there a Classroom-In-a Book for SB CS4?

    Aloha Friends, I just purchased Creative Suite CS4 sometime ago and I've been having a great time learning each one of the programs. I've purchased the CS4 Classroom in a Book for many of them, but I can't find one for SB CS4.  I see there is a SB CS