0% found this document useful (0 votes)
56 views51 pages

ABAP Development Tools Features

Uploaded by

Jamila Hamdi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views51 pages

ABAP Development Tools Features

Uploaded by

Jamila Hamdi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

ABAP Development Tools

features
Table of Contents

Table of Contents 2

Overview 3

The benefits of using abap development tools 4

Features of ABAP development tools 5


1. Perspectives 6
2. ABAP Repository Objects 9
3. Transporting 10
4. Delivery Units 14
5. Working together 16
6. ATC Quality Checking 17
7. Pretty printer / Source code formatting 20
8. Version history 20
9. Templates 21
10. Code Element Information 21
11. Navigating source code 24
12. Searching development object 25
13. Embedded SAP GUI 25
14. Shortcuts 26
15. Search and Where-Used 27
16. Refactoring 29
17. ABAP profiler 30
18. Plan visualizer 32
19. ABAP Unit Test & Code coverage 33

2
20. Help 33
21. ABAP Perspectives views 34
22. Modeler perspective 35
23. Web 35
24. Web services 36
25. Mobile 37
26. Feed reader 38
27. Task managment 39
28. Debugger 40
29. Accessibility Features 42
30. Unit Testing 42
31. Relation Explorer 44
32. Eclipse extensions / add-ons 47
33. Outline View 47

Features Top 10 50

Smaller features, but pratical 50

Conclusion 51

3
Overview
ABAP Development Tools (ADT) is the Eclipse-based development
environment for ABAP. They are characterized by the same look and feel and
the same navigation behavior that is typical for the Eclipse Workbench. Some
examples of such native Eclipse tools are different variants of ABAP Source
Code editors, editors for ABAP Dictionary objects, CDS editors, the
integration in Outline, and Tasks, Problems, Project Explorer, ABAP Unit
views.

ABAP development tools are the integrated development environment (IDE)


for ABAP development on the open Eclipse platform. It enables SAP
developers to do the following:

● Build, extend, and run ABAP applications on SAP Business


Technology Platform (BTP) to extend SAP products.
● Access SAP BTP services such as integration, machine learning,
streaming, and Internet of Things (IoT).

The benefits of using abap development tools


ADT offers superior open and extensible ABAP toolset for the whole
development lifecycle, which enables us to develop with high productivity:
powerful source code editor with fast search and navigation, Quick Fixes and
Quick Assists, refactoring support, test-driven development with ABAP Units
and ABAP Test Doubles, integrated quality assurance and troubleshooting
tools, version management and lifecycle management tools which help to
transport the code through the system landscape. In some development
projects, we may also get in touch with the classic SAPGUI-based ABAP
Workbench.

4
Features of ABAP development tools
From the very first versions the ABAP Development Tools in Eclipse already
had a rich set of features for the efficient ABAP development but there was
still some room for improvement.

This summary highlights some features of ADT.

5
1. Perspectives

Just like any other perspectives in Eclipse, the ABAP perspectives define 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 specific 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.

In order to switch to the ABAP perspective:

● select Window > Perspective > Other Perspective > Other.

You can open the ABAP perspective from the toolbar:

6
⬆️.
This is a dialog to open the ABAP perspective

To set a perspective and all views back to default, choose Window >
Perspective> Reset> Perspective from the menu bar.

To store a perspective, choose Window> Perspective> Save Perspective from


the menu bar and select the relevant folder on your drive.

➔ The result :

7
In the ABAP Perspective, the ABAP tools are ideally positioned in the IDE to
facilitate your development tasks. Nevertheless you are free to rearrange all
views and editors to your personal needs.

8
Example of the screen when editing an ABAP class with ADT:

2. ABAP Repository Objects

Repository objects are development objects such as ABAP programs, classes,


or CDS objects. They are edited using ABAP Workbench tools or using ABAP
Development Tools (ADT). Each repository object is assigned to a package
and hence to the Change and Transport System.

9
3. Transporting

Transport Requests (TRs) is a kind of ‘Container / Collection’ of


changes that are made in the development system. It also records the
information regarding the type of change, the purpose of transport,
request category and the target system. It is also known as Change
Requests.

Each TR contains one or more change jobs, also known as change


