SAP Career Guide - A beginner’s manual on SAP careers for students and professionals

Wo ich vorher meine Zeit noch mit dem Googeln verschwendet habe... oder mit dem Sichten von Inhaltsverzeichnissen der Tausendseitigen Referenzen des Giganten... mache ich das jetzt so: Ich schaue bei Espresso Tutorials rein. Lese das in überschaubarer Zeit durch - und erledige meine Aufgaben.

A. Stier

Practical Guide to SAP ABAP Part 2: Performance, Enhancements, Transports

This book offers a comprehensive practical guide to SAP ABAP development for ABAP professionals. Part 2 explores program performance, authorizations, error analysis, corrections, and SAP Transport Management along with how to tailor SAP applications. Dive...



  • Preface
  • 1 The requirements and design of a solution
  • 2 The influence of developers on performance
  • 3 Changing and enhancing standard SAP applications
  • 4 Access protection and authorization in SAP
  • 5 Customizing SAP
  • 6 SAP Transport Management System
  • 7 Troubleshooting
  • 8 SAP Service Marketplace
  • 9 Epilogue
  • A   The Author
  • B   Example programs
  • C   Useful SAP transactions
  • D   Useful SAP database tables
  • E   Disclaimer

Weitere Informationen


Thomas Stutenbäumer






2.1 Performance analysis

There are different tools for performance analysis in SAP systems. Examples include:

  • Performance trace with transaction ST05
  • ABAP runtime analysis with transaction SAT
  • Single transaction analysis with transaction ST12

In the following I will explain the first two tools.

2.1.1  Analysis with transaction ST05

Transaction ST05 is probably the best known tool for performance analysis. As an alternative to using the transaction code, you can access the tool via the pull-down menu System • Tools • Performance Trace. This tool allows you to perform different performance analyses:

  • SQL trace: records database access to programs and transactions
  • RFC trace: records access to RFC function modules (remote function call) across several SAP systems
  • Enqueue trace: records object locks
  • Buffer trace: records access to the table buffer
  • HTTP trace: analyzes the data interface between the SAP server and the web application server when using the Web Dynpro technology

The performance analysis allows you to record one or several of these aspects. The detailed explanation below is limited to the SQL trace, that is, the recording of database accesses.

In an additional screen session we use the example program ZCU_ABAP_PERFORMANCE and select the programming technique VIEW. In a program run, 2,295 records are selected for 300 selected business partners (table BUT000) with their contract accounts (table FKKVKP) and their contracts (table EVER).

Before starting the program, use transaction ST05 to access the performance analysis on another screen (see Figure 2.1).


Figure 2.1: Selection screen of transaction ST05 (performance trace)

After selecting the SQL trace, start the performance recording of database accesses for the current user by clicking ABAPII.

No parallel program runs during performance analysis

When using the performance analysis, make sure that no further programs are running on the SAP system under your user name (e.g., background programs), otherwise the analysis will return incorrect results.

Now start program ZCU_ABAP_PERFORMANCE in another session. As soon as the program displays the selected records, change to the session where the SQL trace performance analysis is running. Click ABAPII to stop the performance recording.

Next, start the display of the SQL trace by clicking ABAPII.


Figure 2.2: Selection screen for displaying the SQL trace

On the subsequent screen (see Figure 2.2), you can restrict the selection of the performance trace. On this selection screen, the period of the last performance trace of the user is defaulted. Accept the selection without any changes by clicking ABAPII. The log of the database accesses of the last program run appears.


Figure 2.3: SQL trace of a program run with the programming technique VIEW

The performance log in Figure 2.3 shows that in total, the selection of the records takes 48,038 microseconds (0.000001 seconds). Hence, the program run lasts approximately 0.048 seconds.

On certain lines you can navigate directly to the record source code. Select a line and double-click one of the buttons shown in Figure 2.4. This allows you to get additional information from the trace log.


Figure 2.4: Button strip in SQL trace

The ABAPII button, for example, shows the SELECT statement recorded for the corresponding line (see Figure 2.5).


Figure 2.5: Display of a SELECT statement in the SQL trace

By clicking the ABAPII button, you can display information from the Data Dictionary for the table or view used in the SELECT statement (see Figure 2.6).


Figure 2.6: Dictionary information in the SQL trace

Clicking the buttons on this screen allows you to display further information:

  • ABAPII: index fields of the table or view
  • ABAPII: all selected table fields
  • ABAPII: the tables involved
  • ABAPII: all indexes of tables involved

Clicking the ABAPII button in the SQL trace allows you to display the strategy of the database system for selecting the records: the respective costs and the respective number of lines selected. You can use both values only as a benchmark but not as absolute values.

2.1.2  Runtime analysis with transaction SAT

With transaction SAT, you can perform runtime analysis for any ABAP programs. This transaction is the modern alternative for the “old” transaction SE30.

This ABAP runtime analysis allows a complete check of the program in question. The possibilities go far beyond a simple SQL trace with transaction SE05. To explain the runtime analysis with transaction SAT, we again use program ZCU_ABAP_PERFORMANCE (see Figure 2.7).

On the selection screen for this transaction, in the area In Dialog, select Program and enter the name of the program. No further input is necessary.


Figure 2.7: Selection screen for transaction SAT

Start program ZCU_ABAP_PERFORMANCE by clicking ABAPII. The selection screen for the program appears and here you can enter the necessary input for selection. Then start the program run in the normal way. In this example we use the program variant View with Pre-Selection.

Once the program run is ready, go back to the runtime analysis by clicking ABAPII twice. The program analysis displays the result overview shown in Figure 2.8.


Figure 2.8: Runtime analysis of a program run

On the tab Desktop 1, you can see the time the program needs to process commands in the various program parts and the database accesses required to do so (see Figure 2.9).

The right-hand side of the screen allows you to consider different analysis results simultaneously.


Figure 2.9: Runtime trace results

On the Hit List tab, you can group trace events of the same kind. The times of the grouped trace events are added up. The DB Tables tab shows the database tables used in the program and the times for the access to these tables (see Figure 2.10).


Figure 2.10: Database accesses and their times

The Times tab shows the program commands in detail and the times needed for processing (see Figure 2.11).


Figure 2.11: Times of statements and events

The figures in the runtime analysis also show the database accesses and the program commands of the SAP system programs. They also show database accesses and program statements of SAP system programs. This is the only thing that the developer cannot influence.

As you can see, the runtime analysis with transaction SAT offers significantly more detailed analysis results compared to the performance trace with transaction SE05.

Alle Inhalte. Mehr Informationen. Jetzt entdecken. - Ihre Lernplattform für SAP-Software

  • Zugriff auf alle Lerninhalte1
  • Regelmäßige Neuerscheinungen
  • Intelligenter Suchalgorithmus
  • Innovatives Leseerlebnis
  • Maßgeschneidere Lernpfade
  • Zertifikate & QA-Tests2

Sie haben bereits ein Konto?

1 Sie erhalten Zugriff auf alle Lerninhalte. Online-Trainings, Zertifikate sind NICHT Teil der Flatrate.

2 Weitere Informationen auf Anfrage.