Performance tuning of a report.

hello all,
          I have been assigned a report to improve the performance.Initially after studying the report i found that all the data was fetched by using select * from... query,hence i changed the query by selectin the particular feilds from the tables.the tables used in my report r bsid and bsad majorly..after these changes there was not much of a diff in the performance,after tracing the report thru st05 it was realized that the select for bsad is taking the max time to fetch..as bsad is a huge table and has huge amount of data..is ther any way i can reduce this time..by using indexes n all..can u please provide me with an example to reduce the time taken for fetchin data from bsid and bsad..
thanks and regards,
seema.

hello again,
SELECT
      KUNNR
      UMSKZ
      AUGDT
      AUGBL
      ZUONR
      GJAHR
      BELNR
      BUZEI
      BUDAT
      BLDAT
      WAERS
      XBLNR
      BLART
      MONAT
      BSCHL
      SHKZG
      GSBER
      DMBTR
      SGTXT
      AUFNR
      HKONT
      ZFBDT
      ZTERM
      SKNTO
      REBZG
      MANSP
      MSCHL
      MADAT
      MANST
      MABER
      MWSK1
      VBELN
      XREF1
      XREF2
      KKBER
      EMPFB
      PRCTR
      XREF3
      QSSKZ
      BUPLA
    FROM   BSAD
    INTO   CORRESPONDING FIELDS OF TABLE T_BSID_TEMP
    WHERE  KUNNR IN S_KUNNR
    and    BUKRS = P_BUKRS
    AND    AUGDT GT S_BUDAT-HIGH
    AND    GSBER IN S_GSBER
    AND    BUDAT IN S_BUDAT
AND    BLDAT IN S_BLDAT
    AND    KKBER IN S_KKBER
    AND    XREF1 IN  s_wERKS                                
    AND    UMSKZ NOT IN ('B', 'G')
    AND    BSTAT NOT IN ('S').
if this is my select qury and these r the selection criteria in the wher condition how could i modify the query for better performance,
Regards,
seema.

