Professional Documents
Culture Documents
Products
Products Industries
Industries Support
Support Training
Training Community
Community Developer
Developer Partner
Partner
About
About
Ask a Question Write a Blog Post Login
Olga Dolinskaja
more by this author
share
0 share tweet share Follow
SAT is the transaction name of the new ABAP Runtime Analysis Tool,
which is one of the most signi cant improvements in ABAP in the
NetWeaver 7.0 EhP2. For those of you who are already familiar with the
transaction SE30, the former ABAP Runtime Analysis Tool, transaction
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 1/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
SAT is the successor of SE30. In SAT, ABAP’s Runtime Analysis has been
reworked by SAP’s R&D department and has been enhanced with
e ective new analysis tools and features.
SAT o ers bene ts such as a modern state-of-the art UI, new analysis
tools, easy navigation between tools and so on. This rst blog of the
series about SAT gives overview of the most useful SAT improvements
(particularly in comparison with the former SE30) and gives a quick
guideline how to use new features and tools of the SAT to execute
e ective runtime analysis of any ABAP application.
These series of blogs about SAT are suitable both for newbies and for
experienced SE30 users. You can nd other blogs from these series
about SAT here:
If you want to see a live demonstration of SAT, take a look at this short
video:
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 2/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
1. Getting started
Starting a trace measurement in SAT is quite similar to SE30. There are no
major changes on the initial screen from SE30 to SAT. A new tab Evaluate has
been added to the screen. On the Evaluate tab you can take a look at trace
measurements results with their status, date of creation, total runtimes and so
on. By default your traces are shown, but you can change this by right-clicking
on the column Trace user and choosing the Set Filter.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 3/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
In the old SE30, internal tables were identified only by their internal names
(IT_<nn>). You will be pleased to discover, that SAT can determine and show
the real names of internal tables for the trace measurement results.
One of the benefits of SAT is a new storage system for traces. SAT stores
traces in the database. That means that you can display a trace from any
application server in the system (in SE30 only traces of the current application
server are visible). You can also keep traces for a longer time (in SE30 traces
older than one week are deleted to save file system space). When you display
a trace measurement result the first time (e.g. by you double clicking it on the
Evaluate tab), it gets formatted and written to the database.
The switch to SAT from SE30 is simple: you can still use trace files that you
created with SE30. The old trace files are moved to the database just like new
SAT traces. Keep in mind, the files will be deleted on the file system and
therefore they are not available in SE30 anymore.
Before you start a measurement just press New button in the Settings area on
the SAT initial screen to create a new variant. You will see the screen with
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 4/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
three tabs, which you already know from the SE30: Duration and type,
Statements, Program Components.
Use variants to get the trace data you need while keeping extraneous data
and storage use to a minimum. Especially for long running trace
measurements it makes sense to restrict your trace measurement as much as
possible in order to not run out of limits of your trace file size.
Here are some practical tips for using variants most efficiently to restrict a
trace:
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 5/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 6/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Your trace is running now. You can stop the trace and return to SAT by
pressing the green arrow Back button. Alternatively you can enter “/roff” (trace
off) command in the OK code field in your transaction or use the menu path:
System -> Utilities -> Runtime Analysis -> Switch Off.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 7/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
The display of the SAT is visually close to the new ABAP debugger. The user
interface consists of the desktops. You can set up each desktop as you wish,
with up to four trace evaluation tools. By default the Desktop 1 presents tools
for analyzing performance and Desktop 2 tools for analyzing program flow.
The old SE30 transaction offered only two main tools, the Hit List and the Call
Hierarchy. SAT offers a rich set of new tools to analyze different aspects of a
trace:
Hit List Tool works the same way as in SE30. It displays a hit list of all
measured statements. Identical events are summarized into one trace
line together with their execution times. But identical events from
different calling positions of source code appear as different entries in
the hit list.
Call Hierarchy Tool works the same way as in SE30. It displays
operations and events as they occur in a program.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 8/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Here is what each tool looks like. Don’t worry – the information on using each
tool follows!
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 9/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
short and transparent Hit List which is easier to understand.If you want
to see how it works, take a look at this blog Next Generation ABAP
Runtime Analysis (SAT) – How to analyze performance
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 10/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
the details of the specific entry. Use the Overall view (funnel button) to
get back to the overall view.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 11/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
5. Comparing traces
In SAT you can compare two compatible traces. You can use the comparison
tools to analyze in detail the behavior of the application you are measuring.
SAT offers two trace comparison tools: Hit List Comparison and Call Hierarchy
Comparison.
To start the trace comparison just mark two compatible traces on the Evaluate
tab and press Compare measurements button. You can not only compare the
traces of different application servers of the system, but also the traces of
completely different systems. This could be useful if for example a program
behaves differently in development and production systems, and you need to
find out the reason. Just select one of the comparison traces on the Evaluate
tab and send it to another system via RFC call by clicking Send Measurement
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 12/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
via RFC button. Alternatively you can download a trace to a file and upload it
on the target system.
To check the e ect of changes to your code, use the Hit List
Comparison. You have optimized a critical portion of your code? You
can check that the improvements work as you expect with the Hit List
Comparison. Trace the old code and then the new code using the same
set of test data. Then check for changes in the runtime in the trace
comparison.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 13/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
This is basically everything you need to know about SAT before starting work
with it. For more information on special usage scenarios of SAT like
performance analysis, program flow analysis or memory consumption analysis
read specialized blogs of these SAT series mentioned in the beginning of this
blog.
There is also a detailed application support (F1 help) for using SAT and its
tools integrated in the SAT transaction. Just take a look at it at your leisure.
Alert Moderator
17 Comments
You must be Logged on to comment or reply to a post.
Ulrich Brenner
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 14/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Hi Ulrich,
Regards,
Olga.
Helpful information…
Former Member
Great work!!!
Regards,
Vinod.
Former Member
Hi Olga,
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 15/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
We are in netweaver 7.1 EhP5, I am not able to see the options you mentioned above.
For example you have a check box under “Data Formatting” to Determine names of
Internal tables.
Kindly advice.
Thanks,
Navneeth K.
Former Member
Hi Olga,
Warm Regards,
Vijay
Hi Vijay,
yes, SAT can be used for WebDynpro applications. Please take a look at
the part 4 (“How to trace HTTP/RFC requests…”) of the blog “SAT – How to
analyze program flow” linked above in this blog. The live step-by-step
demonstration of tracing HTTP requests of a WebDynrpo application is
recorded in the SAT Video linked also in this blog.
Best Regards,
Olga.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 16/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Andy Silvey
Hi Olga,
This is excellent.
Best regards,
Andy.
Former Member
Hi Olga,
Thanks for this article. I was trying to use SAT for parallel processing. My job keeps on
using the dialog work processes once they are available and keeps running these work
processes in back ground. I am facing the issue having a trace on a specific work
process. Once I activate the trace on work process, i wont be knowing by when it will
exactly end the current work process and whether the next job has been allocated to this
work process or not. If I have to use st12 through SM50, it works fine to collect the trace
to measure till the end of the work process even if i wont bother to switch off the trace
before next job kicks in. But through SAT it is never the case, it either wont collect the
trace or it wont show up any thing. Is there a way to collect the trace on time bound.
Former Member
Excellent post!!
I have a question, it is a special security ROLE that my user must be granted before use
completely the SAT transaction?. I activated the measurement over a running process
but after switch off the trace it does not caught any information.
Best regards.
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 17/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Carlos Ron.
Hi Carlos,
you just need your usual developer role. Please make sure, you start and
stop the trace correctly and use the appropriate variant. Try to follow the
steps in the linked video on top of the blog.
Best regards,
Olga.
Former Member
Regards.
Carlos.
Former Member
Hi Olga, this is the best(and only?) SAT material I could find in SCN. Thanks for such an
informative and well organized document.
Earlier I have used the SAT tool, and I was able to use all of its options. Now while I am
trying, I do not find all the options/tabs in the ‘Display Measurement’ after the program
run. I do not find the following tabs:
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 18/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
1. Desktop2
2. Processing Blocks
3. Call Hierarchy
Processing blocks and call hierarchy were a lot helpful. Please find the attachment.
Thanks,
Anish
Smriti Gupta
Hello Olga,
Thanks a ton for your effort in creating this exhaustive blog. I have a question pls. I
want to obtain traces of a night job which runs over a period of 18 hours! Would SQLM
be the best transaction for this ? If a report takes 2 hours to execute, can I get traces
with SAT? could you pls confirm
Thanks
smriti
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 19/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Hi Smriti,
you can turn on SQLM for a long period of time, but it measures only
expensive SQL statements (not the program logic). SQLM is the tool for
performance analysis of SQLs at productive operation. SAT is actually the
tool which also detects the performance problems within ABAP code as well
and you can use it to analyze e.g. the long running programs (like your 2h
running program). Take a look at the “How to analyze performance” blog
linked above.
Regards,
Olga.
Smriti Gupta
Hello Olga,
Thanks a ton for replying. As I am still resolving this issue so your timely reply is a
wonderful support for me:) So if a report runs over 3 to 4 hours, can SAT record the log?
Could you pls confirm? I am rightaway see your blog too.
Many thanks
Smriti
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 20/21
10/21/2018 Next Generation ABAP Runtime Analysis (SAT) Introduction | SAP Blogs
Hi Smriti,
Regards,
Olga.
Trademark Sitemap
Newsletter
https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/ 21/21