Asset query execution performance after upgrade from 4.6C to ECC 6.0+EHP4

Hi,guys
I am encounted a weird problems about asset query execution performance after upgrade to ECC 6.0.
Our client had migrated sap system from 4.6c to ECC 6.0. We test all transaction code and related stand report and query.
Everything is working normally except this asset depreciation query report. It is created based on ANLP, ANLZ, ANLA, ANLB, ANLC table; there is also some ABAP code for additional field.
This report execution costed about 6 minutes in 4.6C system; however it will take 25 minutes in ECC 6.0 with same selection parameter.
At first, I am trying to find some difference in table index ,structure between 4.6c and ECC 6.0,but there is no difference about it.
i am wondering why the other query reports is running normally but only this report running with too long time execution dump messages even though we do not make any changes for it.
your reply is very appreciated
Regards
Brian

Thanks for your replies.
I check these notes, unfortunately it is different our situation.
Our situation is all standard asset report and query (sq01) is running normally except this query report.
I executed se30 for this query (SQ01) at both 4.6C and ECC 6.0.
I find there is some difference in select sequence logic even though same query without any changes.
I list there for your reference.
4.6C
AQA0FI==========S2============
Open Cursor ANLP                                    38,702  39,329,356  = 39,329,356      34.6     AQA0FI==========S2============   DB     Opens
Fetch ANLP                                         292,177  30,378,351  = 30,378,351      26.7    26.7  AQA0FI==========S2============   DB     OpenS
Select Single ANLC                                  15,012  19,965,172  = 19,965,172      17.5    17.5  AQA0FI==========S2============   DB     OpenS
Select Single ANLA                                  13,721  11,754,305  = 11,754,305      10.3    10.3  AQA0FI==========S2============   DB     OpenS
Select Single ANLZ                                   3,753   3,259,308  =  3,259,308       2.9     2.9  AQA0FI==========S2============   DB     OpenS
Select Single ANLB                                   3,753   3,069,119  =  3,069,119       2.7     2.7  AQA0FI==========S2============   DB     OpenS
ECC 6.0
Perform FUNKTION_AUSFUEHREN     2     358,620,931          355
Perform COMMAND_QSUB     1     358,620,062          68
Call Func. RSAQ_SUBMIT_QUERY_REPORT     1     358,569,656          88
Program AQIWFI==========S2============     2     358,558,488          1,350
Select Single ANLA     160,306     75,576,052     =     75,576,052
Open Cursor ANLP     71,136     42,096,314     =     42,096,314
Select Single ANLC     71,134     38,799,393     =     38,799,393
Select Single ANLB     61,888     26,007,721     =     26,007,721
Select Single ANLZ     61,888     24,072,111     =     24,072,111
Fetch ANLP     234,524     13,510,646     =     13,510,646
Close Cursor ANLP     71,136     2,017,654     =     2,017,654
We can see first open cursor ANLP ,fetch ANLP then select ANLC,ANLA,ANLZ,ANLB at 4.C.
But it changed to first select ANLA,and open cursor ANLP,then select  ANLC,ANLB,ANLZ,at last fetch ANLP.
Probably,it is the real reason why it is running long time in ECC 6.0.
Is there any changes for query selcection logic(table join function) in ECC 6.0.