Similar Messages

  • Performance tuning of this report

    Hello friends iam attaching my report give the performance tuning for this report to avoid nested endloops. how to do without using nested endloops.
    give me the reply urgent.
    REPORT  ZDEMO9          NO STANDARD PAGE HEADING
                            LINE-SIZE 250
                            LINE-COUNT 22(3).                             .
                TABLES DECLARATION                    *
    TABLES : MARA,              "general material data
             MAKT,              "material description
             MARC,              "plant data for material
             VBAP,              "sales document for item data
             EKKO,              "purchasing document header
             EKPO,              "purchasing document item
             KNA1.              "customer master details
                INTERNAL TABLE DECLARATION             *
    DATA : BEGIN OF T_MARA OCCURS 0,
           MATNR LIKE MARA-MATNR,
           MTART LIKE MARA-MTART,
           MEINS LIKE MARA-MEINS,
           END OF T_MARA.
    DATA : BEGIN OF T_MAKT OCCURS 0,
           MATNR LIKE MAKT-MATNR,
           MAKTX LIKE MAKT-MAKTX,
           SPRAS LIKE MAKT-SPRAS,
           END OF T_MAKT.
    DATA : BEGIN OF T_MARC OCCURS 0,
           MATNR LIKE MARC-MATNR,
           WERKS LIKE MARC-WERKS,
           END OF T_MARC.
    DATA : BEGIN OF T_KNA1 OCCURS 0,
           KUNNR LIKE KNA1-KUNNR,
           NAME1 LIKE KNA1-NAME1,
           LAND1 LIKE KNA1-LAND1,
           END OF T_KNA1.
    DATA : BEGIN OF T_VBAP OCCURS 0,
           MATNR LIKE VBAP-MATNR,
           POSNR LIKE VBAP-POSNR,
           MATKL LIKE VBAP-MATKL,
           VBELN LIKE VBAP-VBELN,
           END OF T_VBAP.
    DATA : BEGIN OF T_EKPO OCCURS 0,
           EBELN LIKE EKPO-EBELN,
           EBELP LIKE EKPO-EBELP,
           BUKRS LIKE EKPO-BUKRS,
           WERKS LIKE EKPO-WERKS,
           LGORT LIKE EKPO-LGORT,
           MATNR LIKE EKPO-MATNR,
           MANDT LIKE EKPO-MANDT,
           END OF T_EKPO.
                     FINAL INTERNAL TABLE                *
    DATA : BEGIN OF T_FINAL OCCURS 0,
           MATNR LIKE MARA-MATNR,
           MTART LIKE MARA-MTART,
           MEINS LIKE MARA-MEINS,
           WERKS LIKE MARC-WERKS,
           MAKTX LIKE MAKT-MAKTX,
           SPRAS LIKE MAKT-SPRAS,
           VBELN LIKE VBAP-VBELN,
           POSNR LIKE VBAP-POSNR,
           MATKL LIKE VBAP-MATKL,
           EBELN LIKE EKPO-EBELN,
           EBELP LIKE EKPO-EBELP,
           BUKRS LIKE EKPO-BUKRS,
           KUNNR LIKE KNA1-KUNNR,
           LAND1 LIKE KNA1-LAND1,
           NAME1 LIKE KNA1-NAME1,
           LGORT LIKE EKPO-LGORT,
           END OF T_FINAL.
    *DATA: BEGIN OF V_matnr OCCURS 0,
           matnr LIKE mara-matnr,
         END OF t_matnr.
    data:
          a(32) type c.
    a = 'IBT000000000000000001000000000000000050'.
                       SELECTION SCREEN                         *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_BUKRS FOR EKPO-BUKRS,
                     S_KUNNR FOR KNA1-KUNNR,
                     S_WERKS FOR MARC-WERKS,
                     S_MATNR FOR MARA-MATNR obligatory.
    SELECTION-SCREEN END OF BLOCK B1.
                     START OF SELECTION                           *
    START-OF-SELECTION.
      SELECT MATNR mtart meins
              FROM MARA
              INTO CORRESPONDING FIELDS OF TABLE T_MARA
              WHERE MATNR IN S_MATNR.
      SELECT MATNR WERKS
              FROM MARC
              INTO CORRESPONDING FIELDS OF TABLE T_MARC
              FOR ALL ENTRIES IN T_MARA
              WHERE MATNR = T_MARA-MATNR
              and werks in s_werks.
      select  matnr maktx spras
            from makt
            into corresponding fields of table t_makt
            for all entries in t_mara
            where matnr = t_mara-matnr
            and spras = sy-langu.
      select matnr posnr matkl vbeln
             from vbap
             into corresponding fields of table t_vbap
             for all entries in t_mara
             where matnr = t_mara-matnr.
    select matnr werks bukrs ebeln ebelp lgort
             from ekpo
             into corresponding fields of table t_ekpo
             for all entries in t_mara
             where matnr = t_mara-matnr
             and werks in s_werks.
      LOOP AT T_MARA.
        MOVE T_MARA-matnr TO T_FINAL-matnr.
        move t_mara-mtart to t_final-mtart.
        move t_mara-meins to t_final-meins.
        loop at t_marc where matnr eq t_mara-matnr.
          move t_marc-werks to t_final-werks.
          loop at t_makt.
            move t_makt-maktx to t_final-maktx.
            move t_makt-spras to t_final-spras.
            loop at t_vbap.
              move t_vbap-posnr to t_final-posnr.
              move t_vbap-matkl to t_final-matkl.
              move t_vbap-vbeln to t_final-vbeln.
            loop at t_ekpo.
            move t_ekpo-bukrs to t_final-bukrs.
            move t_ekpo-ebeln to t_final-ebeln.
            move t_ekpo-ebelp to t_final-ebelp.
            move t_ekpo-lgort to t_final-lgort.
              append t_final.
            endloop.
          endloop.
        endloop.
      endloop.
      endloop.
      SELECT werks KUNNR LAND1 NAME1
      INTO CORRESPONDING FIELDS OF TABLE T_KNA1
      FROM KNA1.
    WHERE WERKS in s_werks.
      loop at t_kna1.
        move t_kna1-kunnr to t_final-kunnr.
        move t_kna1-name1 to t_final-name1.
        move t_kna1-land1 to t_final-land1.
        append t_final.
      endloop.
      "endloop.
      loop at t_final.
        write :   4 t_final-matnr,
                 20 t_final-mtart,
                 28 t_final-meins,
                 46 t_final-werks,
                 58 t_final-maktx,
                 71 t_final-spras,
                 78 t_final-posnr,
                100 t_final-matkl,
                115 t_final-vbeln,
                130 t_final-kunnr,
                142 t_final-name1,
                156 t_final-land1,
                168 t_final-bukrs,
                190 t_final-ebeln,
                205 t_final-ebelp,
                208 t_final-lgort.
      endloop.
                  TOP-OF-PAGE                       *
    top-of-page.
      uline.
      write : /60 'G E N E R A L   D E T A I L S' COLOR 2 INVERSE OFF.
      ULINE.
      write :/ SY-VLINE,    'MATERIAL'       COLOR 4, "12 SY-VLINE,
            13 SY-VLINE,    'IND SECTOR',
            28 SY-VLINE,    'UNITS',
            43 SY-VLINE,    'PLANT',
            55 SY-VLINE,    'MAT DESC',
            68 SY-VLINE,    'LANGU',
            70 SY-VLINE,    'SALES DOC ITEM',
            95 SY-VLINE,    'MAT GROUP',
           110 SY-VLINE,    'SALES DOC',
           125 SY-VLINE,    'CUST ID',
           140 SY-VLINE,    'NAME',
           155 SY-VLINE,    'COUNTRY',
           165 sy-vline,    'company code',
           205 sy-vline,    'storge loc'.

    *& Report  YTESTCHA                                                    *
    REPORT ytestcha  NO STANDARD PAGE HEADING
    LINE-SIZE 250
    LINE-COUNT 22(3). .
    TABLES DECLARATION *
    TABLES : mara, "general material data
    makt, "material description
    marc, "plant data for material
    vbap, "sales document for item data
    ekko, "purchasing document header
    ekpo, "purchasing document item
    kna1. "customer master details
    INTERNAL TABLE DECLARATION *
    *DECLARE TYPES FIRST AND THE INTERNAL TABLES
    *DONT USE MATNR LIKE MARA-MATNR ,INSTEAD USE MARA TYPE MATNR WHERE MATNR
    *IS THE DATA ELEMENT FOR FIELD MATNR.
    TYPES: BEGIN OF ty_mara,
             matnr TYPE matnr,
             mtart TYPE mtart,
             meins TYPE meins,
             kunnr TYPE wettb,
           END OF ty_mara.
    TYPES: BEGIN OF ty_makt,
            matnr TYPE matnr,
            maktx TYPE maktx,
            spras TYPE spras,
           END OF ty_makt.
    TYPES: BEGIN OF ty_marc,
            matnr TYPE matnr,
            werks TYPE werks_d,
            END OF ty_marc.
    TYPES : BEGIN OF ty_kna1,
              kunnr TYPE kunnr,
              name1 TYPE name1_gp,
              land1 TYPE land1_gp,
              END OF ty_kna1.
    TYPES: BEGIN OF ty_vbap,
             matnr TYPE matnr,
             posnr TYPE posnr_va,
             matkl TYPE matkl,
             vbeln TYPE vbeln_va,
             END OF ty_vbap.
    TYPES: BEGIN OF ty_ekpo,
             ebeln TYPE ebeln,
             ebelp TYPE ebelp,
             bukrs TYPE bukrs,
             werks TYPE werks_d,
             lgort TYPE lgort_d,
             matnr TYPE matnr,
             mandt TYPE mandt,
            END OF ty_ekpo.
    DATA:t_mara TYPE TABLE OF ty_mara WITH HEADER LINE,
         t_makt TYPE TABLE OF ty_makt WITH HEADER LINE,
         t_marc TYPE TABLE OF ty_marc WITH HEADER LINE,
         t_kna1 TYPE TABLE OF ty_kna1 WITH HEADER LINE,
         t_vbap TYPE TABLE OF ty_vbap WITH HEADER LINE,
         t_ekpo TYPE TABLE OF ty_ekpo WITH HEADER LINE.
    FINAL INTERNAL TABLE *
    TYPES: BEGIN OF ty_final,
         matnr TYPE matnr,
         mtart TYPE mtart,
         meins TYPE meins,
         werks TYPE werks_d,
         maktx TYPE maktx,
         spras TYPE spras,
         vbeln TYPE vbeln_va,
         posnr TYPE posnr_va,
         matkl TYPE matkl,
         ebeln TYPE ebeln,
         ebelp TYPE ebelp,
         bukrs TYPE bukrs,
         kunnr TYPE kunnr,
         land1 TYPE land1_gp,
         name1 TYPE name1_gp,
         lgort TYPE lgort_d,
         END OF ty_final.
    DATA : t_final TYPE TABLE OF ty_final WITH HEADER LINE.
    *DATA: BEGIN OF V_matnr OCCURS 0,
    matnr LIKE mara-matnr,
    END OF t_matnr.
    DATA:
    a(32) TYPE c.
    a = 'IBT000000000000000001000000000000000050'.
    SELECTION SCREEN *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_bukrs FOR ekpo-bukrs,
                     s_kunnr FOR kna1-kunnr,
                     s_werks FOR marc-werks,
                     s_matnr FOR mara-matnr OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    START OF SELECTION *
    START-OF-SELECTION.
    *USE SUBROUTINES
    *get data
      PERFORM get_data.
    *populate final table
      PERFORM populate_final_table.
    END-OF-SELECTION.
    *display output
      PERFORM display_output.
    TOP-OF-PAGE *
    TOP-OF-PAGE.
      ULINE.
      WRITE : /60 'G E N E R A L D E T A I L S' COLOR 2 INVERSE OFF.
      ULINE.
      WRITE :/ sy-vline, 'MATERIAL' COLOR 4, "12 SY-VLINE,
      13 sy-vline, 'IND SECTOR',
      28 sy-vline, 'UNITS',
      43 sy-vline, 'PLANT',
      55 sy-vline, 'MAT DESC',
      68 sy-vline, 'LANGU',
      70 sy-vline, 'SALES DOC ITEM',
      95 sy-vline, 'MAT GROUP',
      110 sy-vline, 'SALES DOC',
      125 sy-vline, 'CUST ID',
      140 sy-vline, 'NAME',
      155 sy-vline, 'COUNTRY',
      165 sy-vline, 'company code',
      205 sy-vline, 'storge loc'.
    *&      Form  GET_DATA
          text
    -->  p1        text
    <--  p2        text
    *TRY TO CLEAR AND REFRESH TABLES BEFORE SELECT
    FORM get_data .
      CLEAR t_mara.
      REFRESH t_mara.
      SELECT matnr
             mtart
             meins
             kunnr
             FROM mara
             INTO TABLE t_mara
             WHERE matnr IN s_matnr.
      IF NOT t_mara[] IS INITIAL.
        CLEAR t_marc.
        REFRESH t_marc.
        SELECT matnr
               werks
               FROM marc
               INTO TABLE t_marc
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr
                     AND werks IN s_werks.
        CLEAR t_makt.
        REFRESH t_makt.
        SELECT matnr
               maktx
               spras
               FROM makt
               INTO TABLE t_makt
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr
               AND spras = sy-langu.
        CLEAR t_vbap.
        REFRESH t_vbap.
        SELECT matnr
               posnr
               matkl
               vbeln
               FROM vbap
               INTO TABLE t_vbap
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr.
        CLEAR t_ekpo.
        REFRESH t_ekpo.
        SELECT ebeln
               ebelp
               bukrs
               werks
               lgort
               matnr
               mandt
               FROM ekpo
               INTO TABLE t_ekpo
               FOR ALL ENTRIES IN t_mara
               WHERE matnr = t_mara-matnr
               AND werks IN s_werks.
      ENDIF.
      CLEAR t_kna1.
      REFRESH t_kna1.
      SELECT kunnr
             land1
             name1
             INTO  TABLE t_kna1
             FROM kna1.
    WHERE WERKS in s_werks.
    ENDFORM.                    " GET_DATA
    *&      Form  POPULATE_FINAL_TABLE
          text
    -->  p1        text
    <--  p2        text
    FORM populate_final_table .
    *AVOID LOOPS AND TRY  TO USE READ
      CLEAR t_final.
      REFRESH t_final.
      LOOP AT t_mara.
        MOVE t_mara-matnr TO t_final-matnr.
        MOVE t_mara-mtart TO t_final-mtart.
        MOVE t_mara-meins TO t_final-meins.
        READ TABLE t_marc WITH KEY matnr = t_mara-matnr.
        MOVE t_marc-werks TO t_final-werks.
        READ TABLE t_makt WITH KEY matnr = t_mara-matnr.
        MOVE t_makt-maktx TO t_final-maktx.
        MOVE t_makt-spras TO t_final-spras.
        READ TABLE t_vbap WITH KEY matnr = t_mara-matnr.
        MOVE t_vbap-posnr TO t_final-posnr.
        MOVE t_vbap-matkl TO t_final-matkl.
        MOVE t_vbap-vbeln TO t_final-vbeln.
        READ TABLE t_ekpo WITH KEY matnr = t_mara-matnr.
        MOVE t_ekpo-bukrs TO t_final-bukrs.
        MOVE t_ekpo-ebeln TO t_final-ebeln.
        MOVE t_ekpo-ebelp TO t_final-ebelp.
        MOVE t_ekpo-lgort TO t_final-lgort.
        READ TABLE t_kna1 WITH KEY kunnr  = t_mara-kunnr.
        MOVE t_kna1-kunnr TO t_final-kunnr.
        MOVE t_kna1-name1 TO t_final-name1.
        MOVE t_kna1-land1 TO t_final-land1.
        APPEND t_final.
        CLEAR :t_final,t_mara,t_marc,t_makt,t_ekpo,t_vbap.
      ENDLOOP.
    ENDFORM.                    " POPULATE_FINAL_TABLE
    *&      Form  DISPLAY_OUTPUT
          text
    -->  p1        text
    <--  p2        text
    FORM display_output .
      LOOP AT t_final.
        WRITE : 4 t_final-matnr,
        20 t_final-mtart,
        28 t_final-meins,
        46 t_final-werks,
        58 t_final-maktx,
        71 t_final-spras,
        78 t_final-posnr,
        100 t_final-matkl,
        115 t_final-vbeln,
        130 t_final-kunnr,
        142 t_final-name1,
        156 t_final-land1,
        168 t_final-bukrs,
        190 t_final-ebeln,
        205 t_final-ebelp,
        208 t_final-lgort.
      ENDLOOP.
    ENDFORM.                    " DISPLAY_OUTPUT

  • Performance Tuning for Concurrent Reports

    Hi,
    Can you help me with Performance Tuning for Concurrent Reports/Requests ?
    It was running fine but suddenly running slow.
    Request Name : Participation Process: Compensation program

    What is your application release?
    Please see if (Performance Issues With Participation Process: Compensation Workbench [ID 389979.1]) is applicable.
    To enable trace/debug, please see (FAQ: Common Tracing Techniques within the Oracle Applications 11i/R12 [ID 296559.1] -- 5. How does one enable trace for a concurrent program INCLUDING bind variables and waits?).
    Thanks,
    Hussein

  • Performance Tuning for OBIEE Reports

    Hi Experts,
    I had a requirement for which i have to end up building a snowflakt model in Physical layer i.e. One Dimension table with Three snowflake tables(Materialized views).
    The key point is the Dimension table is used in most of the OOTB reports.
    so all the reports use other three snowflakes tables in the Join conditions due to which the reports take longer time than ever like 10 mints.
    can anyone suggest good performance tuning tips to tune the reports.
    i created some indices on Materialized view columns and and on dimension table columns.
    i created the Materialized views with cache Enabled and refreshes only once in 24 hours etc
    is there anything i have to improve performance or have to consider re-designing the Physical layer without snowflake
    Please Provide valuable suggestions and comments
    Thank You
    Kumar

    Kumar,
    Most of the Performance Tuning should be done at the Back End , So calculate all the aggregates in the Repository it self and Create a Fast Refresh for MV and you can also do one thing you can schedule an IBOT to run the report every 1 hour or some thing so that the report data will be cached and when the user runs the report the BI Server extracts the data from Cache
    Hope that helps
    ~Srix

  • Performance Tuning of webi report BO4.0

    Hi ,
    I have report which has two data providers in 1st Data Provider i have 10 objects and in 2nd Data provider i have 3 objects the issue is performance report is taking 6 minutes to run.
    Please help me out how we can increase the performance at Query Level.
    Thanks
    Siva

    Hi
    There are various levels to which you have to check to improve the performance of reports could be at connection levels, query, database etc.
    some of them you can try
    1. check array fetch size in relational connection parameters, deactivating array fetch size can increase the efficiency of retrieving your data, but slows server performance.
    2. Setting options for the default list of values in business layer and data foundation layer
    Automatic refresh - If this is selected, the list of values is automatically refreshed each time the
    list is called. This can have an effect on performance each time the list of values is refreshed. You should disable this option if the list of values returns a large number of values.
    3. set query stripping (Optimize query with Query Stripping in Web Intelligence - Business Intelligence (BusinessObjects) - SCN Wiki)
    4. also check Performance Tuning Methods in BO
    Regards,
    Raghava

  • Performance Tuning for a report

    Hi,
    We have developed a program which updates 2 fields namely Reorder Point and Rounding Value on the MRP1 tab in TCode MM03.
    To update the fields, we are using the BAPI BAPI_MATERIAL_SAVEDATA.
    The problem is that when we upload the data using a txt file, the program takes a very long time. Recently when we uploaded a file containing 2,00,000 records, it took 27 hours. Below is the main portion of the code (have ommitted the open data set etc). Please help us fine tune this, so that we can upload these 2,00,000 records in 2-3 hours.
    select matnr from mara into table t_mara.
    select werks from t001w into corresponding fields of table t_t001w .
    select matnr werks from marc into corresponding fields of table t_marc.
    loop at str_table into wa_table.
    if not wa_table-partnumber is initial.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
       EXPORTING
         INPUT         =  wa_table-partnumber
         IMPORTING
        OUTPUT        = wa_table-partnumber
    endif.
    clear wa_message.
    read table t_mara into wa_mara with key matnr = wa_table-partnumber.
    if sy-subrc is not initial.
    concatenate 'material ' wa_table-partnumber ' doesnot exists'
    into wa_message.
    append wa_message to t_message.
    endif.
    read table t_t001w into wa_t001w with key werks = wa_table-HostLocID.
      if sy-subrc is not initial.
      concatenate 'plant ' wa_table-HostLocID  ' doesnot exists' into
      wa_message.
      append wa_message to t_message.
      else.
      case wa_t001w-werks.
    when 'DE40'
    or  'DE42'
    or  'DE44'
    or  'CN61'
    or  'US62'
    or  'SG70'
    or  'FI40'
    read table t_marc into wa_marc with key matnr = wa_table-partnumber
                                            werks = wa_table-HostLocID.
    if sy-subrc is not initial.
    concatenate 'material' wa_table-partnumber  ' not extended to plant'
    wa_table-HostLocID  into  wa_message.
    append wa_message to t_message.
    endif.
    when others.
    concatenate 'plant ' wa_table-HostLocID ' not allowed'
      into wa_message.
    append wa_message to t_message.
    endcase.
    endif.
        if wa_message is initial.
          data: wa_headdata type BAPIMATHEAD,
          wa_PLANTDATA type BAPI_MARC,
          wa_PLANTDATAx type BAPI_MARCX.
          wa_headdata-MATERIAL = wa_table-PartNumber.
          wa_PLANTDATA-plant = wa_table-HostLocID.
          wa_PLANTDATAX-plant = wa_table-HostLocID.
          wa_PLANTDATA-REORDER_PT = wa_table-ROP.
          wa_PLANTDATAX-REORDER_PT = 'X'.
          wa_plantdata-ROUND_VAL = wa_table-EOQ.
          wa_plantdatax-round_val =  'X'.
          CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
            EXPORTING
              HEADDATA                   = wa_headdata
             PLANTDATA                  = wa_PLANTDATA
             PLANTDATAX                 = wa_PLANTDATAX
          IMPORTING
             RETURN                     =  t_bapiret
          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    write t_bapiret-message.
    endif.
    clear: wa_mara, wa_t001w, wa_marc.
    endloop.
    loop at t_message into wa_message.
    write wa_message.
    endloop.
    Thanks in advance.
    Peter
    Edited by: kishan P on Sep 17, 2010 4:50 PM

    Hi Peter,
    I would suggest few changes in your code. Please refer below procedure to optimize the code.
    Steps:
               Please run SE30 run time analysis and find out if ABAP code or Database fetch is taking time.
               Please run extended program check or code inspector to remove any errors and warnings.
               Few code changes that i would suggest in your code
              For select query from t001w & marc remove the corresponding clause as this also reduces the performance. ( For this you can define an Internal table with only the required fields in the order they are specified in the table and execute a select query to fetch these fields)
              Also put an initial check if str_table[] is not initial before you execute the loop.
              where ever you have used read table. Please sort these tables and use binary search.
              Please clear the work areas after every append statment.
              As i dont have a sap system handy. i would also check if my importing parameters for the bapi structure is a table. Incase its a table i would directly pass all the records to this table and then pass it to the bapi. Rather than looping every records and updating it.
    Hope this helps to resolve your problem.
    Have a nice day
    Thanks

  • Report running for long time & performance tuning

    Hi All,
    (1). WebI report is running for long time.so what are the steps i need to check for it ?
    (2). Can you tell me about performance tuning in BO ?
    please help me.....
    Thanks
    Kumar

    (1). WebI report is running for long time.so what are the steps i need to check for it ?
    The first step is to see if the problem lies in the query on the data source or in webi itself. Depending on the data source there are different ways to extract the query and try to run it against the database. Which source does your report uses?
    (2). Can you tell me about performance tuning in BO ?
    I would recommend to start by reading the administrator's guide. There is a section about how to improve performance.
    Regards,
    Stratos

  • Need clear steps for doing performance tuning on SQL Server 2008 R2 (DB Engine, Reporting Services and Integration Services)

    We have to inverstigate about a reporting solution where things are getting slow (may be material, database design, network matters).
    I have red a lot in MSDN and some books about performance tuning on SQL Server 2008 R2 (or other) but frankly, I feel a little lost in all that stuff
    I'am looking for practical steps in order to do the tuning. Someone had like a recipe for that : a success story...
    My (brain storm) Methodology should follow these steps:
     Resource bottlenecks: CPU, memory, and I/O bottlenecks
     tempdb bottlenecks
     A slow-running user query : Missing indexes, statistics,...
     Use performance counters : there are many, can one give us the list of the most important
    how to do fine tuning about SQL Server configuration
    SSRS, SSIS configuration ? 
    And do the recommandations.
    Thanks
    "there is no Royal Road to Mathematics, in other words, that I have only a very small head and must live with it..."
    Edsger W. Dijkstra

    Hello,
    There is no clear defined step which can be categorized as step by step to performance tuning.Your first goal is to find out cause or drill down to factor causing slowness of SQL server it can be poorly written query ,missing indexes,outdated stats.RAM crunch
    CPU crunch so on and so forth.
    I generally refer to below doc for SQL server tuning
    http://technet.microsoft.com/en-us/library/dd672789(v=sql.100).aspx
    For SSIS tuning i refer below doc.
    http://technet.microsoft.com/library/Cc966529#ECAA
    http://msdn.microsoft.com/en-us/library/ms137622(v=sql.105).aspx
    When I face issue i generally look at wait stats ,wait stats give you idea about on what resource query was waiting.
    --By Jonathan KehayiasSELECT TOP 10
    wait_type ,
    max_wait_time_ms wait_time_ms ,
    signal_wait_time_ms ,
    wait_time_ms - signal_wait_time_ms AS resource_wait_time_ms ,
    100.0 * wait_time_ms / SUM(wait_time_ms) OVER ( )
    AS percent_total_waits ,
    100.0 * signal_wait_time_ms / SUM(signal_wait_time_ms) OVER ( )
    AS percent_total_signal_waits ,
    100.0 * ( wait_time_ms - signal_wait_time_ms )
    / SUM(wait_time_ms) OVER ( ) AS percent_total_resource_waits
    FROM sys.dm_os_wait_stats
    WHERE wait_time_ms > 0 -- remove zero wait_time
    AND wait_type NOT IN -- filter out additional irrelevant waits
    ( 'SLEEP_TASK', 'BROKER_TASK_STOP', 'BROKER_TO_FLUSH',
    'SQLTRACE_BUFFER_FLUSH','CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT',
    'LAZYWRITER_SLEEP', 'SLEEP_SYSTEMTASK', 'SLEEP_BPOOL_FLUSH',
    'BROKER_EVENTHANDLER', 'XE_DISPATCHER_WAIT', 'FT_IFTSHC_MUTEX',
    'CHECKPOINT_QUEUE', 'FT_IFTS_SCHEDULER_IDLE_WAIT',
    'BROKER_TRANSMITTER', 'FT_IFTSHC_MUTEX', 'KSOURCE_WAKEUP',
    'LAZYWRITER_SLEEP', 'LOGMGR_QUEUE', 'ONDEMAND_TASK_QUEUE',
    'REQUEST_FOR_DEADLOCK_SEARCH', 'XE_TIMER_EVENT', 'BAD_PAGE_PROCESS',
    'DBMIRROR_EVENTS_QUEUE', 'BROKER_RECEIVE_WAITFOR',
    'PREEMPTIVE_OS_GETPROCADDRESS', 'PREEMPTIVE_OS_AUTHENTICATIONOPS',
    'WAITFOR', 'DISPATCHER_QUEUE_SEMAPHORE', 'XE_DISPATCHER_JOIN',
    'RESOURCE_QUEUE' )
    ORDER BY wait_time_ms DESC
    use below link to analyze wait stats
    http://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/
    HTH
    PS: for reporting services you can post in SSRS forum
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • Performance tuning in t

    hi,
    I have to do perofrmance for one program, it is taking 67000 secs in back ground for execution and 1000 secs for some varints .It is an  ALV report.
    please suggest me how to proced to change the code.

    Performance tuning for Data Selection Statement
    <b>http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm</b>Debugger
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    Run Time Analyser
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
    SQL trace
    http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
    CATT - Computer Aided Testing Too
    http://help.sap.com/saphelp_47x200/helpdata/en/b3/410b37233f7c6fe10000009b38f936/frameset.htm
    Test Workbench
    http://help.sap.com/saphelp_47x200/helpdata/en/a8/157235d0fa8742e10000009b38f889/frameset.htm
    Coverage Analyser
    http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
    Runtime Monitor
    http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
    Memory Inspector
    http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
    ECATT - Extended Computer Aided testing tool.
    http://help.sap.com/saphelp_47x200/helpdata/en/20/e81c3b84e65e7be10000000a11402f/frameset.htm
    Just refer to these links...
    performance
    Performance
    Performance Guide
    performance issues...
    Performance Tuning
    Performance issues
    performance tuning
    performance tuning
    You can go to the transaction SE30 to have the runtime analysis of your program.Also try the transaction SCI , which is SAP Code Inspector.

  • Performance tuning in oracle 10g

    Hi Guys
    i hope all are well,Have a nice day Today
    i have discuss with some performance tuning issue
    recently , i joined the new project that project improve the efficiency of the applicaton. in this environment oracle plsql langauage are used , so if i need to improve effiency of application what are the step are taken
    and what are the way to go through the process improvement
    kindly help me

    generate statspack/AWR reports
    HOW To Make TUNING request
    https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360003

  • Performance Tuning in IR

    Hello All,
    We have created some reports using Interactive Reporting Studio. The volume of data in that Oracle database are huge and in some tables of the relational database are having above 3-4 crores rows individually. We have created the .oce connection file using the 'Oracle Net' option. Oracle client ver is 10g. We earlier created pivot, chart and report in those .bqy files but had to delete those where-ever possible to decrease the processing time for getting those report generated.
    But deleting those from the file and retaining just the result section (the bare minimum part of the file) even not yet helped us out solving the performance issue fully. Still now, in some reports, system gives error message 'Out of Memory' at the time of processing those reports. The memory of the client PCs,wherefrom the reports are being generated are 1 - 1.5 GB. For some reports, even it takes 1-2 hours for saving the results after process. In some cases, the PCs gets hanged at the time of processing. When we extract the query of those reports in sql and run them in TOAD/SQL PLUS, they take not so much time like IR.
    Would you please help us out in the aforesaid issue ASAP? Please share your views/tips/suggestions etc in respect of performance tuning for IR. All reply would be highly appreciated.
    Regards,
    Raj

    SQL + & Toad are tools that send SQL and spool results; IR is a tool that sends a request to the database to run SQL and then fiddles with the results before the user is even told data has been received. You need to minimize the time spent by IR manipulating results into objects the user isn't even asking for.
    When a request is made to the database, Hyperion will wait until all of the results have been received. Once ALL of the results have been received, then IR will make multiple passes to apply sorts, filters and computed items existing in the results section. For some unknown reason, those three steps are performed more inefficiently then they would be performed in a table section. Only after all of the computed items have been calculated, all filters applied and all sorts sorted, then IR will start to calculate any reports, charts and pivots. After all that is done, the report stops processing and the data has been "returned"
    To increase performance, you need to fine tune your IR Services and your BQY docs. Replicate your DAS on your server - it can only transfer 2g before it dies, restarts and your requested document hangs. You can replicated the DAS multiple times and should do so to make sure there are enough resources available for any concurrent users to make necessary requests and have data delivered to them.
    To tune your bqy documents...
    1) Your Results section MUST be free of any sorts, filters, or computed items. Create a staging table and put any sorts or local filters there. Move as many of your computed items to your database request line and ask the database to make the calculation (either directly or through stored procedures) so you are not at the mercy of the client machine. Any computed items that cannot be moved to the request line, need to be put on your new staging table.
    2) Ask the users to choose filters. Programmatically build dynamic filters based on what the user is looking for. The goal is to cast a net only as big as the user needs so you are not bringing back unnecessary data. Otherwise, you will bring your server and client machines to a grinding halt.
    3) Halt any report pagination. Built your reports from their own tables and put a dummy filter on the table that forces 0 rows in the table until the report is invoked. Hyperion will paginate every report BEFORE it even tells the user it has results so this will prevent the user from waiting an hour while 1000s of pages are paginated across multiple reports
    4) Halt any object rendering until request. Same as above - create a system programmically for the user to tell the bqy what they want so they are not waiting forever for a pivot and 2 reports to compile and paginate when they want just a chart.
    5) Saved compressed documents
    6) Unless this document can be run as a job, there should be NO results stored with the document but if you do save results with the document, store the calculations too so you at least don't have to wait for them to pass again.
    7) Remove all duplicate images and keep the image file size small.
    Hope this helps!
    PS: I forgot to mention - aside from results sections, in documents where the results are NOT saved, additional table sections take up very, very, very small bits of file size and, as long as there are not excessively larger images the same is true for Reports, Pivots and Charts. Additionally, the impact of file size only matters when the user is requesting the document. The file size is never an issue when the user is processing the report because it has already been delivered to them and cached (in workspace and in the web client)
    Edited by: user10899957 on Feb 10, 2009 6:07 AM

  • Performance comparison between oops reports and normaal reports

    Hi Abapers,
                      Can anyone tell me that how is it better to use oops reports instesad of normal reports
    as there is no difference in select query in both the reports, and if you have any reports which give the same output developed in oops and normal way....
    pls provide me with that.... so that i can check....
    Regards
    Aarif

    Hi Arif,
    the performance tuning doesn't mean concern of data fetch load or reducing database access. It also means reduce ABAP load i.e. load of Application Server.
    OOABAP report works directly with memory. not with work area or tempory variable top store a value. So if your program is reached with READ, LOOP...ENDLOOP etc. you can reduce its load by using OOABAP concept.
    Getting this think, you can develope an application of your own.
    Regards,
    Anirban

  • Course of action to performance tune an ALV report

    Dear friends,
      I am working on an ALV report that needs to be performance tuned.
    I have made the following observations about the report.
    1) it takes 37 mins to run in production like system
    2) there are some nested select statements, which I am trying to get rid of and frame an inner join
    3) Most of the data is coming from the tables -  knvv,kona,s060,t6b2f. 
    4) in the st05 - display trace - the fetch S060 table is taking the maximum amount of time
    what should be my course of action? Should I create indexes on S060? or request BASIS to create them?
    Any other steps I can take to optimize this report.
    ~thanks for reading, and any feedback is appreciated

    How do i deal with these nested selects
    get condition table number(s) based on the condition group for this
    rebate - there could be more than one
      CLEAR t6b2f.
      SELECT kotabnr
        FROM t6b2f
        INTO t6b2f-kotabnr
        WHERE kappl = kona-kappl
          AND kobog = kona-kobog.
    build condition table name
        WRITE t6b2f-kotabnr TO c_kotabnr.
        CONCATENATE cond_table_prefix c_kotabnr INTO c_kotabnr.
    select all condition numbers for this rebate from this table
        SELECT knumh
          FROM (c_kotabnr)
          INTO my_knumh
          WHERE knuma = itab_rebate_info-knuma_item.
    for this condition, get lowest scale value and add to purchase req
          CLEAR my_kstbw.
          SELECT MIN( kstbw )
            FROM konw
            INTO my_kstbw
            WHERE knumh = my_knumh.
          itab_rebate_info-kstbw = itab_rebate_info-kstbw + my_kstbw.
    see if there is any info in S060 for this condition for the current
    rebate's period
          CLEAR s060.
          SELECT kawrt_k kwert_k auwrt_k
            FROM s060
            INTO (s060-kawrt_k, s060-kwert_k, s060-auwrt_k)
            WHERE knumh = my_knumh
    *{   REPLACE        TS1K900014                                        1
    *\          AND spmon = itab_rebate_info-spmon.
              AND spmon = itab_rebate_info-spmon
              AND ssour = ' '
              AND vrsio = '000'.
    *}   REPLACE
    accumulate values into internal table fields
            itab_rebate_info-kawrt_k = itab_rebate_info-kawrt_k +
                                       s060-kawrt_k.
            itab_rebate_info-kwert_k = itab_rebate_info-kwert_k +
                                       s060-kwert_k.
            itab_rebate_info-auwrt_k = itab_rebate_info-auwrt_k +
                                       s060-auwrt_k.
            CLEAR s060.
          ENDSELECT.
        ENDSELECT.
      ENDSELECT.

  • Regarding performance tuning

    hi,
    i have developed a report program.its taking too much time to fetch the records.so what steps i have to consider to improve the performance. urgent plz.

    Hi,
    Check this links
    Performance tuning for Data Selection Statement & Others
    http://www.sap-img.com/abap/performance-tuning-for-data-selection-statement.htm
    http://www.sapdevelopment.co.uk/perform/performhome.htm
    http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_PerformanceAnalysisTools.asp
    http://www.thespot4sap.com/Articles/SAPABAPPerformanceTuning_Introduction.asp
    1. Debugger
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    2. Run Time Analyser
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617cafe68c11d2b2ab080009b43351/content.htm
    3. SQL trace
    http://help.sap.com/saphelp_47x200/helpdata/en/d1/801f7c454211d189710000e8322d00/content.htm
    6. Coverage Analyser
    http://help.sap.com/saphelp_47x200/helpdata/en/c7/af9a79061a11d4b3d4080009b43351/content.htm
    7. Runtime Monitor
    http://help.sap.com/saphelp_47x200/helpdata/en/b5/fa121cc15911d5993d00508b6b8b11/content.htm
    8. Memory Inspector
    http://help.sap.com/saphelp_47x200/helpdata/en/a2/e5fc84cc87964cb2c29f584152d74e/content.htm
    http://sap.genieholdings.com/abap/performance.htm
    http://www.dbis.ethz.ch/research/publications/19.pdf
    Reward Points if it is Useful.
    Thanks,
    Manjunath MS

  • Oracle Performance Tuning

    Hi,
    Our organization recently also encounter Oracle DB performance issue, whereby I am searching for information for us to going into diagnostic the problem and finding the root cause of this performance problem.
    I had read through this old article where I found a number of points being highlighted was a good start for us, and just about this port, we would like to understand what in details of AIX 5.3 and asynch I/O turned-on had to do with Oracle DB performance, unfortunately the URL given in the article (possible due to the twas back in 2006), is no longer valid (http://www.oracle.com/technology/pub/articles/lewis_cbo.html), I tried that but the pages being redirected to (http://www.oracle.com/technetwork/articles/index.html).
    May I know, would you able to provide me the new URL path for the mentiened AIX 5.3 asynch I/O turned-on related information?
    Our environment:
    1) OS AIX 5.3
    2) Oracle DB 10g
    (If I have the AWR Report, would it be better possition for you to help us?)
    Thank you in advanced.
    Best Regards,
    KaiLoon Kok
    Edited by: 991132 on Feb 28, 2013 11:19 PM

    Hi,
    performance tuning is a very large argument and the causes of degradation may be many.
    There are several consideration that You have to do like:
    - which kind of application is running on the DB
    - which kind of optimizer is used
    - the striping of the data files across the disks
    - the dimension of the DB block
    - the waits that DB encounters
    - many other things like SORT_AREA_SIZE, HASH_AREA_SIZE, etc.
    To begin Yr analysis use the utlbstat.sql and utlestat.sql scripts provided in the $ORACLE_HOM/rdbms/admin directory and check the conditions of the DB.
    Increasing the SGA, like You've done, may not be the solution, somtimes it may instead decrease the overall performances.
    Also check in wich case the DB is slow, ex. executing some particular procedure, excuting a particular query, ....
    Try to identify the better the DB and then try to resubmit Yr problem.
    Bye Max
    null

