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

Similar Messages

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

  • Mailbox Move Issues and Errors - Exchange 2010 to 2013

    I'm trying to move mailboxes from 2010 to 2013, but I'm experiencing a lot of issues.
    My move batches keep hanging (stalled) for minutes and hours on end, and I can't seem to keep them going consistently.
    I have two DAG's, one for Archive boxes, and one for Primary mailboxes. Each DAG has three members with DB copies of each DB. The npdes and the clusters themselves are up and healthy. However, at random some of the DB's Content Index state will go to Failed
    or SuspendedandFailed. At which point I force a catalog refresh and DB index update, and it goes to healthy.
    I've created the "ContentSubmitters" AD group (and assigned it permissions), reset the Search and Host controller services on each server, and restarted the Replication service. I also deleted and recreated the Index for each DB prior to restarting
    services. No dice. I've also already moved the system mailboxes over to the 2013 databases.
    I'm also getting some "Transient" errors in the user move log, things like this: 
    Transient error ResourceUnhealthyException has occurred. The system will retry"
    5/4/2014 8:43:55 AM [exmb1] The job encountered too many transient failures (60) and is quitting.
    5/4/2014 8:43:55 AM [exmb1] Fatal error ResourceUnhealthyException has occurred.
    Error: MigrationPermanentException: Warning: Target mailbox unlock operation was not replicated. If a lossy failover occurs after the target mailbox was unlocked, the target mailbox could remain inaccessible. Error details: The store ID provided isn‎'t an ID of an item. --> MapiExceptionNetworkError: Unable to open entry ID. ‎(hr=0x80040115, ec=0)‎ Diagnostic context: Lid: 45025 Lid: 45345 StoreEc: 0x80040115 Lid: 22894 Lid: 24942 StoreEc: 0x80040115
    Any ideas would be appreciated!!!

    Hi 
    I would suggest you to run the below command for this "My move batches keep hanging (stalled) for minutes and hours on end" issue and see the result
    Get-MoveRequest -Identity "Mailbox Name" | Get-MoveRequestStatistics -IncludeReport | FL Report
    Just check if the MRS health is fine by running the below command
    Test-MRSHealth -Identity "CAS Server" -MonitoringContext $true | Export-CliXml "C:\temp\CAS_MRSHealth.xml" and look at the xml file to get more information
    When I run the Test command against either of my CAS servers, I get: " 'EXCH1' does not have the right Exchange Server version or role required to support this operation."
    Run i run that command against any of the mailbox servers, it completes and generates the XML file, but I'm not sure what I need to be looking for within that file.
    The first command spits out a ton of data, here's a little excerpt:
    5/5/2014 8:59:28 AM [exmb1] Transient error ResourceUnhealthyException has occurred. The system will retry
    (2/60).
    5/5/2014 9:00:02 AM [exmb1] The Microsoft Exchange Mailbox Replication service 'exmb1.contoso.com'
    (15.0.847.31 caps:03FF) is examining the request.
    5/5/2014 9:00:07 AM [exmb1] Connected to target mailbox 'Primary (072dc240-bd79-495c-b7f2-c571e8f910f2)',
    database 'newmbi', Mailbox server 'Exmb1.contoso.com' Version 15.0 (Build 847.0).
    5/5/2014 9:00:07 AM [exmb1] Connected to target mailbox 'Archive (812ee554-4a1e-4feb-b591-a435fcbdee16)',
    database 'newarci', Mailbox server 'EXARC2.contoso.com' Version 15.0 (Build 847.0), proxy server
    'EXARC2.contoso.com' 15.0.847.31 caps:1FFFCB07FFFF.
    5/5/2014 9:00:07 AM [exmb1] Connected to source mailbox 'Primary (072dc240-bd79-495c-b7f2-c571e8f910f2)',
    database 'exmbi', Mailbox server 'Chsexmb2.contoso.com' Version 14.3 (Build 181.0).
    5/5/2014 9:00:08 AM [exmb1] Connected to source mailbox 'Archive (812ee554-4a1e-4feb-b591-a435fcbdee16)',
    database 'Exarci', Mailbox server 'CHSEXARC1.contoso.com' Version 14.3 (Build 181.0)
    5/5/2014 9:00:12 AM [exmb1] Request processing continued, stage LoadingMessages.
    5/5/2014 9:00:36 AM [exmb1] Messages have been enumerated successfully. 6657 items loaded. Total size:
    332.3 MB (348,411,982 bytes).5/5/2014 9:06:14 AM [exmb1] The long-running job has been temporarily postponed. It will be picked up
    again when resources become available.

  • 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

  • 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

  • 8 Bit issue and error's that are really ******* me off

    So. We are transporting files from older macs to newer macs and we are getting 8 bit format errors. It basically corrupts the data and we have no clue how to fix this. here is the timeline
    We have a band and we started recording music into garage band using perfect recording equipment on saturday the 17th of july.
    Later on Tuesday the 20th, a CD got stuck in the disk drive of our bassist's mac (2 year old macbook [black and silver]). So, since we saved everything onto flash drives we were able to continue. using our guitarist's brothers new macbook pro. After a few days our guitarist's brother got ****** and wanted his macbook back. So on Thursday the 23rd we started using a 4 year old macbook (white) and did a lot of recording on it until the 24th of july, and then the original 2 year old mac book came back on the 24th. then 2 hours into the use, we went to put a software disk to install a external disk burner, and the software disk got stuck inside the mac. so our bassist was in a panic to give the mac back to future shop. and then we used the new macbook pro for a day then the 4 year old mac book came back into our hands until friday the 30th. Then we have been using the new macbook scince and for some reason we can't get the songs on and its ******* us off because we spent a lot of money to do recording and now we cant do half the songs cuz they dont work!!!! It's ******* us off.
    what can we do?

    Are you using Garageband 09 on all the Macs?
    Maybe you guys should use a windows machine.

  • SDM Password issue and errors for Web Dynpro Deployment

    Hi,
    After checking on SDN with regards to SDM Password and issue, I wonder what is the REAL default password for SDM when deploying web dynpro application.
    Some mentioned it's "sdm".
    Some mentioned it's "admin"
    If refer to documentation (from Sneak Preview SAP Netweaver 2004), it's "abcd1234".
    Anyhow, it accepted "admin" for my case, but I got an error when I click on "Deploy New Archive & Run". Hope someone can help me on this error. The error message as below:
    Nov 6, 2006 11:04:15 AM /userOut/deploy (com.sap.ide.eclipse.sdm.threading.DeployThreadManager) [Thread[Deploy Thread,5,main]] ERROR:
    [011]Deployment aborted
    Settings
    SDM host : nb00
    SDM port : 50018
    URL to deploy : file:/C:/DOCUME1/ADMINI1/LOCALS~1/Temp/temp3796Welcome.ear
    Result
    => deployment aborted : file:/C:/DOCUME1/ADMINI1/LOCALS~1/Temp/temp3796Welcome.ear
    Aborted: development component 'Welcome'/'local'/'LOKAL'/'0.2006.11.06.11.03.21':
    Caught exception during application deployment from SAP J2EE Engine's deploy service:
    java.rmi.RemoteException: Only Administrators have the right to perform this operation.
    (message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
    Deployment exception : The deployment of at least one item aborted
    Another issue is, although i am not able to deploy successfully (not even once), but if i click on "Run", it will launch browser, and the web dynpro program is works. Problem is, it's the old version. It deosn't display the latest version.
    Can any guru out there explain and provide solution?
    Thanks in advance.
    Message was edited by: Adam Lee

    Hi Adam,
       Error message sounds like "Administrators have the right to perform this operation". do you have admin rights? for deploying.
       Check this thread once same problem but solved:
    Re: Deployment exception
    Regards, Suresh KB

  • 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

  • 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

  • For loop issue and error exception

    I am finishing up a program and having a few issues....I can send my instructions so it may seem easier to what I want...the first issue deals with the for loop for the 2nd for loop in the actionperformed when i click on go it does not change any of the boxes to yellow
    Also when I check for errors it does not check with the code I have...I know it says on the instructions to use try\catch but I am just going to use if statements because I am not very familar with the try\catch and will accept some points takin off...any help with this by tonight id really appreciate it as long as noone is too busy...Thanks
    instructions:
    This will incorporate arrays, for loops, and Frames all in one.
    Create a panel containing an array of 16 TextArea components that change color to correspond with the start, stop, and step values entered by the user. Perform the following tasks to create the Checkerboard Array application shown below. When the user enters the start, stop, and step fields and then clicks the Go button, the results are also shown below.
    1.     Call your application Checkerboard.java
    2.     You will need the following variables� declare them as private:
    a.     16 component TextArea array
    b.     a Panel to hold the array
    c.     3 TextField components with length of 10
    d.     3 int variables to receive the start, stop, and step values
    e.     3 Labels to display the words Start, Stop, and Step
    f.     a Go button
    g.     a Clear button
    h.     a Panel to hold the 3 TextFields, 3 Labels, and the 2 Buttons
    3.     Create a constructor method to:
    a.     construct each of the components declared above and initializes the start, stop, and step variables to zero (when constructing the TextArea components, use the following parameters: null, 3, 5, 3)
    b.     set the Frame layout to BorderLayout
    c.     write a for loop to loop the array and set each of the 16 TextArea components in that array so they cannot be edited. In the same loop, set each of the TextArea components text to be 1 more than the index number. Also in this same loop, set the background of each of the TextArea components to white.
    d.     set the Panel for the TextArea components to GridLayout with 4 rows, 4 columns, and both gaps set to 10
    e.     set the Panel for the TextFields, Labels, and button to GridLayout with 3 rows, 3 columns, and both gaps set to 5
    f.     add the components to their respective Panels
    g.     make the buttons clickable
    h.     place the Panels in the Frame� put one in the NORTH and one in the CENTER
    i.     Enter the addWindowListener() method described in the chapter� this is the method that overrides the click of the X so it terminates the application
    4.     In your actionPerformed() method:
    a.     convert the data in your TextFields to int and store them in the variables declared above
    b.     write a loop that goes through the array setting every background color to blue
    c.     write another loop that�s based on the user inputs. Each time the loop is executed, change the background color to yellow (so� start your loop at the user�s specified starting condition. You�ll stop at the user�s specified stopping value. You�ll change the fields to yellow every time you increment your loop based on the step value. REMEMBER: Your displayed values are 1 off from your index numbers!!)
    5.     Write a main() method that creates an instance of the Checkerboard Frame.
    a.     set the bounds for the frame to 50, 100, 300, 400
    b.     set the title bar caption to Checkerboard Array
    c.     use the setVisible() method to display the application Frame during execution
    6.     After you get all of this complete, include error handling to make sure:
    a.     the values entered in the TextFields are valid integers
    b.     the start value is greater than or equal to 1 and less than or equal to 16
    c.     the stop value is greater than or equal to 1 and less than or equal to 16
    d.     the step value is greater than or equal to 1 and less than or equal to 16
    e.     the start condition is less than the stop condition
    f.     when an error occurs, give an error message in a dialog box that is specific to their error, remove the text from the invalid field, and put the cursor in that field so the user has a chance to re-enter� this can be accomplished by using multiple try/catch statements
    g.     only change the colors if the numbers are valid
    7.     Create a clear button as seen in the example below. This button should:
    a.     clear out all 3 TextFields
    b.     change the background color of all TextArea array elements to white
    c.     put the cursor in the start field
    8.     Document!!
    my code is:
    //packages to import
    import javax.swing.JOptionPane;
    import java.awt.*;
    import java.awt.event.*;
    public class Checkerboard extends Frame implements ActionListener
         private Panel topPanel;
         private TextArea topDisplay[];
         private Panel bottomPanel;
         private TextField startField = new TextField(10);
         private TextField stopField = new TextField(10);
         private TextField stepField = new TextField(10);
         private Label startLabel = new Label ("Start");
         private Label stopLabel = new Label ("Stop");
         private Label stepLabel = new Label ("Step");
         private Button goButton;
         private Button clearButton;
         private boolean clearText;
         private boolean first;
         private int start;
         private int stop;
         private int step;
         //constructor methods
         public Checkerboard()
              //construct components and initialize beginning values
              topPanel = new Panel();
              topDisplay = new TextArea[16];
              goButton = new Button("Go");
              clearButton = new Button("Clear");
              first = true;
              bottomPanel = new Panel();
              int start = 0;
              int stop = 0;
              int step = 0;
              bottomPanel.add(startField);
              bottomPanel.add(stopField);
              bottomPanel.add(stepField);
              bottomPanel.add(startLabel);
              bottomPanel.add(stopLabel);
              bottomPanel.add(stepLabel);
              bottomPanel.add(goButton);
              goButton.addActionListener(this);
              bottomPanel.add(clearButton);
              clearButton.addActionListener(this);
              clearText = true;
              //set layouts for the Frame and Panels
              setLayout(new BorderLayout());
              topPanel.setLayout(new GridLayout(4, 4, 10, 10));
              bottomPanel.setLayout(new GridLayout(3, 3, 5, 5));
              //construct the Display
              for(int i = 0; i <= 15; i++)
                        topDisplay[i] = new TextArea(null, 3, 5, 3);
                        topDisplay.setText(String.valueOf(i+1));
                        topDisplay[i].setEditable(false);
                        topPanel.add(topDisplay[i]);
              //add components to frame
              add(topPanel, BorderLayout.NORTH);
              add(bottomPanel, BorderLayout.CENTER);
              //allow the x to close the application
              addWindowListener(new WindowAdapter()
                        public void windowClosing(WindowEvent e)
                                  System.exit(0);
                   } //end window adapter
         public static void main(String args[])
              Checkerboard f = new Checkerboard();
              f.setTitle("Checkerboard Array");
              f.setBounds(50, 100, 300, 400);
              f.setLocationRelativeTo(null);
              f.setVisible(true);
         } //end main
         public void actionPerformed(ActionEvent e)
              //test go
              String arg = e.getActionCommand();
              //go button was clicked
              if(arg.equals("Go"))
                   //convert data in TextField to int
                   int start = Integer.parseInt(startField.getText());
                   int stop = Integer.parseInt(stopField.getText());
                   int step = Integer.parseInt(stepField.getText());
                   if((start <= 1) && (start > 16))
                        JOptionPane.showMessageDialog(null, "You must enter start between 1 and 16", "Error", JOptionPane.ERROR_MESSAGE);
                        startField.setText(" ");
                        startField.requestFocus();
                   if ((stop < 1) && (stop > 16))
                        JOptionPane.showMessageDialog(null, "You must enter stop between 1 and 16", "Error", JOptionPane.ERROR_MESSAGE);
                        stopField.setText(" ");
                        stopField.requestFocus();
                   if ((step < 1) && (step > 16))
                        JOptionPane.showMessageDialog(null, "You must enter step between 1 and 16", "Error", JOptionPane.ERROR_MESSAGE);
                        stepField.setText(" ");
                        stepField.requestFocus();
                   if (start < stop)
                        JOptionPane.showMessageDialog(null, "Stop cannot be larger than start", "Error", JOptionPane.ERROR_MESSAGE);
                        startField.setText(" ");
                        stopField.setText(" ");
                        stepField.setText(" ");
                        startField.requestFocus();
                   for(int i = 0; i <=16; i++)
                   topDisplay[i].setBackground(Color.blue);
                   for(int i = start; i <= stop; step++)
                   topDisplay[i].setBackground(Color.yellow);
              } //end the if go
              //clear button was clicked
              if(arg.equals("Clear"))
                   clearText = true;
                   startField.setText("");
                   stopField.setText("");
                   stepField.setText("");
                   first = true;
                   setBackground(Color.white);
                   startField.requestFocus();
              } //end the if clear
         }//end action listener
    }//end class

    got the yellow boxes to come up but just one box.....so is there something wrong with my yellow set background because I am not seeing any more errors
    //packages to import
    import javax.swing.JOptionPane;
    import java.awt.*;
    import java.awt.event.*;
    public class Checkerboard extends Frame implements ActionListener
         private Panel topPanel;
         private TextArea topDisplay[];
         private Panel bottomPanel;
         private TextField startField = new TextField(10);
         private TextField stopField = new TextField(10);
         private TextField stepField = new TextField(10);
         private Label startLabel = new Label ("Start");
         private Label stopLabel = new Label ("Stop");
         private Label stepLabel = new Label ("Step");
         private Button goButton;
         private Button clearButton;
         private boolean clearText;
         private boolean first;
         private int start;
         private int stop;
         private int step;
         //constructor methods
         public Checkerboard()
              //construct components and initialize beginning values
              topPanel = new Panel();
              topDisplay = new TextArea[16];
              goButton = new Button("Go");
              clearButton = new Button("Clear");
              first = true;
              bottomPanel = new Panel();
              int start = 0;
              int stop = 0;
              int step = 0;
              bottomPanel.add(startField);
              bottomPanel.add(stopField);
              bottomPanel.add(stepField);
              bottomPanel.add(startLabel);
              bottomPanel.add(stopLabel);
              bottomPanel.add(stepLabel);
              bottomPanel.add(goButton);
              goButton.addActionListener(this);
              bottomPanel.add(clearButton);
              clearButton.addActionListener(this);
              clearText = true;
              //set layouts for the Frame and Panels
              setLayout(new BorderLayout());
              topPanel.setLayout(new GridLayout(4, 4, 10, 10));
              bottomPanel.setLayout(new GridLayout(3, 3, 5, 5));
              //construct the Display
              for(int i = 0; i <= 15; i++)
                        topDisplay[i] = new TextArea(null, 3, 5, 3);
                        topDisplay.setText(String.valueOf(i+1));
                        topDisplay[i].setEditable(false);
                        topPanel.add(topDisplay[i]);
              //add components to frame
              add(topPanel, BorderLayout.NORTH);
              add(bottomPanel, BorderLayout.CENTER);
              //allow the x to close the application
              addWindowListener(new WindowAdapter()
                        public void windowClosing(WindowEvent e)
                                  System.exit(0);
                   } //end window adapter
              public static void main(String args[])
                        Checkerboard f = new Checkerboard();
                        f.setTitle("Checkerboard Array");
                        f.setBounds(50, 100, 300, 400);
                        f.setLocationRelativeTo(null);
                        f.setVisible(true);
                   } //end main
                   public void actionPerformed(ActionEvent e)
                        boolean done = false;
                        //test go
                        String arg = e.getActionCommand();
                        //go button was clicked
                        if(arg.equals("Go"))
                   //convert data in TextField to int
                   int start = Integer.parseInt(startField.getText());
                   int stop = Integer.parseInt(stopField.getText());
                   int step = Integer.parseInt(stepField.getText());
                   while(!done)
                        try
                             if((start <= 1) && (start > 16)) throw new NumberFormatException();
                             else done = true;
                        } //end try
                        catch (NumberFormatException f)
                             JOptionPane.showMessageDialog(null, "You must enter start between 1 and 16", "Error", JOptionPane.ERROR_MESSAGE);
                             startField.setText(" ");
                             startField.requestFocus();
                        } //end catch
                        try
                             if ((stop < 1) && (stop > 16)) throw new NumberFormatException();
                             else done = true;
                        } //end try
                        catch (NumberFormatException f)
                             JOptionPane.showMessageDialog(null, "You must enter stop between 1 and 16", "Error", JOptionPane.ERROR_MESSAGE);
                             stopField.setText(" ");
                             stopField.requestFocus();
                        } //end catch
                        try
                             if ((step < 1) && (step > 16)) throw new NumberFormatException();
                             else done = true;
                        } //end try
                        catch (NumberFormatException f)
                             JOptionPane.showMessageDialog(null, "You must enter step between 1 and 16", "Error", JOptionPane.ERROR_MESSAGE);
                             stepField.setText(" ");
                             stepField.requestFocus();
                        } //end catch
                        try
                             if (start > stop) throw new NumberFormatException();
                             else done = true;
                        } //end try
                        catch (NumberFormatException f)
                             JOptionPane.showMessageDialog(null, "Stop cannot be larger than start", "Error", JOptionPane.ERROR_MESSAGE);
                             startField.setText(" ");
                             stopField.setText(" ");
                             stepField.setText(" ");
                             startField.requestFocus();
                        } //end catch
              } //end while
                        for(int i = 0; i <=15; i++)
                        topDisplay[i].setBackground(Color.blue);
                        for(int i = start; i <= stop; step++)
                        topDisplay[i].setBackground(Color.yellow);
                   } //end the if go
                   //clear button was clicked
                   if(arg.equals("Clear"))
                        clearText = true;
                        startField.setText("");
                        stopField.setText("");
                        stepField.setText("");
                        first = true;
                        setBackground(Color.white);
                        startField.requestFocus();
                   } //end the if clear
         }//end action listener
    }//end class

  • 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

  • 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

  • Photoshop/illustrator transfer issues and error

    I've transferred my photoshop and illustrator from my old mac to another by using time machine, and I deregistered my old accounts on my old laptop to use it on my new set-up, but unfortunately I keep receiving 150:30 errors. I've tried scouring the internet for solutions, but I can't find a solution. I can't locate my serial numbers for the products either. I've had them for about four years. Could someone please help me with this problem? It's vital that I have these products for my job.

    You need to install Adobe products, transferring them will not work.  You should be able to find your serial numbers thru your Adobe account online.  If you need help getting them, you need to contact Adobe Support either by chat or via phone when you have serial number and activation issues.
    Here is a link to a page with options to help make contact:
    http://www.adobe.com/support/download-install/supportinfo/

  • SMB Direct connect Issues and error -36 (work around?)

    I use the SMB command to connect from a Imac, to a Windows 7 machine.   Typically on a fresh restart of both machines the connection would be quick and fast transfer speeds.   However after a while I would get disconnected and after logging back in, would get slow connections and typically get an error -36 when trying to transfer bigger files.     What I did notice was that when the Windows machine would go to sleep, and come back online,  these symptoms would occur.  
    What I decided to do, was turn off any type of sleep mode and power saving options on the network device. for the windows machine.   As naturally I would still get disconnected every once in a while,  once I connect I do not have anymore issues.    This has worked now for the last couple of days, so I assume I can consider this a work around.   
    It seems that if the SMB connection gets disconnected from the other computer, the Mac will start giving errors.    I am not sure if this is really the mac issue, but this has only happened when I updated to Yosemite.  
    Let me know if anyone else has this problem, and has success with this solution. 

    If your MacBook is using wifi, connect your ATV to it using an Ethernet cable and turn on Internet sharing in the Sharing section of the System Preferences for the Ethernet NIC in the MacBook, then set up the ATV for a TCP/IP connection in the General -> Network section of the ATV Settings menu.

Maybe you are looking for