23
5/21/2018 AbapRuntimeAnalysisSe30HowtoAnalyzeAbapProgramFlow-slidepdf.com http://slidepdf.com/reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo Generated by Jive on 2014-07-24+02:00 1 ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow Posted by Olga Dolinskaja 11-Dec-2009 The ABAP Runtime Analysis (transaction SE30) is the best starting point if you want to execute performance or flow analysis of your ABAP program. Unfortunately many people use ABAP Runtime Analysis only to look for performance bottlenecks and don't know that ABAP Trace is the only tool with which you can trace the execution flow of an ABAP program at the statement level. This blog will show you how to use ABAP Trace of ABAP Runtime Analysis (SE30) to follow the flow logic of your ABAP program.  1. Why analyze the flow of an ABAP program?  The ABAP Runtime Analysis (transaction SE30) gives you one tool for solving two problems. You can measure performance and find bottlenecks. You can also analyze the program flow of your ABAP program. In this blog we will focus on program flow analysis.  Why do you need to analyze the flow of ABAP program? Let me give you just a couple examples.First, you may need to find the exact source code location of a particular ABAP statement (a method call, function call...) you are interested in. You would then run the ABAP Trace and afterwards search the required line in the result list of the ABAP statements. Second, you may want to compare the flow of your ABAP program in different systems. Imagine, for example, that your ABAP program runs as expected in the test system but shows a completely differently behavior in the production system, or even worse, aborts with a short dump in the production system. You could then simply run the ABAP Trace in both test and production systems and compare the trace results.  2. How to find exact source code line of an ABAP statement?  Just imagine, you go to the ABAP Editor (transaction SE38), type "XXX" into the "Program " field, press the "Display " button and get the error message on the status bar "Program XXX does not exist". How could you find out the exact source code line of the ABAP statement that produced the message?

Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

Embed Size (px)

DESCRIPTION

How to use SE30