Tasks (minimum unit of transportable change). Tasks are stored inside
a TR, just like multiple files are stored in some folder. TR can be
released only once all the tasks inside a TR are completed, released or
deleted.

10
Only creation, selection and overview.

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

11
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 the
Request Editor is opened in ADT.

Transport Organizer View:

Transport Organizer View.

12
The Transport Organizer view displays for each ABAP project the following
columns:

Transport Organizer view allows you to perform few of the common actions
irrespective of the level using the context menu option:

● Copy
● Copy Request Number
● Refresh
● Run as..

Workbench Request: Contains repository objects and also ‘cross-client‘


customizing objects. These requests are responsible for making changes in
the ABAP workbench objects.

Customizing Request: Contains objects that belong to ‘client-specific‘


customizing. As per client settings, these requests are automatically recorded

13
as per when users perform customizing settings and a target system is
automatically assigned as per the transport layer (if defined).

4. Delivery Units

In SAP HANA system, Delivery Units are used to transport repository objects
between different HANA systems and is used by Lifecycle Manager LCM.

To create a Delivery unit, you have to navigate to SAP HANA Modeler


Perspective → Delivery Unit.

In SAP HANA, the Delivery unit (DU) is the vehicle that SAP HANA application
lifecycle management uses to ship one or more software components from
SAP (or a partner) to a customer.

Delivery Units correspond to an "application" with versions, for which


support packages and patches are delivered. Delivery units are not an
equivalent to development classes; they are similar to Software Component
Versions in the Product Availability Matrix (PAM). You can also use the
delivery unit to transport repository content between SAP HANA systems, for
example, between development systems or between development and
productive systems.

A delivery unit is identified by the following key properties:

● Vendor: Used primarily to define the identity of the company


producing the software component to deliver, for example, "sap".
However, vendor can also be used to specify any customer
implementing SAP HANA. To create a delivery unit, it is a prerequisite
to maintain a vendor in your system.
● Name: Used to identify the software component to be delivered

14
Although a vendor might provide multiple versions of a delivery unit in
parallel, only one version of a delivery unit can be installed in a HANA system
at any one time. In addition, duplicate names are not allowed for delivery
units.

SAP HANA treats delivery units and their versions as software components
and software-component versions. Software components and
software-component versions are usually shipped as part of a product
(product version).

15
5. Working together

Use Case: Sharing and opening an ADT link to a development object


with/from another ABAP developer.

16
Description: Generate, for example, an ADT link to share a development with
another ABAP developer of your team. To do this, choose Share Link from
the context menu of a development object.

You can open an ADT link by choosing Navigate + Open ADT Link from the
menu bar or with Ctrl + Alt + O .

6. ATC Quality Checking

The ABAP Test Cockpit (ATC) is the main ABAP tool for quality assurance.

Using the ATC, you can check your ABAP development objects 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):

17
● Local quality check of your ABAP development objects directly in your
development environment, starting from Project Explorer or the ABAP
source editor
● Display of ATC findings, finding-specific details, and help directly in the
ATC Problems view
● Notification of high-priority ATC findings 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 specific ATC Result
Browser view
● Tool integration for handling exemptions for ATC findings.

More Details on the ATC:

The ATC reports problems as findings, messages that describe the problem.
Findings have a priority, where by errors and warnings usually indicate a
serious problem that needs to be corrected quickly. All findings offer
context-sensitive help, which includes details of each finding that may not
appear in the finding messages themselves.

In ADT, you can use the ATC to check your development objects as you work,
directly from the Project Explorer or the ABAP source editor. In this case,
the findings are for your own use.

Your quality manager can use the ATC to run central "official" quality checks,
usually in your integration or consolidation system. You can see your errors
and warnings from the active central ATC runs with an ABAP feed.

You usually need to clear central ATC findings by correcting your objects with
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 finding, you can

18
request an ATC exemption that has to be approved by the quality manager.
An exemption suppresses an ATC finding either temporarily or permanently.

The ATC Result Browser view is provided for requesting exemptions and for
working with the complete set of ATC findings in central ATC runs. Quality
managers can set up the ATC so that findings 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.

Example of Syntax highlighting:

19
7. Pretty printer / Source code formatting

8. Version history

20
9. Templates

10. Code Element Information

The Element Information popup provides all information about a


selected element and its relation to other development object(s).

