Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Need advide for SQLM and SWLT implementation strategy

0 Kudos

Hi GURUs,

Recently I’m trying to incorporate the use of SQLM and SWLT in our development process. We don’t have any plan to migrate to HANA recently but I believe both SQLM and SWLT can be used for custom code optimization for classical ERP as well. I had a meeting with my manager and I tried to convince about the benefit of both but he raised some concerns which I couldn’t properly clarify. Can you please help clarify the doubt?

  • 1.In which system is SQLM check usually done? I believe it’s in production. But in production system we don’t have authorization to execute SQLM. What should be our strategy then?
  • 2.By whom is it usually done? Is it executed manually or through batch job? How frequently?
  • 3.In production system we cannot view the code, so even if I somehow execute it in production system I have to import the result to development system for code correction. What if there is a difference of code between development and production? Suppose there is a report in which some code change is going on in development system. Then the code from both the systems are not identical and the SQLM snamshot from production will not be valid for development system.

Basically I want to know if you use SQLM and SWLT regularly then have you felt any benefit and what strategy do you use?

Thanks a lot!

Regards,

Sarif

3 REPLIES 3

Jelena
Active Contributor
0 Kudos

Using "SQLM site:sap.com" Google finds tons of SCN posts and blogs about this. SAP Help document (one of the top hits in Google) starts with "In a productive ABAP-based SAP system[...]" so, naturally, that's where you'd run it. Strategy? Get the authorization!

I believe 5 minutes with Google should answer all your questions. Benefits will vary greatly depending on the specific system. If there are no performance issues in your system then I imagine there'd be no benefits. (We don't use these tools, our systems have no performance concerns at the moment.)

It's really something you rather might want to discuss with local Basis/DBA team than SCN.

Armin_Beil
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Sarif,

1) SQLM is intended to be run in productive systems. SWLT can also be run in the dev system, then you can directly navigate to the code. To use the tools you need the authorizations, there is no way around this. Maybe you should talk to the admins providing roles and authorization for your systems.

2) SQLM is activated manually via transaction SQLM. You can deactivate it manually or provide an automatic deactivation time and/or record limit during the activation. Everything else should work automatically.

Regarding who does this and how often: Maybe it could be a good approach to start with a single measurement for one week, get some experience with the tool and see whether the results are helpful for you. Then you could still decide whether you want to define a process for regular use.

3) This depends on the kind of code change:

a) There are some kinds of pseudo changes that are no issue for SQLM and that do not affect the line matching, navigation etc.. It will just work. Such handled pseudo changes are e.g.

  • The line number of the SQL statement was shifted because you entered a new processing block (e.g. method/form) above the processing block of the statement.
  • The line number of the SQL statement was shifted because you entered or removed empty lines or you changed processing blocks that are above your relevant one.
  • ..

b) If there are real changes on the SQL statement itself or the directly surrounding code then navigation from SQLM data to the code might bring you to a wrong source position. In this case it should still be not much effort to find the SQL statement by scrolling a bit, especially because SQLM also shows a fragement of the SQL statement together with the result data. SWLT however might not be able to show the SQLM runtime data and the static findings side by side in this scenario.

c) If the source has changed massively it is not useful to apply the old measurement data anyway.

When using SWLT please note that you don't have to necessarily fix each and every finding of the static checks as mentioned here.

Best regards,
Armin

0 Kudos

Hi Armin,

Thanks a lot for your detail explanation. It helped a lot.

I have another doubt, currently our basis team uses ST04 and ST03 to find out the worst performing programs in our production system. I know there must be some advantage of SQLM over these tcodes but can't really find out what. In all the places it just mentions that the main disadvantage of these tools are that they either don't provide a link to the driving business process or don't give enough data. But I'm not sure what that means since I can easily navigate to the source code position by double-clicking the SQL statement.

It'll really help me if I can find out a scenario where SQLM works better than ST04.

Regards,

Sarif