Show TOC

Version 2.51Locate this document in the navigation structure

Here is an overview of the most significant 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 backend.

Note The features listed below that are highlighted with an asterisk ('*') are available for all ABAP systems supported by ADT.
Working with Classic Objects in ABAP Dictionary

Creating and Editing Structures in the Source-Based Editor

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.

You have, for example, the following functionalities at your disposal:

  • Syntax highlighting
  • Code completion
  • Navigation
  • Where-used list
  • Code element info
  • Automatic syntax check
  • Context-sensitive ABAP keyword documentation

For more information, look here:

Creating and Editing Data Elements in the Form-Based Editor

You can now access, create, edit, transport, and delete data elements from the ABAP Dictionary. For this purpose, the form-based editor is provided.

For more information, look here

Working with ABAP Development Objects

Changing the ABAP Package Assignment

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 define the new package.

For more information, look here Changing the ABAP Package Assignment

Working with ABAP Classes Assigned to Multiple Transport Requests

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
Figure 1: Example of a dialog where you select the assignment of the transport request

Here you can assign your changes to different transport requests.

For more information, look here Working with ABAP Classes Assigned to Multiple Transport Requests

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

For more information, look here Definition Part

Defining Templates for ABAP Programs

You can specify whether you want to generate your own or the standard comment block before the REPORT statement.

For more information, look here:

Editing ABAP Source Code

Synchronizing ABAP Doc Comments

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.

For more information, look here: Synchronizing ABAP Doc Comments

Exporting ABAP Doc Comments

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.

For more information, look here Exporting ABAP Doc Comments

Grouping Inactive Objects for Mass Activation by Transports Requests

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 modified by another user.

Deselect the Group object list by transport request checkbox if you only want to perform sort for the inactive objects.

For more information, look here Activating Development Objects

Displaying and Changing Object-Specific Properties

In the General and Specific tab of the Properties view, you can now display and change the properties of the following ABAP development objects:

  • Classes
  • Interfaces
  • Function groups
  • Function modules
  • Programs
  • Includes
  • Type groups
  • Transformations (read-only)

For more information, look here Displaying Properties of Development Objects

Navigating to Development Objects Using Ctrl+Shift+A*

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

Working with Transformations

Creating and Editing Simple Transformation Programs

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.

For more information, look here:

Working with ABAP Projects

Displaying System Connection and Database Configuration

You can display the system information of an ABAP project in the System tab of the Properties view. This enables you to find out, for example, whether the requirements for a certain functionality are supported.

For more information, look here: Displaying System Connection and Database Configuration

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.

For more information, look here Surrounding with TRY CATCH

Extracting a Catch Variable

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.

For more information, look here Extracting a Catch Variable

Extending a TRY CATCH Statement

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.

For more information, look here Extending a TRY CATCH Statement

Splitting a MULTI CATCH Block

You can replace an existing MULTI CATCH block by individual CATCH blocks for each exception separately.

For more information, look here Splitting a MULTI CATCH Block

Removing a TRY CATCH Statement

You can remove an entire TRY CATCH statement if you no longer want to handle the exceptions.

For more information, look here Removing a TRY CATCH Statement

Generating Getters and Setters

You can now generate the getter and/or setter method stubs from an attribute in the definition of an ABAP class in the implementation. In addition, the corresponding importing and/or returning parameter(s) are set.

For more information, look here Generating Getters and Setters

Regenerating a Constructor for Exception Classes

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:

  • the interface IF_T100_MESSAGE, or
  • public or protected attributes.

For more information, look here: Regenerating a Constructor for Exception Classes

Dynamic Logpoints in ABAP

Working with Dynamic Logpoints

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.

For more information, look here:

Dynamic Logpoints in ABAP

Using Dynamic Logpoints

Additional Analysis Tools in the ABAP Profiler

Condensed Hit List

You can now use the Condensed Hit List to find top consumers with regard to procedure calls, such as methods, function modules, subroutines, or other kinds of calls.

For more information, look here:

Finding Top Consumers Using the Condensed Hit List

Understanding ABAP Profiler Settings

Aggregated Call Tree

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-specific 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-specific settings allows you to handle technical conflicts during debugging.

For more information, look here:

Setting ABAP Project-Specific Debug Settings

Debugging Support for ABAP Managed Database Procedures (AMDP)

AMDP Debugger

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:
  • (De-)Activation of the AMDP debugger
  • Setting breakpoints
  • Stepping
  • Viewing variables and table contents