Definition:

An element can be a ...

● development object,
● subobject of a development object (for example, a method),
● subobject of a subobject (for example, methods in test classes),
● and so on.

Each element has a name and a type and may have further properties.

21
Each subelement has a parent element. Elements may be related to
other elements.

An element may have a short text and/or a long text.

Overview:

The Element Information popup is available for the following object


types and their subobjects:

● ABAP Dictionary (domains, data elements, structures, database


tables, table types)
● Core Data Services (CDS views, behavior definitions)
● Source Code Library (ABAP classes, interfaces)
● Other objects (ABAP packages, function modules, messages, and
so on)

The content that is displayed depends on the object type for which you
display it.

Examples:

22
23
11. Navigating source code

24
12. Searching development object

13. Embedded SAP GUI

25
14. Shortcuts

26
15. Search and Where-Used

In addition to the Eclipse search functionalities, you can also investigate


findings and usages in the context of ABAP development in your ABAP
projects.

In ADT, you have the following additional search possibilities:

● Searching for development objects: To find ABAP development


objects on base of the object name using Ctrl + H .
● Searching for usages ( Where-Used): To find development objects
and their subobjects using Ctrl + Shift + G .
● Searching for ABAP source code: To find a term or text that is used
within an ABAP project using Ctrl + H .
● Opening or searching development objects: To open a
development object using the Open ABAP Development Object
dialog with Ctrl + Shift + A from any tree in the Project Explorer or in
the ABAP source code editor.
● Navigating to a development from its occurrence: To navigate
to a development object from its element name that is used in the
source code or displayed in the Element Information popup using F3.

Example:

27
Sample for the structure of structure an Element Information popup

In this Element Information popup, you can find the following information:

● Element/subobject
● List with the subelements
● Short text with link to the long text
● List with the parameters
● Integrated toolbar

28
16. Refactoring

Developers often need to restructure source code to make it easy to


understand, to extend it, and also make it operate more efficiently. But the
ripple effects of restructuring can lead to broken dependencies. Refactoring
eliminates the need for the tedious editing that is otherwise necessary to fix
such breaks.

Renaming source code entities, method extraction and unused variable


deletion are forms of refactoring. Here are some other refactoring options:

● Aided conversion of local variables to make them components of a class,


and therefore available for all methods of the class. This could be extracting
constants to substitute literals with a constant or extracting variables to
substitute literals (note that this function is only available in SAP NetWeaver
7.40 or higher).

● Changing visibility of components, by moving component definitions


between the public, protected and private sections.

● Implementation of unimplemented methods.

29
Example:

Creating new method really fast using CTRL + 1

- Type your method call & parameters

- Press CTRL + 1

- Wizard

17. ABAP profiler

ABAP Profiling

ABAP profiling lets you analyze the runtime behavior of an ABAP program.

ABAP Trace

The ABAP Trace has been integrated into ABAP Developer Tools (ADT).

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 flow, which can be useful

30
when you are trying to understand a problem or learn about code you must
analyze or maintain.

ABAP Cross Trace:

Use: The ABAP Cross Trace ...

● Is designed for ABAP developers who build OData Services or other


ABAP functionality related to the ABAP RESTful Application
Programming Model (RAP).
● Provides insights into the RAP runtime framework. This includes the
processing of OData requests, for example, in SAP Fiori applications.
● Includes functionality which is similar to the payload trace of SAP
Gateway trace in SAP GUI. However, it does not include a replay
functionality for OData requests.

The ABAP Cross Trace has been integrated into ABAP Developer Tools (ADT).

Tracing Sensitive Data:

To trace potentially sensitive data, you need the authorization object


S_XTRACE with the appropriate configuration. However, tracing of potentially
sensitive data can also be restricted through an authorization configuration
or deactivated by the user.

The ABAP Cross Trace differentiates between sensitive data (for example
financial data, personal data, or business data) and non-sensitive data. The
transferred data might contain sensitive data. Consequently, a user needs
specific authorizations to trace or view sensitive data.

Tracing Scope

31
Components are used to configure the framework layers to be traced, for
example, SAP Gateway. Components can have sub-components for more
detailed classification.

A trace record contains information about the component from which it


results. A trace record is written for a certain trace level.

18. Plan visualizer

