ABAP performance issues and improvements

Hi All,
Pl. give me the ABAP performance issue and improvement points.
Regards,
Hema

Performance tuning for Data Selection Statement
For all entries
The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of
entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the
length of the WHERE clause.
The plus
Large amount of data
Mixing processing and reading of data
Fast internal reprocessing of data
Fast
The Minus
Difficult to program/understand
Memory could be critical (use FREE or PACKAGE size)
Some steps that might make FOR ALL ENTRIES more efficient:
Removing duplicates from the the driver table
Sorting the driver table
      If possible, convert the data in the driver table to ranges so a BETWEEN statement is used instead of and OR statement:
      FOR ALL ENTRIES IN i_tab
        WHERE mykey >= i_tab-low and
              mykey <= i_tab-high.
Nested selects
The plus:
Small amount of data
Mixing processing and reading of data
Easy to code - and understand
The minus:
Large amount of data
when mixed processing isn’t needed
Performance killer no. 1
Select using JOINS
The plus
Very large amount of data
Similar to Nested selects - when the accesses are planned by the programmer
In some cases the fastest
Not so memory critical
The minus
Very difficult to program/understand
Mixing processing and reading of data not possible
Use the selection criteria
SELECT * FROM SBOOK.                   
  CHECK: SBOOK-CARRID = 'LH' AND       
                  SBOOK-CONNID = '0400'.        
ENDSELECT.                             
SELECT * FROM SBOOK                     
  WHERE CARRID = 'LH' AND               
        CONNID = '0400'.                
ENDSELECT.                              
Use the aggregated functions
C4A = '000'.              
SELECT * FROM T100        
  WHERE SPRSL = 'D' AND   
        ARBGB = '00'.     
  CHECK: T100-MSGNR > C4A.
  C4A = T100-MSGNR.       
ENDSELECT.                
SELECT MAX( MSGNR ) FROM T100 INTO C4A 
WHERE SPRSL = 'D' AND                
       ARBGB = '00'.                  
Select with view
SELECT * FROM DD01L                    
  WHERE DOMNAME LIKE 'CHAR%'           
        AND AS4LOCAL = 'A'.            
  SELECT SINGLE * FROM DD01T           
    WHERE   DOMNAME    = DD01L-DOMNAME 
        AND AS4LOCAL   = 'A'           
        AND AS4VERS    = DD01L-AS4VERS 
        AND DDLANGUAGE = SY-LANGU.     
ENDSELECT.                             
SELECT * FROM DD01V                    
WHERE DOMNAME LIKE 'CHAR%'           
       AND DDLANGUAGE = SY-LANGU.     
ENDSELECT.                             
Select with index support
SELECT * FROM T100            
WHERE     ARBGB = '00'      
       AND MSGNR = '999'.    
ENDSELECT.                    
SELECT * FROM T002.             
  SELECT * FROM T100            
    WHERE     SPRSL = T002-SPRAS
          AND ARBGB = '00'      
          AND MSGNR = '999'.    
  ENDSELECT.                    
ENDSELECT.                      
Select … Into table
REFRESH X006.                 
SELECT * FROM T006 INTO X006. 
  APPEND X006.                
ENDSELECT
SELECT * FROM T006 INTO TABLE X006.
Select with selection list
SELECT * FROM DD01L              
  WHERE DOMNAME LIKE 'CHAR%'     
        AND AS4LOCAL = 'A'.      
ENDSELECT
SELECT DOMNAME FROM DD01L    
INTO DD01L-DOMNAME         
WHERE DOMNAME LIKE 'CHAR%' 
       AND AS4LOCAL = 'A'.  
ENDSELECT
Key access to multiple lines
LOOP AT TAB.          
CHECK TAB-K = KVAL. 
ENDLOOP.              
LOOP AT TAB WHERE K = KVAL.     
ENDLOOP.                        
Copying internal tables
REFRESH TAB_DEST.              
LOOP AT TAB_SRC INTO TAB_DEST. 
  APPEND TAB_DEST.             
ENDLOOP.                       
TAB_DEST[] = TAB_SRC[].
Modifying a set of lines
LOOP AT TAB.             
  IF TAB-FLAG IS INITIAL.
    TAB-FLAG = 'X'.      
  ENDIF.                 
  MODIFY TAB.            
ENDLOOP.                 
TAB-FLAG = 'X'.                  
MODIFY TAB TRANSPORTING FLAG     
           WHERE FLAG IS INITIAL.
Deleting a sequence of lines
DO 101 TIMES.               
  DELETE TAB_DEST INDEX 450.
ENDDO.                      
DELETE TAB_DEST FROM 450 TO 550.
Linear search vs. binary
READ TABLE TAB WITH KEY K = 'X'.
READ TABLE TAB WITH KEY K = 'X' BINARY SEARCH.
Comparison of internal tables
DESCRIBE TABLE: TAB1 LINES L1,      
                TAB2 LINES L2.      
IF L1 <> L2.                        
  TAB_DIFFERENT = 'X'.              
ELSE.                               
  TAB_DIFFERENT = SPACE.            
  LOOP AT TAB1.                     
    READ TABLE TAB2 INDEX SY-TABIX. 
    IF TAB1 <> TAB2.                
      TAB_DIFFERENT = 'X'. EXIT.    
    ENDIF.                          
  ENDLOOP.                          
ENDIF.                              
IF TAB_DIFFERENT = SPACE.           
ENDIF.                              
IF TAB1[] = TAB2[].  
ENDIF.               
Modify selected components
LOOP AT TAB.           
TAB-DATE = SY-DATUM. 
MODIFY TAB.          
ENDLOOP.               
WA-DATE = SY-DATUM.                    
LOOP AT TAB.                           
MODIFY TAB FROM WA TRANSPORTING DATE.
ENDLOOP.                               
Appending two internal tables
LOOP AT TAB_SRC.              
  APPEND TAB_SRC TO TAB_DEST. 
ENDLOOP
APPEND LINES OF TAB_SRC TO TAB_DEST.
Deleting a set of lines
LOOP AT TAB_DEST WHERE K = KVAL. 
  DELETE TAB_DEST.               
ENDLOOP
DELETE TAB_DEST WHERE K = KVAL.
Tools available in SAP to pin-point a performance problem
      The runtime analysis (SE30)
      SQL Trace (ST05)
      Tips and Tricks tool
      The performance database
Optimizing the load of the database
Using table buffering
Using buffered tables improves the performance considerably. Note that in some cases a stament can not be used with a buffered table, so when using these staments the buffer will be bypassed. These staments are:
Select DISTINCT
ORDER BY / GROUP BY / HAVING clause
Any WHERE clasuse that contains a subquery or IS NULL expression
JOIN s
A SELECT... FOR UPDATE
If you wnat to explicitly bypass the bufer, use the BYPASS BUFFER addition to the SELECT clause.
Use the ABAP SORT Clause Instead of ORDER BY
The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The datbase server will usually be the bottleneck, so sometimes it is better to move thje sort from the datsbase server to the application server.
If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT stament to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the datbase server sort it.
Avoid ther SELECT DISTINCT Statement
As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplciate rows.