Maybe you are looking for

  • How can I stop my browser crashing all the time?

    My browser shuts down frequently for some unknown reason. Once it crashes at a particular website, or place on a website, I can almost never access that point again, the browser will close every time I try to go there. I've been using Firefox, but I'

  • Attempt to burn a disc failed. An unknown error occurred (4280).

    I put a blank CD in. I open iTunes. I click on a play list and attempt to burn. It checks the play list like everything is fine and seems like it begins to burn the first track. Then after a few seconds it says *_canceling disc_*. It ejects the CD an

  • Group and Workspace are detached

    Hi there, I created a group "LMS-EMEA-JPE-DE" at that time the policy did not add automatically the ending Workspace to each auto-created workspace to a group. How can we get all current and future users for the Workspace and Group in sync. We also w

  • Resource EMPLOYEE_TRAVEL_EXPENSES_SRV_12 not found

    Hi experts, We have an ECC 6.0 EHP3, EP 7.0 SP18 with BPERP5ESS 1.2 SP 4, SAP_ESS 1.0 SP 19.1, BPERP5COM 1.20 SP 4, SAPPCUI_GP 1.0 SP 19, we activate the business function FIN_TRAVEL_1 . The issue is when in the Portal we go to "My Trips and Expenses

  • Adobe Premiere Pro CC Schwarze Ränder an den Seiten

    Hallo liebe Adobe-Community, ich erstelle liebend gerne Montagen zur privaten Nutzung. Lange Zeit habe ich mit MAGIX gearbeitet, allerdings ist es von der Bedienung und den Funktionen her kaum zu gebrauchen. Nun bin ich auf Adobe Premiere Pro gestoße