Similar Messages

  • Performance issue after Upgrade from 4.7 to ECC 6.0 with a select query

    Hi All,
    There is a Performance issue after Upgrade from 4.7 to ECC 6.0 with a select query in a report painter.
    This query is working fine when executed in 4.7 system where as it is running for more time in ECC6.0.
    Select query is on the table COSP.
    SELECT (FIELD_LIST)
            INTO CORRESPONDING FIELDS OF TABLE I_COSP PACKAGE SIZE 1000
            FROM  COSP CLIENT SPECIFIED
            WHERE GJAHR IN SELR_GJAHR
              AND KSTAR IN SELR_KSTAR
              AND LEDNR EQ '00'
              AND OBJNR IN SELR_OBJNR
              AND PERBL IN SELR_PERBL
              AND VERSN IN SELR_VERSN
              AND WRTTP IN SELR_WRTTP
              AND MANDT IN MANDTTAB
            GROUP BY (GROUP_LIST).
       LOOP AT I_COSP      .
         COSP                           = I_COSP      .
         PERFORM PCOSP       USING I_COSP-_COUNTER.
         CLEAR: $RWTAB, COSP                          .
         CLEAR CCR1S                         .
       ENDLOOP.
    ENDSELECT.
    I have checked with the table indexes, they were same as in 4.7 system.
    What can be the reson for the difference in execution time. How can this be reduced without adjusting the select query.
    Thanks in advance for the responses.
    Regards,
    Dedeepya.

    Hi,
    ohhhhh....... lots of problems in select query......this is not the way you should write it.
    Some generic comments:
    1. never use SELECT
                       endselect.
       SELECT
      into table
       for all entries in table
      where.
       use perform statment after this selection.
    2. Do not use into corresponding fields. use exact structure type.
    3. use proper sequence of fields in the where condition so that it helps table go according to indexes.
        e.g in your case
              sequence should be
    LEDNR
    OBJNR
    GJAHR
    WRTTP
    VERSN
    KSTAR
    HRKFT
    VRGNG
    VBUND
    PARGB
    BEKNZ
    TWAER
    PERBL
    sequence should be same as defined in table.
    Always keep select query as simple as possible and perform all other calculations etc. afterwords.
    I hope it helps.
    Regards,
    Pranaya

  • After upgrading from 4.6C to ECC 6.0 templates not working in smartform

    Hello,
    After upgrading from 4.6C to ECC 6.0 templates not working properly in smartform, although value is flowing to the point the template is getting called and inside the template there are text elements where placeholders are kept to display the value, when the print is taken there are no values being displayed by the text elements.
    Please note - Text elements doesnot have any conditions present in the condition tabstrip.
    Thanks,
    Abhishek

    Hi,
    After the upgrade, you will have to do the security upgrade.
    Please follow these steps.
    1. Go To SU25
    2. Run step 2A to 2D.
    3. In step 2C, you shall get the list of all the affected roles.
    Click on first role. It will take you to authorizations of that role. Click on the "New" tab there to find the new objects added to the role after the upgrade.
    Note: You can open the same role in the unupgraded system to check.
    4. Provide the access to the required authorization objects.
    5. Disable the unwanted authorization objects.
    6. Generate the profile.
    7. Follow the same steps for all the affected roles listed.
    Please note that you will have a list of new objects added.You need to maintain them inorder to avoid any access issues.
    8. After step 2C, complete 2D.
    Regards,
    Imran

  • Impact on Custom / Std IDOC after upgrading from 4.7 to ECC 6.0

    I am in Upgrade project (4.7 to ECC 6.0).
    What will be the impact of the existing Custom and Std IDOC after upgrading from 4.7 to ECC 6.0 and if any impact, what are precautionary steps to be taken to work as it is.
    Will there be any Impact on ALE also ?
    Thanks & Regards
    Khaleel

    closed.

  • Transactions missing in Role After Upgrade from 4.6c to ECC 6.0

    Hello Friends,
    I did multiple searches on this question but it was unsuccessful. We are upgrading from 4.6c to ECC 6.0. We are testing roles to make sure the migrate properly.
    Irrespective of su25. There are transactions that are not obsolete and are missing in ECC 6.0
    For example if I have a role called FIROLE. Which has 20 tcodes in 4.6c. When we upgrade to ECC 6.0 8 tcodes will be missing. This is not because the tcodes become obsolete.
    What is the best way to approach this. Should we be testing each role?
    Thanks!

    Hello Imran,
    transactions can be 'obsolete' also if they still exist.....
    If the application developers create new functionality, new look,.... in new transactions but still let the 'old' ones in the system.
    Just think about the ME2*-transactions..... The developer can decide, that such new transactions should replace the old ones after upgrade in the roles or let the old ones as they are.
    You can get an overview about replaced/obsolete transactions by reviewing table PRGN_CORR2 (make sure, that you have the latest version, according to [SAP Note 991377|https://service.sap.com/sap/support/notes/991377]   !!!). SU25 gets its information from that table.
    b.rgds, Bernhard

  • Schema error after upgrade from 4.6C to ECC 5.0

    Hi all,
    We have recently upgraded from 4.6C to ECC 5.0. We are having problem in payroll run. When I did a syntax check in schema, I got "UDPM" rule doesn't exist. I checked, this rule is present in 4.6C. This is the standard rule. If I am right, it should have come with upgrade right?
    or SAP has changed this? From where Can I get the info about this?
    Also similar error I got in Function 'USTAX' parameter 3 is not allowed. If I remove that parameter, I don't know what is the implication of that.
    I checked for SAP notes. I did not find anything.
    Please let me know if any of you have come with such situation.
    Thanks in advance.
    Sarika.

    Hi Sarika,
    We are also in a similar transition i.e. 4.6C to mysap Ecc5.0 . But we are on Canadian Payroll.
    I had search OSS and got a PDF document regarding " Upgrading to SAP R/3 Enterprize - A User Guide to Canadian mysap HR Customers" . U may be can find a similar one for US payroll. I can give u mine, but it wont be of any use as it is for Canadian Payroll.
    In Canadian mysap Upgrade , the function P0224 has been replaced by function KXDTM . Although P0024 is still in used in Schema K00T for conversion purposes.
    Regards,
    Jay Gandhi

  • Layouts disappear after upgrade from 4.6c to ECC 6.0

    HI friends ,
    In the upgrade from 4.6c to ECC 6.0 , the layouts in the SAP QUERIES in the new system are either lost or showing lesser fields than original system .How do get the exact layouts as in 4.6c?
    Please help...
    Many thnx ,
    Hemanth .

    Try using SQVI transaction .
    Please reward if useful.

  • SQL query is slow after upgrading from SQL 2008 to SQL 2008 R2

    Hello
    We were using SQL 2008 Standard, but after upgrading to R2, following query is much slower (takes 5 seconds instead of less than 1 second), how is this possible?
    Regards, Hennie
    SELECT
     P.BSN,
     P.Persnr,
     P.Roepnaam,
     P.Tussenvoegsels,
     P.Achternaam,
     P.Geslacht,
     COALESCE (P.Achternaam + ', ' + P.Roepnaam + ' ' + P.Tussenvoegsels, P.Achternaam + ', ' + P.Roepnaam, P.Achternaam) AS naamvolledig,
     P.Telmobiel,
     P.Telvast,
     P.Postcode,
     G.groep,
     COALESCE (RM.nieuweDag, GR.Dag) AS dag,
     COALESCE (RM.nieuweDatum, GR.datum) AS datum,
     DATEPART(ww, COALESCE (RM.nieuweDatum, GR.datum)) AS weeknummer,
     DATEPART(yyyy, COALESCE (RM.nieuweDatum, GR.datum)) AS jaar,
     CONVERT(VARCHAR(8),
      CASE WHEN GR.ID_lokaties = 3 THEN COALESCE (RM.nieuweBegintijd,
       CASE WHEN GR.Tijdspan = 2 THEN R.begintijd2 ELSE R.begintijd END)
      ELSE COALESCE (RM.nieuweBegintijd, GR.begintijd) END, 108) AS begintijdberekend,
     CONVERT(VARCHAR(8),
      CASE WHEN GR.ID_lokaties = 3 THEN COALESCE (RM.nieuweEindtijd,
       CASE WHEN GR.Tijdspan = 2 THEN R.eindtijd2 ELSE R.eindtijd END)
      ELSE COALESCE (RM.nieuweEindtijd, GR.eindtijd) END, 108) AS eindtijdberekend,
     CASE WHEN GR.ID_lokaties = 3 THEN
       CONVERT(NCHAR(5), COALESCE (RM.nieuweBegintijd,CASE WHEN GR.Tijdspan = 2 THEN R.begintijd2 ELSE R.begintijd END), 108) + '-' +
       CONVERT(NCHAR(5), COALESCE (RM.nieuweEindtijd, CASE WHEN GR.Tijdspan = 2 THEN R.eindtijd2 ELSE R.eindtijd END), 108)
      ELSE CONVERT(NCHAR(5),COALESCE (RM.nieuweBegintijd, GR.begintijd), 108) + '-' + CONVERT(NCHAR(5), COALESCE (RM.nieuweEindtijd, GR.eindtijd), 108)
      END AS Tijdspanne,
     CASE
      WHEN GR.ID_lokaties = 3 AND R.id_relaties = 9 THEN 'Werk Intern'
      WHEN GR.ID_lokaties = 3 THEN R.relatienaam
      ELSE L.lokatie END AS Lokatieberekend,
     R.relatienaam AS relatie,
     L.IntExt,
     RA.Omschrijving AS roosteractiviteit,
     A.instroomdatum,
     A.uitstroomdatum,
     TT.trajecttype,
     W.Naamvolledig AS Werkcoach,
     A.ID_groepen,
     T.ID_personen,
     A.ID_werkcoaches,
     CASE
      WHEN GR.ID_lokaties = 3 AND R.id_relaties = 9 THEN 20
      WHEN GR.ID_lokaties = 3 THEN R.id_relaties
      ELSE L.ID_relaties END AS ID_lokatieberekend,
     A.ID_relaties AS ID_relatie,
     R.nummer2 AS capaciteit,
     GR.ID_groepsroosters,
     CAST(CASE WHEN foto IS NOT NULL THEN 'Ja' ELSE NULL END AS char(2)) AS Foto,
     W.Email,
     W.TelefoonMobiel,
     W.TelefoonVast
    FROM
     dbo.personen AS P INNER JOIN
     dbo.trajecten AS T ON T.ID_personen = P.ID_personen INNER JOIN
     dbo.trajecttype AS TT ON T.ID_trajecttype = TT.ID_trajecttype INNER JOIN
     dbo.trajectactiviteiten AS A ON A.ID_trajecten = T.ID_trajecten INNER JOIN
     dbo.groepsroosters AS GR ON GR.ID_groepen = A.ID_groepen LEFT OUTER JOIN
     dbo.roosteractiviteit AS RA ON GR.ID_roosteractiviteit = RA.ID_roosteractiviteit INNER JOIN
     dbo.lokaties AS L ON GR.ID_lokaties = L.ID_lokaties INNER JOIN
     dbo.werkcoaches AS W ON A.ID_werkcoaches = W.ID_werkcoaches INNER JOIN
     dbo.groepen AS G ON A.ID_groepen = G.ID_groepen LEFT OUTER JOIN
     dbo.relaties AS R ON A.ID_relaties = R.ID_relaties LEFT OUTER JOIN
     dbo.roostermutaties AS RM ON P.ID_personen = RM.ID_personen AND GR.ID_groepsroosters = RM.ID_groepsroosters AND RM.aanwezig IS NULL
    WHERE
     (COALESCE (RM.nieuweDatum, GR.datum) BETWEEN GETDATE() - 1 AND GETDATE() + 13)
     AND (COALESCE (DATEDIFF(day, COALESCE (RM.nieuweDatum, GR.datum), A.uitstroomdatum), 0) >= 0)
     AND (DATEDIFF(day, A.instroomdatum, COALESCE (RM.nieuweDatum, GR.datum)) >= 0)
     AND ((SELECT COUNT(*) AS Expr1
      FROM dbo.roostermutaties AS RM2
      WHERE (P.ID_personen = ID_personen)
      AND (GR.ID_groepsroosters = ID_groepsroosters)
      AND (CONVERT(VARCHAR(8), begintijdafwezig, 108) = CONVERT(VARCHAR(8),
      CASE WHEN GR.ID_lokaties = 3 THEN COALESCE (RM.nieuweBegintijd,
      CASE WHEN GR.Tijdspan = 2 THEN R.begintijd2 ELSE R.begintijd END)
      ELSE COALESCE (RM.nieuweBegintijd, GR.begintijd) END, 108)) AND
      (CONVERT(VARCHAR(8), eindtijdafwezig, 108) = CONVERT(VARCHAR(8), CASE WHEN GR.ID_lokaties = 3 THEN COALESCE (RM.nieuweEindtijd,
      CASE WHEN GR.Tijdspan = 2 THEN R.eindtijd2 ELSE R.eindtijd END) ELSE COALESCE (RM.nieuweEindtijd, GR.eindtijd) END, 108))) = 0)

    We were using SQL 2008 Standard, but after upgrading to R2, following query is much slower (takes 5 seconds instead of less than 1 second), how is this possible?
    It is not uncommon to experience performance problems following an upgrade when there are issues with original query.  Non-sargable expressions like Olaf called out are often the culprit, as well as lack of useful indexes and statistics. 
    The optimizer cannot glean accurate row count estimates or use indexes efficiently so the resultant plan may not be optimal for the task at hand.  It is only by happenstance that old plan performed better; it could just as well be the other way around,
    but again only by chance since the optimizer is guessing.
    You might also try using EXISTS instead of SELECT COUNT(*)...= 0:
    AND EXISTS(SELECT *
    FROM dbo.roostermutaties AS RM2
    WHERE P.ID_personen = ID_personen
    AND GR.ID_groepsroosters = ID_groepsroosters
    AND CONVERT(VARCHAR(8), begintijdafwezig, 108) = CONVERT(VARCHAR(8),
    CASE WHEN GR.ID_lokaties = 3 THEN COALESCE (RM.nieuweBegintijd,
    CASE WHEN GR.Tijdspan = 2 THEN R.begintijd2 ELSE R.begintijd END)
    ELSE COALESCE (RM.nieuweBegintijd, GR.begintijd) END, 108)
    AND CONVERT(VARCHAR(8), eindtijdafwezig, 108) = CONVERT(VARCHAR(8), CASE WHEN GR.ID_lokaties = 3 THEN COALESCE (RM.nieuweEindtijd,
    CASE WHEN GR.Tijdspan = 2 THEN R.eindtijd2 ELSE R.eindtijd END) ELSE COALESCE (RM.nieuweEindtijd, GR.eindtijd) END, 108))
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • Query engine error after upgrading from vs2003 to 2008

    Hi,
    I had crystal reports installed and working with visual studio 2003 using .Net. After upgrading to visual C# 2008 Express, When I attempt to create a report at runtime, I get the error "Query Engine Error. <filelocation>\report1.rpt"
    If I attempt to edit a report at design time, I get the following error: "There is no editor available for <fileLocation>\report1.rpt. Make sure the application for the file type (.rpt) is installed.
    Can anyone point me in the right direction??
    Thanks,
    Dittimon

    Crystal Reports is not supported with the Express editions of Visual Studio.
    If you are going to use VS.NET 2008 you will need to use the Professional Version or higher.
    This is noted in the following help file: [CR 2008|http://help.sap.com/businessobject/product_guides/boexir31/en/crsdk_net_dg_12_en.chm ]
    Under Supported Versions of Visual Studio
    Jason

  • Report variants missing in PC00_M10_REC after upgrade from 4.7 to ECC 6.0

    After Upgrade to ECC 6.0 from 4.7 version, two  variants for  Payroll Reconciliation report  in PC00_M10_REC  are missing.
    These variants were of users who have left the organisation/company.
    Can anyone help me to restore those variants and tell me why those two variants got deleted.
    Thanks in advance
    Rohan Das.

    Try to use program RSTRANSP , this will create transport request for variants. after creating the variant your basis team can move to ECC box

  • Missing table variants in SE16N after upgrade from 4.7 to ECC 6.0

    After Upgrade to ECC 6.0 ,certain variants for standard tables like MARA,MARC,EINE,EINA etc....in SE16N are missing.Can anyone help me to restore the variants.
    Thanks in advance
    Preethi .

    If you didn't save them they are gone - you can't restore them if you didn't run the report before (from where do you want to restore?)
    On top of that, if you have tables, that changed during the upgrade, the variants won't work any more.
    I suggest you write a report or use queries to get your data instead of using SE16N.
    Markus

  • User Exit issue after upgrade from 4.6c to ECC 6.0

    Hi Experts,
    After upgrade we are facing some issues regarding user exit. In 4.6c we have implemented several user exit to do customization in several module like SD,FI and HR. But after upgrade it has been identified that SAP has already provided this functionality in ECC 6.0. Now our problem is when this transactions are called or executed control is going to both custom and standard code. Which took long time to execute and causing performance issue.
    Is there any ways to identify which are the functionality SAP has provided in ECC 6.0 so that we can delete our custom user exits.

    Hi
        List all the user exits which you have modified and check in OSS notes you will get the OSS note with all the details what functionality has been changed.  Based on this you can delete or retain the user exits which ever you want.
    Regards,
    JB

  • Runtime Error in VL01N after upgrade from 4.6c to ECC 6.0

    hi, 
       We are doing a upgrade project from 4.6c to ECC 6.0 and when we are running the VL01n tcode and as soon as we hit enter in easy access screen its throwing a runtime error as " The key of internal table "XLIPS" contains components of type  'X' or "XSTRING". The "READ TABLE XLIPS" statement is not permitted for such tables in a unicode context'. The xlips is declared as:
    DATA: BEGIN OF XLIPS OCCURS 15.
    INCLUDE STRUCTURE LIPSVB.
    DATA: END OF XLIPS.
    so i have checked the lipsvb structure in that i dont find the key fields of type X or XSTRING all are of type CHAR 4. this LIPSVB is the Reference structure for  XLIPS and YLIPS.
    THANKS IN ADVANCE.

    Please  see the  Patch level of the  SD, FI ,etc...
    and  apply  it   the basis   should   find  it  out  .... for  ECC6.0   then  minimum level  of  patches  should  be   upgraded.
    please  ,login to help.sap.com  ... there  in the  search  see the  document   of the pateches  for the   ECC6.0 for SD & FI ... like wise  for  all  Modules  ....
    Reward  points if it is usefulll ...
    Girish

  • Runtime Error in MIGO after upgrade from 4.6c to ECC 6.0

    hi,
        We are doing a upgrade project from 4.6c to ECC 6.0 and when we are posting the MIGO a runtime error is occuring from the method
    "IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_BEFORE_UPDATE" which is
    in the class "ZCL_IM_MMIM_STK_TRANSFER".
    The error is as follows :
    method IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_BEFORE_UPDATE
    >>>>>CALL FUNCTION 'Z_MM_STK_TSFR'  
    TABLES     
    T_XMKPF = XMKPF
    T_XMSEG = XMSEG.  
    END METHOD.
    the errror is showing at function  'Z_MM_STK_TSFR'   .
    I would be happy if anyone could give any inputs i hav also put chek in unicode in attributes in main program however still the error is arising.
    thanks in advance

    hi,
         thanks for the inputs i have done the syntax check on the main program and the FM the error which is coming is Field "ENJPREVIEW" is unknown. its neither in one of the specified tables nor defined by a DATA 'statement' . THis error is showing in the include LMEDRUCKF1K.
    Thanks in advance

  • SQ01 query layouts has been changed after upgrade from 4.6c to ECC

    Hi All,
    If any one come across the following situation please provide the solution as soon as posssible.
    When you execute the query the results are not displayed as fields are not copied under display column,not sorted,not filtered becos of this the query results are not displayed. Is there any solution are setting that need to be done so that the layouts fields are copied,sorted and filtered as they were before upgrade. I have checked all the query variants and they are imported correctly to ECC from 4.6c,there is problem only with the display.
    Is the query layout changes due to upgrade?
    Regards,
    JB

    Please Post the Note Number.
    late but Sure it will help others in future.

Maybe you are looking for