Citation preview

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    Generated by Jive on 2014-07-24+02:00

    1

    ABAP Testing and Troubleshooting: ABAPRuntime Analysis (SE30) - How to analyzeABAP program flow

    Posted by Olga Dolinskaja11-Dec-2009

    The ABAP Runtime Analysis (transaction SE30) is the best starting point if you want to execute

    performance or flow analysis of your ABAP program. Unfortunately many people use ABAP Runtime

    Analysis only to look for performance bottlenecks and don't know that ABAP Trace is the only tool with

    which you can trace the execution flow of an ABAP program at the statement level. This blog will show

    you how to use ABAP Trace of ABAP Runtime Analysis (SE30) to follow the flow logic of your ABAP

    program.

    1. Why analyze the flow of an ABAP program?

    The ABAP Runtime Analysis (transaction SE30) gives you one tool for solving two problems. You can measure

    performance and find bottlenecks. You can also analyze the program flow of your ABAP program. In this blog

    we will focus on program flow analysis.

    Why do you need to analyze the flow of ABAP program? Let me give you just a couple examples.First, you

    may need to find the exact source code location of a particular ABAP statement (a method call, function

    call...) you are interested in. You would then run the ABAP Trace and afterwards search the required line in

    the result list of the ABAP statements. Second, you may want to compare the flow of your ABAP programin different systems. Imagine, for example, that your ABAP program runs as expected in the test system but

    shows a completely differently behavior in the production system, or even worse, aborts with a short dump in

    the production system. You could then simply run the ABAP Trace in both test and production systems and

    compare the trace results.

    2. How to find exact source code line of an ABAP statement?

    Just imagine, you go to the ABAP Editor (transaction SE38), type "XXX" into the "Program" field, press the

    "Display" button and get the error message on the status bar "Program XXX does not exist". How could you

    find out the exact source code line of the ABAP statement that produced the message?

    http://scn.sap.com/people/olga.dolinskaja
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    2

    You could of course start the ABAP Debugger and try to debug in single step. And then after hours or weeks

    of intensive debugging you might be lucky enough to find the source code line of the ABAP statement. But why

    waste time? Here is how to use the ABAP Runtime Analysis to find this error message in a couple of minutes.

    If you press "?" button or click on the status bar near the error message, you will see the F1 help on the

    message, in the performance assistant. This tells informs you that the number of the error message is DS017.

    Therefore you have to look for the "message DS017":

    http://scn.sap.com/servlet/JiveServlet/showImage/38-51785-62587/se30_msg.jpg
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    3

    To find the message, first start the ABAP Runtime Analysis and create a measurement variant.

    1. Start the ABAP Runtime Analysis (transaction SE30) via System -> Utilities -> Runtime Analysis ->

    Executeor call the transaction directly with "/nse30".2. Type "SE38"into "Transaction" field.3. Create a measurement variant for your user:

    Type a name into "Variant" field and press "Create" button

    Set aggregation to "None" on the "Duration/Type" tab For memory usage info check the "With memory use" flag Switch on "Particular units" on the "Program(Parts)" tab Save your variant

    http://scn.sap.com/servlet/JiveServlet/showImage/38-51785-62588/se30_help.jpg
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    4

    Before we go on, some important notes.

    Don't use aggregation if you want to trace ABAP in order to follow the program logic(what weare doing here). Aggregation summarizes the trace data for a particular type of event in a single tracerecord and therefore reduces the number of entries in the trace file. But to see the complete program

    flow you need all trace data.

    Try to use "Particular units" where possible in order to reduce trace file sizeand trace only thecode you really need to see. The option "Particular units" allows you to switch on/off the ABAP trace

    during the running transaction. The trace will be started as soon as you enter "/ron" (trace on) in theOK field in your transaction. With "/roff " the trace is stopped. Alternatively you can also use the menu

    path: System -> Utilities -> Runtime Analysis -> Switch On / Switch Off.

    Let's execute the measurement:

    1. Press "Execute" button. Transaction SE38, the ABAP Editor, starts.

    2. Type "XXX" into the "Program" field and turn on the trace with System -> Utilities -> Runtime Analysis ->Switch On.

    3. Press the "Display" button and turn off the trace with System -> Utilities -> Runtime Analysis -> Switch

    Off.

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    5

    Step back to the Runtime Analysis and analyze the trace results:

    1. Press the "Evaluate" button.

    2. Press the "Call Hierarchy" button and you get a list which represents the complete path through yourprogram.

    3. Search for "message DS017" in the Call Hierarchylist.4. Double-click on the entry in the Call Hierarchylist to jump to the source code line, which initiated the

    error message.

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    6

    3. How to trace a long running batch job?

    Now imagine the following situation. You are the administrator of a production system, and you encounter in

    the Process Overview (transaction sm50) a batch process, which already has been running several days and

    has been selecting data from a database table. This process is blocking other background jobs and you have

    to find out what this process is actually doing:

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    7

    You can find this out very easily with the ABAP Runtime Analysis. You can use the ABAP Runtime Analysis

    (SE30) to trace programs which are running in a parallel session.

    1. Ensure that you run SE30 on the same server as the running process!2. You must create or adjust a trace variant for tracing the parallel process. Set aggregation to "None"

    again to get the Call Hierarchy.3. Press the "Switch On/Off" button to trace processes running in a parallel session. The Runtime Analysis

    displays a list of the running processes similar to the Process Overview(transaction sm50).4. Use the "Start measurement/End measurement" buttons to activate and deactivate trace.

    Caution:Deactivate the trace again after short tracing time so that you do not reach the trace file quota! Before

    deactivating the trace, refresh the work process display. The dialog step that was active in the work process

    with the activated trace may have changed, and that deactivates the trace automatically.

    http://scn.sap.com/servlet/JiveServlet/showImage/38-51785-62592/se30_process_overview.jpg
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    8

    5. Press "Evaluate" button to analyze trace results.

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    9

    4. How to trace HTTP/RFC requests or processes of other

    users?

    There are also often situations where you need to trace HTTP or RFC requests or processes of other users.

    Let me give you some examples.

    Imagine there is an online flight booking system. If a user wants to reserve a flight, his HTTP request arrives in

    your backend system. And you need to trace the reservation process which is running in your ABAP backend

    system. In such case you don't know which ABAP backend process handles which HTTP request and have no

    idea when the HTTP request will reach your ABAP backend system. Therefore it is difficult to capture such a

    request for debugging in the appropriate ABAP backend process.

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    10

    Another good example would be frequent RFC requests which reach your ABAP system and last only several

    hundred milliseconds. It is quite hard to trace such short-lived requests. Maybe you also have to deal with a

    batch job that runs under another user, which always starts at a different time and aborts sporadically with a

    short dump. How can you trace something like this?

    The ABAP Runtime Analysis (SE30) provides an answer. It lets you schedule a trace for any user on the

    current server.

    1. Start ABAP Runtime Analysis (SE30).

    2. Create your trace variant and set aggregation to "None" again to get the Call Hierarchy.3. Press "For User/Service" button in the "Schedule" area of the initial screen.4. Press "Schedule measurement" button on the Overview of Scheduled Measurementsscreen.

    The transaction presents a popup on which you can schedule an asynchronous trace according to these

    criteria:

    User Client External session(choose "Any" if you are not sure in which session the application will run!)

    Process Category(dialog, batch, RFC, HTTP, ITS, etc.) Object Type(transaction, report, function module, any, etc.) Object(e.g. only transaction se38) Max. No. of sched. Measurements(specify the maximum number of traces) Expiration Date and Time(specify the time frame when the trace shall be active)

  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    11

    When the trace is scheduled, the ABAP Runtime Analysis automatically starts the trace as soon as session

    that meets your criteria is started on the system. The user you have specified logs on to the system and

    executes his task, and the ABAP Runtime Analysis starts to write the trace. The trace results can be analyzed -

    as usual - in the ABAP Runtime Analysis (using the "Evaluate" button on initial screen).

    12892 Views Tags: abap

    fikret somay

    24-Jul-2014 12:45

    thanks for the blog!!!

    Sneha Rana

    11-Jul-2014 15:50

    Very Useful information. I have used SE30 so many times, but never knew the depth of it. Thanks for sharing

    Basar Ozgur Kahraman

    http://scn.sap.com/people/basarozgur.kahramanhttp://scn.sap.com/people/basarozgur.kahramanhttp://scn.sap.com/people/sneha.ranahttp://scn.sap.com/people/sneha.ranahttp://scn.sap.com/people/fikretsomayhttp://scn.sap.com/people/fikretsomayhttp://scn.sap.com/community/abap/testing-and-troubleshooting/blog/tags#/?tags=abap
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    12

    11-Jul-2014 13:49

    Thank you for helpful blog!!

    Ronaldo Aparecido

    18-Nov-2013 21:16

    Thanks Very helpfull.

    Adam Krawczyk

    08-Feb-2013 10:15

    Hi,

    Thank you for a very good blog. It describes more advanced techniques for SE30 and presents core

    knowledge that should be known. Still up to date

    Regards,

    Adam

    A. de Smidtin response to Siddhartha Rathion page 12

    02-Apr-2012 15:31

    it depends on you're coding if it is good or bad. sometimes 90% database is good when abap coding is very

    lean. when database access is lean 80% abap can be good.

    you have to look if customers are happy about the performance and if they are not then analyze if something

    can be changed with for instance se30. in you're case when abap is 80% it is logic to concentrate in looking at

    the coding. and how much time each block consumes.

    you get very quick insight in this with se30 or sat and full aggregation.

    Arthur

    Siddhartha Rathi

    28-Mar-2012 18:59

    Hi,

    I would like to know in case my ABAP shows 80% and above and Database shows 5% to 15% usage and

    remaining by system than is such a code good or bad and why??

    Sid

    Lokesh Pattnayak

    14-Jul-2010 05:32This blog gives a good insight knowledge on se30 .

    A. de Smidtin response to Olga Dolinskajaon page 13

    11-Apr-2010 23:48

    I know how to transfer testdata to se37 that's not the problem. the main problem is that it doesn't work for allfunctions especially those functions that are totally fuzzy and no way to remember all data.

    have you tried to transfer testdata in debugging to HR_BLP_READ_TIMEDATA

    http://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/adam.krawczykhttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/lokesh.pattnayakhttp://scn.sap.com/people/lokesh.pattnayakhttp://scn.sap.com/people/siddhartha.rathihttp://scn.sap.com/people/siddhartha.rathihttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/adam.krawczykhttp://scn.sap.com/people/adam.krawczykhttp://scn.sap.com/people/ronaldo.aparecidohttp://scn.sap.com/people/ronaldo.aparecido
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    13

    coming from testing PT_ARQ_TEAMCALE_GET ?

    it sure doesn't work in my system :(

    Olga Dolinskajain response to A. de Smidton page 13

    11-Apr-2010 15:55

    Hi,

    you can transfer content of debugger variales as import parameters for functions.

    It is possible to save debugger variables as test data for the SE37 transaction and then debug

    the function modules with these test data. Use context menu (right mouse button) for your

    variable in the variable fast display and choose Save Parameters as Test Data (SE37), execute

    debugging of your function module in SE37 and choose test data from test data directory (Test

    Data Directory button) as import parameter for your function module.

    Best Regards,

    Olga.

    Klaus Steinbachin response to A. de Smidton page 13

    30-Mar-2010 10:01Hi,

    in the past I created a debugger script to help myself getting data out of the debugger for reproducing errors.

    Perhaps this can help you, therefore I would like to understand exactly what you want to do.

    So far I understand you want to capture the methods parameter. Where do you want to use them?

    Kind Regards,

    Klaus

    A. de Smidtin response to Olga Dolinskajaon page 14

    30-Mar-2010 05:02hmmm there is not much in you're business card like an email..

    I'm trying to debug some portal issues which work nice until the point I get methods or impossible functionswhich I can't isolate and transfer the testdata. normally it was nice if you came inside a function you couldtransfer all the import parameters to the function but not with HR_BLP_READ_TIMEDATA

    further on I haven't found yet with the new debugger how to transfer testdata to methods. seems like logic tome that when SAP wants us to programm OO that we also have the possibilities to debug it and transfer eventhe more complex testdata from methods to testdata ?

    is it already possible to transfer data from debugging to methods ??

    Olga Dolinskajain response to Purvang Zinzuwadiaon page 14

    11-Mar-2010 01:27

    Hi Purvang,

    if a trace file is empty then the trace has not started at all. You maybe need to check some additional things.

    I can give you just some ideas...Before deactivating the trace in the "Start/end measurement..." view, refreshthe work process display because the work process with activated trace may have changed. Consider that

    http://scn.sap.com/people/klaus.steinbachhttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/klaus.steinbachhttp://scn.sap.com/people/klaus.steinbachhttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskaja
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    14

    you need to start and stop the trace for each parallel process, that you want to trace. You will get trace files for

    each process.

    Do you use RFC calls into other systems in your parallel processes? If yes, then you need to check 'RFC,

    Update' as well.

    Regards,

    Olga.

    Purvang Zinzuwadiain response to Olga Dolinskajaon page 14

    10-Mar-2010 06:04

    Hi,

    I have used below setting for trace variant

    Program (Parts) Tab - only 'RFC, Update' is unchecked

    Statements Tab - only Kernel Level is unchecked

    Duration Tab - aggregation is set to none and 'With memory use' is checked

    my DTP use parallel processes to process different data packages, I can see diff actions in SM66 output but Icannot capture these in SE30 file.

    Please help,

    Purvang

    Olga Dolinskajain response to A. de Smidton page 15

    09-Mar-2010 04:11

    Hi,

    unfortunately I cannot share TechEd materials on the SDN. But the good news is, that the most content of the

    CD265 (successor of the comp267 on the TechED 2009) will go to the SDN as weblogs and videos and willfocus on the News in Troubleshooting with NetWeaver 7.0 EhP2. This should happen between april and may.

    To learn about watchpoints and other New Debugger features please take a look at these videos (on the http://www.sdn.sap.com/irj/sdn/abappage):

    New ABAP Debugger for Classic ABAP Debugger Users

    New ABAP Debugger for Newbies

    If you have any other special questions regarding the New Debugger please e-mail me.

    Best Regards,

    Olga.

    Olga Dolinskajain response to Purvang Zinzuwadiaon page 15

    09-Mar-2010 03:51

    Hi Purvang,

    yes, SE30 can trace object-oriented code as well. Please check again your trace variant ("Statements" tab).

    Best regards,

    Olga.

    http://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://www.sdn.sap.com/irj/sdn/abaphttp://www.sdn.sap.com/irj/sdn/abaphttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/purvang.zinzuwadiahttp://scn.sap.com/people/purvang.zinzuwadia
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    15

    A. de Smidtin response to Sebastian Millieson page 19

    08-Mar-2010 23:12

    my own summary was written in dutch for my colleages , I could not find the comp267 as an pdf file which was

    used at the course. perhaps Olga is allowed to also put it online as an extension to this blog.

    ps it would be nice if there also came a follow up on this which handles debugging in se38. like debuggingupdate processes, using watchpoints and where to declare the variables, finding the startpoint etc etc.

    Purvang Zinzuwadia

    08-Mar-2010 14:25

    Hi,

    very nice and helpful blog, I followed this method earlier also reading this blog and it worked fine just as

    explained; but now I want to analyze a long running DTP job and every time, it doesnt display any code lines inoutput file (after clickingevaluate button). I used same settings for trace variant as mentioned. Cant SE30 trace

    object oriented code?

    - Purvang

    rama basa

    03-Mar-2010 05:43

    Gr8 one this..i never knew we could do this with SE30..Thanks :)

    Yes SAP Team

    02-Mar-2010 01:46

    Ever since I discovered this weblog I used it a lot, and sent it to everyone I know.

    Thank you very much for this.

    Best regards.Ayal Telem.

    Ferran Bonamusa Francisco

    27-Feb-2010 12:18

    Thank you for this helpful information.

    Avraham Kahana

    24-Feb-2010 03:22

    Indeed helped me find the source code of my error way faster than I would have done otherwise.

    Priz R

    20-Feb-2010 04:49

    Very useful and well documented.

    Olga Dolinskajain response to Sebastian Millieson page 16

    02-Feb-2010 04:32

    Hi Sebastian,

    Thank you for the feedback.

    http://scn.sap.com/people/priz.rhttp://scn.sap.com/people/ferran.bonamusafranciscohttp://scn.sap.com/people/yes.sapteamhttp://scn.sap.com/people/rama.basahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/priz.rhttp://scn.sap.com/people/priz.rhttp://scn.sap.com/people/avraham.kahanahttp://scn.sap.com/people/avraham.kahanahttp://scn.sap.com/people/ferran.bonamusafranciscohttp://scn.sap.com/people/ferran.bonamusafranciscohttp://scn.sap.com/people/yes.sapteamhttp://scn.sap.com/people/yes.sapteamhttp://scn.sap.com/people/rama.basahttp://scn.sap.com/people/rama.basahttp://scn.sap.com/people/purvang.zinzuwadiahttp://scn.sap.com/people/purvang.zinzuwadiahttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/a.desmidt
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    16

    Just to let you know, we have made some improvements in the new version of Runtime Analysis (successor

    of SE30). The trace files will be written directly to the database, and you shouldn't have a problem with adisk quota for your trace files anymore. This feature will be available within SAP Business Suite based on

    Netweaver 7.0 EHP2.

    I have also forwarded your wish about the "exclude list" to the development.

    Regards,

    Olga.

    Sebastian Milliesin response to Olga Dolinskajaon page 16

    01-Feb-2010 02:39

    thanks, that worked, except I had to talk the administrator of the server to give me a bigger quota. One idea

    for an improvement for the transaction would be the possibility of local measurement files (i. e. residing on theclient, at least up and download should be possible).

    The reason for the big increase in file size was that some processes got started asynchronously and the

    process I was tracing then did active polling in a loop. I'd basically like to skip this part of the trace. I think abig improvement to the transaction would be the possibility of an exclude list in the "particular units" part of the

    variant.

    -- Sebastian

    Joo G Neves

    31-Jan-2010 14:55

    Hello Olga,

    Thank you for this post, one of the most useful I've seen. A great help for any SAP consultant!

    Regards,

    Joo

    Julius von dem Bussche

    31-Jan-2010 14:02

    Thank you Olga!

    I have been for some time now looking for a more efficient way to do forensics on programs from the

    namespace "!". Sometimes I am called upon to do this.

    Often the security audit log is "too late" for successfully submitted reports and I was "too slow" for STAD to giveme these details.

    In addition to the developer trace, I had not thought of using SE30's own results yet.

    Many thanks!Julius

    Olga Dolinskajain response to Sebastian Millieson page 17

    31-Jan-2010 13:43

    Hi Sebastian,

    you could increase your trace file size on the "Duration/Type" tab in your variant. Better way would be to switch

    on/off the trace only where you really need it (/ron and /roff commands).

    http://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/sebastian.millieshttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/julius.vondembusschehttp://scn.sap.com/people/julius.vondembusschehttp://scn.sap.com/people/joog.neveshttp://scn.sap.com/people/joog.neveshttp://scn.sap.com/people/sebastian.millieshttp://scn.sap.com/people/sebastian.millies
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    17

    Regards, Olga.

    Sebastian Milliesin response to Olga Dolinskajaon page 17

    29-Jan-2010 04:15

    thanks, it now works (except I'm often running against a limit on the trace file size). -- Sebastian

    Olga Dolinskajain response to Sebastian Millieson page 1728-Jan-2010 01:40

    Hi Sebastian,

    Are you sure that the report was executed, e.g. have you seen the list at the end? If yes, for me it looks like the

    trace was notswitched on.

    Please make sure that you run your report on the same application server as SE30. If the report runs correctlywithout SE30 and without debugger, please try again to run the measurement with SE30 and explicitly switch

    on/off it by choosing "Particular units" option in your variant and using "/ron" "/roff" commands as described inthe blog.

    Best Regards,

    Olga.

    Sebastian Millies

    27-Jan-2010 05:11

    Hi there,

    thanks for the nice blog. I've run into a problem, though:

    I've created a variant for a report of mine exactly as described. The report is started using a variant. The report,when debugged, makes a couple of PERFORMS and a method call during START-OF-SELECTION. It then

    starts a couple of jobs in the background (which I don't expect to be measured) and displays a list at the end.

    However, the call hierarchy does not reflect any of this. Instead, it contains only one line saying "Runtimeanalysis" for "CL_ABAP_TRACE_SWITCH==========CP". The measurement file has only 5 KB. Any idea

    what might be going wrong?

    -- Sebastian

    Abhinandan Alandkar

    27-Jan-2010 01:30

    Hi Olga,

    This is really magic man. I am happy to know that we could do this using SE30.

    Great Webblog ever..

    Regards

    Abhii

    Sanjay Madhav Lavlekar

    21-Jan-2010 20:59

    This is very good informative article.

    Sanjay

    http://scn.sap.com/people/sanjaymadhav.lavlekarhttp://scn.sap.com/people/sanjaymadhav.lavlekarhttp://scn.sap.com/people/sanjaymadhav.lavlekarhttp://scn.sap.com/people/abhinandan.alandkar2http://scn.sap.com/people/abhinandan.alandkar2http://scn.sap.com/people/sebastian.millieshttp://scn.sap.com/people/sebastian.millieshttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/sebastian.millieshttp://scn.sap.com/people/sebastian.millies
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    18

    Abhijeet Kulkarniin response to Olga Dolinskajaon page 18

    21-Jan-2010 04:20

    Hi Olga,

    I would check the timing of user mapping and try tracing with the suggested settings. Interestingly, ST12

    worked! I had put following setting in ST12-

    Trace For- User

    User name- 000984

    Task Type- H HTTP (HTTP request/BSP)

    Thanks for the guidance.

    -Abhijeet.

    Olga Dolinskajain response to Silvia Giussanion page 18

    21-Jan-2010 04:17

    Hi Silvia,

    the SE30 allows you to examine the runtime of any ABAP programs, such as reports, subroutines, function

    modules or classes, that you create in the ABAP Workbench.

    I am not sure which type of BW applications you want to measure, but actually it should work the same way forBW ABAP applications as described in the blog.

    Best Regards,

    Olga.

    Silvia Giussani

    21-Jan-2010 04:05

    Hi Olga....your instructions on ABAP debug is really good. I would like to use it with BW ABAP code (Start/End

    Routines,etc). How should I use it? Is there any change to apply?

    Thanks in advance for your comments.

    Silvia

    Olga Dolinskajain response to Abhijeet Kulkarnion page 19

    21-Jan-2010 03:32

    Hi Abhijeet,

    your measurement settings look ok so far.

    Please verify that user mapping (on the other user) does not take place during execution of your BSP before

    calling HAP_DOCUMENT. Otherwise schedule measurement for e.g. "any" user. Please also verify that BSPrequest really arrives on the same application server of your ABAP backend system, where you scheduled your

    measurement in the SE30.

    For more details on measurement settings please take a look at the Runtime Analysis Docu on SAP HelpPortal:

    http://help.sap.com/saphelp_NW70EHP1/helpdata/en/42/eaae4baeb732c3e10000000a1553f6/frameset.htm

    I hope this helps...

    http://scn.sap.com/people/silvia.giussanihttp://scn.sap.com/people/olga.dolinskajahttp://help.sap.com/saphelp_NW70EHP1/helpdata/en/42/eaae4baeb732c3e10000000a1553f6/frameset.htmhttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/silvia.giussanihttp://scn.sap.com/people/silvia.giussanihttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/abhijeet.kulkarni3http://scn.sap.com/people/abhijeet.kulkarni3
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    19

    Best regards,

    Olga.

    Sebastian Milliesin response to A. de Smidton page 20

    21-Jan-2010 01:19

    Hello Arthur, I'd be most interested in your summary of COMP267, as a complement to this excellent blog.Where can it be found?

    -- Best Regards, Sebastian

    Ardavan Goharjou

    20-Jan-2010 23:48

    Yesterday did exactly as mentioned in the introduction. Spent many hours debugging a transaction to get to theroot of the problem. I could've saved many hours if I knew of this weblog before. But I now know how to use

    SE30 and it'll be my savior.

    Many thanks for sharing your knowledge.

    I'll also try to learn about ST12 as suggested by another kind soul.

    Abhijeet Kulkarni

    20-Jan-2010 20:52

    Hi Olga,

    It was really useful. While we regularly used to test the t-codes, programs and FMs, we never explored the

    parallel session and user/service options. This would certainly help us reach the root of the problem evenfaster. However, I was unable to trace a BSP application. I gave these settings from user 001671 for another

    user (These were visible as on 21.01.2010)-

    Measur. ID 4

    User 000984

    Sessn Any

    ProcessCat Any

    ObjectType

    Object Name HAP_DOCUMENT

    Scheduled 1

    Started 0

    Errors 0

    Status Executed

    Exp. Date 20.01.2010

    Expir.Time 12:02:42

    After setting this up, I used the BSP application HAP_DOCUMENT. No trace was generated.

    Please suggest the correct settings,or if you know any document that can help. Thanks.

    -Abhijeet.

    Naimesh Kundananiin response to Uthaman Palaniappanon page 22

    http://scn.sap.com/people/naimesh.kundananihttp://scn.sap.com/people/ardavan.goharjou2http://scn.sap.com/people/naimesh.kundananihttp://scn.sap.com/people/naimesh.kundananihttp://scn.sap.com/people/abhijeet.kulkarni3http://scn.sap.com/people/abhijeet.kulkarni3http://scn.sap.com/people/ardavan.goharjou2http://scn.sap.com/people/ardavan.goharjou2http://scn.sap.com/people/sebastian.millieshttp://scn.sap.com/people/sebastian.millies
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    20

    20-Jan-2010 15:13

    Even better, just keep a break-point on Statment "Message" , it'll be seconds before you reach the desiredstatement.

    This is how i teach the functional consultants in our team, cos just /H & they are on their way... while SE30 &

    other tools are best left to developers.

    Regardless, your blog is most enlightening, thank you :)

    Sharon Todd

    20-Jan-2010 14:30

    Very useful for tracing RFC requests of other users. Thank you for an excellent post.

    Leon Steinhardt

    20-Jan-2010 12:14

    Thank you very much; this very useful tutorial link arrived in my email just when I needed it.

    I found one minor error:

    'Search for "message DS017" in the Call Hierarchy list' won't find it. As your picture shows, the code line is

    "Message S017" - not "DS017". Same for all messages: Snnn, Ennn, etc.; the full number from the F1 helpbox never shows in the code.

    Mykola Gorbarov

    20-Jan-2010 06:07

    Great post for complex topic described in easy to read and understandable manner

    S Nin response to Ritesh Mehtaon page 22

    02-Jan-2010 10:24

    Thanks for the blog ,I am a functional person. with your blog reference i have solved my batch job issue.

    Thanks again

    S.N

    Gopi Krishna Abotula

    27-Dec-2009 19:10

    Thanks for the blog

    Dario Jiang

    23-Dec-2009 17:45

    very good and thanks for sharing.

    Raghavendra CK

    23-Dec-2009 00:48

    Hi

    Thank you for all your efforts and time spent on the this.

    KRC

    chetan sakunde

    22-Dec-2009 11:54

    Keep it up.Gr8.

    A. de Smidt

    http://scn.sap.com/people/chetan.sakunde7http://scn.sap.com/people/daixiong.jiang3http://scn.sap.com/people/mr.saihttp://scn.sap.com/people/mr.saihttp://scn.sap.com/people/mr.saihttp://scn.sap.com/people/nareshhttp://scn.sap.com/people/mykola.gorbarovhttp://scn.sap.com/people/sharon.todd2http://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/a.desmidthttp://scn.sap.com/people/chetan.sakunde7http://scn.sap.com/people/chetan.sakunde7http://scn.sap.com/people/raghavendra.chttp://scn.sap.com/people/raghavendra.chttp://scn.sap.com/people/daixiong.jiang3http://scn.sap.com/people/daixiong.jiang3http://scn.sap.com/people/mr.saihttp://scn.sap.com/people/mr.saihttp://scn.sap.com/people/nareshhttp://scn.sap.com/people/nareshhttp://scn.sap.com/people/mykola.gorbarovhttp://scn.sap.com/people/mykola.gorbarovhttp://scn.sap.com/people/leon.steinhardthttp://scn.sap.com/people/leon.steinhardthttp://scn.sap.com/people/sharon.todd2http://scn.sap.com/people/sharon.todd2
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    21

    22-Dec-2009 05:16

    of the course COMP267 given by Boris Gebhardt on debugging at SAP TECHED last year in Berlin.

    still a pitty that this is not a regular training since it already saved me months of cluelessness in debuggingpossibilities.

    I also made a summary of it but now I can link to this blog

    Christian Lechner

    22-Dec-2009 01:31

    Another tool that is very useful togather information about the programflow is the "Single TransactionAnalysis" (ST12)

    This toool has some features that go beyond SE30 e. g. the bottom-up analysis of an ABAP trace that displaysthe hierarchie of the callers in a quite comfortable and inuitive way.

    Manjunadh Lolla

    20-Dec-2009 21:54

    Often many inmportant topics are ignored to be studied in detail. Every ABAPer should fundamentally know

    these. And this blog serves theneed.

    Gaurav Patwari

    20-Dec-2009 21:37

    Its great work, I have also published one article on SE30 but not as this much detail.

    Good job keep it up.

    Benu Mariantony

    20-Dec-2009 21:17

    Excellent Blog.. Would have saved a lot of timeif i know this before...

    Victor Konstantinovich Alehin

    19-Dec-2009 14:35Thanks! I justhave save a few days of my life!

    !

    Chintan P. Contractor

    18-Dec-2009 20:53

    Fantastic Blog with useful info.

    Sergio Ferrari

    16-Dec-2009 05:39

    very useful topic

    Olga Dolinskajain response toBjorn-Henrik Zinkon page 22

    15-Dec-2009 00:54

    Thank you very much! I hope it will help to analyze the behavior of Web Dynpro applications as well.

    Olga Dolinskajain response to Uthaman Palaniappanon page 22

    15-Dec-2009 00:52

    Hi Uth,

    http://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/sergio.ferrari2http://scn.sap.com/people/chintanp.contractorhttp://scn.sap.com/people/victorkonstantinovich.alehinhttp://scn.sap.com/people/benu.mariantonyhttp://scn.sap.com/people/gaurav.patwari8http://scn.sap.com/people/manjunadh.lolla2http://scn.sap.com/people/manjunadh.lolla2http://scn.sap.com/people/manjunadh.lolla2http://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/olga.dolinskajahttp://scn.sap.com/people/sergio.ferrari2http://scn.sap.com/people/sergio.ferrari2http://scn.sap.com/people/chintanp.contractorhttp://scn.sap.com/people/chintanp.contractorhttp://scn.sap.com/people/victorkonstantinovich.alehinhttp://scn.sap.com/people/victorkonstantinovich.alehinhttp://scn.sap.com/people/benu.mariantonyhttp://scn.sap.com/people/benu.mariantonyhttp://scn.sap.com/people/gaurav.patwari8http://scn.sap.com/people/gaurav.patwari8http://scn.sap.com/people/manjunadh.lolla2http://scn.sap.com/people/manjunadh.lolla2http://scn.sap.com/people/christian.lechnerhttp://scn.sap.com/people/christian.lechner
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    22

    in the example with a message you could indeed set a watchpoint on a variable SY-MSGNO and

    debugger would stop as soon as it changes. But it works only if you know that message number

    is stored in the SY-MSGNO. If you dont know it you cannot work with a watchpoint. The ABAP

    Trace makes sense if you are not familiar with the code and variables and need quickly to analyze

    its behavior.

    Best Regards,Olga.

    Uthaman Palaniappan

    14-Dec-2009 19:02

    But I do want to comment that for finding from where the message was issued for SE38, we could still use

    "watch-points", which is equally quicker and cheaper(in terms of effort).

    I appreciate your effort ...

    Bye,

    Uth

    Raja Thangamani

    14-Dec-2009 08:36

    Good one... Keep it up.

    Raja

    Bjorn-Henrik Zinkin response to Bjorn-Henrik Zinkon page 22

    14-Dec-2009 02:42

    Hi again,

    in fact, the blog is fantastic and the most useful blog I have read this year on SCN. It will surely speed up my

    analysis of HTTP/RFC applications.

    /Bjrn-Henrik

    Bjorn-Henrik Zink

    14-Dec-2009 02:38

    Hi,

    thanks for an excellent blog. Very useful information, especially the part on HTTP tracing.

    /Bjrn-Henrik

    Ramakrishna Sirasanagundla

    13-Dec-2009 23:57

    Good one, very helpful...

    Kanakaraj G

    13-Dec-2009 22:03

    Good one, very Help for abaper to analyze the performance issues.

    Gregory Misiorek

    12-Dec-2009 05:35

    very helpful and comprehensive. thank you for sharing.

    http://scn.sap.com/people/kanakaraj.ghttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/gregory.misiorekhttp://scn.sap.com/people/gregory.misiorekhttp://scn.sap.com/people/kanakaraj.ghttp://scn.sap.com/people/kanakaraj.ghttp://scn.sap.com/people/ramakrishna.sirasanagundlahttp://scn.sap.com/people/ramakrishna.sirasanagundlahttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/bjorn-henrik.zinkhttp://scn.sap.com/people/raja.thangamanihttp://scn.sap.com/people/raja.thangamanihttp://scn.sap.com/people/uthaman.palaniappanhttp://scn.sap.com/people/uthaman.palaniappan
  • 5/21/2018 Abap Runtime Analysis Se30 How to Analyze Abap Program Flow

    http:///reader/full/abap-runtime-analysis-se30-how-to-analyze-abap-program-flo

    ABAP Testing and Troubleshooting: ABAP Runtime Analysis (SE30) - How to analyze ABAP program flow

    Generated by Jive on 2014-07-24+02:00

    23

    Ritesh Mehta

    11-Dec-2009 22:40

    Very Nice blog and very much required one. Helps to analyze the performance issues.

    http://scn.sap.com/people/ritesh.mehta3http://scn.sap.com/people/ritesh.mehta3