Similar Messages

  • Performance issue and data getting interchanged in BO Webi report + SAP BW

    Hi,
    We are using SAP BW queries as the source for creating some BO reports.
    Environments :
    SAP - SAP BI 7.1
    BO - BO XI 3.1
    Issues :
    The reports were working fine in Dev and Q with less data. But when we point the universes to BW prod ( where we have much data), the reports are taking quite a long time to refresh and getting timed out. This query has some key figures which are having customer exits defined to show only one month data. And also BW accelerators are updated for the infocubes pertaining to this query. The BO report is giving data if we apply a filter in 'Query Panel' of Webi to show only current month dates. But then the issue is the values are getting interchanged for many objects. For ex: there are 2 objects- ABS version and Market region. The values are getting interchanged in the BO level.
    Please let us know if anything needs to be done in BO or BW to fix this issue if anyone has faced the same
    Also Please let us know if customer exits and accelerators works fine with BO
    Thanks
    Sivakami

    Hi,
    Thanks Roberto. We'll check the notes
    @Ingo,
    We are able to solve the performance issue by removing unused Key figures and dimensions from the query, but the column value interchange issue still persisits
    The build version is  - 12.3.0
    Query Stripping
    Where should we enable query stripping? When i went through some documentation it was written that it'll be enabled automatically from XI 3.1 Sp3. Can you please let us know if its so and what we need to do to enable it.
    The coulmn interchange is happening when we use dimensions in a certain order. When product type is used along with Market region. Market region shows values of Product type also in Webi report.
    Thanks & Regards,
    Sivakami

  • Urgent : general abap performance issue

    HI floks
    i did some development in new smartform its working fine but i have issue in data base performance is 76% . but i utilize similar below code with various conditions in various 12 places . is it possible to reduce performance this type of code . check it and mail me how can i do it . if possible can suggest me fast .how much % is best for this type of performance issues.
    DATA : BEGIN OF ITVBRPC OCCURS 0,
           LV_POSNR LIKE VBRP-POSNR,
           END OF ITVBRPC.
    DATA : BEGIN OF ITKONVC OCCURS 0,
            LV_KNUMH LIKE KONV-KNUMH,
            LV_KSCHL LIKE KONV-KSCHL,
           END OF ITKONVC.
    DATA:  BEGIN OF ITKONHC OCCURS 0,
           LV_KNUMH LIKE KONH-KNUMH,
           LV_KSCHL LIKE KONH-KSCHL,
           LV_KZUST LIKE KONH-KZUST,
           END OF ITKONHC.
    DATA: BEGIN OF ITKONVC1 OCCURS 0,
           LV_KWERT LIKE KONV-KWERT,
           END OF ITKONVC1.
    DATA :  BEGIN OF ITCALCC OCCURS 0,
           LV_KWERT LIKE KONV-KWERT,
           END OF ITCALCC.
    DATA: COUNTC(3) TYPE n,
           TOTALC LIKE KONV-KWERT.
    SELECT POSNR FROM VBRP INTO ITVBRPC
      WHERE VBELN = INV_HEADER-VBELN AND ARKTX = WA_INVDATA-ARKTX .
    APPEND ITVBRPC.
    ENDSELECT.
    LOOP AT ITVBRPC.
    SELECT KNUMH KSCHL FROM KONV INTO ITKONVC WHERE KNUMV =
    LV_VBRK-KNUMV AND KPOSN = ITVBRPC-LV_POSNR AND KSCHL = 'ZLAC'.
    APPEND ITKONVC.
    ENDSELECT.
    ENDLOOP.
    SORT ITKONVC BY LV_KNUMH.
    DELETE ADJACENT DUPLICATES FROM ITKONVC.
    LOOP AT ITKONVC.
    SELECT KNUMH KSCHL KZUST FROM KONH INTO ITKONHC WHERE KNUMH = ITKONVC-LV_KNUMH AND KSCHL = 'ZLAC' AND KZUST = 'Z02'.
    APPEND ITKONHC.
    ENDSELECT.
    ENDLOOP.
    LOOP AT ITKONHC.
    SELECT KWERT FROM KONV INTO ITKONVC1 WHERE KNUMH = ITKONHC-LV_KNUMH AND
    KSCHL = ITKONHC-LV_KSCHL AND KNUMV = LV_VBRK-KNUMV.
    MOVE ITKONVC1-LV_KWERT TO ITCALCC-LV_KWERT.
    APPEND ITCALCC.
    ENDSELECT.
    endloop.
    LOOP AT ITCALCC.
    COUNTC = COUNTC + 1.
    TOTALC = TOTALC + ITCALCC-LV_KWERT.
      ENDLOOP.
    MOVE ITKONHC-LV_KSCHL TO LV_CKSCHL.
    MOVE TOTALC TO LV_CKWERT.
    it's urgent ..........
    thanks .
    bbbbye
    suresh

    You need to use for all entries instead of select inside the loop.
    Try this:
    DATA : BEGIN OF ITVBRPC OCCURS 0,
    VBELN LIKE VBRP-VBELN,
    LV_POSNR LIKE VBRP-POSNR,
    END OF ITVBRPC.
    DATA: IT_VBRPC_TMP like ITVBRPC occurs 0 with header line.
    DATA : BEGIN OF ITKONVC OCCURS 0,
    LV_KNUMH LIKE KONV-KNUMH,
    LV_KSCHL LIKE KONV-KSCHL,
    END OF ITKONVC.
    DATA: BEGIN OF ITKONHC OCCURS 0,
    LV_KNUMH LIKE KONH-KNUMH,
    LV_KSCHL LIKE KONH-KSCHL,
    LV_KZUST LIKE KONH-KZUST,
    END OF ITKONHC.
    DATA: BEGIN OF ITKONVC1 OCCURS 0,
    KNUMH LIKE KONV-KNUMH,
    KSCHL LIKE KONV- KSCHL,
    LV_KWERT LIKE KONV-KWERT,
    END OF ITKONVC1.
    DATA : BEGIN OF ITCALCC OCCURS 0,
    LV_KWERT LIKE KONV-KWERT,
    END OF ITCALCC.
    DATA: COUNTC(3) TYPE n,
    TOTALC LIKE KONV-KWERT.
    *SELECT POSNR FROM VBRP INTO ITVBRPC
    *WHERE VBELN = INV_HEADER-VBELN AND ARKTX = WA_INVDATA-ARKTX .
    *APPEND ITVBRPC.
    *ENDSELECT.
    SELECT VBELN POSNR FROM VBRP INTO TABLE ITVBRPC
    WHERE VBELN = INV_HEADER-VBELN AND
                     ARKTX = WA_INVDATA-ARKTX .
    If sy-subrc eq 0.
      IT_VBRPC_TMP[] = ITVBRPC[].
      Sort IT_VBRPC_TMP by vbeln posnr.
      Delete adjacent duplicates from IT_VBRPC_TMP comparing vbeln posnr.
    SELECT KNUMH KSCHL FROM KONV
                   INTO TABLE ITKONVC
                   WHERE KNUMV = LV_VBRK-KNUMV AND
                   KPOSN = ITVBRPC-LV_POSNR AND
                    KSCHL = 'ZLAC'.
    if sy-subrc eq 0.
       SORT ITKONVC BY LV_KNUMH.
        DELETE ADJACENT DUPLICATES FROM ITKONVC COMPARING LV_KNUMH.
       SELECT KNUMH KSCHL KZUST FROM KONH
                 INTO TABLE ITKONHC
                 WHERE KNUMH =  ITKONVC-LV_KNUMH AND
                               KSCHL = 'ZLAC' AND
                               KZUST = 'Z02'.
       if sy-subrc eq 0.
    SELECT KNUMH KSCHL KWERT FROM KONV
                   INTO TABLE ITKONVC1
                    WHERE KNUMH = ITKONHC-LV_KNUMH AND
                                   KSCHL = ITKONHC-LV_KSCHL AND
                                    KNUMV = LV_VBRK-KNUMV.
        Endif.
    Endif.
    Endif.
    *LOOP AT ITVBRPC.
    *SELECT KNUMH KSCHL FROM KONV INTO ITKONVC WHERE KNUMV =
    *LV_VBRK-KNUMV AND KPOSN = ITVBRPC-LV_POSNR AND KSCHL = 'ZLAC'.
    *APPEND ITKONVC.
    *ENDSELECT.
    *ENDLOOP.
    *SORT ITKONVC BY LV_KNUMH.
    *DELETE ADJACENT DUPLICATES FROM ITKONVC.
    *LOOP AT ITKONVC.
    SELECT KNUMH KSCHL KZUST FROM KONH INTO ITKONHC WHERE KNUMH = ITKONVC-LV_KNUMH AND KSCHL = 'ZLAC' AND KZUST = 'Z02'.
    *APPEND ITKONHC.
    *ENDSELECT.
    *ENDLOOP.
    *LOOP AT ITKONHC.
    *SELECT KWERT FROM KONV INTO ITKONVC1 WHERE KNUMH = ITKONHC-LV_KNUMH *AND
    *KSCHL = ITKONHC-LV_KSCHL AND KNUMV = LV_VBRK-KNUMV.
    *MOVE ITKONVC1-LV_KWERT TO ITCALCC-LV_KWERT.
    *APPEND ITCALCC.
    *ENDSELECT.
    *endloop.
    LOOP AT ITCALCC.
    COUNTC = COUNTC + 1.
    TOTALC = TOTALC + ITCALCC-LV_KWERT.
    ENDLOOP.
    MOVE ITKONHC-LV_KSCHL TO LV_CKSCHL.
    MOVE TOTALC TO LV_CKWERT.

  • New Performance Settings and Improvements in 2004s

    Hi all,
    I was wondering if there is a document or website with all performance settings that are
    new in BI 2004s (and that were not available in BW 3.5 or lower). 
    If this information is not grouped yet, I want to invite everyone to gather the 2004s specific performance information in this thread. The improvements that I'm aware  of are:
    Write-optimized DSO: http://help.sap.com/saphelp_nw70/helpdata/en/b6/de1c42128a5733e10000000a155106/frameset.htm
    BI Accelerator http://help.sap.com/saphelp_nw70/helpdata/en/06/49c0417951d117e10000000a155106/frameset.htm
    Optimization hint for logical MultiProvider partitioning (native in BI 2004s) Note 911939
    Of course there must be more.
    Best regards,
    Danië

    You are partially rite and you mentioned the new settings which come along with the aforementioned settings
    Heres my take on few others -
    <b>1)Tcode = RSODSO_SETTINGS</b>
    used for Parallel activation of ODS to improve performance
    <b>2)RSCUSTV25</b>
    Query- SQL Split
    Data mart Query Split
    <b>3)se16-->RSADMIN</b>
    DB_STATISTICS = OFF
    OSS note 938040  - as per SAP
    As of Support Package 8, the parameter is no longer used. This means that BI triggers the creation of database statistics, regardless of this parameter. The database itself determines whether the statistics are to be created or changed.
    Tool BRCONNECT to be used after loading of all cubes.
    <b>4)RSCUSTV8</b>
    Reporting Lock = X
    If you set this parameter to X, database commits are executed during master data activation. This prevents an overflow of rollback segments. Because temporary inconsistent states can occur here, reporting is locked during this time.
    If you currently load large quantities of data in which many values change, leading to problems with the rollback segments, you should set this parameter.
    <b>5)Parallel Processing of query</b>
    Se16-->RSADMIN
    QUERY_MAX_WP_DIAG = 6
    https://forums.sdn.sap.com/click.jspa?searchID=4695392&messageID=2935804
    <b>6)RSA1>Administration>Current Settings</b>
    Here you get all the different independent areas which you can work to perk up the
    performance related issues.
    Infoprovider
    DSO
    Aggregate Parameters
    BI system Data transfer
    OLAP cache
    Planning Locks
    System Parameters
    Batch manager
    I luv to see my name popping up in wikipidea
    Hope it Helps
    Chetan
    @CP..

  • Performance issue and functional question regarding updates on tables

    A person at my site wrote some code to update a custom field on the MARC table that was being copied from the MARA table.  Here is what I would have expected to see as the code.  Assume that both sets of code have a parameter called p_werks which is the plant in question.
    data : commit_count type i.
    select matnr zfield from mara into (wa_marc-matnr, wa_marc-zfield).
      update marc set zfield = wa_marc-zfield
         where werks = p_werks and matnr = wa_matnr.
      commit work and wait.
    endselect.
    I would have committed every 200 rows instead of every one row, but here's the actual code and my question isn't around the commits but something else.  In this case an internal table was built with two elements - MATNR and WERKS - could have done that above too, but that's not my question.
                DO.
                  " Lock the record that needs to be update with material creation date
                  CALL FUNCTION 'ENQUEUE_EMMARCS'
                    EXPORTING
                      mode_marc      = 'S'
                      mandt          = sy-mandt
                      matnr          = wa_marc-matnr
                      werks          = wa_marc-werks
                    EXCEPTIONS
                      foreign_lock   = 1
                      system_failure = 2
                      OTHERS         = 3.
                  IF sy-subrc <> 0.
                    " Wait, if the records not able to perform as lock
                    CALL FUNCTION 'RZL_SLEEP'.
                  ELSE.
                    EXIT.
                  ENDIF.
                ENDDO.
                " Update the record in the table MARC with material creation date
                UPDATE marc SET zzdate = wa_mara-zzdate
                           WHERE matnr = wa_mara-matnr AND
                                 werks = wa_marc-werks.    " IN s_werks.
                IF sy-subrc EQ 0.
                  " Save record in the database table MARC
                  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
                    EXPORTING
                      wait   = 'X'
                    IMPORTING
                      return = wa_return.
                  wa_log-matnr   = wa_marc-matnr.
                  wa_log-werks   = wa_marc-werks.
                  wa_log-type    = 'S'.
                  " text-010 - 'Material creation date has updated'.
                  wa_log-message = text-010.
                  wa_log-zzdate  = wa_mara-zzdate.
                  APPEND wa_log TO tb_log.
                  CLEAR: wa_return,wa_log.
                ELSE.
                  " Roll back the record(un save), if there is any issue occurs
                  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
                    IMPORTING
                      return = wa_return.
                  wa_log-matnr   = wa_marc-matnr.
                  wa_log-werks   = wa_marc-werks.
                  wa_log-type    = 'E'.
                  " 'Material creation date does not updated'.
                  wa_log-message = text-011.
                  wa_log-zzdate  = wa_mara-zzdate..
                  APPEND wa_log TO tb_log.
                  CLEAR: wa_return, wa_log.
                ENDIF.
                " Unlock the record from data base
                CALL FUNCTION 'DEQUEUE_EMMARCS'
                  EXPORTING
                    mode_marc = 'S'
                    mandt     = sy-mandt
                    matnr     = wa_marc-matnr
                    werks     = wa_marc-werks.
              ENDIF.
    Here's the question - why did this person enqueue and dequeue explicit locks like this ?  They claimed it was to prevent issues - what issues ???  Is there something special about updating tables that we don't know about ?  We've actually seen it where the system runs out of these ENQUEUE locks.
    Before you all go off the deep end and ask why not just do the update, keep in mind that you don't want to update a million + rows and then do a commit either - that locks up the entire table!

    The ENQUEUE lock insure that another program called by another user will not update the data at the same time, so preventing database coherence to be lost. In fact, another user on a SAP correct transaction, has read the record and locked it, so when it will be updated your modifications will be lost, also you could override modifications made by another user in another luw.
    You cannot use a COMMIT WORK in a SELECT - ENDSELECT, because COMMIT WORK will close each and every opened database cursor, so your first idea would dump after the first update. (so the internal table is mandatory)
    Go through some documentation like [Updates in the R/3 System (BC-CST-UP)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCSTUP/BCCSTUP_PT.pdf]
    Regards

  • WD ABAP performance tips and tricks

    Hi all,
    I was wondering if there is any good approach to build WD applications so performance does not have to suffer. Do you know of any good documentation on this topic?
    Thank you,
    Georgy

    Hello, Georgy,
    From my experience, I follow some guidelines. These can be correct or not, but from my researches across SDN and other sources (help.sap.com and Ulli's book), it's proven to be good guidelines. Of course, I'll be presenting here only those tips related to WDA, not ABAP. Here they are:
    1. Design your Context nodes carefully:
    - Avoid non-Singleton nodes;
    - Make your supply functions as simple as possible;
    2. Controllers:
    - If you use a component (such as ALV or MESSAGE_MANAGER) frequently, instantiate it at WDDOINIT and save it as a public attribute of the COMPONENTCONTROLLER. This way, whenever you need to call a method of the component, you can refer to wd_comp_controller->attribute->method.
    3. Views:
    - Instead of using dynamic programming to control properties of view elements (visibility, read-only, text, etc), use context attributes. This way, you can control, for instance, the visibility of an element in any method, not only inside WDDOMODIFYVIEW;
    4. Methods:
    - Use the WDA framework correctly: if you need to consist user entered data, use WDDOBEFOREACTION; if you need to control aspects of the view, use WDDOMODIFYVIEW;
    - Learn the Phase Model better than the back of your hands
    Well, that's some guidelines I use, and I'd like you to comment it also, or further expand this list.
    Regards,
    Andre

  • Report Performance Issue and Strange Execution Log Data

    Today we have had a report suddenly start taking a long time to execute.
    Looking at the Report Server executionLog3 table/view we have the following information for the query in question. 
     <Connection>
          <ConnectionOpenTime>1</ConnectionOpenTime>
          <DataSets>
            <DataSet>
              <Name>ReportDataset</Name>
              <RowsRead>7</RowsRead>
              <TotalTimeDataRetrieval>150013</TotalTimeDataRetrieval>
              <ExecuteReaderTime>3</ExecuteReaderTime>
            </DataSet>
          </DataSets>
        </Connection>
    Supposedly the time taken to retrieve the data is around 150 seconds.  However, running a profiler trace while running the report in SSRS shows the query executing in under 1 second.  
    Indeed running a profiler trace for anything on the server with a duration greater than 60 seconds isn't returning anything.  I can only assume the above data is wrong when it says 150 seconds to retrieve the data.  IT IS taking that long to run
    the report though - so the question is - where is the time going? 
    Why can't I find a slow query on the server but SSRS thinks there is? 
    LucasF
    EDIT: This was fixed by restarting the report server.  Any ideas on why this might occur? 

    Hi Lucas,
    According to your description, you find the <TotalTimeDataRetrieval> in ExecutionLog3 is larger than the profiler trace time.
    In Reporting Services, to analyze the performance of the report, we usually check the TimeDataRetrieval to find the time we spend on retrieving the data. It’s the time needed for SQL Server to retrieve the data of all datasets in your report. So in your
    scenario, please check if the TimeDataRetrieval is equal to the time in profiler trace.
    Reference:
    More tips to improve performance of SSRS reports
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • Serious performance issues and no sound???

    I just purchased a PM8M-V VIA P4M800 + VT8237 Chipset Basedd motherboard, for the primary reason that my EVGA GeForce 6600 GT 128MB video card was having random artifacts popping up all over the screen. My problem is my performance is very laggy (2 FPS in Battlefield 2...version 1.1.2554-356.0, lowest video quality settings, tried it at both 1024x768 and 800x600 and I've messed around with the desktop resolution); I opened up the task manager during battlefield 2 and it showed 100% PC usage, which never went down during the game. I set the video card AGP apeture size to 256 MB which helped the performance a tad. Also, the video swap memory I set to the lowest possible in the BIOS. Drivers for both the new mother board and the EVGA card are installed up to date. I ran Norton and Adaware, my comp is clean, and I also ran disk defrag. I haven't done disk cleanup, ETC but I figured something that small couldn't effect performance that bad. I saw something in the BIOS about changing the AGP Voltage, not sure if I should screw with this setting
    My second problem is I have no sound. My sound is a built in card and it reads, verbatum (from the Motherboard manual)
    AC97 link controller integrated in VT8237R
    Realtel ALC655 6-Channel Software audio codec
       - Compliant with AC97 v2.2 spec
    Again, the drivers are all up-to-date on the sound, as well
    Here again are my PC stats
    MSI PM8M-V motherboard
    VIA P4M800 + VT8237 Chipset Based
    Intel 2.0 GHZ Processor
    1 gig RAM
    EVGA GeForce 6600GT 128MB video
    40 GB hardrive which isn't full
    Upgraded power supply to handle all of the hardware
    The EVGA card isn't the problem; I'm positive of that because I already returned it to newegg.com and they sent me a new one that had the same problem. Any other suggestions? Again, performance is horrible and I have no sound, even with updated drivers
    please, reply to this post, or email me a solution at [email protected].  I'm desperate to use my $400 in computer stuff I bought
    If you want, I can email you the dxdiag.txt file, I've heard that can help greatly to see that info...

    dxdiag.txt part 2
    DirectX Components
       ddraw.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 292864 bytes
     ddrawex.dll: 5.00.2134.0001 English Final Retail 5/8/2001 08:00:00 24336 bytes
       dxapi.sys: 5.00.2180.0001 English Final Retail 5/8/2001 08:00:00 10064 bytes
        d3d8.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 1201152 bytes
     d3d8thk.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 7168 bytes
        d3d9.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 1703936 bytes
       d3dim.dll: 5.00.2180.0001 English Final Retail 12/12/2002 01:14:32 446224 bytes
    d3dim700.dll: 5.03.0001.0902 English Final Retail 5/30/2003 10:00:02 797184 bytes
      d3dref.dll: 5.00.2180.0001 English Final Retail 5/8/2001 08:00:00 93456 bytes
     d3dramp.dll: 5.00.2180.0001 English Final Retail 12/12/2002 01:14:32 591120 bytes
       d3drm.dll: 5.00.2134.0001 English Final Retail 12/12/2002 01:14:32 364816 bytes
      d3dxof.dll: 5.00.2135.0001 English Final Retail 12/12/2002 01:14:32 49424 bytes
    d3dpmesh.dll: 5.00.2134.0001 English Final Retail 12/12/2002 01:14:32 37648 bytes
       dplay.dll: 5.00.2134.0001 English Final Retail 5/8/2001 08:00:00 33040 bytes
      dplayx.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 230400 bytes
    dpmodemx.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 77824 bytes
     dpwsock.dll: 5.00.2134.0001 English Final Retail 5/8/2001 08:00:00 42768 bytes
    dpwsockx.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 79360 bytes
    dplaysvr.exe: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 28160 bytes
      dpnsvr.exe: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 16896 bytes
       dpnet.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 723968 bytes
    dpnlobby.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 3072 bytes
     dpnaddr.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 3072 bytes
     dpvoice.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 381952 bytes
    dpvsetup.exe: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 80896 bytes
      dpvvox.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 112128 bytes
      dpvacm.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 19968 bytes
    dpnhpast.dll: 5.03.0000.0901 English Final Retail 3/24/2003 10:00:02 32768 bytes
    dpnhupnp.dll: 5.03.0000.0901 English Final Retail 3/24/2003 10:00:02 68096 bytes
    dpserial.dll: 5.00.2134.0001 English Final Retail 5/8/2001 08:00:00 53520 bytes
      dinput.dll: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 645120 bytes
     dinput8.dll: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 664576 bytes
       dimap.dll: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 44032 bytes
    diactfrm.dll: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 459264 bytes
         joy.cpl: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 326144 bytes
       gcdef.dll: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 206336 bytes
         pid.dll: 5.01.2600.0881 English Final Retail 10/30/2001 09:10:00 31744 bytes
    gameenum.sys: 5.00.2195.6655 English Final Retail 6/19/2003 12:05:04 9808 bytes
      dsound.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 381952 bytes
    dsound3d.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 1294336 bytes
      dswave.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 18432 bytes
       dsdmo.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 186880 bytes
    dsdmoprp.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 491520 bytes
      dmusic.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 122880 bytes
      dmband.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 27136 bytes
    dmcompos.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 58368 bytes
       dmime.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 181248 bytes
    dmloader.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 33280 bytes
     dmstyle.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 98816 bytes
     dmsynth.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 100864 bytes
    dmscript.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 76800 bytes
       dx7vb.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 602624 bytes
       dx8vb.dll: 5.03.0001.0902 English Final Retail 5/30/2003 10:00:02 1189888 bytes
     dxdiagn.dll: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 1769472 bytes
       mfc40.dll: 4.01.0000.6140 English Final Retail 5/8/2001 08:00:00 924432 bytes
       mfc42.dll: 6.00.9586.0000 English Beta Retail 6/19/2003 12:05:04 1015859 bytes
     wsock32.dll: 5.00.2195.6603 English Final Retail 6/19/2003 12:05:04 21776 bytes
    amstream.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 64512 bytes
     devenum.dll: 6.05.0001.0902 English Final Retail 5/30/2003 10:00:02 132608 bytes
      dxmasf.dll: 6.04.0009.1131 English Final Retail 3/2/2005 07:38:52 498717 bytes
    mciqtz32.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 34304 bytes
     mpg2splt.ax: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 136192 bytes
       msdmo.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 13312 bytes
      encapi.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 18944 bytes
        qasf.dll: 9.00.0000.2980 English Final Retail 12/11/2002 18:34:40 241664 bytes
        qcap.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 257024 bytes
         qdv.dll: 6.05.0001.0904 English Final Retail 7/9/2004 05:27:28 316928 bytes
        qdvd.dll: 6.05.0001.0904 English Final Retail 7/9/2004 05:27:28 470528 bytes
       qedit.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 1798144 bytes
    qedwipes.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 733184 bytes
      quartz.dll: 6.05.0001.0907 English Final Retail 8/30/2005 09:14:00 1227776 bytes
     strmdll.dll: 4.01.0000.3928 English Final Retail 6/19/2003 12:05:04 246544 bytes
     iac25_32.ax: 2.00.0005.0053 English Final Retail 5/8/2001 08:00:00 199680 bytes
      ir41_32.ax: 4.51.0016.0003 English Final Retail 5/8/2001 08:00:00 848384 bytes
     ir41_qc.dll: 4.30.0062.0002 English Final Retail 5/8/2001 08:00:00 120320 bytes
    ir41_qcx.dll: 0.00.0000.0000 English Final Retail 5/8/2001 08:00:00 338432 bytes
     ir50_32.dll: 5.2562.0015.0055 English Final Retail 5/8/2001 08:00:00 755200 bytes
     ir50_qc.dll: 5.00.0063.0048 English Final Retail 5/8/2001 08:00:00 200192 bytes
    ir50_qcx.dll: 5.00.0064.0048 English Final Retail 5/8/2001 08:00:00 183808 bytes
       ivfsrc.ax: 5.10.0002.0051 English Final Retail 5/8/2001 08:00:00 154624 bytes
    mswebdvd.dll: 6.05.0001.0900 English Final Retail 12/12/2002 01:14:32 324096 bytes
          ks.sys: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 130304 bytes
      ksproxy.ax: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 117248 bytes
      ksuser.dll: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 4096 bytes
      stream.sys: 5.03.0001.0904 English Final Retail 7/9/2004 05:27:28 48512 bytes
    mspclock.sys: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 5248 bytes
       mspqm.sys: 5.00.2134.0001 English Final Retail 9/25/1999 11:36:32 4816 bytes
     mskssrv.sys: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 7424 bytes
      swenum.sys: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 4096 bytes
       mstee.sys: 5.03.0000.0900 English Final Retail 12/12/2002 01:14:32 5504 bytes
     bdaplgin.ax: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:04 16896 bytes
      bdasup.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:04 11392 bytes
      msdvbnp.ax: 6.05.0001.0900 English Final Retail 7/9/2004 03:58:18 52224 bytes
    psisdecd.dll: 6.05.0001.0900 English Final Retail 7/9/2004 03:58:34 354816 bytes
     psisrndr.ax: 6.05.0001.0900 English Final Retail 7/9/2004 03:58:36 30208 bytes
       ipsink.ax: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:06 14848 bytes
    mpeg2data.ax: 6.05.0001.0900 English Final Retail 7/9/2004 03:58:12 57856 bytes
      ndisip.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:30 10112 bytes
         mpe.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:10 15104 bytes
    streamip.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:40 14976 bytes
    msvidctl.dll: 6.05.0001.0900 English Final Retail 7/9/2004 03:58:08 480256 bytes
        slip.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:38 10880 bytes
    nabtsfec.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:28 83968 bytes
    ccdecode.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:06 16384 bytes
      vbisurf.ax: 5.00.2157.0001 English Final Retail 5/8/2001 08:00:00 29968 bytes
       msyuv.dll: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:26 16896 bytes
     kstvtune.ax: 5.03.0001.0904 English Final Retail 7/19/2004 17:19:30 285696 bytes
       ksxbar.ax: 5.03.0001.0902 English Final Retail 7/9/2004 03:58:10 39424 bytes
     kswdmcap.ax: 5.03.0000.0900 English Final Retail 7/9/2004 03:59:26 226304 bytes
    wstcodec.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:44 18688 bytes
    wstdecod.dll: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:48 47104 bytes
        msdv.sys: 5.03.0000.0900 English Final Retail 7/9/2004 03:58:14 56832 bytes
    DirectShow Filters
    WDM Streaming VBI Codecs:
    NABTS/FEC VBI Codec,0x00200000,2,1,,5.03.0000.0900
    CC Decoder,0x00200000,2,1,,5.03.0000.0900
    WST Codec,0x00200000,1,1,,5.03.0000.0900
    DirectShow Filters:
    WMAudio Decoder DMO,0x00800800,1,1,,
    WMSpeech Decoder DMO,0x00600800,1,1,,
    Mpeg4s Decoder DMO,0x00800001,1,1,,
    WMV Screen decoder DMO,0x00800001,1,1,,
    WMVideo Decoder DMO,0x00800001,1,1,,
    Mpeg43 Decoder DMO,0x00800001,1,1,,
    Mpeg4 Decoder DMO,0x00800001,1,1,,
    DivX Decoder Filter,0x00800000,1,1,divxdec.ax,5.02.0001.1335
    RTP Source Filter,0x00200000,0,1,dxmrtp.dll,5.00.2195.6611
    RTP Render Filter,0x00200000,1,0,dxmrtp.dll,5.00.2195.6611
    VP6 Decompressor,0x00800000,1,1,vp6dec.ax,6.04.0002.0000
    3ivx D4 Video Encoder,0x00100000,1,1,3ivxDSEncoder.ax,4.05.0001.0030
    Vorbis Decoder,0x00600000,1,1,OggDS.dll,0.09.0009.0005
    ffdshow MPEG-4 Video Decoder,0xff800001,2,1,ffdshow.ax,1.00.0002.0024
    Full Screen Renderer,0x00200000,1,0,quartz.dll,6.05.0001.0907
    CoreVorbis Audio Decoder,0x00800000,1,1,CoreVorbis.ax,1.01.0000.0079
    ffdshow raw video filter,0x00200000,2,1,ffdshow.ax,1.00.0002.0024
    3ivx D4 Video Decoder,0x00800000,1,1,3ivxDSDecoder.ax,4.05.0001.0030
    Nero Scene Detector 2,0x00200000,2,0,NeSceneDetector.ax,1.00.0000.0007
    ffdshow Audio Decoder,0x3fffffff,1,1,ffdshow.ax,1.00.0002.0024
    DV Muxer,0x00400000,0,0,qdv.dll,6.05.0001.0904
    3ivx D4 Media Muxer,0x00200000,1,1,3ivxDSMediaMux.ax,4.05.0001.0030
    Nero Digital Audio Decoder,0x00600000,1,1,NeAudio.ax,1.00.0004.0037
    DV Scenes,0x00200000,1,1,NVDV.dll,
    Color Space Converter,0x00400001,1,1,quartz.dll,6.05.0001.0907
    WM ASF Reader,0x00400000,0,0,qasf.dll,9.00.0000.2980
    Intel RTP SPH for G.711/G.723.1,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    Nero Digital Null Renderer,0x00200000,1,0,NeNDMux.ax,2.00.0000.0008
    AVI Splitter,0x00600000,1,1,quartz.dll,6.05.0001.0907
    VGA 16 Color Ditherer,0x00400000,1,1,quartz.dll,6.05.0001.0907
    Indeo® video 5.10 Compression Filter,0x00200000,1,1,ir50_32.dll,5.2562.0015.0055
    Windows Media Audio Decoder,0x00800001,1,1,msadds32.ax,4.01.0000.3917
    PCM Silence Suppressor,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    AC3 Parser Filter,0x00600000,1,1,mpg2splt.ax,6.05.0001.0900
    Nero Digital File Writer,0x00200000,1,0,NeNDMux.ax,2.00.0000.0008
    MJPEG Decompressor,0x00600000,1,1,quartz.dll,6.05.0001.0907
    Indeo® video 5.10 Decompression Filter,0x00640000,1,1,ir50_32.dll,5.2562.0015.0055
    H261 Decode Filter,0x00200000,1,1,h261_32.ax,5.00.2195.6611
    Nero Mpeg Audio Encoder,0x00200000,1,1,NeAudioEnc.ax,1.00.0000.0004
    CoreCodec DynEQ,0x00200000,1,1,dyneq.cll,1.00.0002.0000
    H263 Decode Filter,0x00200000,1,1,h263_32.ax,5.00.2195.6611
    MPEG-I Stream Splitter,0x00600000,1,2,quartz.dll,6.05.0001.0907
    SAMI (CC) Parser,0x00400000,1,1,quartz.dll,6.05.0001.0907
    MPEG Layer-3 Decoder,0x00810000,1,1,l3codecx.ax,1.09.0000.0311
    Nero Audio Stream Renderer,0x00200000,1,0,NeRender.ax,1.00.0001.0008
    Intel RTP Demux Filter,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    MPEG-2 Splitter,0x005fffff,1,0,mpg2splt.ax,6.05.0001.0900
    Nero Digital Muxer,0x00200000,2,1,NeNDMux.ax,2.00.0000.0008
    CoreCodec Audio Source,0x00600000,0,1,ccaudiosource.cll,0.05.0000.1150
    Intel RTP SPH for Generic Audio,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    ACELP.net Sipro Lab Audio Decoder,0x00800001,1,1,acelpdec.ax,1.04.0000.0000
    Nero QuickTime(tm) Video Decoder,0x00400000,1,1,NeQTDec.ax,1.00.0000.0004
    Internal Script Command Renderer,0x00800001,1,0,quartz.dll,6.05.0001.0907
    MPEG Audio Decoder,0x03680001,1,1,quartz.dll,6.05.0001.0907
    WavPack Audio Decoder,0x00600000,1,1,WavPackDSDecoder.ax,1.00.0003.0431
    File Source (Netshow URL),0x00400000,0,1,wmpasf.dll,9.00.0000.2980
    Nero Format Converter,0x00200000,1,1,NeroFormatConv.ax,1.00.0000.0050
    DV Splitter,0x00600000,1,2,qdv.dll,6.05.0001.0904
    Windows Media Video Decoder,0x00800000,1,1,wmvds32.ax,3.00.0000.3433
    Video Mixing Renderer 9,0x00200000,1,0,quartz.dll,6.05.0001.0907
    CoreFLAC Audio Source,0x00600000,0,0,CoreFLACDecoder.ax,0.04.0000.0046
    3ivx D4 Media Splitter,0x00800000,1,1,3ivxDSMediaSplitter.ax,4.05.0001.0030
    Haali Media Splitter,0x00600001,0,1,splitter.ax,
    Nero ES Video Reader,0x00600000,0,1,NDParser.ax,2.00.0002.0034
    CoreFLAC Audio Decoder,0x00600000,1,1,CoreFLACDecoder.ax,0.04.0000.0046
    DV Source Filter,0x00400000,0,1,NVDV.dll,
    Nero Audio CD Filter,0x00200000,0,1,NeAudCD.ax,1.00.0000.0001
    Windows Media Multiplexer,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASX file Parser,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASX v.2 file Parser,0x00600000,1,0,wmpasf.dll,9.00.0000.2980
    NSC file Parser,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    XviD MPEG-4 Video Decoder,0xff800000,1,1,xvid.ax,
    File Source (Monkey Audio),0x00400000,0,1,MonkeySource.ax,
    3ivx D4 Audio Decoder,0x00600000,1,1,3ivxDSAudioDecoder.ax,4.05.0001.0030
    ACM Wrapper,0x00600000,1,1,quartz.dll,6.05.0001.0907
    Windows Media source filter,0x00600000,0,2,wmpasf.dll,9.00.0000.2980
    Video Renderer,0x00800001,1,0,quartz.dll,6.05.0001.0907
    Nero DVD Navigator,0x00600000,0,4,NeDVD.ax,2.01.0001.0039
    Line 21 Decoder,0x00600000,1,1,qdvd.dll,6.05.0001.0904
    Video Port Manager,0x00600000,2,1,quartz.dll,6.05.0001.0907
    WST Decoder,0x00600000,1,1,wstdecod.dll,5.03.0000.0900
    Video Renderer,0x00400000,1,0,quartz.dll,6.05.0001.0907
    Nero Audio Sample Renderer,0x00200000,1,0,NeRender.ax,1.00.0001.0008
    Nero Vcd Navigator,0x00600000,0,2,NeVcd.ax,1.02.0000.0020
    DivX Decoder Filter,0xff800000,1,1,divxdec.ax,5.02.0001.1335
    Nero Audio Processor,0x00200000,1,1,NeAudioConv.ax,1.01.0000.0008
    WM ASF Writer,0x00400000,0,0,qasf.dll,9.00.0000.2980
    CoreCodec WPW,0x00200000,1,1,wawrap.cll,8.00.0000.0000
    VBI Surface Allocator,0x00600000,1,1,vbisurf.ax,5.00.2157.0001
    Nero Video Stream Renderer,0x00200000,1,0,NeRender.ax,1.00.0001.0008
    File writer,0x00200000,1,0,qcap.dll,6.05.0001.0900
    RadLight MPC DirectShow Filter,0x00600000,0,1,MPCDec.ax,1.00.0000.0003
    Vorbis Encoder,0x00200000,1,1,OggDS.dll,0.09.0009.0005
    Ogg Multiplexer,0x00400000,1,1,OggDS.dll,0.09.0009.0005
    DirectVobSub,0x00200000,2,1,vsfilter.dll,1.00.0001.0002
    RIFF/CDXA Source,0x00400000,0,1,xcdsrc.ax,8.01.0000.0000
    DirectVobSub (auto-loading version),0x00800002,2,1,vsfilter.dll,1.00.0001.0002
    ffdshow VFW decoder helper,0x00200000,2,1,ffdshow.ax,1.00.0002.0024
    DVD Navigator,0x00200000,0,2,qdvd.dll,6.05.0001.0904
    Overlay Mixer2,0x00400000,1,1,qdvd.dll,6.05.0001.0904
    Haali Matroska Muxer,0x00200000,1,0,splitter.ax,
    Cutlist File Source,0x00200000,0,1,qcut.dll,6.01.0009.0726
    AC3Filter,0x40000000,1,1,ac3filter.ax,1.00.0001.0000
    AVI Draw,0x00600064,9,1,quartz.dll,6.05.0001.0907
    .RAM file Parser,0x00600000,1,0,wmpasf.dll,9.00.0000.2980
    Nero File Source / Splitter,0x00600000,0,3,NeFSource.ax,1.00.0004.0004
    Nero Digital Audio Encoder,0x00200000,1,2,NeNDAud.ax,2.00.0000.0008
    G.711 Codec,0x00200000,1,1,g711codc.ax,5.00.2143.0001
    MPEG-2 Demultiplexer,0x00600000,1,1,mpg2splt.ax,6.05.0001.0900
    DV Video Decoder,0x00800000,1,1,qdv.dll,6.05.0001.0904
    Indeo® audio software,0x00500000,1,1,iac25_32.ax,2.00.0005.0053
    Windows Media Update Filter,0x00400000,1,0,wmpasf.dll,9.00.0000.2980
    ffdshow Audio Processor,0x00200000,1,1,ffdshow.ax,1.00.0002.0024
    CoreCodec CDDA Source,0x00600000,0,1,cddasource.cll,0.08.0000.0104
    ASF DIB Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASF ACM Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASF ICM Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASF URL Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASF JPEG Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASF DJPEG Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    ASF embedded stuff Handler,0x00600000,1,1,wmpasf.dll,9.00.0000.2980
    Nero Video Processor,0x00200000,1,1,NeroVideoProc.ax,1.00.0000.0071
    Nero Video Decoder,0x00600000,2,2,NeVideo.ax,2.00.0002.0026
    SampleGrabber,0x00200000,1,1,qedit.dll,6.05.0001.0900
    Null Renderer,0x00200000,1,0,qedit.dll,6.05.0001.0900
    VP7 Decompressor,0x00800000,1,1,vp7dec.ax,7.00.0008.0000
    MPEG-2 Sections and Tables,0x005fffff,1,0,mpeg2data.ax,6.05.0001.0900
    IVF source filter,0x00600000,0,1,ivfsrc.ax,5.10.0002.0051
    H263 Encode Filter,0x00200000,1,1,h263_32.ax,5.00.2195.6611
    Smart Tee,0x00200000,1,2,qcap.dll,6.05.0001.0900
    Overlay Mixer,0x00200000,0,0,qdvd.dll,6.05.0001.0904
    Nero Scene Detector,0x00200000,1,0,NeSceneDetector.ax,1.00.0000.0007
    Microsoft PCM Audio Mixer,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    RealPlayer Audio Filter,0x00200000,1,1,rdsf3260.dll,6.00.0012.1208
    AVI Decompressor,0x00600000,1,1,quartz.dll,6.05.0001.0907
    CoreCodec Subtitles Dispatcher,0x00200000,1,0,subdispatch.cll,1.00.0000.0003
    AVI/WAV File Source,0x00400000,0,2,quartz.dll,6.05.0001.0907
    Intel RTP RPH for G.711/G.723.1,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    QuickTime Movie Parser,0x00600000,1,1,quartz.dll,6.05.0001.0907
    Wave Parser,0x00400000,1,1,quartz.dll,6.05.0001.0907
    MIDI Parser,0x00400000,1,1,quartz.dll,6.05.0001.0907
    Multi-file Parser,0x00400000,1,1,quartz.dll,6.05.0001.0907
    Lyric Parser,0x00400000,1,1,quartz.dll,6.05.0001.0907
    File stream renderer,0x00400000,1,1,quartz.dll,6.05.0001.0907
    XML Playlist,0x00400000,1,0,wmpasf.dll,9.00.0000.2980
    Nero File Source,0x00200000,0,1,NeFileSrc.ax,1.00.0000.0006
    Nero QuickTime(tm) Audio Decoder,0x00400000,1,1,NeQTDec.ax,1.00.0000.0004
    WavPack Audio Splitter,0x00600000,1,1,WavPackDSSplitter.ax,1.00.0003.0277
    Nero DVD Decoder,0x00600000,2,2,NeVideo.ax,2.00.0002.0026
    Nero Digital Parser,0x00600000,0,3,NDParser.ax,2.00.0002.0034
    AVI Mux,0x00200000,1,0,qcap.dll,6.05.0001.0900
    CyberLink QuickTime Source Filter,0x00200000,0,2,QuickTime.ax,1.00.0000.1016
    Line 21 Decoder 2,0x00600002,1,1,quartz.dll,6.05.0001.0907
    File Source (Async.),0x00400000,0,1,quartz.dll,6.05.0001.0907
    File Source (URL),0x00400000,0,1,quartz.dll,6.05.0001.0907
    Nero Frame Capture,0x00200000,1,1,NeCapture.ax,1.04.0000.0009
    Intel RTP SPH for H.263/H.261,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    Intel RTP RPH for H.263/H.261,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    Intel RTP RPH for Generic Audio,0x00200000,1,1,dxmrtp.dll,5.00.2195.6611
    H261 Encode Filter,0x00200000,1,1,h261_32.ax,5.00.2195.6611
    Ogg Splitter,0x00600000,1,1,OggDS.dll,0.09.0009.0005
    Nero Video Sample Renderer,0x00200000,1,0,NeRender.ax,1.00.0001.0008
    Nero Digital Video Encoder,0x00200000,1,2,NeNDVid.ax,2.00.0000.0008
    Infinite Pin Tee Filter,0x00200000,1,1,qcap.dll,6.05.0001.0900
    BDA MPEG2 Transport Information Filter,0x00200000,1,0,psisrndr.ax,6.05.0001.0900
    QT Decompressor,0x00600000,1,1,quartz.dll,6.05.0001.0907
    MPEG Video Decoder,0x40000001,1,1,quartz.dll,6.05.0001.0907
    Indeo® video 4.4 Decompression Filter,0x00640000,1,1,ir41_32.ax,4.51.0016.0003
    Indeo® video 4.4 Compression Filter,0x00200000,1,1,ir41_32.ax,4.51.0016.0003
    WDM Streaming Tee/Splitter Devices:
    Tee/Sink-to-Sink Converter,0x00200000,1,1,,5.03.0000.0900
    WDM Streaming Data Transforms:
    Microsoft Kernel GS Wavetable Synthesizer,0x00200000,1,1,,5.03.0000.0900
    Microsoft DirectMusic SW Synth (WDM),0x00200000,1,1,,5.03.0000.0900
    Video Compressors:
    WMVideo9 Encoder DMO,0x00600800,1,1,,
    MSScreen 9 encoder DMO,0x00600800,1,1,,
    3ivx D4 Video Encoder,0x00100000,1,1,3ivxDSEncoder.ax,4.05.0001.0030
    DV Video Encoder,0x00200000,0,0,qdv.dll,6.05.0001.0904
    ffdshow video encoder,0x00100000,1,1,ffdshow.ax,1.00.0002.0024
    Indeo® video 5.10 Compression Filter,0x00100000,1,1,ir50_32.dll,5.2562.0015.0055
    MJPEG Compressor,0x00200000,0,0,quartz.dll,6.05.0001.0907
    Nero Digital Video Encoder,0x00200000,1,2,NeNDVid.ax,2.00.0000.0008
    3ivx D4 4.5.1 Pro Video Codec,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Cinepak Codec by Radius,0x00200000,1,1,qcap.dll,6.05.0001.0900
    DivX® 5.2.1 Codec,0x00200000,1,1,qcap.dll,6.05.0001.0900
    ffdshow Video Codec,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Intel 4:2:0 Video V2.50,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Intel Indeo(R) Video R3.2,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Intel Indeo® Video 4.5,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Indeo® video 5.10,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft H.261 Video Codec,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft H.263 Video Codec,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft MPEG-4 Video Codec V2,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft MPEG-4 Video Codec V3,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft MPEG-4 Video Codec V1,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft RLE,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft Video 1,0x00200000,1,1,qcap.dll,6.05.0001.0900
    VP310x00200000,1,1,qcap.dll,6.05.0001.0900
    VP60® Simple Profile ,0x00200000,1,1,qcap.dll,6.05.0001.0900
    VP61® Advanced Profile,0x00200000,1,1,qcap.dll,6.05.0001.0900
    VP62® Heightened Sharpness Profile,0x00200000,1,1,qcap.dll,6.05.0001.0900
    VP70® General Profile,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Microsoft Windows Media Video 9,0x00200000,1,1,qcap.dll,6.05.0001.0900
    XviD MPEG-4 Codec,0x00200000,1,1,qcap.dll,6.05.0001.0900
    Audio Compressors:
    WM Speech Encoder DMO,0x00600800,1,1,,
    WMAudio Encoder DMO,0x00600800,1,1,,
    Indeo® audio software,0x00500000,1,1,iac25_32.ax,2.00.0005.0053
    Vorbis Encoder,0x00200000,1,1,OggDS.dll,0.09.0009.0005
    Nero Audio Encoder,0x00200000,1,1,NeAudioEnc.ax,1.00.0000.0004
    IAC2,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Lernout & Hauspie CELP 4.8kbit/s,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Lernout & Hauspie SBC 8kbit/s,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Lernout & Hauspie SBC 12kbit/s,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Lernout & Hauspie SBC 16kbit/s,0x00200000,1,1,quartz.dll,6.05.0001.0907
    ffdshow Audio Decoder,0x00200000,1,1,quartz.dll,6.05.0001.0907
    IMA ADPCM,0x00200000,1,1,quartz.dll,6.05.0001.0907
    PCM,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Microsoft ADPCM,0x00200000,1,1,quartz.dll,6.05.0001.0907
    DSP Group TrueSpeech(TM),0x00200000,1,1,quartz.dll,6.05.0001.0907
    GSM 6.10,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Microsoft G.723.1,0x00200000,1,1,quartz.dll,6.05.0001.0907
    CCITT A-Law,0x00200000,1,1,quartz.dll,6.05.0001.0907
    CCITT u-Law,0x00200000,1,1,quartz.dll,6.05.0001.0907
    AC-3 ACM Decompressor,0x00200000,1,1,quartz.dll,6.05.0001.0907
    MPEG Layer-3,0x00200000,1,1,quartz.dll,6.05.0001.0907
    Audio Capture Sources:
    Realtek AC97 Audio,0x00200000,0,0,qcap.dll,6.05.0001.0900
    3ivx Filters:
    3ivx D4 Audio Decoder,0x00600000,1,1,3ivxDSAudioDecoder.ax,4.05.0001.0030
    3ivx D4 Media Muxer,0x00200000,1,1,3ivxDSMediaMux.ax,4.05.0001.0030
    3ivx D4 Media Splitter,0x00800000,1,1,3ivxDSMediaSplitter.ax,4.05.0001.0030
    3ivx D4 Video Decoder,0x00800000,1,1,3ivxDSDecoder.ax,4.05.0001.0030
    3ivx D4 Video Encoder,0x00100000,1,1,3ivxDSEncoder.ax,4.05.0001.0030
    Midi Renderers:
    Default MidiOut Device,0x00800000,1,0,quartz.dll,6.05.0001.0907
    Microsoft GS Wavetable SW Synth,0x00200000,1,0,quartz.dll,6.05.0001.0907
    WDM Streaming Capture Devices:
    Realtek AC97 Audio,0x00200000,3,3,,5.03.0000.0900
    Raw Channel Access Capture/Render,0x00200000,1,1,,5.03.0000.0900
    WDM Streaming Rendering Devices:
    Realtek AC97 Audio,0x00200000,3,3,,5.03.0000.0900
    Raw Channel Access Capture/Render,0x00200000,1,1,,5.03.0000.0900
    BDA Rendering Filters:
    BDA IP Sink,0x00200000,1,1,,5.03.0000.0900
    BDA Network Providers:
    Microsoft ATSC Network Provider,0x00200000,0,1,msdvbnp.ax,6.05.0001.0900
    Microsoft DVBC Network Provider,0x00200000,0,1,msdvbnp.ax,6.05.0001.0900
    Microsoft DVBS Network Provider,0x00200000,0,1,msdvbnp.ax,6.05.0001.0900
    Microsoft DVBT Network Provider,0x00200000,0,1,msdvbnp.ax,6.05.0001.0900
    BDA Transport Information Renderers:
    BDA MPEG2 Transport Information Filter,0x00600000,1,0,psisrndr.ax,6.05.0001.0900
    MPEG-2 Sections and Tables,0x00600000,1,0,mpeg2data.ax,6.05.0001.0900
    WDM Streaming Mixer Devices:
    Microsoft Kernel Audio Mixer,0x00200000,2,2,,5.03.0000.0900
    WDM Streaming Communication Transforms:
    Tee/Sink-to-Sink Converter,0x00200000,1,1,,5.03.0000.0900
    Audio Renderers:
    Realtek AC97 Audio,0x00200000,1,0,quartz.dll,6.05.0001.0907
    Default DirectSound Device,0x00800000,1,0,quartz.dll,6.05.0001.0907
    Default WaveOut Device,0x00200000,1,0,quartz.dll,6.05.0001.0907
    DirectSound: Realtek AC97 Audio,0x00200000,1,0,quartz.dll,6.05.0001.0907
    WDM Streaming System Devices:
    Realtek AC97 Audio,0x00200000,14,2,,5.03.0000.0900
    BDA Receiver Components:
    BDA Slip De-Framer,0x00600000,1,1,,5.03.0000.0900
    BDA MPE Filter,0x00600000,1,1,,5.03.0000.0900

  • Performance issue and indexing doesn't help

    I created a view the SQL is basically simple but I need to group data based on a value returned from a function. I think this is slowing the performance. I first added a regular index on this, then added a function based index but neither helps. I get the data I need, but it takes too long. I hope someone can give me some ideas about how to optimize the performance of my SQL.
    The base table has 1318408 rows. I need to select only a few columns and group and count the rows based on a date value in one of the columns. However the date in the table contains only an end of week value and I need to report based on quarters. The report needs both a date value and a text value for the quarter. So I created two functions that accept a date value and return a date value for the quarter start date and a text value for the quarter the date falls within respectively; my SQL is like this:
    select
    GLC_DATE2CAL_QRT_STARTDATE_FN(s.work_week_end_date) cyquarter_start_date,
    GLC_DATE2CAL_QRTYR_FN(s.work_week_end_date) cyquarter_text,
    s.ethnicity ethnicity_code,
    et.description ethnicity_desc,
    count( unique employee_id ) number_employees
    from cpr_employees_snapshot s, ct_vendor_ethnicities et
    and trim(s.ethnicity) = et.ethnicity_id
    group by GLC_DATE2CAL_QRT_STARTDATE_FN(s.work_week_end_date), GLC_DATE2CAL_QRTYR_FN(s.work_week_end_date), s.ethnicity, et.description
    this takes about 1 1/2 minutes to retrieve the data
    when I do not use the functions and run this SQL:
    select
    s.work_week_end_date,
    s.ethnicity ethnicity_code,
    et.description ethnicity_desc,
    count( unique employee_id ) number_employees
    from cpr_employees_snapshot s, ct_vendor_ethnicities et
    and trim(s.ethnicity) = et.ethnicity_id
    group by s.work_week_end_date, s.ethnicity, et.description
    it takes 7 seconds.

    Well I was successful in writing a case statement that works as a select and it reduces the retrieval time to 5 seconds, the problem now is that when I create a view with it the view is created but with compilation errors; if the select work without errors I don;t know why that is happening. Here is the create view SQL:
    CREATE OR REPLACE FORCE VIEW GLC_WORKER_ETHNICITY_VW
    cyquarter_start_date,
    cyquarter_text,
    cyquarter_end_date,
    ethnicity_code,
    ethnicity_desc,
    number_employees
    AS
    select
    case to_number(to_char(s.work_week_end_date, 'mm'))
    when 1 then to_date('1/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 2 then to_date('1/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 3 then to_date('1/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 4 then to_date('4/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 5 then to_date('4/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 6 then to_date('4/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 7 then to_date('7/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 8 then to_date('7/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 9 then to_date('7/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 10 then to_date('10/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 11 then to_date('10/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    when 12 then to_date('10/1/' || to_char(s.work_week_end_date, 'yyyy'),'mm/dd/yyyy')
    end cyquarter_start_date,
    'Q' || to_char(s.work_week_end_date, 'Q') || ' CY ' || to_char(s.work_week_end_date, 'yyyy') cyquarter_text,
    s.ethnicity ethnicity_code,
    et.description ethnicity_desc,
    count( unique employee_id ) number_employees
    from cpr_employees_snapshot s, ct_vendor_ethnicities et
    where package_id = 727260
    and trim(s.ethnicity) = et.ethnicity_id
    group by s.work_week_end_date, s.ethnicity, et.description

  • Huge Performance issue and RSRT

    Hi BW Gurus,
    We are using BCS cube for our consolidation queries and reports . There is a huge prformance problem.
    I need to know that wht should be the appropriate size of the Global cache as compared to Local Cache. My global cache size is 100 MB and Global Cache size is 200 MB.
    Also when I go to RSRT properties
    Read Mode is H: Query to read when you navigate or expand hierarchy .
    Cache Mode is : 4 persistent cache across each application server
    persistence mode : 3 transparent table (BLOB).
    Do I have to change these settings ....please give your suggestions
    will appreciated with lot of points
    Thanks

    Hi Folks,..
    Could you'll please tell me where exactly we put the break point I will paste my code. I did Run SE30 and the list cube extraction simaltaneoulsy and gave me a message error generating the test frame
    tatics:
    FUNCTION RSSEM_CONSOLIDATION_INFOPROV3.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     REFERENCE(I_INFOPROV) TYPE  RSINFOPROV
    *"     REFERENCE(I_KEYDATE) TYPE  RSDRC_SRDATE
    *"     REFERENCE(I_TH_SFC) TYPE  RSDD_TH_SFC
    *"     REFERENCE(I_TH_SFK) TYPE  RSDD_TH_SFK
    *"     REFERENCE(I_TSX_SELDR) TYPE  RSDD_TSX_SELDR
    *"     REFERENCE(I_FIRST_CALL) TYPE  RS_BOOL
    *"     REFERENCE(I_PACKAGESIZE) TYPE  I
    *"  EXPORTING
    *"     REFERENCE(E_T_DATA) TYPE  STANDARD TABLE
    *"     REFERENCE(E_END_OF_DATA) TYPE  RS_BOOL
    *"     REFERENCE(E_T_MSG) TYPE  RS_T_MSG
    *"  EXCEPTIONS
    *"      ERROR_IN_BCS
      statics:
    UT begin:
    this flag is switched in order to record data returned by the current query in UT
    it can only be switched on/off in debug mode.
        s_record_mode  type rs_bool,
        s_qry_memo     type char256,    " at the moment, for query name
    package No, UUID, for unit testing
        s_packageno    type i,
        s_guid         type guid_22,
    UT end.
        s_first_call   like i_first_call,
        s_destination  type rfcdest,
        s_basiccube    type rsinfoprov,
        s_dest_back    type rfcdest,
        s_report       type programm,
        s_bw_local     type rs_bool,
        sr_data        type ref to data,
        sr_data_p      type ref to data,
        st_sfc         type t_sfc,
        st_sfk         type t_sfk,
        st_range       type t_seqnr_range,
        st_hienode     type t_seqnr_hienode,
        st_hienodename type t_seqnr_hienodename,
        st_seltype     type t_seqnr_seltype,
        st_datadescr   type T_DATADESCR,
        s_end_of_data  type rs_bool
      data:
        l_ucr_data_read_3 type funcname value 'UCR_DATA_READ_3',
        l_packagesize like i_packagesize,
        lt_message type t_message,
        ls_message like line of e_t_msg,
        l_xstring type xstring,
        l_nr type i.
      field-symbols:
        <ls_message> type s_message,
        <lt_data>   type standard table,
        <ls_data>   type any,"nos100804
        <lt_data_p> type hashed table."nos100804
      clear: e_t_data, e_end_of_data, e_t_msg.
    react on packagesize -1
      if i_packagesize le 0.    "nos050705
        l_packagesize = rssem_cs_integer-max.
      else.
        l_packagesize = i_packagesize.
      endif.
      if i_first_call = rs_c_true.
        s_first_call = rs_c_true.
        clear s_end_of_data.
    begin "nos100804
        data:
          lo_structdescr type ref to cl_abap_structdescr
         ,lo_tabledescr type ref to cl_abap_tabledescr
         ,lo_typedescr   type ref to cl_abap_typedescr
        data:
          lt_key     type table of abap_compname.
        field-symbols <ls_component> type abap_compdescr.
        create data sr_data_p like line of e_t_data.
        assign sr_data_p->* to <ls_data>.
        CALL METHOD CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_DATA
          EXPORTING
            P_DATA      = <ls_data>
          RECEIVING
            P_DESCR_REF = lo_typedescr.
        lo_structdescr ?= lo_typedescr.
      collect all key components to lt_key
        loop at lo_structdescr->components assigning <ls_component>.
          insert <ls_component>-name into table lt_key.
          if <ls_component>-name = '&KEYEND'.
            exit.
          endif.
        endloop.
        data ls_sfk like line of i_th_sfk.
        data l_key     type abap_compname.
        loop at i_th_sfk into ls_sfk.
          l_key = ls_sfk-kyfnm.
          if l_key is not initial.
            delete table lt_key from l_key.
          endif.
          l_key = ls_sfk-value_returnnm.
          if l_key is not initial.
            delete table lt_key from l_key.
          endif.
        endloop.
        create data sr_data_p like hashed table of <ls_data>
            with unique key (lt_key).
       create data sr_data_p like e_t_data.
        create data sr_data   like e_t_data.
    end "nos100804
        perform determine_destinations  using    i_infoprov
                                        changing s_destination
                                                 s_dest_back
                                                 s_report
                                                 s_basiccube.
        perform is_bw_local changing s_bw_local.
    ***--> convert the selection, enhance non-Sid-values.
    --> Handle fiscper7
        data:
          lt_SFC      TYPE  RSDRI_TH_SFC
         ,lt_sfk      TYPE  RSDRI_TH_SFK
         ,lt_range    TYPE  RSDRI_T_RANGE
         ,lt_RANGETAB TYPE  RSDRI_TX_RANGETAB
         ,lt_HIER     TYPE  RSDRI_TSX_HIER
         ,lt_adj_hier type  t_sfc "nos290704
        statics: so_convert type ref to lcl_sid_no_sid
               , sx_seldr_fp34 type xstring
               , s_fieldname_fp7 type RSALIAS
               , st_sfc_fp34    TYPE  RSDD_TH_SFC
        create object so_convert type lcl_sid_no_sid
                  exporting i_infoprov = i_infoprov.
    Transform SIDs...
        perform convert_importing_parameter
                         using    i_th_sfc
                                  i_th_sfk
                                  i_tsx_seldr
                                  so_convert
                                  e_t_data
                         changing lt_sfc
                                  lt_sfk
                                  lt_range
                                  lt_rangetab
                                  lt_hier
                                  sx_seldr_fp34
                                          "Complete SELDR as XSTRING
                                  st_sfc_fp34
                                          "SFC of a selection with
                                          "FISCPER3/FISCYEAR
                                  s_fieldname_fp7
                                          "Name of Field for 0FISCPER
                                          "(if requested)
    This is the old routine, but ST_HIENDODE and ST_HIENODENAME can
    be neglected, since they are not used at all.
        perform prepare_selections
                         using    lt_sfc
                                  lt_sfk
                                  lt_range
                                  lt_rangetab
                                  lt_hier
                         changing st_sfc
                                  st_sfk
                                  st_range
                                  st_hienode
                                  st_hienodename
                                  st_seltype.
      endif.
      assign sr_data->*   to <lt_data>.
      assign sr_data_p->* to <lt_data_p>.
      describe table <lt_data_p> lines l_nr.
      while l_nr < l_packagesize and s_end_of_data is initial.
        if s_dest_back is initial and s_bw_local = rs_c_true.
      Local call
          call function l_UCR_DATA_READ_3
            EXPORTING
              IT_SELTYPE      = sT_SELTYPE
              IT_HIENODE      = sT_HIENODE        "not used
              IT_HIENODENAME  = sT_HIENODENAME    "not used
              IT_RANGE        = sT_RANGE
              I_PACKAGESIZE   = i_packagesize
              I_KEYDATE       = i_Keydate
              IT_SFC          = sT_SFC
              IT_SFK          = sT_SFK
              i_infoprov      = i_infoprov
              i_rfcdest       = s_destination
              ix_seldr        = sx_seldr_fp34
              it_bw_sfc       = st_sfc_fp34
              it_bw_sfk       = i_th_sfk
              i_fieldname_fp7 = s_fieldname_fp7
            IMPORTING
              ET_DATA         = <lT_DATA>
              E_END_OF_DATA   = s_END_OF_DATA
              ET_MESSAGE      = lT_MESSAGE
              et_adj_hier     = lt_adj_hier         "nos290704
            CHANGING
              c_first_call    = s_first_call.
        elseif s_dest_back is initial and s_bw_local = rs_c_false.
        !!! Error !!! No SEM-BCS destination registered for infoprovider!
          if 1 = 2.
            message e151(rssem) with i_infoprov.
          endif.
          ls_message-msgty = 'E'.
          ls_message-msgid = 'RSSEM'.
          ls_message-msgno = '151'.
          ls_message-msgv1 =  i_infoprov.
          insert ls_message into table e_t_msg.
        else.
        remote call to SEM-BCS
    ** Call UCR_DATA_READ_3 ...
          if s_first_call is not initial.
      get the datadescription to create the requested return-structure
      in the RFC-System.
            perform get_datadescr
                      using <lt_data>
                      changing st_datadescr
          endif.
          call function 'UCR_DATA_READ_4'
            destination s_dest_back
            exporting i_infoprov     = i_infoprov
                      i_rfcdest      = s_destination
                      i_first_call   = s_first_call
                      i_packagesize  = i_packagesize
                      i_keydate      = i_keydate
                      ix_seldr       = sx_seldr_fp34
                      it_bw_sfc      = st_sfc_fp34
                      it_bw_sfk      = i_th_sfk
                      it_datadescr   = st_datadescr
                      i_fieldname_fp7 = s_fieldname_fp7
            importing c_first_call   = s_first_call
                      e_end_of_data  = s_end_of_data
                      e_xstring      = l_xstring
            tables    it_seltype     = st_seltype
                      it_range       = st_range
                      it_hienode     = st_hienode      "not used
                      it_hienodename = st_hienodename  "not used
                      it_sfc         = st_sfc
                      it_sfk         = st_sfk
                      et_message     = lt_message
                      et_adj_hier    = lt_adj_hier.         "nos290704.
          clear <lt_data>.
          if lt_message is initial.
            call function 'RSSEM_UCR_DATA_UNWRAP'
              EXPORTING
                i_xstring = l_xstring
              CHANGING
                ct_data   = <lt_data>.
          endif.
        endif.
      convert the returned data (SID & Hierarchy).
        call method so_convert->convert_nosid2sid
          exporting it_adj_hier = lt_adj_hier[]     "nos290704
          CHANGING
            ct_data = <lt_data>.
       e_t_data = <lt_data>.
    Begin "nos100804
        data l_collect type sy-subrc.
        l_collect = 1.
        if <lt_data_p> is initial and
           <lt_data>   is not initial.
          call function 'ABL_TABLE_HASH_STATE'
            exporting
              itab          = <lt_data>
            IMPORTING
              HASH_RC       = l_collect "returns 0 if hash key exist.
        endif.
        if l_collect is initial.
          <lt_data_p> = <lt_data>.
        else.
          loop at <lt_data> assigning <ls_data>.
            collect <ls_data> into <lt_data_p>.
          endloop.
        endif.
       append lines of <lt_data> to <lt_data_p>.
    End "nos100804
      messages
        loop at lt_message assigning <ls_message>.
          move-corresponding <ls_message> to ls_message.
          insert ls_message into table e_t_msg.
        endloop.
        if e_t_msg is not initial.
          raise error_in_bcs.
        endif.
        describe table <lt_data_p> lines l_nr.
      endwhile.
      if l_nr <= l_packagesize.
        e_t_data = <lt_data_p>.
        clear <lt_data_p>.
        e_end_of_data = s_end_of_data.
      else.
    Begin "nos100804
        <lt_data> = <lt_data_p>.
        append lines of <lt_data> to l_packagesize to e_t_data.
        data l_from type i.
        l_from = l_packagesize + 1.
        clear <lt_data_p>.
        insert lines of <lt_data> from l_from into table <lt_data_p>.
        clear <lt_data>.
    End "nos100804
      endif.
    UT begin: start to record data
      if s_record_mode = rs_c_true.
        if i_first_call = rs_c_true.
          clear: s_guid, s_packageno.
          perform prepare_unit_test_rec_param
                      using
                         e_end_of_data
                         i_infoprov
                         i_keydate
                         i_th_sfc
                         i_th_sfk
                         i_tsx_seldr
                         i_packagesize
                         lt_key
                         e_t_data
                         s_qry_memo
                      changing
                         s_guid.
        endif.
        add 1 to s_packageno.
        perform prepare_unit_test_rec_data
                      using
                         s_guid
                         s_packageno
                         e_t_data
                         i_infoprov
                         e_end_of_data.
      endif.  "s_record_mode = rs_c_true
    UT end.
      if not e_end_of_data is initial.
      clean-up
        clear: s_first_call, s_destination, s_report, s_bw_local,
               st_sfc, st_sfk, st_range, st_hienode, s_basiccube,
               st_hienodename, st_seltype, s_dest_back, sr_data,
               so_convert , s_end_of_data, sr_data_p."nos100804
        free: <lt_data> , <lt_data_p>.
      endif.
    endfunction.
    It stores query parameters into cluster table
    form prepare_unit_test_rec_param using i_end_of_data type rs_bool
                                           i_infoprov    type rsinfoprov
                                           i_keydate     type rrsrdate
                                           i_th_sfc      type RSDD_TH_SFC
                                           i_th_sfk      type RSDD_TH_SFk
                                           i_tsx_seldr   type rsdd_tsx_seldr
                                           i_packagesize type i
                                           it_key        type standard table
                                           it_retdata    type standard table
                                           i_s_memo      type char256
                                     changing c_guid     type guid_22.
      data:
            ls_key          type g_rssem_typ_key,
            ls_cluster      type rssem_rfcpack,
            l_timestamp     type timestampl.
    get GUID, ret component type
      call function 'GUID_CREATE'
        importing
          ev_guid_22 = c_guid.
      ls_key-idxrid = c_guid.
      clear ls_key-packno.
    cluster record
      get time stamp field l_timestamp.
      ls_cluster-infoprov = i_infoprov.
      ls_cluster-end_of_data = i_end_of_data.
      ls_cluster-system_time = l_timestamp.
      ls_cluster-username = sy-uname.
    return data type
      data:
        lo_tabtype     type ref to cl_abap_tabledescr,
        lo_linetype    type ref to cl_abap_structdescr,
        lt_datadescr   type t_datadescr,
        ls_datadescr   like line of lt_datadescr,
        lt_retcomptab  type abap_compdescr_tab,
        ls_retcomptab  like line of lt_retcomptab,
        lt_rangetab    type t_seqnr_range.
      lo_tabtype   ?= cl_abap_typedescr=>describe_by_data( it_retdata ).
    lo_linetype  ?= lo_tabtype->get_table_line_type( ).
    lt_retcomptab = lo_linetype->components.
    call the sub procedure to use external format of C, instead of interal format (unicode).
    otherwise, when create data type from internal format, it won't be the same length as stored in cluster.
      PERFORM get_datadescr USING    it_retdata
                            CHANGING lt_datadescr.
      loop at lt_datadescr into ls_datadescr.
        move-corresponding ls_datadescr to ls_retcomptab.
        append ls_retcomptab to lt_retcomptab.
      endloop.
    range, excluding
    record param
      export p_infoprov        from i_infoprov
             p_keydate         from i_keydate
             p_th_sfc          from i_th_sfc
             p_th_sfk          from i_th_sfk
             p_txs_seldr       from i_tsx_seldr
             p_packagesize     from i_packagesize
             p_t_retcomptab    from lt_retcomptab
             p_t_key           from it_key
             p_memo            from i_s_memo
      to database rssem_rfcpack(ut)
      from ls_cluster
      client sy-mandt
      id ls_key.
    endform.
    It stores return data to cluster table
    form prepare_unit_test_rec_data using
                                      i_guid        type guid_22
                                      i_packageno   type i
                                      it_retdata    type standard table
                                      i_infoprov    type rsinfoprov
                                      i_end_of_data type rs_bool.
      data:
            l_lines         type i,
            ls_key          type g_rssem_typ_key,
            ls_cluster      type rssem_rfcpack,
            l_timestamp     type timestampl.
      ls_key-idxrid = i_guid.
      ls_key-packno = i_packageno.
      describe table it_retdata lines l_lines.
      if l_lines = 0.
        clear it_retdata.
      endif.
    cluster record
      get time stamp field l_timestamp.
      ls_cluster-infoprov = i_infoprov.
      ls_cluster-end_of_data = i_end_of_data.
      ls_cluster-system_time = l_timestamp.
      ls_cluster-username = sy-uname.
      export p_t_retdata       from it_retdata
      to     database rssem_rfcpack(ut)
      from   ls_cluster
      client sy-mandt
      id     ls_key.
    endform.
    form convert_importing_parameter
                   using    i_th_sfc    TYPE  RSDD_TH_SFC
                            i_th_sfk    TYPE  RSDD_TH_SFK
                            i_tsx_seldr TYPE  RSDD_TSX_SELDR
                            io_convert  type  ref to lcl_sid_no_sid
                            i_t_data    type  any table
                   changing et_sfc      TYPE  RSDRI_TH_SFC
                            et_sfk      TYPE  RSDRI_TH_SFK
                            et_range    TYPE  RSDRI_T_RANGE
                            et_rangetab TYPE  RSDRI_TX_RANGETAB
                            et_hier     TYPE  RSDRI_TSX_HIER
                            ex_seldr    type xstring
                            e_th_sfc    TYPE  RSDD_TH_SFC
                            e_fieldname_fp7 type  rsalias
      data lt_seldr TYPE  RSDD_TSX_SELDR.
      data ls_th_sfc type RRSFC01.
    0) rename 0BCSREQUID   > 0REQUID
      data l_tsx_seldr like i_tsx_seldr.
      data l_th_sfc like i_th_sfc.
      data l_th_sfc2 like i_th_sfc.                            "nos070605
      l_tsx_seldr = i_tsx_seldr.
      l_th_sfc = i_th_sfc.
      data ls_sfc_requid type   RRSFC01.
      data ls_seldr_requid type RSDD_SX_SELDR.
      ls_sfc_requid-chanm = '0BCS_REQUID'.
      read table l_th_sfc from ls_sfc_requid into ls_sfc_requid.
      if sy-subrc = 0.
        delete table l_th_sfc from ls_sfc_requid.
        ls_sfc_requid-chanm = '0REQUID'.
        insert ls_sfc_requid into table l_th_sfc.
      endif.
      ls_seldr_requid-chanm = '0BCS_REQUID'.
      read table l_tsx_seldr from ls_seldr_requid into ls_seldr_requid.
      if sy-subrc = 0.
        delete table l_tsx_seldr from ls_seldr_requid.
        ls_seldr_requid-chanm = '0REQUID'.
        field-symbols: <ls_range> like line of ls_seldr_requid-range-range.
        loop at ls_seldr_requid-range-range assigning <ls_range>.
          check <ls_range>-keyfl is not initial. "jhn190106
          if <ls_range>-sidlow is initial and <ls_range>-low is not initial.
            <ls_range>-sidlow = <ls_range>-low.
            clear <ls_range>-low.
          endif.
          if <ls_range>-sidhigh is initial and <ls_range>-high is not initial.
            <ls_range>-sidhigh = <ls_range>-high.
            clear <ls_range>-high.
          endif.
          clear <ls_range>-keyfl.     "jhn190106
        endloop.
        insert ls_seldr_requid into table l_tsx_seldr.
      endif.
    *1) Convert SIDs..., so that all parameter look like the old ones.
      call method io_convert->convert_sid2nosid
        EXPORTING
          it_sfc      = l_th_sfc
          it_sfk      = i_th_sfk
          it_seldr    = l_tsx_seldr
          it_data     = i_t_data
         IMPORTING
          et_sfc      = et_sfc
          et_sfk      = et_sfk
          et_range    = et_range
          et_rangetab = et_rangetab
          e_th_sfc    = l_th_sfc2                  "nos070605
    Ignore the old hierachy information:
      clear et_hier.
      delete et_range where chanm = '0REQUID'.
      delete table et_sfc with table key chanm = '0REQUID'.
    *2) Eliminate FISCPER7, from new strucutres:
    lt_seldr = i_tsx_seldr. "nos131004
      e_th_sfc = l_th_sfc.
    the fiscper7 can be deleted completly from the SID-selection, because
    it is also treated within et_range...
      clear e_fieldname_fp7.
    delete lt_seldr where chanm = cs_iobj_time-fiscper7."nos131004
    Begin "nos131004
    Ensure that there is no gap in the seldr.
      data:
         ls_seldr   like line of lt_seldr
        ,l_fems_act like ls_seldr-fems
        ,l_fems_new like ls_seldr-fems
      loop at l_tsx_seldr into ls_seldr
        where chanm ne cs_iobj_time-fiscper7.
        if ls_seldr-fems ne l_fems_act.
          l_fems_act = ls_seldr-fems.
          add 1 to l_fems_new.
        endif.
        ls_seldr-fems = l_fems_new.
        insert ls_seldr into table lt_seldr.
      endloop.
    end "nos131004
      e_th_sfc = l_th_sfc2.                                "nos070605
    Is fiscper7 in the query? (BCS requires allways two fields)
      read table e_th_sfc with key chanm = cs_iobj_time-fiscper7
           into ls_th_sfc.
      if sy-subrc = 0.
    ==> YES
    --> change the SFC, so that FISCPER3 and FISCYEAR is requested.
    The table ET_RANGE does contain also the selection for
    FISCPER3/FISCYEAR
    But since also E_FIELDNAME_FP7 is transferred to BCS, the
    transformation of the data, back to FISCPER7 is done on BCS-side.
        e_fieldname_fp7 = ls_th_sfc-KEYRETURNNM.
                                                "begin nos17060
        if e_fieldname_fp7 is initial.
          e_fieldname_fp7 = ls_th_sfc-sidRETURNNM.
          translate e_fieldname_fp7 using 'SK'.
        endif.
                                                "end nos17060
        delete table e_th_sfc from ls_th_sfc.
        ls_th_sfc-chanm       = cs_iobj_time-fiscper3.
        ls_th_sfc-keyreturnnm = ls_th_sfc-chanm.
        insert ls_th_sfc into table e_th_sfc.
        ls_th_sfc-chanm       = cs_iobj_time-fiscyear.
        ls_th_sfc-keyreturnnm = ls_th_sfc-chanm.
        insert ls_th_sfc into table e_th_sfc.
      endif.
    Store the SELDR in a XSTRING and unpack it just before selecting data
    in BW. It is not interpreted in BCS!
      export t_seldr  = lt_seldr
    Store also the SFC, because the BW-Systems migth be differrnt rel./SP.
             t_bw_sfc = e_th_sfc to data buffer ex_seldr compression on.
    endform.                    "convert_importing_parameter
    *&      Form  get_datadescr
          text
         -->IT_DATA    text
         -->ET_DATADESCtext
    form get_datadescr
                  using it_data type any table
                  changing et_datadescr type t_datadescr
      data: lr_data  type ref to data
          , lo_descr TYPE REF TO CL_ABAP_TYPEDESCR
          , lo_elemdescr TYPE REF TO CL_ABAP_elemDESCR
          , lo_structdescr TYPE REF TO CL_ABAP_structDESCR
          , lt_components  type abap_component_tab
          , ls_components  type abap_componentdescr
          , ls_datadescr type s_datadescr
      field-symbols: <ls_data> type any
                   , <ls_components> type abap_compdescr
      clear et_datadescr.
      create data lr_data like line of it_data.
      assign lr_data->* to <ls_data>.
      CALL METHOD CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_DATA
        EXPORTING
          P_DATA      = <ls_data>
        RECEIVING
          P_DESCR_REF = lo_descr.
      lo_structdescr ?= lo_descr.
      CALL METHOD lo_structdescr->GET_COMPONENTS
        RECEIVING
          P_RESULT = lt_components.
      loop at lo_structdescr->components assigning <ls_components>.
        move-corresponding <ls_components> to ls_datadescr.
        if   ls_datadescr-type_kind = cl_abap_elemdescr=>typekind_char
          or ls_datadescr-type_kind = cl_abap_elemdescr=>typekind_num
          read table lt_components with key name = <ls_components>-name
                                   into ls_components.
          if sy-subrc = 0.
            lo_elemdescr ?= ls_components-type.
    ls_datadescr-length = lo_elemdescr->output_length.
          endif.
        endif.
        append ls_datadescr to et_datadescr.
      endloop.
    endform.                    "get_datadescr
    Try to give your inputs will appreciate that
    thanks

  • Adobe AIR 3 Performance Issues and Code Signing Certificate Problem

    I recently updated to Adobe AIR 3.0 SDK (and runtime) doing HTML/Javascript development using Dreamweaver CS5.5 in a Windows 7 Home Premium (64 bit).
    The AIR app I'm developing runs well from within Dreamweaver. But when I create/package the AIR app and install it on my machine:
    1. The app literally CRAWLS running it in my Windows 7 12G RAM machine (especially when I use the mouse to mouse over a 19-by-21 set of hyperlinks on a grid) --- IT IS THAT SLOOOOWWWW...
    2. The app runs fine in my Mac OS X 10.6.8 with 4G RAM, also using the Adobe AIR 3 runtime.
    About the Code Signing Certificate problem:
    When I try to package the AIR app with ADT using AIR's temporary certificate feature, I get the error message "Could not generate timestamp: handshake alert: unrecognized_name".
    I found some discussions on this problem in an Adobe AIR Google Groups forum, but no one has yet offered any resolution to the issue. Someone said Adobe is using the Geotrust timestamping service --- located at https://timestamp.geotrust.com/tsa --- but going to this page produces a "404 --- Page not found" error.
    The Google Groups Adobe AIR page is here:
    http://groups.google.com/group/air-tight/browse_thread/thread/17cd38d71a385587
    Any ideas about these issues?
    Thanks!
    Oscar

    I recently updated to Adobe AIR 3.0 SDK (and runtime) doing HTML/Javascript development using Dreamweaver CS5.5 in a Windows 7 Home Premium (64 bit).
    The AIR app I'm developing runs well from within Dreamweaver. But when I create/package the AIR app and install it on my machine:
    1. The app literally CRAWLS running it in my Windows 7 12G RAM machine (especially when I use the mouse to mouse over a 19-by-21 set of hyperlinks on a grid) --- IT IS THAT SLOOOOWWWW...
    2. The app runs fine in my Mac OS X 10.6.8 with 4G RAM, also using the Adobe AIR 3 runtime.
    About the Code Signing Certificate problem:
    When I try to package the AIR app with ADT using AIR's temporary certificate feature, I get the error message "Could not generate timestamp: handshake alert: unrecognized_name".
    I found some discussions on this problem in an Adobe AIR Google Groups forum, but no one has yet offered any resolution to the issue. Someone said Adobe is using the Geotrust timestamping service --- located at https://timestamp.geotrust.com/tsa --- but going to this page produces a "404 --- Page not found" error.
    The Google Groups Adobe AIR page is here:
    http://groups.google.com/group/air-tight/browse_thread/thread/17cd38d71a385587
    Any ideas about these issues?
    Thanks!
    Oscar

  • Performance issue and Error in ICM in case of a lot of messages

    I am run performance testing for the following scenario.
    csv files with ~1000 lines  -> XML -> BPM - 1:N mapping - for each block- validation mapping - swith (choise JDBC or files System) send message.
    My BPM has beed working for <b>2 hour</b>
    The most messages are sent correnctly but
    for some messages I see
    <SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
    <SAP:P1>405</SAP:P1>
    <SAP:P2>ICM_HTTP_INTERNAL_ERROR</SAP:P2>
    Message content is not big
    for some
      <SAP:AdditionalText>if_http_client receive http_communication_failure</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>An error occurred when refreshing the XI runtime cache</SAP:Stack>
    Could you help me why this errors appear?
    Message was edited by: Denis Ivanov

    Hi Dennis,
    you have a problem with a http destination, may be not enough work processes. If you execute the test again, plz have a look
    - to SM50: Are there enough dialog processes)
    - to ST06 /detail analysis: Enough CPU power and enough memory?
    - to ST22: Any short dumps?
    - to SM21: Any critical system informations?
    - to SMQ1/SMQ2: How many message are queued? How many errors?
    - to SM37: Has Job with program RSQIWKEX restarted failed messages?
    - SXMB_MONI: Are the failed messages restartable?
    2 hours is defintivskaja to long. BPM is a performance bottleneck, espially if you have loops.
    Regards,
    Udo

  • Performance issues and options to reduce load with Oracle text implementation

    Hi Experts,
    My database on Oracle 11.2.0.2 on Linux. We have Oracle Text implemented for fuzzy search. Our oracle text indexes are defined as sync on commit as we can not afford to have stale data.  Now our application does literally thousands of inserts/updates/deletes to those columns where we have these Oracle text indexes defined. As a result, we are seeing a lot of performance impact due to the oracle text sync routines being called on each commit. We are doing the index optimization every night (full optimization every night at 3 am).  The oracle text index related internal operations are showing up as top sql in our AWR report and there are concerns that it is causing lot of load on the DB.  Since we do the full index optimization only once at night, I am thinking should I change that , and if I do so, will it help us?
    For example here are some data from my one day's AWR report:
    Elapsed Time (s)
    Executions
    Elapsed Time per Exec (s)
    %Total
    %CPU
    %IO
    SQL Id
    SQL Module
    SQL Text
    27,386.25
    305,441
    0.09
    16.50
    15.82
    9.98
    ddr8uck5s5kp3
    begin ctxsys.drvdml.com_sync_i...
    14,618.81
    213,980
    0.07
    8.81
    8.39
    27.79
    02yb6k216ntqf
    begin ctxsys.syncrn(:idxownid,...
    Full Text of above top sql:
    ddr8uck5s5kp3
    begin ctxsys.drvdml.com_sync_index(:idxname, :idxmem, :partname);
    end
    02yb6k216ntqf
    begin ctxsys.syncrn(:idxownid, :idxoname, :idxid, :ixpid, :rtabnm, :flg); end;
    Now if I do the full index optimization more often and not just once at night 3 PM, will that mean, the load on DB due to sync on commit will decrease? If yes how often should I optimized and doesn't the optimization itself lead to some load? Can someone suggest?
    Thanks,
    OrauserN

    You can query the ctx_parameters view to see what your default and maximum memory values are:
    SCOTT@orcl12c> COLUMN bytes    FORMAT 9,999,999,999
    SCOTT@orcl12c> COLUMN megabytes FORMAT 9,999,999,999
    SCOTT@orcl12c> SELECT par_name AS parameter,
      2          TO_NUMBER (par_value) AS bytes,
      3          par_value / 1048576 AS megabytes
      4  FROM   ctx_parameters
      5  WHERE  par_name IN ('DEFAULT_INDEX_MEMORY', 'MAX_INDEX_MEMORY')
      6  ORDER  BY par_name
      7  /
    PARAMETER                               BYTES      MEGABYTES
    DEFAULT_INDEX_MEMORY               67,108,864             64
    MAX_INDEX_MEMORY                1,073,741,824          1,024
    2 rows selected.
    You can set the memory value in your index parameters:
    SCOTT@orcl12c> CREATE INDEX EMPLOYEE_IDX01
      2  ON EMPLOYEES (EMP_NAME)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS ('SYNC (ON COMMIT) MEMORY 1024M')
      5  /
    Index created.
    You can also modify the default and maximum values using CTX_ADM.SET_PARAMETER:
    http://docs.oracle.com/cd/E11882_01/text.112/e24436/cadmpkg.htm#CCREF2096
    The following contains general guidelines for what to set the max_index_memory parameter and others to:
    http://docs.oracle.com/cd/E11882_01/text.112/e24435/aoptim.htm#CCAPP9274

  • Abap performance issue

    hello all ,
                  I am trying to read org unit text from t527x table inside get pernr and end-of-selection  loop.
    Performance wise is it better to use select statement or function module to get the text
    or read all the possible texts into an internal table before get pernr  and then read the internal table inside the loop.
    thnx
    regards

    SELECTING ALL POSSIBLE T527X ENTRIES INTO AN INTERNAL TABLE AND READING THIS INSIDE  LOOP IS EFFECTIVE PERFORMANCEWISE....
    also sort this internal table by orgeh endda descending and delete adjacent duplicates to get only latest orgtx
    also use binary search extension while using read statement.
    AS IF U CHECK TOTAL NUMBER OF ENTRIES IN T527X AS COMPARED TO THAT IN PA0001(WHICH HAS ORGEH) IS JUST 1/10TH OR EVEN LESS.
    SO INSTEAD OF PROCESSING 10 TIMES MORE THE NUMBER OF RECORDS IT'S BETTER TO PROCESS LESS NUMBER OF RECORDS....!!!!!
    Regards
    Vasu

  • Performance issue webi report-BOXI3.1

    Hi,
    We have a requirement for a report where we will give user a set of objects (26 u2013 31) to do analysis using interactive viewing feature. Here we are facing severe performance issues and memory issues as the data that we are calling is huge( around 6 million records). At the report level we will be summarizing the data.
    No of rows in the report is depending on the no of objects.
    Mode of view : Interactive view.
    Note:
    1. Objects which are using in conditional level those have indexes.
    2. No of report level variable are two.
    3. Version of Business objects: BOXI3.1
    4. OS: Sun Solaris
    Please let me know if there are any means by which the memory requirements for the report can be minimized/ performance of the report can be improved.
    Thanks,
    Subash

    Subash,
    At the report level we will be summarizing the data ... any means by which the memory requirements for the report can be minimized/ performance of the report can be improved
    Is there any way that you can summarize this on the database side versus the report level?  The database should be sized with memory and disk space properly to handle these types of summarizations versus expecting the application to perform it.
    Thanks,
    John

Maybe you are looking for

  • Resolution on iMac 27"

    Hi everyone. I am a very new Mac user. Last week I bought the new MBPR 13" and love it. Yesterday I bought the iMac 27" i7 with the Nvidia 4bg card. Here's my question. On the MBPR the text and screen looks great. Not so much on the iMac 27" I only s

  • Two Selects Dependients in Php - Mysql

    That such friend, sides: i am developing with php 5 and mysql. Need to develop a form in where i have 2 selects list which they show the registries of 2 tables of my data base: Category - products. The problem this in which i need that when the form

  • Error while calling Proxy Method

    Hi All, I am trying to call aproxy method to send some information. However it raises an exception...The details of the exception are as follows: CX_SXML_PARSE_ERROR:Exception CX_SOAP_ROOT occurred (program: CL_SOAP_RUNTIME_ROOT==========CP, include:

  • FM Radio in MP3 Player Not Work

    The FM Radio Autoscan function of my newly bought 256MB MuVo TX FM MP3 player does not seem to be functioning properly. During the st time I performed autoscanning, the player was only able to register a few radio channels. Channels like 93.3FM and 9

  • Is it possible to start one counter on the rising edge of its gate and the second counter on the falling edge of the gate of the first counter?

    Hello, for my application I want to perform a buffered semi-period measurement with three counters. Therefore the first one have to start on a rising edge of its GATE and stop on the next rising edge. This is not a problem. But the second one should