Professional Documents
Culture Documents
ABAP Development - s4-p1
ABAP Development - s4-p1
ABAP Development - s4-p1
| 201809.000
PUBLIC
Warning
This document has been generated from the SAP Help Portal and is an incomplete version of the official SAP product
documentation. The information included in custom documentation may not re ect the arrangement of topics in the SAP Help
Portal, and may be missing important aspects and/or correlations to other topics. For this reason, it is not for productive use.
This is custom documentation. For more information, please visit the SAP Help Portal 1
6/18/2019
Target Audience
ABAP developers who are involved in the ABAP core development scenario and want to work with an Eclipse-based IDE.
Validity of Documentation
This documentation belongs to ABAP Development Tools client version 2.96 and refers to the range of functions that have been
shipped as part of the standard delivery for Application Server ABAP 7.53 SP00.
Caution
Consider that debugging of ABAP code in ABAP Development Tools at least requires:
Note
To enable you developing ABAP source code, your ABAP system administrator needs to con gure an ABAP system. For this,
the Con guration Guide for Con guring the ABAP Back-end for ABAP Development Tools is provided.
Visit also the ABAP Development SAP community channels for more information and to interact with other ABAP
developers.
Eclipse Basics
The following information provides you with a selected overview of Eclipse features in order to make your transition working
with ABAP Development Tools (ADT) easier.
This section describes general information about Eclipse that is relevant for ABAP developers working with ADT.
Note
To get more information about Eclipse in general and getting started with ADT, see the Related Information below.
In addition, you can gain more experience with ADT using the Feature Explorer. It provides interactive tours to explore ADT
features directly on the UI. To open it, enter Feature Explorer in the Quick Access input eld beside the toolbar. Then
choose the Views entry as follows:
This is custom documentation. For more information, please visit the SAP Help Portal 2
6/18/2019
What does the Eclipse UI display and where can I found what?
Welcome page that provides further details about working with ADT
This is custom documentation. For more information, please visit the SAP Help Portal 3
6/18/2019
What does the Eclipse UI display and where can I found what?
After creating an ABAP project, you are connected with the back end. You can then open and edit a development object.
A view such as the Project Explorer to re ect the repository as well as, for example, the Outline or Properties to display
object-speci c information
This is custom documentation. For more information, please visit the SAP Help Portal 4
6/18/2019
For more information, see
Tip
You can also move a view or editor outside of the Eclipse application, for example, on a second screen.
In Eclipse, you de ne the behavior of ADT, for example, the ABAP source editors, Project Explorer, debugging, and so on, using
the Preferences pages.
Example
This is custom documentation. For more information, please visit the SAP Help Portal 5
6/18/2019
Example
The lightbulb decorator displays information about input values, such as using, asteriks and so on:
The "i" decorator displays information about possible input features, such as using code completion and so on:
Example for the "i" decorator when using the ABAP Source Search
Related Information
Quick Launch
Basic Tutorials
Eclipse documentation - Current Release
Get Started with the ABAP Development Tools for SAP NetWeaver
Quick Launch
This Quick Launch aims to provide you with the compact knowledge you may need when working with ABAP Development Tools
(ADT) during the introductory or training period.
Getting Started...
To start, create an ABAP project from the New ABAP Project menu path. An ABAP project always represents one
system connection. It acts as an intermediary between an ABAP back-end system and the front-end IDE client. TIP: To be
able to work in multiple ABAP systems in parallel, you only need to create one additional ABAP project.
Browse the contents of an ABAP project in the Project Explorer. The root of an ABAP project contains a list of ABAP
packages that are grouped either under the favorites list (Favorite Packages) or the System Library node. You can nd
the development objects simply by expanding the package node. More on this: Browsing Development Objects in the
Project Explorer
This is custom documentation. For more information, please visit the SAP Help Portal 6
6/18/2019
Add ABAP packages that are relevant for your work to the list of favorites. More on this: Adding or Removing a Favorite
Package
To open a development object, starting from the project tree, double-click the corresponding node in the ABAP project.
More on this: Opening Development Objects
Use Link with Editor to synchronize the project structure in the Project Explorer with the editor. Whenever you
change an object in the editor, this object will be selected in the expanded Project Explorer tree.
Add a new ABAP development object (for example: a new class) to a package by selecting the package and using the
context menu New ABAP Class . More on this: Creating Development Objects
Search for references to your development object using the Where-Used function ( Ctrl + Shift + G ).
Open the Quick Outline in the source editor currently opened using Ctrl + O .
To navigate between editors, click the back or forward arrow key on the toolbar.
To switch between the class, its local types or its ABAP Unit test classes, use the bottom tabs of the class editor.
Insert source code templates using code completion and then Shift + Enter .
Start the ABAP language help with F1 in the source code editor.
Format the complete source code ( Shift + F1 ) or a source code block ( Ctrl + Shift + F1 ) within the editor.
Activate one or multiple development objects using the corresponding icons in the toolbar.
Compare source code objects, even across different ABAP systems, using the Compare with function in the context
menu of the editor or Project Explorer.
This is custom documentation. For more information, please visit the SAP Help Portal 7
6/18/2019
ABAP Unit test results are displayed automatically for you in the ABAP Unit Runner view.
To access the complete reference user guide in the context of standard ABAP development, choose
Help Contents ABAP Development User Guide .
The cheat sheets Help Cheat Sheets... provided will guide you interactively through some essential tasks.
Ctrl + Shift + A Open development object Shift + F1 Format source code (Pretty
Printer)
Ctrl + Shift + N New development object Ctrl + Shift + F1 Format source block
This is custom documentation. For more information, please visit the SAP Help Portal 8
6/18/2019
Basic Tutorials
This topic aims to provide you with the introductory knowledge material that you may need when working with ABAP
Development Tools the rst time.
This cheat sheet demonstrates step by step how to set up your development environment when you start working the
IDE.
This cheat sheet demonstrates how to add new development objects to your ABAP project that you have created in the
previous tutorial.
This cheat sheet shows you how to carry out a global search for any development object in an ABAP system.
The AS ABAP stores the development objects in a repository, which is a part of the system database. For this reason, they are
also called repository objects. When the user activates the development objects, the system generates a corresponding
runtime version of these objects. The runtime objects are also stored in the repository.
ABAP program types such as global classes, interfaces, executable programs, or function groups
Objects that programs can share: database elds, data elements, program messages, and so on.
ABAP packages are used to group development objects into units that belong together semantically. In addition to organizing
the development objects, packages also take care of the link-up of the development objects to the software logistics.
There are two occurrences for the development objects available in the ABAP Repository, namely:
Subobjects (so-called LIMU objects), such as function modules as part of a function group or class methods as part of a
class
This is custom documentation. For more information, please visit the SAP Help Portal 9
6/18/2019
A main development object is uniquely determined by the speci cation of its name and object type whereas for the speci cation
of a subobject the name and type of the main object is required in addition.
In the Eclipse-based IDE, a corresponding ABAP project is required for processing development objects in an AS ABAP.
Related Information
ABAP Type Hierarchy View
Messages and Message Classes
Modularization with Function Modules
List of Development Objects with an Eclipse-based Editor
Source Code Unit
Activation
Status of a Development Object
ABAP Projects
Eclipse-based tools: Tools of this type have been created using Eclipse means and they integrate seamlessly into the
Eclipse environment. They are characterized by the same look and feel and the same navigation setup that is typical of
the Eclipse Workbench. Some striking examples of such native Eclipse tools are the different variants of ABAP Source
Code editors, the integration in Outline, and the Tasks and Problems view.
GUI-based tools: Not all ABAP development tools that are available in the new development environment are integrated
into the native Eclipse environment. Some ABAP tools are made available in the new IDE through the SAP GUI, which is
installed locally together with the Eclipse-based client. GUI-based tools represent, in the broadest sense, the tools and
utilities of the traditional GUI-based ABAP Workbench. Typical examples are Package Builder tools and the utilities for
maintaining text elements for ABAP programs. The particular strength of the integration of these tools is that
navigation to them in SAP GUI for Java is normally seamless. Ask for the de nition of a structure, and the Java GUI is
automatically opened to the Data Dictionary structure editor.
The following gure shows the different statuses, depending on the user action involved:
This is custom documentation. For more information, please visit the SAP Help Portal 10
6/18/2019
Icon/Decorator Meaning
Related Information
ABAP Development Objects
Activation
Displaying Properties of Development Objects
Switching between Inactive and Active Versions of a Source-based Object
The entire source code of a development object can even be divided across several source code units. This is the case, for
example, with global ABAP classes where the different source code units are spread across the respective editor tabs. In this
way, the de nition and implementation part of a class forms a single source code unit and is output under the Global Class tab.
Local de nitions and test classes that belong to the class de ne their own source codes, respectively.
This is custom documentation. For more information, please visit the SAP Help Portal 11
6/18/2019
Another example can be seen in function groups. Each individual include of a function group as well as the function group itself
form precisely one source code unit in each case.
Each individual tab in the class editor represents exactly one source code unit of an ABAP class
Related Information
ABAP Development Objects
Creating ABAP Classes
Renaming Identi ers
Comparing Source Code
You can create, display, test, and administer the following development objects in the ABAP Development Tool for SAP
NetWeaver (ADT):
ABAP function group: Container for grouping and to de ning the interface of function modules with similar or
complementary functionals
ABAP function module: Procedures with interfaces that allow the reuse of functions within other programs
ABAP function group include: Container for grouping other units - for example, subroutines, PAI, PBO modules, local class
declarations, event blocks, etc.
The following chapters inform you about the differences for editing function modules in the Function Builder of the SAP GUI
based Workbench (SE37) and ADT.
The editor generates a synthetic view of a function module. The function module will be displayed as one source code unit. The
content set is displayed as the De nition Part and Implementation Part in the editor, retrieved from the back end.
This is custom documentation. For more information, please visit the SAP Help Portal 12
6/18/2019
Editor that displays the source code of a function module, divided into definition part and implementation part
Related Information
De nition Part
Implementation Part
Creating an ABAP Function Group
Creating an ABAP Function Module
Creating an ABAP Function Group Include
Adding Include Suffixes
De nition Part
The de nition part declares the parameters of a function module. It starts with FUNCTION < func_name > and ends with a
period after the last declaration.
Note
You must de ne a type for each parameter. Otherwise the meaning is not clear.
When you open an existing function module, the system checks if the type of an IMPORTING, EXPORTING, or CHANGING
parameter has been declared in the back end. If this is not the case, the editor automatically assigns the addition TYPE ANY to
the parameter. For table parameters without a type, the editor adds the addition TYPE STANDARD TABLE.
For both untyped parameters, the ##ADT_PARAMETER_UNTYPED pragma is added to the de nition.
When you save, the parameter is kept untyped and unchanged in the back end; that is, the system does not explicitly add TYPE
ANY or TYPE STANDARD in transaction SE37.
Note
Global, untyped parameters are supported with SAP NetWeaver 7.5 SP00. So, 2054349 is obsolete in these releases.
This is custom documentation. For more information, please visit the SAP Help Portal 13
6/18/2019
Example
The following example shows a de nition part that starts with FUNCTION and ends after the last parameter declaration with a
period. You can also see how TYPE ANY has been added to the exporting parameter EX_PARAM_3. The table parameter
TAB_PARAM_2 was not assigned a type and will be changed to TYPE STANDARD TABLE.
FUNCTION MY_FUNCTION_MODULE
IMPORTING
VALUE(IM_PARAM_1) TYPE STRING OPTIONAL
VALUE(IM_PARAM_2) TYPE I DEFAULT 42
IM_PARAM_3 TYPE STRING
EXPORTING
EX_PARAM_1 TYPE REF TO STRING
EX_PARAM_2 TYPE ANY
VALUE(EX_PARAM_3) TYPE ANY
VALUE(EX_PARAM_4) TYPE ANY
CHANGING
CH_PARAM_1 TYPE STRING
VALUE(CH_PARAM_2) LIKE TADIR
TABLES
TAB_PARAM_1 LIKE TAB LINE
TAB_PARAM_2 TYPE STANDARD TABLE
EXCEPTIONS
EXCEPTIONS_1.
Limitations
The ADT source code-based view of a function module is not persisted in the database in the back end. This leads to the
following limitations:
You cannot add or save any comments in the de nition part. They will be lost after activation.
After activation, since the source code is rebuilt from the persisted components in the back end, the pretty printer will
convert the de nition part into upper case letters.
Related Information
Modularization with Function Modules
Implementation Part
Creating an ABAP Function Group
Creating an ABAP Function Module
Adding a De nition Part and Implementation Part to a Function Module
Creating an ABAP Function Group Include
Adding Include Suffixes
Implementation Part
The implementation part of a function module contains the functionality of the function module. It ended with the statement
ENDFUNCTION.
When you open a function module in the editor, there can be empty lines between the de nition part and the implementation
part. The reason for this is that the editor automatically adapts the rst implementation line, so that it is the same line both in
the ADT editor and in the Function Builder of the ABAP Workbench. The position is important for the navigation services, the
syntax check, and the position of error markers.
Example
This is custom documentation. For more information, please visit the SAP Help Portal 14
6/18/2019
Display of the first line of the implementation part in the Function Builder (SE 80)
Display of the first line of the implementation part and the added empty lines in the editor of ADT
Related Information
Modularization with Function Modules
De nition Part
Creating an ABAP Function Group
Creating an ABAP Function Module
Adding a De nition Part and Implementation Part to a Function Module
Creating an ABAP Function Group Include
Adding Include Suffixes
Note
ABAP Doc is supported if your Eclipse-based IDE is connected with SAP NetWeaver 7.4 SP03 or higher.
ABAP Doc comments can be added in ABAP classes, interfaces, or function groups to describe functionality of the code element.
In addition, you can generate ABAP Doc, for example, by:
importing the existing descriptions of global classes and interfaces including their attributes, methods, parameters,
Example
In the following example, the ABAP Doc comments are added one line before the corresponding declarative statements:
"! <p class="shorttext synchronized" lang="en">ABAP class that contains ABAP Doc</p> CLASS
If you show the ABAP Element Info view in the ABAP perspective and select the method name in the source code editor, the
corresponding ABAP Doc comment is displayed:
In the ABAP Element Info view, the ABAP Doc comment of the method_with_variable method is displayed
This is custom documentation. For more information, please visit the SAP Help Portal 16
6/18/2019
To display documentation, ABAP Development Tools (ADT) checks the availability of the respective content:
If an ABAP Doc comment is available, the ABAP Doc comment related to the source code is displayed.
If not, ADT checks whether a description has been saved. If one is available, the description related to the source code is
displayed also.
Note
To prede ne the formatting of ABAP Doc comments, open the General Appearance Colors and Fonts preference page.
From there, expand the ABAP folders and edit the ABAP Docu Font entry.
Related Information
ABAP Element Info View
Editing ABAP Doc Comments
ABAP Doc (ABAP Keyword Documentation)
Comments (ABAP Keyword Documentation)
Displaying Details
In the source code editor, you can open the ABAP Element Info view and the Element Information popup from each element in
the implementation. You can also display details on the usage from the de nition of elements.
In the ABAP Element Info view, you can obtain the following details of a development object after selecting an element such as a
variable, method, its parameters, types, and so on:
De nitions
ABAP documentation
Increase or reduce the font size to maximize or minimize the size of the displayed letters
From the integrated search eld, you can search for usage or navigate between the search results.
the name, parameters, and exceptions of the method in the ABAP source code editor,
the Show in ABAP Element Info View button from the code element information popup, or
Window Show View Other... ABAP Element Info from the menu bar
and press F2 .
Related Information
Displaying Details in the Element Information Popup and the ABAP Element Info View
ABAP Doc Comments
ABAP Packages
An ABAP package is a transportable ABAP repository object that groups development objects of an ABAP system.
This is custom documentation. For more information, please visit the SAP Help Portal 18
6/18/2019
Overview
In ABAP Development Tools (ADT), packages form the basic modules of ABAP projects. They are displayed as ABAP repository
tree in the Project Explorer. Each package node can contain subpackages or development objects as subnodes.
The package hierarchy is represented as a node tree. It represents the technical view of the architecture from an application or
an SAP system.
Example
The following example displays how the hierarchy of an ABAP package might be represented in the Project Explorer:
Note that in your package could be further superpackages and subpackages displayed than in the example above.
Use the functionalities of the ABAP repository trees to adopt the representation of a package to your current needs.
Packages which contain no development objects within their hierarchy are highlighted with the empty package icon in the
Project Explorer.
Types
You can work with the following package types:
Type Description
Structure package A structure package is the root container of a package hierarchy that de nes the basic
architecture of an application.
Note
Structure and main packages cannot contain any development objects except their own
package interfaces and subpackages.
This is custom documentation. For more information, please visit the SAP Help Portal 19
6/18/2019
Type Description
Main package A main package de nes the root container for one or more development packages.
It is used to group functions semantically that share the same system, transport layer, and
customer delivery status.
Note
Main packages cannot contain any further repository objects except its own package
interfaces and subpackages.
Structure and main packages cannot contain any development objects except their own
package interfaces and subpackages.
Development package A development package groups development objects of the same transport layer in a self-
contained unit.
Note
Development packages can contain any number of repository objects, but each one can
only be assigned to one development package.
Features
Packages provide the following features:
De ning the transport behavior of all development objects from each package
Encapsulating and exposing development objects externally. In the integrated SAP GUI, you can de ne package
interfaces or restrict the use of interfaces for users. This means that an object can automatically use objects from the
same package but not from a different package
Note
Development objects of a different package can only be accessed if both packages (server and client packages)
explicitly allow this.
Adding package nodes to your Favorite Packages list within the ABAP repository tree
Components
An SAP product consists of a delivery unit and product unit which consist of a set of single packages. Such a set of functions
forms a software component that represents a view on software logistics. A package or development object is assigned to a
software component through its superpackage or when you assign it manually.
SAP's development objects belong to packages that are assigned to an SAP-internal application component.
Note
Customers cannot adopt SAP-internal packages.
Rule Mechanisms
This is custom documentation. For more information, please visit the SAP Help Portal 20
6/18/2019
The package concept de nes the following rule mechanisms:
Visibility: A package interface is a repository object. You use it to expose development objects that can only be used in a
speci c development package, in order to make them also available in other packages. A server package access to its
visible development objects by adding them to its package interface.
Note
You can create package interfaces from the context menu of the relevant package node using the integrated SAP
GUI.
Dependency control: A client package declares its dependence on other packages whose development objects it uses.
Related Information
ABAP Package Editor
ABAP Projects
ABAP Repository Trees
Adding or Removing a Favorite Package
Changing the ABAP Package Assignment
Working with ABAP Packages
Note
ABAP repository trees and folders are supported since SAP NetWeaver AS for ABAP 7.51 innovation package SP00. In
addition, your ABAP system needs to be connected with a SAP HANA database.
For simpli cation, ABAP repository trees and folders are called trees and folders in this documentation.
Overview
This is custom documentation. For more information, please visit the SAP Help Portal 21
6/18/2019
By default, ABAP Development Tools (ADT) displays the following trees:
Local Objects ($TMP): Contains your local objects – sorted by owner and object type
System Library: Contains all development objects of the whole ABAP system – sorted by ABAP package and object type
Favorite Packages: Contains a prede ned list of ABAP packages – sorted by ABAP package and object type
Note
The Favorite Packages tree is only displayed if you have explicitly added one or more packages when creating your
ABAP project.
Object counters that inform you how many objects are contained in a speci c folder
Note
To hide this information, deselect the Display object counters and Display short description of development objects
checkboxes on the Preferences ABAP Development Project Explorer preferences page.
General Functionalities
You can use existing trees to:
Browse through themselves, for example, to navigate to a development object that you want to open or edit.
Perform mass operations on each folder, for example, ATC checks, ABAP Unit Tests, and so on.
Link the content of trees and folders with the source code editor. Then, the cursor automatically navigates to the
position where the currently opened development object is located in the tree. In this special case, you can also load the
full content if only a limited selection is displayed.
Visualize the apportionment of the containing development objects from a tree in a chart. This enables you to get an
impact, for example, in which year most of the development objects have been created, and so on.
Delete them anytime. Note that no development object is then removed from the repository.
You can adjust these trees or even create new ones from scratch to display favorite content of the ABAP repository in the
Project Explorer. For this reason, you can de ne your own tree structure by con guring the so-called tree levels such as the
creation year, object types, user who created an development object, and so on.
1. For each ABAP project through the con guration wizard from the context menu of the Project Explorer.
3. By deriving from an existing one, for example, through duplicating the relevant tree.
This is custom documentation. For more information, please visit the SAP Help Portal 22
6/18/2019
You can also change its structuring. You can do this, for example, by adding the Creation Year tree level to the Local Objects
($TMP) tree.
You can use the following properties to change the structuring/ ltering of a tree and/or folder:
Name Description
Original Language Original language in which a development object has been created
Related Information
Working with ABAP Repository Trees
Released APIs
A short dump provides a great deal of well-structured information for localizing and understanding a runtime error, including a
textual description of the error and its likely cause, an excerpt showing the location of the error in the source code, tables of
variables and their values, and more.
If a runtime error occurs in a program that you have started from the ABAP Development Tools (ADT), then the ADT alerts you
of the runtime error in a small dialog window. From this dialog, you can navigate to the ABAP Runtime Error viewer or display
the last state of the terminated process in the post-mortem ABAP debugger.
You can subscribe to an ABAP feed of the runtime errors. In the Feed Reader view, two entries for runtime errors are added by
default. These are runtime errors caused by you and runtime errors for objects you are responsible for. You can add new feed
queries and edit feeds by de ning lter conditions for runtime errors.
Related Information
Analyzing ABAP Runtime Errors
Displaying ABAP Runtime Errors
Analyzing ABAP Runtime Errors with Debugger
Selecting ABAP Runtime Errors for a Feed
ABAP Dump Analysis
Short Dump (ABAP Keyword Documentation)
Runtime Error (ABAP Keyword Documentation)
ABAP Perspectives
This is custom documentation. For more information, please visit the SAP Help Portal 23
6/18/2019
Just like any other perspectives in Eclipse, the ABAP perspectives de ne the initial set and layout of tools (views and editors) in
the Eclipse window and in this way provide a set of functions aimed at accomplishing a speci c type of task. In particular, they
work with ABAP development objects that are managed by an ABAP backend system. When using ABAP perspectives, you
always have to establish a system connection that is managed by a corresponding ABAP project. The ABAP perspectives enable
access to both Eclipse-based and GUI-based ABAP development tools.
The ABAP development tools contribute the following perspectives to the Eclipse workbench:
ABAP
This (default) perspective is designed for working with arbitrary ABAP development objects that the user can access by means
of ABAP projects.
It consists of an editor area, where the various (ABAP) source code editors are placed, and the following views:
Project Explorer
Outline
Task Repositories
Task List
Problems
Templates
Project Explorer
ABAP Traces
Related Information
ABAP Projects
The ABAP Trace has been integrated completely into the ABAP Developer Tools (ADT). The Memory Inspector is available to
you via transaction S_MEMORY_INSPECTOR in the integrated SAP GUI in the ADT.
Pro ling helps both in problem analysis and in refactoring and optimization of code:
The ABAP Trace shows you where runtime is being consumed, and where effort for refactoring and optimization can best
be applied. The ABAP Trace also lets you analyze and understand program ow, useful when you are trying to
understand a problem or learn about code you must analyze or maintain.
The Memory Inspector: ABAP applications bene t from the sophisticated memory management of the ABAP application
server. Even so, as long-running ABAP transactions and programs become more commonplace, and more complex
programming models come into use (there is a difference in memory consumption between an ABAP report and a large-
scale object-oriented application), checking for memory leaks and high memory consumption has become more
important. The Memory Inspector lets you compare memory snapshots, so that you can easily nd memory leaks. In
case of a memory-related program failure, it can quickly show you how and where memory is being consumed.
This is custom documentation. For more information, please visit the SAP Help Portal 24
6/18/2019
Related Information
Pro ling ABAP Code
Starting the ABAP Pro ler
Displaying the Trace Overview
Using Analysis Tools
Setting Trace Preferences
Glossary
ABAP Projects
An ABAP project plays a mediating role between an ABAP back-end system and the Eclipse-based IDE, and it provides a
framework for creating, processing, and testing development objects.
provides a user-speci c view of all the ABAP development objects of the back-end system.
The speci cation for an ABAP project contains the following items:
Project name
System data - This includes speci cations of the system ID, client, user, and password.
Default language - ABAP project-speci c preference for prede ning the original language of the development objects
that are created as well as the language of the messages and UI texts.
Note
The default language of an ABAP project cannot be changed.
[Optional:] List of the ABAP packages that are listed as favorites within the project.
ABAP projects form a part of a user-speci c workspace. They thus de ne the starting point for all development activities within
the new IDE. Several ABAP projects are contained in a workspace. This means that the ABAP developer can work on multiple
ABAP systems in one and the same IDE session without having to leave the immediate work environment. This can be very
useful whenever, for example, the status of development objects from the original development system is to be compared with
the status in the consolidation system.
ABAP projects can only be processed if there is an existing system connection (to the ABAP back end). It is therefore not
possible to have read or write access to the content of an ABAP project in offline mode. The connection data for an ABAP
system is stored in the workspace.
The structure of an ABAP project is usually displayed in the Project Explorer. The root of an ABAP project contains a list of ABAP
packages, which are itemized either under the favorites list (as Favorite Packages) or the System Library node.
Depending on whether you have modi ed the existing system connection, the following project variants are created and
displayed in the Project Explorer:
1. If you have used the existing system connection: The project references a system connection in the SAP Logon. A
decorator is then added to the project icon that re ects the connection to the SAP Logon.
2. If you have modi ed the existing system connection: The project is independent from the SAP logon. The project is
added without a decorator .
This is custom documentation. For more information, please visit the SAP Help Portal 25
6/18/2019
Related Information
ABAP Packages
System Library
Creating ABAP Projects
Adding or Removing a Favorite Package
System Library
The System Library creates a structured list of all packages that are contained in a backend system corresponding to the ABAP
project.
In an ABAP project, the System Library creates one of the project nodes directly underneath the root of a project tree.
Favorite Packages
System Library
An alphabetical listing of the top-level packages of a system forms the topmost level of the System Library. Top-level packages
are characterized by the fact that they have no superpackage. Such packages can be root packages (structure packages), which
create their own package hierarchy in each case, as well as HOME packages. Each of these package nodes contains either
subpackages or development objects as subnodes.
The structured listing of system packages enables access to all development objects by continually expanding the tree
structure. This procedure is generally less suitable for searching for objects. The best way to perform an object search is using
CTRL + Shift + A in connection with the activated Link with Editor. When the development object is then found, the
corresponding position within the expanded project tree is displayed.
Related Information
ABAP Projects
Adding or Removing a Favorite Package
ABAP Search
ABAP search describes all functions that are provided for performing a search in an ABAP system in all of the back end you work
with.
ABAP Source Search: Full text search inside the ABAP source code of the entire system.
ABAP Development Object Search: Search for development objects on the basis of the corresponding name.
Note
Alternatively, you can search for a development object using the shortcut Ctrl Shift A.
Development objects that are displayed on the main level of the Project Browser like classes, interfaces,
database tables, message class, and so on.
This is custom documentation. For more information, please visit the SAP Help Portal 26
6/18/2019
Other identi ers like local variables, parameters, macros, and so on.
Note
In addition, Eclipse provides search functions that are not ABAP-speci c, such as the Task Search, and so on. Use the ABAP
search functions to detect ABAP content. The Eclipse le search results may be incomplete.
Related Information
Searching Development Objects
Searching ABAP Source Code
Searching Usages (Where-Used)
Opening Development Objects
Where-Used Function
The where-used function enables you to determine the development objects that use a speci c object, thereby making the
dependencies between the development objects clear.
Related Information
ABAP Search
Searching Usages (Where-Used)
Availability
You can start the where-used function from the following locations:
Project explorer
Outline
Main ABAP development objects, such as function groups or global ABAP classes
Subobjects, such as attributes, messages, function modules as part of a function group, or class methods as part of a
class, and so on
Note
The improvements in the Where-used view like the general and lter functionalities from the toolbar and context menu are
provided for SAP NetWeaver 7.3 EHP1 SP14 and higher as well as Release SAP NetWeaver 7.4 SP08 and higher.
Execution
You can trigger the where-used function in any of the following ways:
This is custom documentation. For more information, please visit the SAP Help Portal 27
6/18/2019
In the context menu, choose the entry Get Where-Used List.
In addition, on the rst level you will also see the number of matches and the objects where a match was found.
Note
The number of related objects is automatically evaluated and displayed. ABAP Development Tools (ADT) displays a question
mark as placeholder for the number of matches for those levels you have not selected thus far. The reason for this is that
evaluating the number of matches is time-consuming. To evaluate and display this number, select Expand Tree from the
context menu of the relevant subtree.
If you hover a nding, a tooltip is displayed that provides you with further information.
In addition, variables with write or read-only access are highlighted with a colored background.
Note
The color settings can be de ned in the Window Preferences General Editors Text Editors Annotations preferences.
This is custom documentation. For more information, please visit the SAP Help Portal 28
6/18/2019
You can limit the search with the following criteria:
Note
Use Ctrl + Space to open the Content Assist in order to consider existing entries.
Package(s): Select the main ABAP package or speci c subpackages in which you want to search.
Object Type(s): Select one or more development object(s), like ABAP classes, ABAP interfaces, and so on, that are
relevant for you.
Responsible User(s): Select one or more users that are involved in your project and might have created or edited the
relevant development object(s).
Code Category: Select one of the following categories to de ne the code area you want to investigate:
Exclude Indirect References: By default, the where-used result also contains indirect usages. Perform a selection in
order to minimize the number of results that relate to components like structures, and so on, or ABAP classes.
Note
When you search for a structure, for example, you will get:
Other indirect usages: drive( speed ). “speed is typed with the searched structure
You can exclude the indirect matches by selecting the Exclude indirect usages checkbox.
ABAP Editors
An ABAP editor enables you to create and edit ABAP repository objects using ABAP Development Tools (ADT) or the ABAP
Workbench.
ABAP Dictionary Editors to develop or edit source-based or form-based ABAP Dictionary objects
Transformation Editor
This is custom documentation. For more information, please visit the SAP Help Portal 29
6/18/2019
The ABAP source code editor corresponds to the ABAP editors in SAP GUI, such as the Program Editor (SE38), Function Builder
(SE37), and the source code-based Class Builder (SE24).
It is based on the Eclipse standard text editor and its functionalities have been broadened for programming ABAP source code.
You can open an editor, for example, by double-clicking a development object from the tree in the Project Explorer or from a
search result list. If no editor is integrated for ADT, the SAP GUI is opened.
Example
The following screenshot provides an overview of the UI elements that might be displayed in an ABAP source code editor:
Related Information
ABAP Code Templates
ABAP Development Objects
Editing ABAP Source Code
Accessing ABAP Keyword Documentation
Comparing Source Code
Keyboard Shortcuts for ABAP Development
This is custom documentation. For more information, please visit the SAP Help Portal 30
6/18/2019
List of Development Objects with an Eclipse-based Editor
Code templates help the developer to reduce the time spent on routine editing activities and improve consistency when writing
code. They allow for quick generation of commonly used ABAP code, as well as easy customization. ABAP code templates go
beyond the functionality of simple code snippets. They include direct integration with code completion, the ability to use
prede ned and custom variables, and the ability to improve style uniformity and validity of ABAP code. When using code
snippets, you basically get a shell that you can insert and edit manually.
ABAP Development Tools provides a number of prede ned code templates for ABAP. In addition, you can create your own
templates or edit existing ones. You can view, edit, or create new ABAP code templates using the ABAP Development Source
Code Editor Templates preferences page.
Inserted code in the ABAP Source Editor when using the loopAtAssign template
Related Information
Working with Source Code Templates
Templates and Variables
This is custom documentation. For more information, please visit the SAP Help Portal 31
6/18/2019
Variable Description
cursor Speci es the cursor position after leaving template edit mode.
Variable Description
enclosing_package Equates to the package, which the development object belongs to.
user Equates to the name of the user that is currently logged in the
ABAP system.
Related Information
ABAP Code Templates
Overview Subtap
The editor is a multi-page editor. It displays the following information in the Overview editor tab by default:
This is custom documentation. For more information, please visit the SAP Help Portal 32
6/18/2019
1. The Toolbar contains actions, such as checking the package for all objects, opening packages in another ABAP project,
and sharing ADT links.
2. General Data displays the application component and the responsible system user.
Note
To edit the description or to display further general data, open the Properties view.
The package breadcrumb and application component are only provided if your ABAP system is connected with an SAP
HANA database.
3. Package Properties display package-relating information, such as a possible superpackage or package type.
4. Transport Properties contains transport-related information, such as transport layer, software component.
Use Accesses
This editor tab displays the package interface(s) that are used for the selected package, nested within the package hierarchy, or
visible in the selected package. Here you will also nd details about the severity for each package interface.
This is custom documentation. For more information, please visit the SAP Help Portal 33
6/18/2019
Example of an Use Accesses editor tab where the used package interfaces are listed
From the toolbar in the editor tab, you can add package interfaces at the beginning or end of the list. In addition, you can delete
entries from the list.
For each package interface, you can de ne the following severity values for the package check:
No Response
Error
Warning
Information
Obsolete
If you use the same package interfaces several times within the package hierarchy, the one with the supremely severity will then
be considered.
Package Interfaces
This editor tab displays all package interfaces which have been created for the selected package.
Note
You can only create new package interfaces from the context menu in the Project Explorer.
This is custom documentation. For more information, please visit the SAP Help Portal 34
6/18/2019
Subpackages
This editor tab lists all subpackages that are added beneath the main packages.
Note
To create a new subpackage, choose New from the context menu of the relevant node in the Project Explorer.
To display the Package Hierarchy, check the node structure in the Project Explorer.
Related Information
ABAP Packages
The Package Builder and the ABAP Package Concept
Transport Layer
The following table provides you an overview of the objects, which can be edited in ADT.
Table types
This is custom documentation. For more information, please visit the SAP Help Portal 35
6/18/2019
Views
Search helps
Source-based editors
The following source-based editors are provided in ADT:
The programming language of the source code is similar to the DDL of ABAP CDS, where metadata is de ned using annotations
and technical properties (for example, elds or components) are de ned in SQL. The source code is generated when it is read
from the database. When you save or activate a structure or a database table, the source code is converted to the existing
persistence. The source code represents the metadata of the database table, but it is not a transport object itself.
Underneath the editor saves the de nition in ABAP Dictionary. This means that any individual formatting of the source code is
overwritten after saving.
The enhancement marker in the ruler before the define statement informs you that customizing includes or append
structures are included. Hover the marker, to open a popup that displays the enhancements. To navigate to an enhancement,
select the linked object name in the popup.
Database tables are persisted as metadata and represented as source code in the source-based editor. A database table
consists of its name and elds. One or more elds build the table key, which is mandatory. Database Table Annotations are used
to provide additional information for the entire table and individual elds.
Note
To edit technical settings (data class, size category, buffering, and storage type) or to create/edit indexes, open the
integrated SAP GUI.
Form-based editors
The following form-based editors are provided in ADT:
Related Information
ABAP Source Code Editor
Syntax of ABAP Dictionary Objects
Working with Classic Objects in ABAP Dictionary
About the ABAP CDS Development User Guide
Working with Lock Objects
As in the ABAP source code editor, you can add code snippets with speci c syntax like a development object, annotation, or
component at the current cursor position in the ABAP Dictionary editor. After adding, you need to adapt the placeholders with
variables, elements, lengths, decimals, and so on.
You can add code templates, for example, through code completion (Ctrl Space).
And so on
Note
For further details about the variables used in the corresponding code templates, see Related Information.
Related Information
Templates and Variables
ABAP Code Templates
Messages
This is custom documentation. For more information, please visit the SAP Help Portal 37
6/18/2019
Messages notify a user about unexpected behavior, an error, a status, or a result of an action. An application will display the
message at runtime – for example, in a dialog box or in the status bar.
A message is speci ed by a unique 3-digit message number, a single-digit language key, text information, and a message class.
Display of a message in a dialog window. The long text can be opened by clicking the question mark button
Message Classes
Message classes are created within an ABAP project at the ABAP package level. They are used to group messages within a
development object. So, you can combine related messages and reuse them in other programs. After creating a message class,
you add the individual message(s).
Example
The message with the number 045 contains the placeholder for a parameter. The placeholder "&" stands for the value of the
parameter "carrid". In ABAP programs, messages are called using the MESSAGE statement.
This example of MESSAGE statement MESSAGE i045(SABAP_DOCU) WITH carrid contains the following elements:
Related Information
Message Types
Creating a Message Class
Adding a Message to a Message Class
Adding a Long Text to a Message
Filtering Messages in Message Classes
Previewing a Message Long Text
Opening a Message from the Source Code in the Message Class Editor
Opening in Another System
Sharing Links of Selected Messages
Searching the Usage (Where-used) of a Message
Message Types
A message type determines how program execution is handled after the message has been raised.
I Information Once the user has con rmed the Dialog box
message, the program
continues immediately after the
MESSAGE statement.
S Status The program continues normally Status line of the next screen
after the MESSAGE statement.
This is custom documentation. For more information, please visit the SAP Help Portal 39
6/18/2019
Related Information
Creating a Message Class
Adding a Message to a Message Class
Adding a Long Text to a Message
Filtering Messages in Message Classes
Previewing a Message Long Text
Opening a Message from the Source Code in the Message Class Editor
Opening in Another System
Sharing Links of Selected Messages
Searching the Usage (Where-used) of a Message
Transformation Editor
The kernel of the SAP Netweaver Application Server contains processors for transformations for XML.
The development objects created there are called simple transformations (ST) and XSL transformations. They are, stored in
the Repository, and linked to the Transport Organizer. ST is an SAP programming language used for describing transformations
between ABAP data and XML formats. XSL transformations transform XML to XML.
The Transformation Editor is a tool for de ning transformations for XML that are later executed on the application server. They
are displayed and edited in XML format. As of SAP NetWeaver 7.5 SP00, you can, for example, create and edit transformations
in their own source-based XML editor.
Edit source code, for example, to map structures or data elements onto XML documents
Test transformations
Create breakpoints for debugging simple transformations (enabled for at least 747 kernel version)
Related Information
Working with Transformations for XML
Transformation for XML (ABAP Keyword Documentation)
Transformation Editor
RND Parser
This is custom documentation. For more information, please visit the SAP Help Portal 40
6/18/2019
Recursive Non-Descent (RND) parsing is used for obtaining a descriptively speci ed parser for the programming language
ABAP.
In the context of ABAP source code development, the RND parser is used for syntax coloring and code completion. To this end,
the de nition of the ABAP language is loaded from the ABAP back end.
To de ne the RND parser, open the context menu from an ABAP project and choose Properties. From the Properties page,
navigate to the ABAP Development Editors Source Code Editors RND Parser properties page.
Option Description
Open folder This button is used by kernel developers who want to replace the existing .pad le
directly. After you have restarted the client, the syntax coloring of all opened editors is
performed.
Note
A restart itself is not required.
Reload from backend This button is used whenever new ABAP language features are available, such as ABAP
keywords and so on, or if the syntax coloring has changed. In this case, you need to reload
the con guration from the back end.
Reload from client This button is only used in the context of kernel development.
In the case of classes, it lists the superclass(es) and subclasses of a given class that are located in the relevant ABAP backend
system (which is associated with the chosen ABAP project).
Related Information
Viewing the ABAP Type Hierarchy
Activation
A development object (repository object) can exist as an inactive and an active version. When you create a new development
object, it is always available rst as an inactive version.
In its inactive form, the development object is saved as a database object and is thus part of the ABAP Repository of a system.
With the activation process you create an active version of a development object, thus also a corresponding runtime object,
from an existing inactive version. Successful activation requires that the development object in question is free of syntax errors.
Hence, when you trigger an activation process, a syntax check is performed for the entire development object before a runtime
object is generated. An active version of development object is therefore always used for generating a runtime object.
This is custom documentation. For more information, please visit the SAP Help Portal 41
6/18/2019
disturbing the wider development environment.
The main advantage of this is that the development process becomes seamless. For example, it makes it possible for you to
change the interface of a function module without the changes immediately becoming visible in programs that call it. The
changes are only visible system-wide once the development object has been activated.
All inactive objects that belong to an ABAP project are listed in the Worklist of Inactive Objects. This worklist allows you to
create a selection of objects you wish to activate in one single step.
The activation status of development objects affects the following operations and activities:
Operation Description
Activate Creates an active version from the existing inactive version. The
active version is used to generate the runtime version of the
development object.
Run / Execute Executes the runtime object (active version). A runtime object can
only be generated from a syntactically correct active version.
Transport Releasing of transport requests is only used for active objects. You
cannot release a transport request until all objects included have
been activated.
Related Information
Activating Development Objects
In unit testing, a developer ensures that the correct behavior of the smallest testable units – such as the methods of classes –
of his or her code is veri able. Unit testing makes it easier to verify quality, to refactor code, to perform regression testing, and
to write tests according to the test-driven development model.
The most important features for writing ABAP unit tests are the following:
ABAP Unit tests are written in ABAP. You do not have to learn an additional scripting language for testing.
This is custom documentation. For more information, please visit the SAP Help Portal 42
6/18/2019
You write tests with the standard ABAP Development Tools (ADT). You do not have to use additional tools for developing
tests.
ABAP Unit tests are transported with the ABAP repository objects that they test. They are therefore available in all of
the systems of your development and testing landscape.
The most important features of ABAP Unit for running and evaluating unit tests are these:
You can run ABAP Unit tests as you develop code. You can launch tests, for example, directly from the ABAP editor in the
ADT.
Code coverage measurement is integrated into ABAP Unit testing, so that you can verify the thoroughness of your unit
testing and easily nd untested code.
ABAP Unit testing can be automated and is part of mass quality testing.
Test results are displayed in the ABAP Unit view for easy evaluation and analysis.
ABAP Unit test methods have no parameters. No special knowledge or test framework is required to run ABAP tests;
they can be run by anyone, and not just by the developer.
Related Information
Writing ABAP Unit Tests
Launching ABAP Unit Tests
Evaluating ABAP Unit Test Results
Checking Quality of ABAP Code with ATC
Using the ATC, you can check your ABAP programs for many types of problems, including syntax errors, potential problems in
performance, sub-optimal or potentially faulty programming, adherence to standards, errors in ABAP Unit testing, and many
others.
Here are the main features of the ATC for developers working in the ABAP Development Tools (ADT):
Local quality check of your ABAP programs directly in your development environment, starting from Project Explorer or
the ABAP source editor
Display of ATC ndings, nding-speci c details, and help directly in the ATC Problems view
Noti cation of high-priority ATC ndings from central ATC quality checks through an ABAP feed
Display of complete central ATC results originating from mass regression check runs in your quality system in a speci c
ATC Result Browser view in ADT
In the ADT, you can use the ATC to check your programs as you work, directly from the Project Explorer or the ABAP Editor. In
this case, the ndings are for your own use.
This is custom documentation. For more information, please visit the SAP Help Portal 43
6/18/2019
Your quality manager can use the ATC to run central "official" quality checks, usually in your integration or consolidation system.
You can see your priority 1 and 2 ATC ndings from the active central ATC runs with an ABAP feed.
You usually need to clear central ATC ndings by correcting your program with the ADT in your development system, and then
transporting the changes to the integration and consolidation systems, or wherever central ATC testing takes place. Should you
not be able to clear an "official" ATC nding, you can request an ATC exemption that has to be approved by the quality manager.
An exemption suppresses an ATC nding either temporarily or permanently.
The ATC Result Browser is provided in ADT for requesting exemptions and for working with the complete set of ATC ndings in
central ATC runs. Quality managers can set up the ATC so that ndings from central runs are replicated to development
systems. The ATC can also be set up to let you request central exemptions from the ATC Result Browser in your development
system.
Related Information
Checking Quality of ABAP Code with ATC
ABAP Testing and Analysis Community
When ABAP encounters an active breakpoint, ABAP Development Tools (ADT) opens the Debug perspective in the IDE.
Depending on how you have adjusted the IDE, the Debug perspective may automatically start, or you may be asked to con rm
the start.
This section gives you a quick orientation to the Debug perspective, so that you know what you are seeing.
The navigation toolbar on top of the Debug perspective lets you control execution in the debugger, stepping through
your code, resuming or canceling execution.
The Debug view also shows you the active call stack. You can click on entries in the call stack to open the code at that
level of the stack. You can then inspect active variables, set breakpoints, or edit your code.
This is custom documentation. For more information, please visit the SAP Help Portal 44
6/18/2019
A double-click on a variable in the source code editor shows you the value and attributes of the variable in the Variables
view.
In the Breakpoints view, you can see the list of active and inactive breakpoints.
Double-click on a breakpoint to jump to its locations in the source code. Mark or unmark a breakpoint to activate or
deactivate it. Any such changes are effective immediately in the current debugging session.
The editor displays the code that you are debugging. You can follow debugger execution in the code, show the values of
variables by hovering with the cursor over them, or open them in the Variables view by clicking on them.
You can correct mistakes in your coding directly in the editor; there's no need to switch to the ABAP perspective to edit
your code.
Tip
SAP recommends to restart the debug session after activating changes in the currently executed code. To do so,
terminate or disconnect the debugger and then restart your program.
The ABAP Internal Table view opens at the bottom of the Debug perspective. Double-clicking on an internal table opens
the table not only in the Variables view but also in the ABAP Internal Table view. You can type an internal table name
directly into the view or nd a table in the code that you are debugging.
The ABAP Internal Table view offers you some of the same comfort as the Internal Tables tool of the ABAP Debugger in
SAP GUI. Here and there, you can see and change the content of the internal table, re-arrange table columns for better
display using drag-and-drop, and so on.
Related Information
Comparing ABAP Debugging in SAP GUI and ABAP Development Tools
Watchpoints
Breakpoints in the Debugger - Characteristics
Debugging ABAP Code
These breakpoint attributes mean that you can use breakpoints to debug your ABAP code when you start a program and run it
interactively.
You can also use breakpoints to capture in the debugger a program that has been started asynchronously and without your
direct action. You do not necessarily have to run your code interactively from the ADT to debug it. A program that you want to
capture in the debugger does not even have to be started from your current computer.
For example, you can set a breakpoint in the IDE in ABAP code that handles an HTTP or RFC request. If you send an HTTP
request from an Internet browser to the back end system, then the IDE will open the code in the debugger when the request
processing reaches your breakpoint. It is best to have the code with the breakpoint open in the IDE editor. But the breakpoint is
respected even if you do not have the program with the breakpoint open in the editor.
You can of course also start an ABAP program to debug interactively from the IDE. Even if you run an ABAP PROGRAM that
executes in the embedded SAP GUI, the IDE Debug perspective opens when your breakpoint is reached.
You can also set dynamic breakpoints. These are breakpoints that are triggered when the program that you are running reaches
a particular ABAP statement or exception class.
Dynamic breakpoints take effect for any program that runs under your user. But you can limit their scope to the scope of the
debugger debugger in order to avoid stopping at all different kind of programs that are executed along the way.
Related Information
Debugging ABAP Code
Setting and Managing Breakpoints
Comparing ABAP Debugging in SAP GUI and ABAP Development Tools
Watchpoints
A watchpoint is a conditional breakpoint that is only de ned in the ABAP Debugger during a running debug session. It is one of
the runtime utilities provided to stop and debug ABAP programs. When debugging ABAP code, you can use watchpoints to track
the value of individual ABAP variables. The ABAP debugger stops as soon as the value of a watched variable has changed.
Watchpoints help ABAP developers monitor the contents of speci ed variables and the change of their values during runtime
processing.
Watchpoints can be created while ABAP Debugger is on and are removed automatically when that debug session is
terminated.
Logical conditions may be speci ed for watchpoints. A watchpoint is provided with a relational operator and comparison
eld to specify the conditions for interrupting.
Once a watchpoint is reached, it is indicated on the program statement and a corresponding alert is given.
Note
This is custom documentation. For more information, please visit the SAP Help Portal 46
6/18/2019
Because a watchpoint creates a clone of the speci ed object, it can negatively impact performance and memory, especially
with large size data objects like internal tables. Watchpoints are ideal for variables of less size that are active during runtime,
but only for a short duration.
Related Information
Using Watchpoints
Conditions for Watchpoints
The non-exclusive debugging mode that is known from the SAP GUI debugger is also available for the ADT debugger (for NW
7.68 / SAP NetWeaver AS for ABAP 7.51 innovation package or higher).
Tip
To check the maximum number of exclusive debug sessions that can be used in parallel in your ABAP system, call transaction
RZ11 and check pro le parameter rdisp/wpdbug_max_no. By default, the value for this should be half the number of
dialog work processes: (max(1, $(rdisp/wp_no_dia)/2)).
Remember
Once the limit is reached, older versions of ADT are not able to start new debug sessions at all. The current version of the
ADT can provide non-exclusive debug sessions in this kind of scenario however. Since non-exclusive debug sessions do not
require an exclusive server work process, their number is theoretically unlimited.
In non-exclusive debug mode, the system requests a roll-in/roll-out in the application after each debugger interaction.
Therefore, every debug step performs an implicit database commit. Due to the implicit database commit, you must consider the
following effects when debugging in non-exclusive mode:
Since implicit commits are changing operations caused by the debugger, only users with debug-change-authorization can
use the non-exclusive debug mode.
Datasets that are usually committed together might be committed in separate steps. This can cause data
inconsistencies at database level. Rollbacks have no effect because intermediate results have already been committed
by previous stepping.
Note
For this reason, the non-exclusive mode is not enabled in productive systems. If you experience non-exclusive debug
mode in such systems, ABAP server you are using might be con gured incorrectly.
It is not possible to step through SELECT and ENDSELECT loops because the database cursor needs to be closed when
using an implicit database COMMIT statement. In cases like this, program execution is terminated by a
DBIF_RSQL_INVALID_CURSOR short dump.
It is not possible to debug Open Cursor or Fetch commands, since the cursor is closed after implicit database
commit.
This is custom documentation. For more information, please visit the SAP Help Portal 47
6/18/2019
When you start to debug in ADT, and your session is non-exclusive, you will receive a noti cation in the form of a yer (see gure
below). You can ignore this noti cation however, and just continue working. The yer will disappear automatically after a few
seconds.
In addition, the description text <Non-exclusive mode: each step results in DB commit> is displayed for the corresponding
debug session in the Debug view.
Text that informs you about the non-exclusive debug mode in the Debug view
The ABAP debugger in ADT automatically tries to re-allocate an exclusive debugging session after every single debugging action
(such as after a single step). If this attempt is successful, the information text above is no longer displayed.
You will be informed through a noti cation yer in some other situations in the context of non-exclusive debug mode (and in the
case of missing debug authorization):
Non-exclusive debug mode without debugging change privilege for the current user
This is custom documentation. For more information, please visit the SAP Help Portal 48
6/18/2019
But the ABAP Debugger in the ADT does not implement all of the tools that are available in the ABAP Debugger in the ABAP
back end system. This section compares the feature sets of the debuggers and highlights the special purposes for which you
may want to switch from ABAP debugging in the ADT to ABAP debugging directly in the back end ABAP System.
Use Case ABAP Debugger in ABAP Development ABAP Debugger in Back End System
Tools
Activating layer-based debugging Use the new ABAP debugger in the back
end system to de ne software layers and
activate layer-based debugging. ADT Step
Filters can be used only with Java coding.
This is custom documentation. For more information, please visit the SAP Help Portal 49
6/18/2019
Use Case ABAP Debugger in ABAP Development ABAP Debugger in Back End System
Tools
Comparing data objects Use the diff tool in the back end
debugger if you need to compare the values
of complex data objects.
Analyzing memory use Use the new ABAP debugger in the back
end system if you need to examine the
memory use of objects in the debugger.
Data Preview
Data Preview is a tool in the ABAP Development Tools, similar to the Data Browser tool (SE16) in the ABAP Workbench.
It retrieves, sorts, and lters records available in the ABAP Data Dictionary tables, Views, external Views, and ABAP DDL
sources. Data Preview constructs and executes ABAP SQL queries to perform the operations listed below:
Provide a result-set size in the Data Preview tool, which represents the records that the tool can retrieve from ABAP
Dictionary. The default value is 100 and the maximum value is 5000.
Set lter criteria. You can set lter criteria for multiple columns.
Set local lters to view speci c data. Local lters lter the data from the result-set fetched from the ABAP Dictionary.
View Data preview logs. These logs display SQL queries generated while working with several options in data preview
tool.
Set Distinct Value option for a column. This option allows you to view unique values in tabular format.
This is custom documentation. For more information, please visit the SAP Help Portal 50
6/18/2019
Related Information
Saving Result Set
Viewing Distinct Column Values
Viewing Logs
Adding or Removing Filters
Con guring Columns
Setting Result-Set Size
Accessing Data Preview
When the logpoint is reached during program execution, the logpoint is evaluated. The logpoint evaluation rst checks the
condition. If the condition is ful lled, a log entry is written according to the speci ed logpoint parameters.
You can de ne logpoints by writing the LOG-POINT statement in an ABAP program (static logpoint) or by setting a dynamic
logpoint at a certain location in the source code, without having to modify your source code.
Dynamic logpoints have been introduced in order to support logging in quality or productive systems where the source code
cannot be changed. For example, you have found a location in the source code for which you need additional monitoring details,
or you may be facing a poorly localizable error situation that happens from time to time in a batch job and cannot be debugged.
To analyze execution of an individual ABAP SQL statement that you found in SQL Monitor in the context where a certain
condition is ful lled.
To view the call stack for a speci c ABAP program line where a certain condition is ful lled.
To activate SQL tracing for an individual ABAP SQL statement in order to be able to analyze performance issues in detail.
To activate table buffer tracing for memory consumption analysis at a dedicated ABAP SQL statement.
Related Information
Using Dynamic Logpoints
Processing Logpoints at Runtime
The key de nition and the eld values in dynamic logpoints are quite similar to the SUBKEY and FIELDS addition of the LOG-
POINT ABAP statement (static logpoints). When an active dynamic logpoint has been set at a certain ABAP source code
position, the ABAP runtime evaluates the logpoint whenever the source line is processed. Logpoint evaluation always takes
place before execution of the rst ABAP statement in that line.
During evaluation of a logpoint, the ABAP runtime rst evaluates the logpoint condition. If the condition is not ful lled (value =
false), the ABAP runtime skips further evaluation of the logpoint and continues to execute the ABAP statement. If the logpoint
condition is true, then - as a log event - a log entry is written.
Much like with static logpoints, log entries are aggregated by the values found for the key de nition.
For example, if the key de nition contains the variable SY-UNAME, there will be only one log entry for each user as a result,
regardless of how often the individual user requests ran through the logpoint’s source code location.
Aggregated log entries contain a counter, which represents the overall number of log events for the particular logpoint.
During a log event, the content of the variables speci ed for eld values are logged. Aggregated log entries always contain the
variable content of the last log event.
Related Information
Dynamic Logpoints in ABAP
Note
Only the source code plug-ins are covered here. Other enhancement technologies like BAdIs, class enhancements, or
function group enhancements are currently not supported in ADT.
In ABAP Development Tools, the enhancement implementations are displayed in the Project Explorer. Enhancement
implementations of the source code plug-in technology can be edited in ADT since AS ABAP 7.53. In earlier releases, the source
code plug-ins can be opened in the SAP GUI.
In SAP NetWeaver 7.4 SP5 as well as SAP NetWeaver 7.3 EHP1 SP11 or higher, the following ABAP repository objects and
subobjects can be displayed in ADT:
This is custom documentation. For more information, please visit the SAP Help Portal 52
6/18/2019
Classes
Class includes
Programs
Includes
Function modules
Type groups
If the source code is enhanced, this is indicated by the source code plug-in marker . The source code plug-ins are not directly
displayed in the original source code.
Implicit enhancement options(for example at the beginning or the end of a method implementation)
Related Information
Displaying Source Code Plug-ins
Editing Source Code Plug-Ins
Once you have subscribed to a feed, the ABAP Developer Tools refresh the feed periodically. You can change the default refresh
interval when you subscribe to the feed.
Feeds are updated automatically only if you have opened an ABAP project. Otherwise, the feeds are dormant. Dormant feeds
are shown in gray type in the Feed Reader view.
In addition, you can also subscribe to any native feed that is published in Atom or RSS format. In this case however, you only
have to specify the URL that you get from the feed provider.
Related Information
Getting Feeds
Outline View
The Outline view displays the internal structure of an ABAP class, interface, or program that is currently opened in the ABAP
source code editor.
In a tree, structuring elements like attributes, data types, methods, and so on are displayed in the order of their occurrence in
the open source code-based development object.
This is custom documentation. For more information, please visit the SAP Help Portal 53
6/18/2019
When you select one of the structural elements, the cursor navigates to its relevant source code position. In addition, you can
also lter the display in order to hide:
All members that are not methods, such as attributes, data types, and events
Related Information
Tools for ABAP Development
Advantages of Using the Outline View
Icons in the Outline View
Viewing the Outline
Using Quick Views
This is custom documentation. For more information, please visit the SAP Help Portal 54
6/18/2019
Viewing the ABAP Type Hierarchy
Getting Orientation in the Source Code Using Breadcrumbs
Particularly for development objects with a more complex structure, the outline provides a good overview of the internal
object structure. Here, you can also avail of the lter functions with which you can display or hide certain elements in
order to achieve a better overview.
The outline is synchronized with the contents of the source editor. Therefore, when you select an element in the Outline
view, you can navigate quickly to the corresponding position in the ABAP source code.
Note
The outline is synchronized with the contents of the editor, even if the latter are not yet saved. If you add a new
attribute in the class editor, for example, it is immediately shown in the Outline view (without the editor contents
having been saved beforehand).
Related Information
Tools for ABAP Development
Icons in the Outline View
Viewing the Outline
Using Quick Views
Viewing the ABAP Type Hierarchy
Getting Orientation in the Source Code Using Breadcrumbs
Main Icons
Icon Description
ABAP class
ABAP interface
Method (public)
Method (protected)
Method (private)
Attribute (public)
Attribute (protected)
Attribute (private)
Type (public)
This is custom documentation. For more information, please visit the SAP Help Portal 55
6/18/2019
Icon Description
Type (protected)
Type (private)
Event (public)
Event (protected)
Event (private)
Friend
ABAP program
ABAP include
Subroutine
Global variable
Type
Macro
Function group
Function module
Type group
Decorators
Decorator Description
Static member
Final member
Abstract member
Rede nition
Read-only
Constant
Constructor
Receiving event
Sending event
Related Information
This is custom documentation. For more information, please visit the SAP Help Portal 56
6/18/2019
Outline View
Advantages of Using the Outline View
Tools for ABAP Development
Viewing the Outline
Using Quick Views
Viewing the ABAP Type Hierarchy
Getting Orientation in the Source Code Using Breadcrumbs
Quick Assists
Quick assists help you to change ABAP source code in a semi-automated way.
ABAP Development Tools (ADT) provides a set of quick assists that can be divided into the following categories:
ABAP Refactorings for changing the structure of source code without changing its behavior
Various quick assists are neither refactorings nor quick xes. These are, for example, generating constructors or creation of text
symbols.
All supported transformations are available through the quick x menu that can be triggered from the Source menu or through
the Ctrl 1 shortcut. As an alternative the Quick Assist view provides a permanent view on the available quick assists.
The proposals are context-sensitive. This means that, depending on your current source code position, appropriate proposals
are provided.
Many of the quick assist options can be triggered on identi ers from the following types:
Locals are internal data elds within a class that can have any data type.
And so on
This is custom documentation. For more information, please visit the SAP Help Portal 57
6/18/2019
Positions in the ABAP source code where a refactoring option can be executed
Related Information
Quick Assist View
Quick Assist Overview
Refactoring ABAP Source Code
Applying ABAP Quick Fixes
Applying Other Quick Assists
ABAP Refactorings
Refactoring is the structural improvement of source code. The functional behavior of source code is retained.
Your wish to minimize the effort required for error analysis and the need to improve the following items may prompt you to
refactor source code:
readability
understandability
maintenance
enhancement possibilities
Good support for automized refactoring of source code is a key part of test-driven development (TDD) and other advanced
programming techniques. To this end, ABAP Development Tools (ADT) provides various refactoring functionalities.
Related Information
This is custom documentation. For more information, please visit the SAP Help Portal 58
6/18/2019
Quick Assists
Quick Assist Overview
Refactoring ABAP Source Code
Note
Literals are separated into:
Numeric literals: integer (> i), oat (> dec oat 16)
Example
The message 'Hello World' with a generated constant "hello_world" wherever it is used in the source code of a certain
development object
String Template |Hello { name }!| hello String 'Hello ' or '!'
Functionalities
You can extract constants from a literal using the following refactoring functions:
Extract a local constant from a literal that is used only in the current method. The new constant de nition is created in
the current method. Here all occurrences of the literal are replaced. Extract a member constant from a literal to de ne it
in the private section of the current ABAP class. Here all occurrences of the literal are replaced.
Results
When you extract a constant in the source code of a development object, the de nition CONSTANTS 'your name' TYPE
<type> VALUE <value> is added. Also, in the development object the corresponding literal is replaced with the constant.
This is custom documentation. For more information, please visit the SAP Help Portal 59
6/18/2019
The name of the generated constant is derived from the literal and automatically generated. These are the rules for the
creation of the constant name:
Invalid characters (for example &, %, blanks, and so on) are eliminated.
Finally a pragma (##NO_TEXT) is added in the declaration. Therefore, no translation warnings will be issued by the ABAP
Compiler syntax check.)
Limitations
The following limitations exist for extracting constants from literals:
If the same literal is already used in other classes or interfaces, these instances are not replaced.
Expressions cannot be extracted to a constant, because in ABAP they are allowed in constant de nitions.
This option is provided only within ABAP classes and interfaces. Global constants in reports and ABAP function groups
are currently not supported.
Related Information
Extracting Variables from Literals
Quick Assists
Extracting Constants
Extracting and Converting Variables
Changing Visibility of Members
Note
Literals are separated into:
Numeric literals: integer (> i), oat (> dec oat 16)
Example
The message 'Hello Planet' with a generated constant "hello_planet" wherever it is used in the source code of a certain
development object
This is custom documentation. For more information, please visit the SAP Help Portal 60
6/18/2019
'Hello Planet !' 'Hello Planet !' hello_planet String 'Hello Planet !'
String Template |Hello { name }!| hello String 'Hello ' or '!'
Limitations
The following limitations apply when extracting variables from literals:
If the same literal is already used in other classes or interfaces, these instances are not replaced.
This option is provided only within ABAP classes and interfaces. Global variables in reports and ABAP function groups are
currently not supported.
Functionalities
You can extract variables from a literal using the following refactoring functions:
Extract a local variable from a literal that is used only in the current method. The new variable de nition is created in the
current method. Here all occurrences of the literal are replaced.
Extract an attribute from a literal to de ne it in the private section of the current ABAP class. Here all occurrences of the
literal are replaced. Attributes are always created as private members.
Results
When you extract a variable in the source code of a development object, the de nition DATA 'your name' TYPE <type> VALUE
<value> is added. Also, in the development object the corresponding literal is replaced with the variable.
The name of the generated variable is derived from the literal and automatically generated. The following limitations exist for
the creation of the variable name:
Finally, a pragma (##NO_TEXT) is added in the declaration. Therefore, no translation warnings will be issued by the ABAP
Compiler syntax check.
Related Information
Extracting Constants from Literals
Quick Assists
Extracting Constants
Extracting and Converting Variables
This is custom documentation. For more information, please visit the SAP Help Portal 61
6/18/2019
Changing Visibility of Members
Related Information
Applying ABAP Quick Fixes
Quick Assists
ABAP Refactorings
Quick Assist Overview
It interacts directly with the ABAP source code editor. At every position where a quick assist can be applied, the content of the
Quick Assist view is therefore automatically updated according to the selection made.
As an alternative to the Quick Fix (Ctrl 1) menu, the Quick Assist view (Ctrl Shift 1) provides a permanent view of the
available quick assists.
The layout of the Quick Assist view is divided into the following areas:
Proposal overview. This provides a list of possible quick assists at the current cursor position in the source code editor.
Description per proposal This provides details about the operating steps of the quick assist that you can do next.
Note
The display depends on the entry that you have selected in the Proposal overview.
Previous Result Displaying the changes performed by the recently applied quick assist. If the quick assist cannot be
applied, an error message is displayed.
Rearrange the Quick Assist view layout setup to horizontal, vertical, or automatic to your selected perspective.
Note
To open the Quick Assist view, choose Window Show view Other... from the menu. In the Show view dialog, select Quick
Assist from the ABAP tree.
This is custom documentation. For more information, please visit the SAP Help Portal 62
6/18/2019
Example
Before Execution
You get an error message as the method drive is not implemented yet. When you select the method name, the possible quick
assists are displayed in the Proposals area. If you select one of these, additional information is displayed in the area below.
After Execution
After double-clicking the proposal or selecting Apply Proposal from the context menu, the method de nition is moved to the
private section of the ABAP class.
The tree in the Proposals area is updated to the quick assists that are now available at the selected cursor position.
If the quick assist is applied without any errors, the Previous Result area is highlighted in green for two seconds. Here, also the
status with the last execution date and the insertion result of the performed changes are now displayed. You can navigate from
here directly to the positions where changes have been performed in the source code editor.
Related Information
Quick Assists
Methods
Constants
Variables
This is custom documentation. For more information, please visit the SAP Help Portal 63
6/18/2019
Members
Text Literals
Exceptions
Others
Note
The Rename functionality can be applied to all identi ers.
Related Information
ABAP Refactorings
ABAP Quick Fixes
Quick Assist View
Refactoring ABAP Source Code
Applying ABAP Quick Fixes
Applying Other Quick Assists
Methods
Function Description Available since Available since
SAP NetWeaver 7.3 SAP NetWeaver 7.4
EHP1
Extracting Methods from Creating a new method in the current class. The SP06 SP02
Statements selected code is moved into the body of the new
method and replaced with a call to the new method.
Further occurrences of similar code are not replaced.
Extracting Methods from Creating a new method in the implementation of an SP11 SP05
Expressions ABAP class that returns the result of a selected
expression. The selected expression is replaced with
the call to the new method. Further occurrences of
similar expressions are not replaced.
Creating Method Implementations Creating an empty method implementation from an SP06 SP02
from the Method De nition existing declaration in an ABAP class.
Creating Method De nitions from Creating empty method implementations of the SP06 SP02
Implementation Parts methods de ned in an implemented ABAP interface and
of other unimplemented methods within an ABAP class.
Creating Implementation Parts for Promoting the implementation part of methods that are SP06 SP02
Unimplemented Methods de ned in an ABAP interface as well as method stubs of
other unimplemented methods.
Creating Methods from Method Creating a method from the method call. The signature SP06 SP02
Calls is derived from the existing method call.
Generating Class Constructor Creating an empty class constructor method in SP11 SP05
Methods the public section of the current ABAP class.
This is custom documentation. For more information, please visit the SAP Help Portal 64
6/18/2019
Generating Constructor Methods Creating a constructor in the public section of the SP11 SP05
current ABAP class.
Note
If the class has attributes, a dialog is opened where
you can select the attributes that should be
instantiated by the constructor.
Generating Factory Methods Creating a static create method in the public section SP11 SP05
of the current ABAP class.
Note
If the class has attributes, a dialog is opened where
you can select the attributes that should be
instantiated by the factory method.
Constants
Function Description Available since Available since
SAP NetWeaver 7.3 SAP NetWeaver 7.4
EHP1
Extracting Constants from Literals Creating a constant with the value of the literal and SP11 SP05
replacing all occurrences.
Reusing Existing Constants Replacing a literal with an existing constant. All other SP11 SP05
occurrences of the same literals are not changed.
Converting Locals to Class Converting a local constant, local variable, or local type SP11 SP05
Members to a class member such as a member constant,
attribute, or member type.
Variables
Function Description Available since Available since
SAP NetWeaver 7.3 SAP NetWeaver 7.4
EHP1
Extracting Local Variables from Assigning the selected expression to a new local SP14 SP05
Expressions variable. The selected expression is replaced with the
new local variable.
Assigning a Statement to a New Assigning the value of the selected statement to a new SP11 SP05
Variable local variable or attribute.
Converting Locals to Class Converting a local constant, local variable, or local type SP11 SP05
Members to a class member such as a member constant,
attribute, or member type of the current class.
Converting Local Variables to In a certain method, converting an existing local variable SP11 SP05
Parameters to a new parameter.
This is custom documentation. For more information, please visit the SAP Help Portal 65
6/18/2019
Declaring Variables from Usage Creating a declaration for an attribute within a method. SP11 SP05
Declaring Inline Variables In the method signature, converting an existing inline - SP05
Explicitly declaration of a local variable to an explicit declaration.
Using Similar Variables You have following possibilities for using similar - SP08
variables:
Deleting Unused Variables Supported deletion of unused data declarations and SP06 SP02
variables.
Members
Function Description Available since Available since
SAP NetWeaver 7.3 SAP NetWeaver 7.4
EHP1
Changing Visibility of Members Changing the visibility of a member by moving it into the SP06 SP02
public, protected, or private section.
Converting Locals to Class Converting a local constant, local variable, or local type SP11 SP05
Members to a class member such as a member constant,
attribute, or member type of the current class.
Pull-up Members to Superclass Removing member de nitions from a subclass and - SP08
adding it to the superclass.
Pull-up Members to Interface Removing member de nitions and adding them to the - SP08
implemented interface. Additionally, aliases are
declared to avoid invalidation of existing usages.
Text Literals
Function Description Available since Available since
SAP NetWeaver 7.3 SAP NetWeaver 7.4
EHP1
Creating a Text Symbol in the Text Creating a text symbol in the text pool of an ABAP SP14 SP08
Pool program.
Editing Text Symbols Changing a text symbol in the text pool of an ABAP SP14 SP08
program.
Correcting Inconsistencies Within Balancing mismatches between source code and text SP14 SP08
Text Symbols pool.
Switching Notations Adopting text changes of an existing text symbol in the SP14 SP08
text pool or the source code and vice versa.
This is custom documentation. For more information, please visit the SAP Help Portal 66
6/18/2019
Exceptions
The exception(s) are added to the signature of the calling method or surrounded with a TRY CATCH block.
Surrounding with TRY CATCH Single catches: Surrounding the selected - - SP00
block of statements with a try catch statement
to handle raised exception(s). Each exception
is handled in a seperate catch block
Extracting a Catch Variable Adding a local variable and adding the INTO - - SP00
clause to an existing catch block.
Extending a TRY CATCH Statement Adding a new catch block to an existing try - - SP00
catch statement.
Removing a TRY CATCH Statement Removing the entire try catch statement. - - SP00
Splitting a MULTI CATCH Block Replacing the existing multi catch block by - - SP00
individual catch blocks per exception.
This is custom documentation. For more information, please visit the SAP Help Portal 67
6/18/2019
Extracting an Exception Variable from Adding a variable declaration for the exception SP11 SP05
a RAISE Statement and source code to instantiate the exception
before raising it.
Create all the CDS test xture methods Create all the CDS test xture methods for SP00
the given CDS entity under test along with
the corresponding method de nition. It
generates three xture methods -
class_setup, setup, and
class_teardown.
Create CDS test class_setup xture Creating a new xture method SP00
method class_setup to set up the test
environment including creation of required
Doubles and Clone(s). If all the three
methods are available, then this proposal is
not be visible at all. Also, if this xture
method de nition already exists, then the
system does not display any proposals.
Create CDS test setup xture method Creating a new xture method setup to SP00
clear the test data for all the Doubles used
in the test method before executing each
test method. If this xture method
de nition already exists, the system does
not display any proposals.
Create CDS test class_teardown xture Creating a new xture method SP00
method class_teardown to delete the generated
database entities (Doubles and Clones)
at the end of test class execution. If this
xture method de nition already exists, the
system does not display any proposals.
This is custom documentation. For more information, please visit the SAP Help Portal 68
6/18/2019
Prepare test data Generating the boiler plate code for getting SP00
the test double from the CDS test
environment for a given dependency of the
CDS Entity under test. It also sets the test
data into the test double framework. This
proposal must be used for each row of test
data and each dependency separately. This
proposal is displayed only with in the
methods inside an ABAP test class.
Create a new Test Method and prepare test Creates a new test method inside the Test SP00
data Class. It creates doubles from the CDS test
environment for the given dependency of
the CDS Entity under test using wizard. Test
data can also be set to the selected
dependencies as a second step of the code
generation.
Prepare test data (Using wizard) This proposal is displayed inside the SP00
existing test method only. Allows to set data
to the selected dependencies using wizard
and generates the code accordingly. Test
method name is pre lled for this proposal.
Related Information
Writing a Test for a CDS Entity Using Quick Assist Proposals
Others
Identi er Function Description Available Available Available
since SAP since SAP since SAP
NetWeaver 7.3 NetWeaver NetWeaver
EHP1 7.4 7.5
Classes Creating ABAP Starting the creation wizard of a global ABAP class SP06 SP02
and Classes or ABAP or interface directly from the name of the missing
Interfaces Interfaces from repository object.
Usage
Classes Generating Class Creating an empty class constructor method SP11 SP05
Constructor in the public section of the current ABAP class.
Methods
This is custom documentation. For more information, please visit the SAP Help Portal 69
6/18/2019
Generating Factory Creating a static create method in the public SP11 SP08
Methods section of the current ABAP class.
Note
If the class has attributes, a dialog is opened
where you can select the attributes that should
be instantiated by the factory method.
Regenerating a SP00
Constructor for
Exception Classes
Function Creating ABAP Starting the creation wizard of an ABAP function SP11 SP05
Modules Function Modules module from the name of the missing repository
from Usage object.
Includes Creating ABAP Starting the creation wizard of an ABAP include from SP11 SP05
Includes from the name of the missing repository object.
Usage
Text Creating and Editing Creating a text symbol in the text pool of an ABAP SP14 SP08
Symbols Text Symbols program.
(Quick Assists)
Editing Text Changing a text symbol in the text pool of an ABAP SP14 SP08
Symbols program.
Notations Switching Notations Adopting text changes of an existing text symbol in SP14 SP08
the text pool or the source code and vice versa.
Software Component
A software component de nes a delivery and product unit of a SAP software product.
It comprises a set of packages that are delivered in a single unit. As an ABAP developer, you always assign development objects
implicitly to a software component by assigning the package containing these objects. This even makes it possible to move
development objects from one software component to another after a release upgrade. A software component is released in
successive releases with new functions. In addition, you can import patches into each software component separately.
Additional properties:
The customer receives changes to products relating to further development (upgrades) or collected corrections
(Support Packages) for one or more software components.
The availability of a software component is restricted to a maintenance period during which corrections for the software
components are provided in the form of Support Packages.
This is custom documentation. For more information, please visit the SAP Help Portal 70
6/18/2019
A software component can require the installation of other software components if it uses their functions (component
dependency).
Software components group together a multiple number of ABAP packages to minimize the complexity of dependencies,
maintenance, and releases.
Related Information
ABAP Packages
ABAP Development Objects
Released APIs
The API state of a development object de nes whether or not a development object can be used in development objects of
other namespaces.
API States
Remember
As a developer on customer-site, you can use the Use System-Internally (C1) release contract to to make custom objects
available for use in key user apps.. The other release contracts are only relevant for SAP development.
Objects can be released as APIs for different purposes. Depending on the underlying release contract, released objects need to
adhere to different stability criteria. Currently, objects can be released for three different purposes and corresponding release
contracts. The API State tab is visible only for types of objects which can be released as APIs. You have the following release
contracts available:
Related Information
Setting the API Release State
De ning the ABAP Language Version of ABAP Programs and Classes
Checking ABAP Syntax
In addition, SAP development can de ne extension points in the types of objects listed below. These extension points are
available exclusively in the context of the app Custom Fields and Logic:
This is custom documentation. For more information, please visit the SAP Help Portal 71
6/18/2019
Business Object Types
CDS Entities
OData Services
Function Modules
SOAP Services
IDoc Types
System-internal use can be restricted to either Use in Key User Apps or Use in SAP Cloud Platform, or be allowed for both types
of use.
BAdI De nitions
CDS Entities
Domains
Data Elements
Function Modules
Interfaces
Message Classes
Search Helps
Structures
Table Types
Type Groups
Transformations
This is custom documentation. For more information, please visit the SAP Help Portal 72
6/18/2019
Affected Object Types:
CDS Entities
Transport Organizer
The Transport Organizer in ABAP Development Tools (ADT) contains the basic transport functions of workbench. The requests
record changes made to the ABAP workbench objects.
Overview
The key feature of the Transport Organizer view is the option to display the assignment of objects to the tasks and transport
requests in a folder structure. Also, to perform some basic actions.
The display depends on the logged-on user. For example, you can display the most important information relating to the
transport of change requests of a user without leaving the development environment. A request or task has an editor to view
and edit the properties and objects.
Display of a request that is selected in the Transport Organizer view and opened in ADT
This is custom documentation. For more information, please visit the SAP Help Portal 73
6/18/2019
The Transport Organizer view displays for each ABAP project the following columns:
Transport Request:
1 Name of the ABAP project, client, Details of connection of an ABAP project to an ABAP system
user name, and logon language
2 Workbench Transport requests of the SAP GUI-based workbench that have recorded
changes made to ABAP objects.
Note
Here you can only open and edit modi able transport requests,
create or delete tasks, or edit ABAP objects.
3 Transport Groups A transport domain can consist of one or more transport groups that
share the same transport directory of one or more ABAP systems.
Note
These changes are transported only within SAP´s system or customer
systems.
4 Modi able Unreleased transport requests and tasks that can be edited in addition
to the objects that have been released
Note
The Modi able subfolder is displayed for all transport groups and in
the Local Change Request folder.
Note
Objects that are assigned directly to a transport request as well as
tasks and the corresponding objects that are already released are
displayed at the same folder level as unreleased tasks.
This is custom documentation. For more information, please visit the SAP Help Portal 74
6/18/2019
4 Released All transport requests, tasks, and objects that have been released within
the last two weeks
Note
The Released subfolder is displayed for all transport groups and in
the Local Change Request folder.
Owner: User who has created or been assigned to the corresponding transport requests and tasks
Type: Type of ABAP objects that are assigned to the transport request or task
Last Changed: Last changed date and time of the request and the task
Note
You will nd further background information in the help documentation of the SAP GUI- based Transport Organizer.
Related Information
Transport Layer
Transport Request
Request Editor
Task Editor
Icons and Decorators in the Transport Organizer
Filtering Transport Requests and Tasks
Con guring Tree
Adding Users to a Transport Request
Changing the Owner of Transport Requests and Tasks
Checking Consistency of Objects
Releasing in the Transport Organizer
Deleting in the Transport Organizer
Transport Layer
The transport layer de nes the transport behavior of ABAP packages. Since packages are used as transport units, each
individual package determines the transport behavior of all development objects contained therein – that is, whether and how a
package and all its development objects are transported.
The assignment of a package to a transport layer ensures that all its development objects are connected to the Change and
Transport System (CTS), thereby de ning the integration and consolidation system for its development objects.
The SAP system in which development objects are developed and changed
Whether these objects are transported into a discrete system sequence or – through a well-de ned path – into a
consolidation system.
This is custom documentation. For more information, please visit the SAP Help Portal 75
6/18/2019
Related Information
ABAP Packages
ABAP Development Objects
Transport Organizer
Transport Request
Transport Request
A transport request collects development objects and categories for export to your local computer or to an SAP transport
system.
When you create a development object (ABAP repository object) in a non-temporary ABAP package, you must always assign the
object to a transport request.
You can create transport request from the transport organizer view. For more information, see Creating a Transport Request.
Changes to development objects from non-temporary packages are organized in tasks and take place in transport requests. A
transport request records all changes to development objects. The assignment of a package to a transport layer ensures that
the package is connected to the Change and Transport System, thereby de ning the integration and consolidation system for
its development objects.
With regard to the transport behavior of development objects, we have to distinguish between these three cases:
This is custom documentation. For more information, please visit the SAP Help Portal 76
6/18/2019
Transportable objects – development objects from packages that can be transported within a system landscape.
Transportable packages are assigned to both a software component and a transport layer. So-called "HOME objects"
represent a special case. They can be transported within a system landscape, but are not designated for external
delivery (customer delivery). Packages of this type are assigned to a transport layer and the speci c software
component HOME. All changes to transportable development objects are recorded in transport requests.
Local objects – development objects from local packages (TEST_ ..., $TMP ...) Local packages are assigned to software
component LOCAL, but are not assigned to a transport layer. Thus, they cannot be transported in other systems. Objects
from local packages are not generally designed for productive purposes but solely for local developments, especially as
part of prototyping or testing. All changes to development objects of this type are only recorded in local transport
requests, if the recording option for the relevant package is activated.
Temporary objects – special case of local objects. Temporary objects belong to temporary packages, which are, in turn, a
subset of local packages. Names of temporary packages always start with the $ sign (example: $TMP). Changes to
temporary packages are NOT recorded in transport requests.
Related Information
Transport Layer
Transport Organizer
ABAP Packages
Software Component
Transport Organizer (BC-CTS-ORG)
Creating Development Objects
Request Editor
Task Editor
Decorator Description
Unreleased tasks
Released tasks
Note
Only the transport request owner can add users to this type of request.
Note
Objects that can be edited are displayed with the same icon as they are represented in the Source Library folder.
Reassign Task
Change Owner
This is custom documentation. For more information, please visit the SAP Help Portal 77
6/18/2019
Decorator Description
Related Information
Filtering Transport Requests and Tasks
Con guring Tree
Adding Users to a Transport Request
Changing the Owner of Transport Requests and Tasks
Checking Consistency of Objects
Releasing in the Transport Organizer
Deleting in the Transport Organizer
Transport Request
Transport Organizer
Request Editor
The Request Editor allows you to manage the content of an individual change request. Access the Request Editor by double-
clicking a request in the tree structure of the change requests from the Transport Organizer View.
Request Editor
Documentation Section:
Short Description: This eld contains a one-line, short description of the request.
Properties Section:
Owner: You can change the owner of a request or task only if it has not been released. A owner must be a user
recognized by the system. Only users with the authorization S_CTS_PROJECT can change the owners of projects.
This is custom documentation. For more information, please visit the SAP Help Portal 78
6/18/2019
Modi able: The request or task can be edited by the owner.
Protected: The request can be edited by the owner, however only the owner of the request can create new
tasks.
Release started: The export is running or was terminated. If exports terminate, release the request or task
again.
CTS Project: Name of a project in the Change and Transport System. You can organize requests and tasks in the
Change and Transport System by assigning them to a project. This project assignment can apply across systems,
helping you to group requests when you import them.
Source Client: The source client of a request. All client-speci c objects in this request originate from this client.
Attributes Section: Displays the attributes which de ne change request. They are mainly used for analyses.
Objects Section: The left pane contains the list of tasks under a request and the right pane shows the objects locked
under each task or the request. All objects displays released and modi able ABAP objects under the request.
Related Information
Transport Organizer
Task Editor
Opening a Request or Task Editor
Task Editor
The Task Editor allows you to manage the content of an individual task under a modi able request. Access the Task Editor by
double-clicking a task in the tree structure of the change requests from the Transport Organizer View.
Task Editor
The Task Editor has sections similar to the Request Editor, you can modify the properties and documentation of a task here.
Unlike Request Editor, the Task Editor does not include the attributes section as attributes are speci c to a change request.
Related Information
This is custom documentation. For more information, please visit the SAP Help Portal 79
6/18/2019
Transport Organizer
Request Editor
Opening a Request or Task Editor
ABAP Development Tools (ADT) supports following possibilities to utilize accessibility features:
By using Tools like screen readers that read text from the user interface and transfer it into audible voice. So, you can
hear the context of the current position.
By setting speci c window con gurations and Eclipse preferences to adjust font size or contrast of text to the
background. So, you can improve readability.
Note
ADT is integrated into the Eclipse application framework. General information about the accessibility functionalities in
Eclipse can be found here:
Accessibility
SAP ensures the accessibility of the products through the Product Standard Accessibility .
For more information how to use and set accessibility features in ADT see the Related Information below.
Related Information
Enabling Accessibility Features in ADT
Setting Con gurations and Preferences
Using Screen Readers
Keyboard Shortcuts for ABAP Development
Note
The availability of the shortcuts depends on the user interface area you are currently working.
Select Ctrl+Shift+L to open a list that displays the area-speci c keyboard shortcuts.
You can display a list of all available keyboard shortcuts from the menu bar (Windows Preferences General Keys ).
The subsequent lists are designed for using the operating systems Microsoft Windows© or Linux©. If you are working with
Apple Mac©, you might need to choose the Command tab instead of Ctrl.
This is custom documentation. For more information, please visit the SAP Help Portal 80
6/18/2019
Edit Actions
Function Shortcut
Close Ctrl + W
Format source code (aka Pretty Printer in the SAP GUI) Shift + F1
Format source block (aka Pretty Printer in the SAP GUI) Ctrl + Shift + F1
Save Ctrl + S
Displaying Actions
Function Shortcut
Show bookmarks, breakpoints, and tasks of the focused editor row Alt + Ctrl + P
To show the variable view in the debugger and to set the focus into the view. Shift + Alt + V
Note
Switch back to the source by using F12.
This is custom documentation. For more information, please visit the SAP Help Portal 81
6/18/2019
Function Shortcut
Set the View menu, that for text editors the ruler context menu is shown or to add bookmarks, breakpoints, or Ctrl + F10
tasks
Show bookmarks, breakpoints, and tasks of the focused editor row Alt + Ctrl + F10
Adopt the size of the current editor, view, and so on to the maximum screen size Ctrl + M
Navigation Actions
Function Shortcut
Select the previous open editor you want to navigate to Ctrl + Shift + F6
Move the keyboard focus into the top level editor or the active editor tab F12
Moving Actions
Function Shortcut
Commenting Actions
This is custom documentation. For more information, please visit the SAP Help Portal 82
6/18/2019
Function Shortcut
Windows-based Shortcuts
Function Shortcut
Close Ctrl + F4
Use Case Development Object Available Available Available Available Available Available
since SAP since SAP since SAP since SAP since SAP since
NetWeaver NetWeaver NetWeaver NetWeaver NetWeaver Application
7.3 EHP1 7.4 7.5 AS for ABAP AS for ABAP Server ABAP
7.51 7.52 7.53
innovation
package
This is custom documentation. For more information, please visit the SAP Help Portal 83
6/18/2019
Use Case Development Object Available Available Available Available Available Available
since SAP since SAP since SAP since SAP since SAP since
NetWeaver NetWeaver NetWeaver NetWeaver NetWeaver Application
7.3 EHP1 7.4 7.5 AS for ABAP AS for ABAP Server ABAP
7.51 7.52 7.53
innovation
package
Domain - - - SP01
This is custom documentation. For more information, please visit the SAP Help Portal 84
6/18/2019
Use Case Development Object Available Available Available Available Available Available
since SAP since SAP since SAP since SAP since SAP since
NetWeaver NetWeaver NetWeaver NetWeaver NetWeaver Application
7.3 EHP1 7.4 7.5 AS for ABAP AS for ABAP Server ABAP
7.51 7.52 7.53
innovation
package
Contract - SP02
Note
The remaining development objects are opened in the SAP GUI.
Related Information
ABAP Development Objects
Opening in the SAP GUI
ABAP Source Code Editor
ABAP Dictionary Editors
This is custom documentation. For more information, please visit the SAP Help Portal 85
6/18/2019
Scope
Focus is on SAP GUI-based functionality and its integration within the IDE for easy use and fast transition.
Contents
Each FAQ starts with a header containing the relevant keywords. Below, you will nd a table, split into how to information for
SE80 and ADT. Each column describes the procedure in a text and screenshot. The ADT column also provides a link to the
relevant content in the official ADT help documentation to get further details.
Example
The FAQs describe use cases from your daily work, such as:
Working with quick xes to get support or the relevant code snippets for the appropriate position/activity
And so on
Note
This document will be continously supplemented in future. If you want to propose an FAQ that needs to be added to this
documentation, comment our SCN blog , please. Thank you for your help!
Target Group
This reference guide is for all ABAP developers who:
Are used to work with the ABAP Workbench so far and are now starting to work with ADT
Already work with ADT and want to nd out how a speci c feature has been integrated
Contents
You will nd here FAQs for the following development areas:
Troubleshooting Tools
Related Information
This is custom documentation. For more information, please visit the SAP Help Portal 86
6/18/2019
Eclipse Basics
Quick Launch
Basic Tutorials
Overview
In the context of creating and editing development objects, the following "how to" information is provided:
How can I open the SE80 browser from the active editor?
How can I check object type-speci c properties, for example, whether a function module is RFC-enabled?
In the SAP Logon pad, create a new system entry using the New At the beginning, you need to establish a system connection. To do
icon from the toolbar. Then open transaction SE80. this, create an ABAP project that represents the repository in a
structured tree.
Example of how to define the system connection in the SAP Logon pad
You then enter system and logon credentials. Note that this data is
automatically copied from the system connection of the SAP Logon
pad.
This is custom documentation. For more information, please visit the SAP Help Portal 88
6/18/2019
From the Object Navigator (SE80), choose the relevant mode and You have several possibilities to open development objects. The
select your type from the dropdown menu. Then enter the name in most effective way is using Ctrl + Shift + A from the Project
the input eld and choose the Search or Display button. Explorer. Alternatively, you can click the Open ABAP
Development Object icon from the toolbar.
Enter your search criteria in the dialog. In the search input eld, you
can bene t from the content assist that helps you to limit your
search.
Note
Using Ctrl + Shift + A , you can limit your selection, for
example, to the object name or object type. To do this, use
asteriks (such as *) or content assist ( Ctrl + Space ).
This is custom documentation. For more information, please visit the SAP Help Portal 89
6/18/2019
You have to open the other system, and log on. From SE80, open the You can open, edit, and compare development objects from
development object manually. different SAP systems in parallel without logging on again.
Note
In advance, you need to create a new ABAP project for each
system to establish the relevant system connection.
This is custom documentation. For more information, please visit the SAP Help Portal 90
6/18/2019
In the OK eld, enter /O followed by the relevant transaction code In the editor, choose Alt F8 to open the Run ABAP Application
to open a new session. Press Enter . dialog. In the input eld, enter the name of the object to be
executed or the name of the transaction to be performed. Con rm
with OK.
This is custom documentation. For more information, please visit the SAP Help Portal 91
6/18/2019
In the Object Navigator (SE80), select the relevant object or In the Project Explorer, select the relevant source-based object
element and choose Copy from the context menu. and choose Copy from the context menu.
Note
In addition, you can also duplicate an object to create the exact
same entity in a selected ABAP project. Choose then
Duplicate... from the context menu.
From the toolbar in the editor, choose the Display/Change icon. Initially, you are in display mode when opening an object in ADT.
When you start typing in the editor, the object will switch to edit
mode automatically.
Note that you can open and edit several objects from different
projects at the same time.
This is custom documentation. For more information, please visit the SAP Help Portal 92
6/18/2019
You can only edit development objects when they are unlocked. You can unlock a development object that you are currently editing
in order to make its active version available for other users, for
example.
Note
All changes added after activation are deleted.
In the source code of your development object, choose Ctrl + In the source code of your development object, choose Ctrl +
Space . Space . In addition to SE80, you can overwrite methods from
superclasses using code completion in ADT.
For more information, see Getting Support from the Content Assist
This is custom documentation. For more information, please visit the SAP Help Portal 93
6/18/2019
Select, for example, the relevant part of your source code and You can add and remove comments in the same way as in the ABAP
choose Ctrl + < to add a comment, or > to remove it. Workbench.
From the menu bar, choose Utilities Settings ABAP Editor Pretty To perform formatting, choose Source Code Format from the
Printer to de ne the settings. context menu in the source code editor.
Note
To use formatting, you need to con gure the relevant
preferences for each ABAP project in advance.
Double-click an element or usage in the source-based editor. You From an element or usage in the source code editor, choose F3 or
will then navigate to the relevant usage, for example, another editor Ctrl + Click . You will then directly navigate to the selected
is then opened. element/object. The relevant position of the usage is highlighted.
This is custom documentation. For more information, please visit the SAP Help Portal 94
6/18/2019
Open and edit the object in the source-based editor. Choose then You can check the syntax of a source-based development object:
the Check icon from toolbar.
Manually choosing the Check icon from the toolbar
From the context menu of the relevant development object in the From the context menu of the relevant development object in the
object tree, choose Where-Used List, or from the toolbar in the Project Explorer, choose Get Where-Used List....
editor, choose the Use of icon.
This is custom documentation. For more information, please visit the SAP Help Portal 95
6/18/2019
From the Object Navigator (SE80), select the relevant node. You can display the ABAP type hierarchy in its speci c view or in
the ABAP Element Info popup.
In the source code editor, select the relevant element. You can then
choose:
Note
If you choose T a second time, the superclass
Example of displaying the subclasses and superclasses in the object
hierarchy is displayed.
tree
From the form-based editor of the Class Builder, you can trigger the From the method name in the implementation or de nition, you can
creation of a method implementation by double-clicking the trigger creation of the opposite using the Add implementation or
relevant name of the method to be created in the Methods tab. de nition for quick x. Optionally, you can directly choose Ctrl +
1 from the editor.
This is custom documentation. For more information, please visit the SAP Help Portal 96
6/18/2019
In the form-based editor of the class builder, select the relevant In the source code editor, position the cursor on the relevant
method and choose the Delete Method icon from the toolbar. method name and choose Ctrl 1 . Double-click then the Delete
entry in the Quick Fix dialog box.
Example of a possible trigger position in the editor and the delete entry
in the Quick Fix dialog box
In source code of a, for example, method implementation, choose You can add default patterns by using code completion or by
the Pattern button from the toolbar. double-click from the Templates view.
This is custom documentation. For more information, please visit the SAP Help Portal 97
6/18/2019
In the Object Navigator (SE80), select the relevant method and In the source code editor, select the method and choose
choose Rename... from the context menu. Source Rename from the context menu.
This is custom documentation. For more information, please visit the SAP Help Portal 98
6/18/2019
In the Object Navigator (SE80), select the relevant ABAP object, In the Project Explorer, you have the following possibilities to favor
users, or packages. Choose then Favorites Add from the toolbar. ABAP object, users, or packages:
Note
You can also de ne a bookmark for a speci c position
within the source code. To do this, choose Add
Bookmark... from the context menu at the beginning of
the speci c line in the ruler bar. A bookmark decorator
is then added.
This is custom documentation. For more information, please visit the SAP Help Portal 99
6/18/2019
In the Class Builder (SE24), select the relevant method in the You can trigger the Override code completion ( Ctrl + Space )
Methods tab. Then choose the Rede ne Method icon from the from the possible positions within the implementation of the
toolbar. relevant subclass.
How can I open the SE80 browser from the active editor?
From the toolbar of the editor, choose the Display object list icon. From the toolbar of the Project Explorer or most of the views,
The object tree then displays the relevant object/element in the choose the icon. Then, in the Project Explorer or view the
tree. relevant object is automatically focused when switching between
opened editor. Alternatively, if you have opened several editors, the
relevant editor is opened, when you select an object in the tree.
For more information, see Linking the Project Explorer view to the
active editor
This is custom documentation. For more information, please visit the SAP Help Portal 100
6/18/2019
From the toolbar of the editor, choose the Direct Processing icon or From the source code editor of an ABAP program, choose F8 . The
F8 directly. integrated SAP GUI is then opened.
From the menu bar, choose Utilities Version Version From the context menu in the source code editor, choose Compare
Management . With
This is custom documentation. For more information, please visit the SAP Help Portal 101
6/18/2019
From the toolbar, choose the Active <-> Inactive icon. In the editor of an inactive object version, choose Show Active
Version and vice versa from the conext menu.
Icon from the toolbar to toggle between the inactive version or active
version of an object
Context menu to toggle from the inactive version to the active version
of an object
In addition, you can open the History view to display and open the
opposite version.
This is custom documentation. For more information, please visit the SAP Help Portal 102
6/18/2019
From the menu bar, choose Goto Object directory entry This information is displayed in the Properties view. To display
attributes, open the relevant object. Then choose Window Show
View Properties from the menu bar.
From the menu bar, choose Environment Transport Organizer From the menu bar, choose Window Show
(Requests) View Other... ABAP Transport Organizer . Optionally, you can
enter Transport Organizer in the Quick Access.
Quick Access input field from the toolbar to open specific views directly
Integration of the Transport Organizer in the Object Navigator Note that the Transport Organizer view is already displayed by
default.
This is custom documentation. For more information, please visit the SAP Help Portal 103
6/18/2019
From the, for example, Methods tab in the form-based editor, You use ABAP Doc comments to document code elements (for example,
add your short text in the Description tab. attributes, methods, local variables).
Note that ADT does not support class documentation in particular. You
use ABAP Doc to add short texts.
To add an ABAP Doc comment, add one or more lines starting using the
pre x "! before the code element to be commented.
Example of a short text provided as description in the form-based
editor
To toggle ABAP Doc comments, choose Ctrl + 7 to comment.
Example
...
PRIVATE SECTION.
"! <p class="shorttext synchronized" lang="en">
Short Text to be synchronized with the backend</p>
"!
METHODS description.
...
This is custom documentation. For more information, please visit the SAP Help Portal 104
6/18/2019
Open the relevant ABAP class in the source-based editor and then Open the class and select then the relevant class name. Choose
choose the Open Class Documentation icon from toolbar. F2 .
To add ABAP Doc comments, add "! one row before the relevant
statement and start typing your information.
How can I check object type-speci c properties, for example, whether a function
module is RFC-enabled?
From the Attributes tab, check the Remote-Enabled Module radio From the Properties view, open the Speci c subtap. Then check
button in the Processing Type area. the entry for the Processing Type dropdown listbox.
This is custom documentation. For more information, please visit the SAP Help Portal 105
6/18/2019
In the Object Navigator (SE80), select the object and choose In the Project Explorer, select the object and choose Change
Additional Functions Change Package Assignment from the Package Assignment from the context menu.
context menu.
Related Information
ABAP Dictionary Tools
Testing and Quality Checking
Troubleshooting Tools
This is custom documentation. For more information, please visit the SAP Help Portal 106
6/18/2019
From the Repository Information System mode or using SE11: From the relevant ABAP project in the Project Explorer, choose
Select the relevant tree, object type, and object name to be Ctrl + Shift + A and enter the object name or open the
opened. relevant tree from the Dictionary folder.
The relevant editor is opened. From here you can start your work.
Structures
Domains
Data elements
Related Information
ABAP Core Development
Testing and Quality Checking
Troubleshooting Tools
How can I perform the ABAP Test Cockpit (ATC) for a class, program, or function module?
How and where can I get further information about error handling?
This is custom documentation. For more information, please visit the SAP Help Portal 107
6/18/2019
How can I perform the ABAP Test Cockpit (ATC) for a class, program, or function
module?
In the Object Navigator, select the relevant class, program, or In the source code editor, open your class, program, or function
function module. From its context menu, choose Check + ABAP module. From the context menu, choose Run As + ABAP Test
Test Cockpit. Cockpit.
For more information look here Launching ATC Check Run from the
Project Explorer
Perform the ATC for the relevant object. To get further details about an error, open the Problems view.
For more information, see Working with ATC Findings in the ATC
Problems View
How and where can I get further information about error handling?
Double-click the relevant error. Double-click the relevant error in the Problems view.
Example of how to display further error details For more information, see Troubleshooting for ABAP Syntax Errors
Related Information
This is custom documentation. For more information, please visit the SAP Help Portal 108
6/18/2019
ABAP Core Development
ABAP Dictionary Tools
Troubleshooting Tools
Troubleshooting Tools
In the context of debugging ABAP source code, the following "how to" information is provided:
In the source code editor of an ABAP program, set the breakpoint In the source code editor of an ABAP program, set the breakpoint
by selecting the relevant line of code and then clicking the by clicking in the ruler in the relevant position.
Set/Delete Session Breakpoint icon in the toolbar.
This is custom documentation. For more information, please visit the SAP Help Portal 109
6/18/2019
Set the breakpoint(s) in your program. Then choose the Debugging Set the breakpoint(s) in the ruler bar of your program. Choose F8
button from the toolbar of SE38. to run your application and check the position where you have set
the breakpoint.
Open your function module in SE37. Set the breakpoint(s) and start Open your function module and set the breakpoint(s) for an
the ABAP Debugger. From the menu, choose Breakpoints + executable ABAP statement by clicking in the ruler bar at the
Breakpoint at + Breakpoint at Function Module . beginning of the row.
For more information, see Working with ABAP Function Groups and
Modules
Related Information
ABAP Core Development
ABAP Dictionary Tools
This is custom documentation. For more information, please visit the SAP Help Portal 110
6/18/2019
Testing and Quality Checking
Security Guide
Target Audience
System administrators
ABAP developers
This Security Guide assists you in making the ABAP development process secure using the ABAP Development Tools (ADT).
Role and Authorization Concept introduces the authorization concept that applies to ABAP Development Tools
Resource Protection on Front-End Client explains how you can protect local resources of ABAP projects
Installing Plug-ins from Third Parties points to risks caused by installing third party plug-ins
Additional Information
For more information about speci c topics, see the Quick Links as shown in the table below.
Risks
This is custom documentation. For more information, please visit the SAP Help Portal 111
6/18/2019
Standard authentication with explicit speci cation of user ID and password means that user data entered at the front-end
client is loaded into the main memory of the local host as clear text.
A password that is buffered locally, however, represents a potential security gap because it could be extracted in some way from
the memory by a third party.
Protection Measures
In addition to Secure Network Communication (SNC), ABAP Development Tools support the Single Sign-On (SSO) mechanism
provided by SAP NetWeaver. Using SSO, the user does not need to enter a user ID and password for authentication but can
access the system directly after the system has checked the logon ticket. Therefore, besides SNC (recommended to be enabled
for security reasons), we recommend using the SSO mechanism for authentication when working with ABAP projects on the
front-end client.
Note
The ABAP Development Tools support the measures recommended: Every time you want to create a new ABAP project for a
system connection for which the SNC is not enabled, you will be faced with a corresponding warning message in the creation
wizard.
Recommendation
You can use assertion tickets for communication destinations between various other systems to perform the authentication
of frequent tasks or functions. Assertion tickets provide the highest level of security when creating an RFC or HTTP
connection and easiest usability for working with an ABAP system. We therefore recommend that you use assertion tickets
to allow ABAP developers to log onto an ABAP system.
To use assertion tickets, your ABAP system administrator needs to con gure the pro le parameters of the relevant ABAP
systems.
Related Information
Con guration Guide for Con guring the ABAP Back-end for ABAP Development Tools
The ABAP Development Tools, however, represent a front-end client and it makes use of the HTTP-based REST architecture
when communicating with the back-end. From the viewpoint of this architecture, ABAP development objects are addressed as
resources and identi ed through URIs. A front-end request keeps a URI ready whenever a development object is accessed and it
is passed rst to a router in the back-end. The router, in turn, transfers the request to the responsible resource controller. The
latter uses the incoming URI to ensure the identi cation of the matching development object in the ABAP Repository. The
This is custom documentation. For more information, please visit the SAP Help Portal 112
6/18/2019
registration of resource controllers takes place with the help of BAdIs. The actual BAdI implementation is performed for a given
URI on the basis of prede ned lter values. A lter value contains the respective static URI path, which is used to gain access to
the resource in the back end (that is, to the development object).
Risks
There is a potential possibility of backdoors being introduced in the application server during the registration of resource
controllers. This could happen when speci c BAdI enhancements that were implemented for handling random, even "malicious"
URIs are registered in the system.
Protection Measures
To provide protection against such backdoors, the proven SAP NetWeaver authorization concept is brought into operation. This
allows for the assignment of authorizations to system users on the basis of prede ned roles. The system administrator,
therefore, assigns to the system users one or several roles that, in turn, are based-at a technical level-on authorization objects.
When you are assigning user authorizations for access to development objects, we strongly recommend using the standard
roles (see Table below) and authorization default values that are provided for working with ABAP Development Tools. The
standard roles are linked with the standard authorization object S_ADT_RES, which you can use to check a random incoming URI
against a prede ned URI list-that is, a white list. This authorization object, therefore, retains as an attribute the list of all
allowed URIs. A "malicious" URI would then be discovered through the authorization check.
Standard Roles
The table below shows the standard roles that should be assigned for users of the ABAP Development Tools:
Role Description
Related Information
Reference Documentation for User and Role Administration
This is custom documentation. For more information, please visit the SAP Help Portal 113
6/18/2019
Risks
The potential dangers lie in the following areas:
Metadata and sources of development objects being spied out by third parties
ABAP source code being manipulated locally on the front-end by third parties. If external users have access to the local
workspace folder, they have the chance to manipulate the development objects on the le system level. Data changed at
this level could be then propagated into the ABAP Repository as "hidden changes". In this way, even "malicious" ABAP
source code could nd its way in to the business application system.
Protection Measures
For the protection of local project resources, we strongly recommend the following protection measure:
Create your workspace folder for local storage of project resources in such a way that it cannot be read by third parties. Use the
protection measures that are already provided at operating-system level.
Note
Files that are located under Windows in the user's private folder subtree can only be accessed by the user himself/herself,
and by any user who is a local administrator.
In particular, we recommend making use of the default workspace that has been created with the IDE installation.
Risks
These plug-ins can gain control over your client installation or even your complete front-end PC.
Protection Measures
You should carefully decide on plug-ins that you are going to install. For this, only use plug-ins from trusted sources and which
are using signatures.
The following table gives you an overview of the released ADT versions and ABAP back ends:
SAP SAP SAP NetWeaver AS for SAP NetWeaver AS for Application Server ABAP Development
NetWeaver NetWeaver ABAP 7.51 innovation ABAP 7.52 ABAP 7.53 Tools (Client)
7.4 7.5 package
This is custom documentation. For more information, please visit the SAP Help Portal 114
6/18/2019
SAP SAP SAP NetWeaver AS for SAP NetWeaver AS for Application Server ABAP Development
NetWeaver NetWeaver ABAP 7.51 innovation ABAP 7.52 ABAP 7.53 Tools (Client)
7.4 7.5 package
SP02 - 2.7
Version 2.96
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the following:
Note
The following features that are highlighted with a '*' are client-speci c and are therefore available for all supported ABAP
systems.
In this topic, you will nd the release information about the following areas:
This is custom documentation. For more information, please visit the SAP Help Portal 115
6/18/2019
Support for Customer Extensions
You can now assign ABAP Unit tests to ABAP Repository objects which cannot have their own tests, such as CDS views and
simple transformations. This means you need to model a relation between production code and test code. This relation is then
used by the ABAP Unit framework to nd the tests when test execution is triggered on the object in question.
To do this, write a speci c @testing link as an ABAP Doc comment in front of the test method or test class.
You can now con gure your individual test execution using the ABAP Unit Launch dialog.
In the Scope section, you can select your own tests and/or any foreign tests that you want to execute. You can also de ne
restrictions such as the Risk Level and Duration. This makes, for example, the tests run faster.
In addition, you can enable coverage measurement or trace recording of the tests.
This is custom documentation. For more information, please visit the SAP Help Portal 116
6/18/2019
You can now x certain ATC ndings with Quick Fixes. These Quick Fixes provide functions that enable you to resolve errors and
warnings without adapting your source code manually.
ATC ndings that can be xed with a Quick Fix are displayed with a lightbulb icon .
There are two ways of applying Quick Fixes for ATC ndings:
Select an ATC nding in the ATC Problems view and choose Quick Fix in the context menu.
Jump to your source code at the position where the ATC has found a problem and choose Quick Fix in the context menu.
Quick Fix in the context menu of an ATC finding in the ATC Problems View
For more information, see: Applying Quick Fixes for ATC Findings
This is custom documentation. For more information, please visit the SAP Help Portal 117
6/18/2019
ADT now provides native support for customer enhancements and modi cations.
Note
If you need to enhance the SAP standard, SAP recommends using customer enhancements instead of modi cations.
Available enhancement implementations are indicated by the source code plug-in marker . The source code plug-ins are
displayed in the popup when you hover over the marker.
From here you can now navigate to the new Enhancement Implementation Editor:
In some situations, the enhancement capabilities are not sufficient so you need to modify the SAP standard code using
Modi cation Assistant.
This is custom documentation. For more information, please visit the SAP Help Portal 118
6/18/2019
For more information, see: Modifying Development Objects Using Modi cation Assistant
You can now create lock objects in ADT using the creation wizard. The new lock objects can then be edited in Lock Object Editor.
Runtime errors can be now displayed and analyzed in ABAP Runtime Error Viewer.
This is custom documentation. For more information, please visit the SAP Help Portal 119
6/18/2019
You can open Runtime Error Viewer by clicking Show in the dialog that appears when a runtime error occurs. Alternatively you
can open it from Feed Reader.
You can now open a transport request or a task in a native editor in ADT. Previously, the transport request details were
displayed in the embedded SAP GUI.
This is custom documentation. For more information, please visit the SAP Help Portal 120
6/18/2019
Version 2.89
Here is an overview of the most signi cant changes in ABAP core development that relate to the:
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
If system connections are missing from the SAP Logon pad when creating ABAP projects, you can now open the ABAP
Development System Connection preference page. Here you can override the detection of le locations.
For more information, see: Using System Connections from the SAP Logon Pad
Version 2.83
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver AS for ABAP 7.52 SP00 back-end.
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
This is custom documentation. For more information, please visit the SAP Help Portal 121
6/18/2019
The ABAP debugger tools have been recently enhanced with new features for the analysis of internal tables during ABAP
debugging.
You now have the option to debug the ow logic of dynpro screens (PBO, PAI, …). The dynpro debugging enables stepping from
ABAP code into the screen ow logic and vice versa.
Just like stepping into dynpro ow logic by pressing F5 it is also possible to step into enhancement implementations (implicit
and explicit).
The non-exclusive debugging mode which is known from the SAP GUI debugger is now also available for the ADT debugger (for
NW 7.68 / 7.52 or higher).
In previous ADT versions, you could only change the logpoint activation status at any time while the logpoint de nition was
unchangeable. As of ADT version 2.83, you have the option of changing the logpoint de nition as well.
You now have the option of deleting the accumulated log entries of a dynamic logpoint without deleting the logpoint.
Copying Logpoints
As of ADT version 2.83, you have the option of using copy, cut and paste functions on logpoints.
AMDP Debugger
This is custom documentation. For more information, please visit the SAP Help Portal 122
6/18/2019
If you have ever worked with long string values in AMDPs, you might have encountered an annoying restriction in the AMDP
debugger: For variable values, or more speci cally, for their string presentation, only the rst 1024 characters are shown in the
corresponding Variables view. For cell values of table variables only 256 characters are shown.
"..." at the end of the value presentation indicates that the value has been truncated
As of ADT 2.83 (and NW 7.52), it is possible to inspect the whole variable value.
You now con gure how to display the structure of the development objects beneath the ABAP project in the Project Explorer.
To do this, open the context menu from the rst tree level, and chooseExpand Tree by....
From the dialog to be opened, you can choose one of the following radio buttons for sorting:
Owner (default)
Application Component
Package
Object Type
API State
Creation Year
Original Language
Source System
This is custom documentation. For more information, please visit the SAP Help Portal 123
6/18/2019
You can now create and edit ABAP packages in the integrated form-based editor.
The form-based editor provides the following information about an ABAP pacakge:
Note
You can nd further data in the Properties view.
3. Package Properties displaying package-relating information, such as possible superpackages and package types
4. Transport Properties containing transport-relating information, such as transport layer, software component,
5. The Properties is no part of the form-based editor, but it also displays additional properties, such as package
breadcrumb, version status, creation date
Note
This is custom documentation. For more information, please visit the SAP Help Portal 124
6/18/2019
The package breadcrump and application component are only provided if your ABAP system is connected with an SAP
HANA database.
You can now execute an ABAP program directly in ADT and display its result in the Console view without launching the
integrated SAP GUI.
To do this, open the relevant program in the source-based editor. Choose Run ABAP Application (Console) from the context
menu.
Creation date
Object description
Pagination
Program result
Note
Parameters are not supported. Otherwise, a runtime error is displayed.
You can now create, edit, and delete database tables in the integrated source code editor of your Eclipse-based IDE.
This is custom documentation. For more information, please visit the SAP Help Portal 125
6/18/2019
Example of features that are provided in a source code editor for database tables
To store properties of a database table in the database, metadata is represented and de ned by annotations in the source-
based editor.
The source code is generated when it is read from the database. When you save or activate a structure, the source code is
converted to the existing persistence.
Note
To edit technical settings (data class, size category, buffering, and storage type) or to create/edit indexes, open the
integrated SAP GUI.
Database Tables
Getting Support from the Content Assist when Editing AMDP Method Implementations
When editing AMDP method implementations in ABAP classes, the content assist now proposes datasources, columns, variable
declarations, and so on.
For more information,see : Using Code Completion for ABAP-Managed Database Procedures
Linking to ABAP Repository Objects Out of the Element Information Popup and the ABAP Element Info View
To use this new language element, add the ... {@link [[[kind:]name.]...][kind:]name} ... syntax to your
comment.
Displaying Details in the Element Information Popup and the ABAP Element Info View
4.6 (Neon)
4.7 (Oxygen)
Version 2.80
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver AS for ABAP 7.51 innovation package SP03 back end.
Note
This is custom documentation. For more information, please visit the SAP Help Portal 127
6/18/2019
The following features that are highlighted with an '*' are available for all ABAP systems supported by ADT.
You can start an ATC check run with the Run As ABAP Test Cockpit With... to specify an arbitrary global check variant.
As developer, you can use this option to override the prede ned ATC check variant for a speci c check run.
For more information, see: Launching ATC Check Run from the Project Explorer
Version 2.77
This is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client, and the SAP NetWeaver AS for ABAP 7.51 innovation package SP02 back end.
Note
Features highlighted with an asterisk ('*') are available for all ABAP systems supported by ADT.
The ABAP Formatter preferences page has been redesigned. Its usability has been improved, and the user interface now
provides you with greater exibility when de ning the formatting options of ABAP source code.
Upper/Lower Case Conversion to de ne formatting of ABAP keywords and identi ers in lower and upper case more
transparently.
Preview to see what the result of the formatting options will look like before publishing. An example code snippet is used
and displayed for this.
You can now display the previously performed test runs in the ABAP Unit Test history. This enables you to switch between
different test runs without performing them again. The advantage is that you save time and will immediately have the already
evaluated test run(s) back at your disposal.
To display the history, choose the arrow from the History... icon displayed in the toolbar for the ABAP Unit Runner view. To
open the relevant test run, double-click it in the ABAP Unit Test History.
This is custom documentation. For more information, please visit the SAP Help Portal 128
6/18/2019
Note
When you perform a test run, the previous result will be overwritten but not deleted.
You can precon gure to display up to the last 99 test runs. To do this, enter the relevant number in the Maximum number of
remembered test runs input eld.
For more information, see: Using the History to Switch Between Results of ABAP Unit Tests
In the ABAP Unit Runner view, you can now restrict the number, for example, to display only unit tests that have errors.
To do this, select one or more of the following checkboxes from the bar above the result tree for the tested development object:
Note
If you deselect a checkbox, the corresponding test methods are hidden. This improves readability and makes it easier for you
to focus on the relevant test results.
If you right-click one of the selected checkboxes, the remaining selections are deselected. This enables you to deselect the
remaining checkboxes in one step.
The number of test methods in a test class is now displayed at result tree level of the tested development object. This enables
you to investigate where and how many test methods exist.
The number is displayed in total for each main program and test class in blue brackets.
ADT now displays the total execution time of a test run in the bar above the result tree for the tested development object.
This is custom documentation. For more information, please visit the SAP Help Portal 129
6/18/2019
You can run now different test runs in parallel. This makes it possible to trigger several test runs if another test run is already in
progress.
ADT will always overwrite the results of the last test run. Using the ABAP unit test history, you can now select and open the
relevant result.
Version 2.73
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver AS for ABAP 7.51 innovation package SP01 back end.
Note
The following features that are highlighted with an '*' are available for all ABAP systems supported by ADT.
The Element Info popup and Element Information view now provide a search input eld at the bottom. This enables you to
search for elements within the element info.
The relevant search results are then highlighted in the element info. To browse through the search results, you can use
shortcuts and icons.
For more information, see: Displaying Details in the Element Information Popup and the ABAP Element Info View
Browsing within the Element Info Popup and Element Information View*
You can now use shortcuts to browse in the history and the usages in the Element Info popup and Element Information view.
For more information, see: Displaying Details in the Element Information Popup and the ABAP Element Info View
Getting Support from the Content Assist when Editing AMDP Method Implementations
When editing AMDP method implementations in ABAP classes, the content assist now proposes datasources, columns, variable
declarations, and so on.
For more information, see: Using Code Completion for ABAP-Managed Database Procedures
In the breadcrumb bar of the ABAP source code editors, information about control structures is now provided. This helps you to
orientate within a processing block and to navigate to other branches of a control structure.
This is custom documentation. For more information, please visit the SAP Help Portal 130
6/18/2019
For more information, see: Getting Orientation in the Source Code Using Breadcrumbs
You can now execute an ABAP class that implements the if_oo_adt_classrun interface. This class enables you to display
any kind of text and/or content of internal tables in the Console view.
To launch an ABAP class, you have to add the if_oo_adt_classrun ABAP interface to its de nition and implement the
relevant main method. You can then perform Run As + ABAP Application (Console) from the context menu of the source
code editor. Alternatively you can choose F9 .
You use domains to de ne a value range. You can now create, edit, and delete domains in the integrated form-based editor of
your Eclipse-based IDE.
Help Contents
Providing "How to" Information for SE80 Experts who are Switching to ADT
If you are an SE80 expert who has started working with ADT, you will now nd the following information in the Help Contents:
Eclipse basics in the Getting Started chapter that describe the most relevant elements of the Eclipse UI in general.
FAQs in the Reference chapter that compare the "how to" information of the most relevant ABAP development activities
in environment SE80 and in ADT.
Eclipse Basics
This is custom documentation. For more information, please visit the SAP Help Portal 131
6/18/2019
Version 2.68
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver AS for ABAP 7.51 innovation package SP00 back end.
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
ABAP repository trees enable you to de ne your own selection of the development objects in the Project Browser. In addition,
they display for each level the number of containing objects and a short text.
Note
This functionality requires working on SAP NetWeaver AS for ABAP 7.51 innovation package SP00 that is connected with a
SAP HANA database.
So far, the Favorite Packages and the System Library with all development objects are displayed by default in the Project
Explorer.
Local Objects ($TMP) displays your local objects sorted in accordance to the user and object type.
System Library displays all development objects sorted in accordance to the corresponding ABAP package.
You can now specify the documentation status of a data element to de nes whether documentation has already been written or
whether it is still required.
The ABAP Source Search now also supports the IBM Db2 database type.
This is custom documentation. For more information, please visit the SAP Help Portal 132
6/18/2019
You can now open a development object directly from the position where it is displayed in the Element Info Popup.
Example of the context menu entry in the Element Info popup from where you can navigate to a development object
To do this, select the relevant usage in the Element Info Popup and open the context menu. Choose then Navigate.
For more information, look here Displaying Details in the Element Information Popup and the ABAP Element Info View
You, as a developer, can now check which APIs are released and stable for usage – and which are not. Consequently, customer
objects that only use released APIs do not need to be adapted after the next SAP NetWeaver support package or upgrade.
Released APIs
You can add formatting using code completion ( Ctrl + Space ). In addition, you can also use quick xes ( Ctrl + 1 ) to
adapt formatting to existing comments.
To perform both, position the cursor at the corresponding position or select the relevant text. Press then the shortcut and
choose the relevant formatting from the popup.
Now, you cannot only debug AMDPs with ABAP Development Tools (ADT). The integrated debugger that is part of the ADT client
installation, allows you also to debug the CDS table functions within the ABAP development IDE.
For more information, look here: Debugging AMDPs and CDS Table Functions
This is custom documentation. For more information, please visit the SAP Help Portal 133
6/18/2019
Creating and De ning ABAP Push Channel Applications
ABAP Development Tools now provides a form-based editor to create and edit APC applications. Using this editor you can
con gure an APC application that enables bi-directional communication with user agents through the integration of
WebSockets or TCP Sockets.
For more information, look here Working with ABAP Push Channels
Version 2.64
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver 7.5 SP04 back end.
Note
The features below that are highlighted with an '*' are available for all ABAP systems supported by ADT.
4.5 (Mars)
4.6 (Neon)
You can now navigate from the Element Information Popup of a usage to the Element Information Popup of another usage by
clicking its name. Note that the same functionality is also provided for the ABAP Element Info view.
Example of an Element Information popup from where you can open the corresponding information of another usage
For more information, look here Displaying Details in the Element Information Popup and the ABAP Element Info View
This is custom documentation. For more information, please visit the SAP Help Portal 134
6/18/2019
Overriding Methods from Superclasses*
You can generate the code snippet for the method rede nition and its implementation block in one step. To do this, position the
cursor between the CLASS implementation and the ENDCLASS statement. Then trigger the code completion. As a result, a list
with all methods that can be overridden is displayed. From here you can choose the relevant method.
List that displays the superclass methods that can be overridden, triggered by code completion
Note
The supercall is not added by default. You will have to add it to the method implementation block manually.
Adding ABAP Doc Comments for Methods Using The Quick Assist
In the de nition of an ABAP class, you can document a method. When using the <p class="shorttext synchronized">
tag, the short texts between the form-based Class Builder in the backend and the ADT source code editor are synchronized
automatically.
In the de nition of an ABAP class, you can now document a method by using the Add ABAP Doc quick assist. The <p
class="shorttext synchronized"> tag is then added in an ABAP Doc comment block. When activating, the short texts
will be synchronized with the back end.
This is custom documentation. For more information, please visit the SAP Help Portal 135
6/18/2019
Quick fix dialog box to add the ABAP Doc comment block for synchronizing with the back end
Version 2.60
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver 7.5 SP03 back end.
Note
The features below that are highlighted with an '*' are available for all ABAP systems supported by ADT.
Now you can con gure the syntax coloring preference for each single ABAP keyword or the sequence of several ABAP keywords,
for example, "call method", used within a statement. This enables you to highlight all relevant occurrences and to improve
readability when you skim through ABAP source code objects such as ABAP classes, interfaces, programs, and so on.
To proceed, open ABAP Development Editors Source Code Editors ABAP Keyword Colors preference page. From here you can
use a set of prede ned syntax coloring con gurations provided by SAP.
Note
To make these default con gurations visible in your ABAP source code, you also have to apply your preference.
For more information, look here Changing The Color of Individual ABAP Keywords
Now you can prede ne a background color to highlight the implementation of a method in the source code editor. Then,
between the METHOD and ENDMETHOD statement, the background color of a method body is displayed in the prede ned color.
To proceed, open the General Appearance Colors and Fonts preference page and expand the ABAP Syntax Coloring folders.
From here you edit the ABAP method block entry.
This is custom documentation. For more information, please visit the SAP Help Portal 136
6/18/2019
For more information, look here Changing the Font Color of Texts
Version 2.58
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver 7.5 SP02 back end.
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
On the rst page of the creation wizard for ABAP projects, is now a tabular overview displayed. Here, you can nd all system
connections that are con gured in the SAP Logon.
You can choose an existing system connection. Then, on the second page, all connection details are displayed. From here,
you can review or, if required, modify them.
You can con gure a new system connection for your ABAP project from scratch.
Version 2.54
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools the (ADT) client and the SAP NetWeaver 7.5 SP01 back end.
Note
The following features that are highlighted with an '*' are available for all ABAP systems supported by ADT.
When debugging ABAP code, you have now the option to specify a condition for an ABAP breakpoint. The condition is evaluated
at runtime whenever the source code position of the related breakpoint is reached. If the condition is ful lled, the debugger will
stop execution at the breakpoint.
From the toolbar, you can provide additional supplementary documentation for each data element in order to provide individual
program-speci c and dynpro-speci c eld help.
This is custom documentation. For more information, please visit the SAP Help Portal 137
6/18/2019
For more information, look here: Providing Supplementary Documentation
When using Ctrl + Shift + A , you can now de ne the following defaults for the search text eld:
To ll these defaults in the search text eld, de ne the following Search preferences:
Use as initial search pattern to enter a default search pattern in the input eld.
Use pattern from previous search to reuse the previously entered search string.
For more information, look here: Open ABAP Development Object Dialog
You can now indicate for which scenario (such as Unicode program (default) and ABAP for Key Users) the syntax rules and
language elements of ABAP programs and classes need to be checked.
For more information, look here De ning the ABAP Language Version of ABAP Programs and Classes
Version 2.51
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the current ABAP
Development Tools (ADT) client and the SAP NetWeaver 7.5 SP00 back end.
Note
The features listed below that are highlighted with an asterisk ('*') are available for all ABAP systems supported by ADT.
You can now access, create, edit, transport, and delete structures from the ABAP Dictionary. For this purpose, the source-based
editor is provided where you can work with structures in the same way as you are used to for ABAP classes, programs, and so
on.
Syntax highlighting
Code completion
Navigation
Where-used list
This is custom documentation. For more information, please visit the SAP Help Portal 138
6/18/2019
Automatic syntax check
You can now access, create, edit, transport, and delete data elements from the ABAP Dictionary. For this purpose, the form-
based editor is provided.
You can move a development object into another ABAP package in order, for example, to ship an ABAP class that was created in
your $TMP package using the productive ABAP source code.
To do this, select the object in the Project Browser and choose Change Package Assignment. Then de ne the new package.
For more information, look here Changing the ABAP Package Assignment
You can edit a class that consists of several subobjects, such as a public section, method implementation, or local class includes.
You can then assign each change made to a subobject to a transport request separately.
If you want to edit an ABAP class where the changes have already been assigned to a transport request by another user, the
Link Up of Transport Request dialog opens automatically:
Example of a dialog where you select the assignment of the transport request
For more information, look here Working with ABAP Classes Assigned to Multiple Transport Requests
This is custom documentation. For more information, please visit the SAP Help Portal 139
6/18/2019
Using Untyped Parameters in Function Modules
If you edit an existing function module with untyped parameters, the editor automatically adds the
##ADT_PARAMETER_UNTYPED pragma to the de nition. When you perform save, the parameter is kept untyped and
unchanged in the back end – that is, the system does not explicitly add TYPE ANY or TYPE STANDARD in transaction SE37.
You can specify whether you want to generate your own or the standard comment block before the REPORT statement.
You can now synchronize ABAP Doc from descriptions of the Class Builder using the source-code editor in ABAP Development
Tools (ADT) and vice versa.
You can now export source code documentation of ABAP classes and ABAP interfaces – for example, if you want to have a
backup for them for audits.
When you activate several development objects, the inactive objects are now automatically sorted according to the transport
requests to which the changes are assigned. As a result, the inactive objects are sorted upwards according to the names of the
transport tasks in the Activate inactive ABAP development objects dialog.
Example
You want to test an ABAP class that refers to a class of the same transport request that was modi ed by another user.
Deselect the Group object list by transport request checkbox if you only want to perform sort for the inactive objects.
In the General and Speci c tab of the Properties view, you can now display and change the properties of the following ABAP
development objects:
Classes
Interfaces
This is custom documentation. For more information, please visit the SAP Help Portal 140
6/18/2019
Function groups
Function modules
Programs
Includes
Type groups
Transformations (read-only)
When performing Ctrl+Shift+A, you can now limit the number of displayed entries by entering "<". Then, only the
development objects are displayed whose name ends on the value that you entered before the "<" character.
Example
To see all the development objects ending with "Test", use "*Test<"
For more information, look here Open ABAP Development Object Dialog
You can now create and edit simple transformations (ST) and XSL transformations in their own source-based XML editor. For
the creation function, you can use the corresponding templates.
Transformation Editor
You can display the system information of an ABAP project in the System tab of the Properties view. This enables you to nd
out, for example, whether the requirements for a certain functionality are supported.
For more information, look here: Displaying System Connection and Database Con guration
Refactoring Aids
Surrounding with TRY CATCH
You can surround the selected block of statements with a TRY CATCH statement in order to handle raised exception(s) as a
single or multiple TRY CATCH block.
This is custom documentation. For more information, please visit the SAP Help Portal 141
6/18/2019
You can add a local variable to the method signature. Its type refers to the raised exception of the calling method. In addition,
this local variable is added as an INTO clause to the already existing CATCH block. This enables you to handle the result of the
exception in order, for example, to display it in a message.
You can add a new CATCH block to an existing TRY CATCH statement. This enables you to handle another exception in an
existing TRY CATCH statement.
You can replace an existing MULTI CATCH block by individual CATCH blocks for each exception separately.
You can remove an entire TRY CATCH statement if you no longer want to handle the exceptions.
You can now generate the getter and/or setter method stubs from an attribute in the de nition of an ABAP class in the
implementation. In addition, the corresponding importing and/or returning parameter(s) are set.
Exception classes have special constructor methods. If they implement the interface IF_T100_MESSAGE, the signature and
the implementation have a special logic.
You can now regenerate their constructor if you have added or removed:
For more information, look here: Regenerating a Constructor for Exception Classes
Logpoints indicate to the ABAP runtime that an ABAP program is to execute a custom action at a certain point within the
program. Dynamic logpoints have been introduced in order to support logging in quality or productive systems where the source
code cannot be changed.
This is custom documentation. For more information, please visit the SAP Help Portal 142
6/18/2019
Using Dynamic Logpoints
You can now use the Condensed Hit List to nd top consumers with regard to procedure calls, such as methods, function
modules, subroutines, or other kinds of calls.
Aggregated Call Tree shows the trace events in aggregated form. In this case, the trace events are aggregated By Call Stack
and are displayed in a tree hierarchy.
For more information, look here: Analyzing Trace Events in the Aggregated Call Tree
ABAP Debugger
New Debug Settings
You can now use project-speci c debug settings to change the user for which ABAP breakpoints are in effect. In the special case
where several people are using the same user name and password (group users) the new option. This project only within the
project-speci c settings allows you to handle technical con icts during debugging.
ABAP Managed Database Procedures (AMDP) are a new feature in AS ABAP that enable developers to write database
procedures directly in ABAP. You can now debug AMDPs using ABAP Development Tools (ADT).
The integrated AMDP Debugger is used to debug the execution of DB procedures running on HANA DB and provides the
developer with the following activity options:
Setting breakpoints
Stepping
Version 2.48
This is custom documentation. For more information, please visit the SAP Help Portal 143
6/18/2019
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
4.4 (Luna)
4.5 (Mars)
Version 2.44
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
Note
The following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
When you perform code completion, you can now con gure the preferences to insert the full signature of a method, function
module, or form routine automatically.
Note
This functionality is not enabled by default. To use it, you need to select the Always insert full signature on completion option
in the Code Completion preferences.
When you perform code completion, you can now con gure the preferences to overwrite the existing keyword or identi er with
the selected proposal from the code completion list.
Note
This functionality is not enabled by default. To use it, you need to select the Completion overwrites radio button in the Code
Completion preferences.
This is custom documentation. For more information, please visit the SAP Help Portal 144
6/18/2019
Version 2.41
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
Note
The following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
You can open an executable object like an ABAP program in a new or in the same SAP GUI window. If you want to open it in the
same window, select the Open SAP GUI as separate window option on the SAP GUI Integration preference page. To do this,
choose the Window Preferences ABAP Development SAP GUI Integration menu.
Firstly, you can edit and merge versions of the same development objects in the Compare Editor.
This enables you to adopt individual or all changes, for example, from one system into another or from a previous version into
the inactive version of the object.
Secondly, if you use the new Alt Shift C shortcut, ADT automatically:
1. Evaluates the ABAP project that you selected previously for comparing code versions across ABAP projects.
For more information, look here Comparing Source Code and Comparing Across ABAP Projects (ABAP Systems)
BAdI de nitions are now displayed underneath their enhancement spots in the Project Explorer. This enables you to open, and
directly navigate to, the selected BAdI de nition in the SAP GUI.
ADT now provides help content for people with a physical disability, such as restricted mobility or limited vision, or those with
special needs to use its features successfully.
Refactoring Aids
This is custom documentation. For more information, please visit the SAP Help Portal 145
6/18/2019
Correcting Misspelled Variables
You can correct misspelled variables using a quick x if another variable with a similar name exists.
You can reuse existing interface members by adding the corresponding interface name and the '~' component selector.
You can generate and reuse an alias from a variable that points to the ~ component selector of an interface.
Version 2.36
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
If you open an ABAP include that is used in several main programs, the following dialog is opened that depends on where the
include is displayed in the node structure of the Project Explorer:
If the main program is not assigned to an include and the include is displayed directly beneath the Include node, the
dialog for selecting a main program is opened as follows:
If the include node is located beneath the Project Explorer, for example, a function group include, type group, program, in
the selection eld, the corresponding object is already preselected.
If you open the Properties view, the General tab and the Speci c tab are provided. In the Speci c tab your previous selection is
displayed. Here, you can also select a main program from the dropdown list.
Note
Now, the selection is valid until you close the include editor.
For more information, look here: Selecting a Main Program for Multiple-Use ABAP Includes
When you create an ABAP project from an existing system connection, the icon of the ABAP project in the Project Explorer is
displayed with a decorator. Because, the project is referencing a system connection in the SAP Logon Pad, a decorator is added
to the project icon . This decorator re ects the connection to the SAP Logon.
For more information, look here: Using a Prede ned System Connection from the SAP Logon
You create an ABAP project from an existing ABAP project in order to modify or reuse the existing system connection.
If you are, for example, working on an object in an ABAP project and debugging it at the same object in another project, you can
now directly jump between these projects. For jumping, open the object and select Open in Project from the context menu.
Refactoring Aids
Pull-up Members to Superclass
You can move member de nitions (for example, constants, attributes, methods, types, and events) from a subclass and to its
superclass.
This is custom documentation. For more information, please visit the SAP Help Portal 147
6/18/2019
For more information, look here Pull-up Members to Superclass
You can move member de nitions from a class and add them to the implemented interface. To avoid invalidation of existing
usages, aliases are declared.
Version 2.31
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
You can toggle between the inactive and active version of any source-based objects such as ABAP classes, function modules, or
programs. This functionality enables you to read the inactive version that is saved by another user and not available in your
working area.
For more information, look here: Switching between Inactive and Active Versions of a Source-based Object
From the context menu in the Project Browser, you can copy the hyperlink of a development object and paste it into an email or
any document. This enables you to create a hyperlink so that the receiver can open the ABAP source code of the development
object in a Web browser.
Note
Http links are available for the following development objects:
ABAP programs
ABAP includes
ABAP classes
ABAP interfaces
For more information, look here: Linking for Displaying ABAP Source Code in a Web Browser
This is custom documentation. For more information, please visit the SAP Help Portal 148
6/18/2019
Generating an Email for Sharing Hyperlinks to ABAP Source Code
You want to share a hyperlink to a development object or a part of ABAP source code through an email. To do this, you can now
select Email link in the Share Link dialog. A new email is then generated from your default email client where the hyperlink is
added.
For more information, look here where this functionality is provided for the following functions:
Typically, an include program is used by exactly one main program. If an include program is used in several main programs, you
need to select a speci c main program in order for the functionality to be executed.
You can now select a speci c main program for a multiple-use include program in the Properties view. Note that this selection is
valid until you close your Eclipse-based IDE.
Whenever a speci c functionality (for example, ABAP syntax check, navigation, and so on) is executed that requires a main
program, but none is selected, a dialog is opened. You then need to select a main program in the Properties view.
For more information, look here: Selecting a Main Program for Multiple-Use ABAP Includes
Element Info
In the Element Info view and Element Info popup, the following details are now displayed:
Texts that are provided for message classes and text elements
If a long text exists for any ABAP function module, a link to the corresponding documentation is provided:
You want to de ne the connection of your Eclipse-based IDE to an ABAP system directly without using the SAP Logon Pad. This
enables you to adopt certain properties like the connection type, message server, instance number, and so on.
This is custom documentation. For more information, please visit the SAP Help Portal 149
6/18/2019
The layout of the Quick Assist view is divided into the:
Proposal overview that displays the possible quick assists at the current cursor position in the source code.
Description per proposal that provides details about the operating steps of the quick assist that is selected in the
Proposal overview.
Previous Result that displays the changes performed by the recently applied quick assist.
From the toolbar, you can execute several operations like applying the selected proposal, disabling link with editor, clearing the
result history, and so on.
In the source code of an ABAP program, you can now also create a local ABAP class or interface directly from the name of the
missing class or interface. The creation of global classes is already possible.
For more information, look here: Creating ABAP Classes or ABAP Interfaces from Usage
Using a text symbol makes a development object translateable and easier to maintain.
In the source code editor, the following other quick assists are now provided for working with text symbols:
Creating a Text Symbol in the Text Pool to add new text symbols to the text pool
For more information, look here: Creating and Editing Text Symbols (Quick Assists)
ABAP Searches
Expansion of the Where-Used Functionalities
Now, in the Search view, the number of matches and the development objects that contain at least one match are displayed.
The matches themselves are structured according to ABAP packages, development objects, and the subobjects where the
actual matches are highlighted.
ABAP package(s)
Responsible user(s)
Code category
From the context menu of a selected development object or element, you can:
Where-Used Function
In the Search Filter input eld, you can now limit the search for the name of the responsible user provided in table TADIR, eld
AUTHOR.
This is custom documentation. For more information, please visit the SAP Help Portal 151
6/18/2019
For more information, look here: Searching ABAP Source Code
For more information, look here: Checking Quality of ABAP Code with ATC
Developers run the ATC checks to nd potential bugs already during the development and launching of ATC from their
IDE.
For more information, look here: Working with ATC During Development
During the transport release, the ATC implicit check run for all development objects that are included in the transport
request provides the rst Q Gate (quality gate).
For more information, look here: Working with ATC During Transport Release
3. Working with central ATC results from mass regression check runs that have been scheduled in a central quality
system
In the target quality system, the mass regression check runs are scheduled and serve as the nal Q Gate before the code
changes are released.
For more information, look here: Working with Central ATC Results
ATC tools integrate an exemption process for false positives in order to handle ndings that cannot be cleaned up. In a
separate process, the developer requests an exemption for a nding. The quality manager then approves or rejects the
request.
For more information, look here: Requesting Exemptions for ATC Findings
Version 2.28
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
It is now possible for you to manually de ne the connection of your Eclipse-based IDE to an ABAP system. This will enable you to
adopt certain properties like the connection type, message server, instance number, and so on. For this, no existing connection
from the SAP Logon Pad is required.
This is custom documentation. For more information, please visit the SAP Help Portal 152
6/18/2019
You can create an individual con guration in the following use cases:
You want to connect manually because you do not have con guration les that contain value helps. Otherwise, access
through the SAP Logon Pad would be more laborious.
Version 2.24
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
The breadcrumb functionality helps you to orientate yourself and navigate within the source code of a development object. It
provides you with the same structural information as the Outline view.
You can display the breadcrumbs bar in the source code editor of the following source code-based development objects:
ABAP classes
This is custom documentation. For more information, please visit the SAP Help Portal 153
6/18/2019
ABAP interfaces
ABAP programs
ABAP includes
Currently, in a source code-based object, the content assist function also proposes non-keywords such as element names or
type de nitions. This enables you to add the corresponding names or de nitions that are already used in this particular
development object. Note that only non-keywords that are already used in the same development object are proposed.
To activate this functionality, select: Window Preferences ABAP Development Editors Source Code Editors Typing Also
suggest non-keywords
Feature Explorer
Learning More About the Features of ABAP Development Tools*
The Feature Explorer is a new interactive view. It provides a tutorial for ABAP programmers who come from the classic ABAP
Workbench and now want to start working with ADT.
The tutorial is grouped into tours in accordance with the ADT features that are most relevant for your daily work. In addition, a
link to the corresponding help content is provided if you want to learn more about a particular feature. The Feature Explorer
thus makes it easier for you to get used to working with ABAP Development Tools.
Version 2.19
Here is an overview of the most signi cant changes in the context of ABAP core development that relate to the:
This is custom documentation. For more information, please visit the SAP Help Portal 154
6/18/2019
Back end: SAP NetWeaver 7.4 SP5
In the message class editor, you can display the long text of a message that was added through the back end in an ABAP
project. For this purpose, select the Preview button in the toolbar.
Note
This function is also available in SAP NetWeaver 7.3 EHP1 SP10.
Refactoring Aids
Declaring Variables from Usage
This is custom documentation. For more information, please visit the SAP Help Portal 155
6/18/2019
More on this: Declaring Variables from Usage
Converting local inline declarations of one or several variables into explicit declarations
Creating a new importing parameter for the current method with the literal as default value. This parameter is used instead of
the literal.
Declaring a new variable and assigning the result of a statement to this variable
Moving an expression to a new method and replace it with the call of a new method
Adding an exception to the method signature based on an existing RAISE EXCEPTION statement in the method
implementation
Creating an ABAP function module from the name of the missing repository object. For this purpose, the corresponding creation
wizard is opened.
This is custom documentation. For more information, please visit the SAP Help Portal 156
6/18/2019
Creating ABAP Includes from Usage
Creating an ABAP include from the name of the missing repository object. For this purpose, the corresponding creation wizard is
opened.
Creating an empty static class constructor method in the public section of the current ABAP class
Creating a instance method in the public section of the current ABAP class.
Note
If the class has attributes, a dialog is opened where you can select the attributes that should be instantiated.
Creating a static create method in the public section of the current ABAP class
Note
If the class has attributes, a dialog is opened where you can select the attributes that should be instantiated.
The SAP HANA-based ABAP Source Search enables you to nd text that is developed in source-based repository objects (like
classes, programs, function pools) of an ABAP project.
Note
In order to enable the ABAP code search functionality, your ABAP system must use a SAP HANA database.
This is custom documentation. For more information, please visit the SAP Help Portal 157
6/18/2019
In the source code editor of an ABAP class, ABAP program, or an ABAP function group, you can display the source code plug-ins
of the available enhancement implementations in the enhancement popup. If there are several enhancement implementation
elements available, the hierarchy of the source code plug-ins is displayed in addition.
Source code plug-in marker that highlights an enhancement option in the ruler of the source code editor
Example
The following enhancement popup is displayed if one source code plug-in is added at an enhancement option:
When debugging ABAP code, you can use watchpoints to track the value of individual ABAP variables. The ABAP debugger stops
as soon as the value of a watched variable has changed. Furthermore, you can specify conditions for watchpoints. The debugger
then additionally checks whether this condition is ful lled.
The tables view of the ABAP Debugger has been enhanced to support changing, deleting, and inserting rows in internal tables.
Version 2.13
Here is an overview of the most signi cant changes in the context of ABAP core development scenario that relate to the:
Back end: SAP NetWeaver 7.3 EHP1 SP4 vs. SP7 and SAP NetWeaver 7.4 SP00 vs. SP03
This is custom documentation. For more information, please visit the SAP Help Portal 158
6/18/2019
Note
Following features that are highlighted with a '*' are available for all ABAP systems supported by ADT.
Now, the ABAP source code editor automatically checks the syntax of a development object you are currently working on.
Note
The automatic syntax check is activated in the preferences by default.
Now, the ABAP source code editor automatically triggers the code completion if you enter one of the following component
selectors: -, ~, -> , =>
Note
The automatic code completion is activated in the preferences by default.
For registering a developer and manual changes to SAP objects like database procedure proxies, SAP HANA transport
container, external views, Core Date Services (CDS) entities in an ABAP system an access key is required.
Refactoring Aids
Converting local variables to attributes
Moving a de nition of a local variable, type or constant to the private section of the current class. This enables you, to make the
variables available for all methods within an ABAP class. More on this: Converting Locals to Class Members
Converting inline declarations of one or several variables to a local variable in the corresponding method de nition.More on this:
Declaring Variables from Usage
Moving a member de nition between the public, protected and private section to change its visibility in your source code. More
on this: Changing Visibility of Members
This is custom documentation. For more information, please visit the SAP Help Portal 159
6/18/2019
Extracting constants
In the source code editor, you can now substitute literals with constants in order to:
Create a local constant from a literal to make it available in a certain method. The corresponding literals are replaced
with the added constant.
Create a member constant by extracting a constant to make it available for all methods of an ABAP class. The
corresponding literals are replaced with the added constant.
Reuse an existing constant that has already been declared for the same value.
Extracting variables
In the source code editor, you can substitute literals with variables in order to:
Create and extract a local variable from a literal to make it available in a certain method. The corresponding literals are
replaced with the added variable.
Create and extract an attribute from a variable to make it available for all methods of an ABAP class. The corresponding
literals are replaced with the new attribute.
Generating the implementation part of a method from an existing declaration in the de nition part of an ABAP class
Generating the declaration of a method directly out of the implementation part of the corresponding method of an ABAP class
In an ABAP class, generating the implementation part of methods that are de ned in an ABAP interface as well as method
stubs of other unimplemented methods More on this: Creating Implementation Parts for Unimplemented Methods
Note
In SAP NetWeaver 7.0 EHP3 / 7.31, you can only create the implementations for unimplemented interface methods.
In SAP NetWeaver 7.4 and subsequent releases, you can only create the method implementations in certain situations.
In an ABAP class, generating the missing method de nition and implementation part from the method call
This is custom documentation. For more information, please visit the SAP Help Portal 160
6/18/2019
Creating classes or interfaces from the source code
In the source code of an ABAP program, triggering the creation of a global ABAP class or interface directly from the usage of
the missing class or interface
Now, the Transport Organizer view is integrated with the basic functions of the SAP GUI-based Transport Organizer. For each
system node, it provides access to the complete object list of the logged-on user. This allows you, to perform the basic
developer operations such as running consistency checks or releasing transport requests and tasks.
Example of a folder structure in the transport organzier view that represents two transport requests
ABAP Doc
Documenting ABAP source code
ABAP doc comments are additional information that can be added or imported to ABAP classes, ABAP interfaces, ABAP
programs, or ABAP function groups. ABAP doc comments are added with ''! in the ABAP source code and can be rendered in the
ABAP element info view or in a tooltip.
This is custom documentation. For more information, please visit the SAP Help Portal 161
6/18/2019
Analyzing call sequence with the Call Timeline tool
The ABAP Pro ler comes along with a Call Timeline tool, which visualizes the trace events and time consumed in form of a
diagram. In general, the appearance of the trace events in this graphical tool corresponds to those in the Call Tree tool. The
horizontal of the diagram displays the temporal sequence of each trace event measured, whereas the horizontal represents the
call depth within a call hierarchy. In contrast to the Call Tree, the trace events however are represented not as discrete tree
nodes, but as a continuous sequence. The advantage of the new tool is the graphical representation and a quick detection of
eye-catching patterns.
The ABAP Pro ler provides you with a further analysis feature, which is especially relevant for central or framework
components. Starting from the Hit List, you can Display All Executions of a performance hotspot in the list. The resulting view
displays more details for each individual trace event execution. The new property Stack Id allows you to analyze the executions
in relation to their call stack. Furthermore, the context menu action Show Stack Aggregation allows you nd out how, for each
individual stack, the trace event executions are distributed.
This is custom documentation. For more information, please visit the SAP Help Portal 162
6/18/2019
Whenever the database portion of the overall runtime distribution is (unexpected) high, you may want to nd out, which
database accesses cause it to happen. The Database Accesses tool allows you to identify and analyze the top consumers during
the database accesses. It provides you with a list of tables that are used when running the application in question. In addition,
detailed information for each database access (such as, access type, buffer settings, duration of table accesses) is provided.
The Variables view of the Debugger now allows you to open an ABAP Exception view to analyze details of a selected ABAP
exception object.
This is custom documentation. For more information, please visit the SAP Help Portal 163
6/18/2019
This is custom documentation. For more information, please visit the SAP Help Portal 164