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,
AbhishekHi,
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
Khaleelclosed.
-
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,
DittimonCrystal 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 -
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
a® -
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 advancehi,
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,
JBPlease Post the Note Number.
late but Sure it will help others in future.
Maybe you are looking for
-
Hi Sir/Madam, As captioned, my Safari doent work on my iMac after I installed the app "MplayerX", actually, while I installed it and found no any responded, thus, I put it into the trash, then open Safari and got no responded, no window will be open
-
Hi, I got my Mac in 2009 with photoshop elements on it - it's recently been wiped, however before the process we put Photoshop onto a hard drive, we then copied it back over and it no longer works, I'm getting error code 150:30 and I'm being asked fo
-
Page footer in all pages expect last page--pld
page footer in all pages expect last page for example 3 pages of pld report for first 2 pages only print footer not for 3rd page
-
HTTP error: 401 (unauthorized) "Error in configSet"
Hi , I am getting this error "HTTP error: 401 (unauthorized) "Error in configSet" in the following scenarios. A. Creating a content repository from SAP in T-code "CSADMIN" B.Accessing the http://<domainname>:<portno> If i give complete URL it is wo
-
WFMC_PREPARE_SMART_FORM - device type problem
Hi, I have created the logical destination "ZMAIL" to send a mail for vendor address. It's working fine in ME21N/ME22N. if we go to ME9F then it's goes to print it's not sending a mail. I'm using the FM "WFMC_PREPARE_SMART_FORM". In ME21N/ME22N, pe_d