19. ABAP Unit Test & Code coverage

32
20. Help

All in the same screen.

33
21. ABAP Perspectives views

22. Modeler perspective

34
23. Web

24. Web services

35
36
25. Mobile

26. Feed reader

37
A feed reader enables you to automatically subscripe and display feeds.

Use:

In ABAP Development Tools (ADT), use the Feeds view to display and read
feeds from ABAP Repository or other native feeds. You can also add or delete
a feed.

By default, runtime errors and system messages are displayed in the Feeds
view. In addition, feeds from other components, such as SAP Gateway can be
displayed here.

Overview:

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.

Once you have subscribed to a feed, ADT refreshs it 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.

38
- Syntax errors

- ST22, SM12, SM13,…

- System messages

27. Task managment

Task management:

• No separate to do lists

• No to do’s in comment anymore in the code

• Integration with code: click on task, all relevant screens (context) opens

• Integration with tools: Scrum, Jira,…

• Bugzilla, Mantis,…

• Auto time tracking per task

39
28. Debugger

The Debug perspective allows you to manage the debugging of ABAP


development objects.

When ABAP encounters an active breakpoint, ABAP Development Tools (ADT)


opens the Debug perspective. The Debug perspective may automatically
start, or you may be asked to confirm the start.

The Debug perspective provides you the following information:

● The navigation toolbar 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.

40
● Variables and Breakpoints on different tabs.
● Double-clicking 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.

41
29. Accessibility Features

Accessibility at SAP refers to the possibility for everyone, including and


especially people with disabilities, to access and use technology and
information products.

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 specific window configurations and Eclipse preferences to
adjust font size or contrast of text to the background. So, you can
improve readability.
30. Unit Testing

ABAP Unit is a unit-testing framework that is integrated into the ABAP


language.

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

42
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.
● 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 find
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.
● ABAP Unit tests cannot be executed in productively used ABAP
systems.

43
31. Relation Explorer

The Relation Explorer helps you to understand how the objects are related
to each other.

In general, ABAP repository objects are related to each other in many ways.
The objects, together with their relations, build networks. For any object, the
Relation Explorer determines related objects and displays them as a tree.
The object you start with is called entry object.

Depending on the kind of relations you're interested in, this might only be a
subset of the related objects. By selecting a certain context, you can
concentrate on one of those subsets.

In the following example, class CL_RE_CAR is used as an entry object, which is


displayed in the context Used Objects. As a result, you can see related
objects that are used by the entry object.

44
Additionally, you might be interested in objects that use the entry object.
Therefore, switch to the Using Objects context.

45
Contexts:

The following contexts are available in the Relation Explorer:

46
32. Eclipse extensions / add-ons

• Easy integration

• Custom plugins e.g. code sharing (cf. demo jam)

• Write your own plugin

• Will keep on growing & evolving

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

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

Display of an internal structure of an ABAP class in the Outline view

When you select one of the structural elements, the cursor navigates to
its relevant source code position. In addition, you can also filter the
display in order to hide:

● All non-public members of ABAP classes


● All members that are not methods, such as attributes, data types,
and events

48
Synchronized navigation from the Outline view to an element

The Outline view is opened in the ABAP perspective by default.

Advantages of Using the Outline View:

The Outline view supports you by providing the following advantages:

● 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 filter 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.

49
Features Top 10

• One integrated IDE for all types of development

• Split view + View & edit more than one SAP object at the same time
(no multiple sessions)

• Instant syntax check

• Code completion

• Feed reader

• Plugins

• Fully personalizable

• Templates

• Search functionality

• Task management

Smaller features, but pratical

• Refactoring capabilities

• Last edit location

• No display / change button anymore

• Outline always available

• Code coverage check

50
• Full navigation historys

Conclusion
• All in one (ABAP, Web, HANA/Database/DDIC, Web services,…) & split
view working parallel

• Still some bugs (e.g. request to register Z-object – access key - on


deletion)

• Direct web browser integration (e.g. for web testing, SCN, object
registration,…)

• Working offline – development shift

• Integration on the way for a lot of SAP ABAP objects (now switch to
SAP GUI)

• Working with text code is faster than completing dialog forms

• Not a lot of graphical development at the moment (e.g. se24 class


builder), if you would still like to work that way.

51

You might also like