Skip to Content

Need advide for SQLM and SWLT implementation strategy


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!



Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Feb 13, 2017 at 07:21 PM

    Using "SQLM" 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.

    Add comment
    10|10000 characters needed characters exceeded

  • Feb 15, 2017 at 11:29 AM

    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,

    Add comment
    10|10000 characters needed characters exceeded

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