---
title: An Introduction to ABAP Development Tools
description: Become acquainted with ABAP Development Tools (ABAP in Eclipse)! Learn how to create a project and class with the latest in agile ABAP development.
image: https://blog.sap-press.com/hubfs/An%20Introduction%20to%20ABAP%20Development%20Tools.png
---

[![rheinwerk-sappress-logo-header-1](https://blog.sap-press.com/hubfs/rheinwerk-sappress-logo-header-1.svg)](https://blog.sap-press.com/) [Blog](https://blog.sap-press.com)

- Books 
    - Get an overview of our books and courses on every relevant SAP topic. 
          - [Programming](https://sap-press.com/programming/)
          - [Administration](https://sap-press.com/administration/)
          - [BI](https://sap-press.com/business-intelligence/)
          - [Finance](https://sap-press.com/finance-controlling/)
          - [Logistics](https://sap-press.com/logistics/)
          - [HR](https://sap-press.com/human-resources/)
          - [CRM & Sales](https://sap-press.com/marketing-sales/)
          - [HANA](https://sap-press.com/hana/)
          - [Introductions](https://sap-press.com/introductions/)
          - [E-Bites](https://sap-press.com/e-bites/)
          - [Certification Guides](https://www.sap-press.com/certification-guides/)
          - [Rheinwerk Courses](https://www.sap-press.com/online-courses/)
- Book Subscription 
    - Get unlimited access to all SAP PRESS books! 
          - [SAP PRESS Subscription](https://sap-press.com/subscriptions/)

[Programming](https://blog.sap-press.com/tag/programming)

# An Introduction to ABAP Development Tools

![SAP PRESS](https://blog.sap-press.com/hubfs/Twitter_profile_pic.svg)  by [SAP PRESS](https://blog.sap-press.com/author/sap-press)

With the introduction of agile ABAP development, ABAP Development Tools has quickly become a popular and easy tool to use when [programming with ABAP](https://learning.sap-press.com/abap).

 

In the past, most likely, the **Object Navigator** (Transaction SE80) has served you just as faithfully as it has served other developers for many years. The Object Navigator is not only a stable development environment, but also one to which you have become accustomed, not least because of its form-based clarity.

 

However, the triumph of agile development has not left the Object Navigator unscathed. Although it can still keep up well with regard to ABAP Unit, it has been left behind for quite some time in terms of refactoring. What’s taken its place? ABAP Development Tools, formerly known as ABAP in Eclipse.

 

Let’s explore some beginning steps to take.

 

## Creating a Project

With ABAP Development Tools, you can only develop a class within an ABAP project. The easiest way is to create an ABAP project based on a system connection that already exists in your SAP logon. More details on alternatives can be found in the help under **Tasks** > **Fundamental Tasks and Tools >** **Working with ABAP Projects**.

 

To create a new ABAP project, proceed as follows:

- Start the creation of a new project using the menu path **File >** **New >** **ABAP Project**.
- From the SAP logon entries displayed, select your development system and confirm it with **Next**.
- Then you log on to the system as usual.

## Creating a Product Class

If your product class (class for short) already exists, open it in ABAP Development Tools with the key combination (Ctrl)+(Shift)+(A). Just type a regular expression like "\*CL\*PROC\*CH\*CHECK\*" into the **Search** field and select the class from the automatically generated list.

 

If your class does not yet exist, create it using the menu path **File** > **New >** **ABAP Class**. If your class is a subclass, you can specify the superclass at the same time. ABAP Development Tools then extends the definition accordingly.

 

ABAP Development Tools creates the local test include for your class automatically. You access this test include from the **Test Classes** tab below the ABAP source code editor window. If required, you can return to the definition and implementation of your class on the adjacent **Global Class** tab.

 

You can write your test class in the test include. Alternatively, you can first create a code template for test classes that you can reuse for other test classes in this and other test includes.

 

A *code template* is a code pattern that you can edit. If you enter a short name in the editor and the key combination (Ctrl)+(Space) for calling the code completion, the code template is offered to you for transfer into the source code. Alternatively, you can drag this code template from the **Templates** view and drop it into the editor window (see below).

 

The following steps are necessary to create a code template:

1. Follow the menu path **Window >** **Preferences >** **ABAP Development >** **Editors >** **Source Code Editors >** **ABAP Templates**, and click the **New** button.
2. For example, enter the short name “ltc” in the **Name** field and the description “Local Test Class” in the **Description** field.
3. Enter the text from the listing below in the **Pattern** field and click the **OK** button.

![ABAP Screen Template View](https://blog.sap-press.com/hs-fs/hubfs/27_002_screen_template_view.jpg?width=791&name=27_002_screen_template_view.jpg)

 

The following listing contains the following ABAP Development Tools variables:

- **${enclosing\_object}:** Name of the product class
- **${cursor}:** Position of the cursor after all variables have been replaced
- **${mut}:** Name of the test class
- **${cut\_ref}:** Reference of the object to be tested
- **${cut\_type}:** Type of the object to be tested

 

CLASS ${ltc} DEFINITION FINAL

  FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.

     PRIVATE SECTION

       METHODS setup.

       METHODS setup\_ok FOR TESTING.

 

            DATA ${cut\_ref} TYPE REF TO ${cut\_type}.

     ENDCLASS.

 

     CLASS ${ltc} IMPLEMENTATION.

     METHOD setup.

       ${cut\_ref} = ${enclosing\_object}=>create( ${cursor} ).

     ENDMETHOD.

 

     METHOD setup\_ok.

     Cl\_abap\_unit\_assert=>assert\_bound( ${cut\_ref} ).

     ENDMETHOD.

ENDCLASS.

 

ABAP Development Tools helps you to replace the variables by marking the first variable in the code template. After you have renamed a variable and finished the renaming with the (Tab) key, it immediately jumps to the next variable. If you have used the ${cursor} variable in the code template, it then sets the cursor to the corresponding position in the transferred code (here in the method call of the CREATE creation method, which is not yet visible in the above figure due to the pending variable renaming).

 

## Technical Documentation

ABAP Development Tools offers not only many useful functions, but also extensive help (menu path **Help >** **Help Contents**). In this blog post, we referred to and limited ourselves to the content of the **SAP (On-Premise)—ABAP Development User Guide** section. We therefore have shortened all the paths listed ahead by this root node.

 

If the descriptions in this post are not enough for you, you can find all the details in the SAP Help for ABAP Development Tools.

 

Below shows an excerpt of this special help content.

 

![ABAP Screen Help Content (On Premise)](https://blog.sap-press.com/hs-fs/hubfs/27_001_screen_help_content_op.jpg?width=522&name=27_001_screen_help_content_op.jpg)

 

## Conclusion

Being agile in your ABAP coding is an important skill, and ABAP Design Tools can help you accomplish this goal. This post introduced you to ADT and what it can do for you. Interested in more on coding with SAP and Eclipse? [Check out this post on SAPUI5 and Eclipse](https://blog.sap-press.com/creating-an-sapui5-application-using-eclipse).

 

## Learn ABAP with Rheinwerk Courses!

Ready to level up your ABAP skills? Explore the full range of our ABAP-focused online courses, from foundational programming to advanced RAP, CDS, AMDP, unit testing, and more. Each one is instructor-led (live and on-demand), includes recordings and slide decks, and is designed to give you practical take-away skills you can apply right away in your SAP landscape. Click on the banner below to get started!

 

[![ABAP Courses](https://blog.sap-press.com/hs-fs/hubfs/blog_courses_abap_series.png?width=597&height=199&name=blog_courses_abap_series.png)](https://www.sap-press.com/online-courses/topics/on-demand-courses/)

 

*Editor’s note*: This post has been adapted from a section of the book *[Test-Driven Development with ABAP Objects](https://www.sap-press.com/test-driven-development-with-abap-objects_4882/#utm_source=sappressblog&utm_medium=referral&utm_campaign=Blogs&utm_term=chapter27&utm_content=1832)* by Winfried Schwarzmann.

## Recommendation

[![Test-Driven Development with ABAP Objects](https://blog.sap-press.com/hs-fs/hubfs/Images/Book%20Covers/1832.png?width=170&name=1832.png)](https://www.sap-press.com/test-driven-development-with-abap-objects_4882/#utm_source=sappressblog&utm_medium=referral&utm_campaign=Blogs&utm_term=chapter27&utm_content=1832)

**Test-Driven Development with ABAP Objects**

Better, cleaner code—every developer’s dream. Test-driven development is how you’ll achieve it! From creating a robust test infrastructure to designing methods, classes, and packages that will stand the test of time, this book provides in-depth instructions for revitalizing your programming. Whether you’re writing new code or fixing legacy code, you’ll learn to select test cases, use test doubles, and generate test data. With information on agile methodology to round out the development process, you’ll have all the tools you need!

[Learn More](https://www.sap-press.com/test-driven-development-with-abap-objects_4882/#utm_source=sappressblog&utm_medium=referral&utm_campaign=Blogs&utm_term=chapter27&utm_content=1832)

![SAP PRESS](https://blog.sap-press.com/hubfs/Twitter_profile_pic.svg)

**by [SAP PRESS](https://blog.sap-press.com/author/sap-press)**

SAP PRESS is the world's leading SAP publisher, with books on ABAP, SAP S/4HANA, SAP IBP, intelligent technologies, SAP Business Technology Platform, and more!

[Programming](https://blog.sap-press.com/tag/programming)

[![Share on facebook](https://7528309.fs1.hubspotusercontent-na1.net/hub/7528309/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/facebook-color.png?width=24&name=facebook-color.png)](https://www.facebook.com/share.php?u=https%3A%2F%2Fblog.sap-press.com%2Fan-introduction-to-abap-development-tools%3Futm_medium%3Dsocial%26utm_source%3Dfacebook) [![Share on linkedin](https://7528302.fs1.hubspotusercontent-na1.net/hub/7528302/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/linkedin-color.png?width=24&name=linkedin-color.png)](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fblog.sap-press.com%2Fan-introduction-to-abap-development-tools%3Futm_medium%3Dsocial%26utm_source%3Dlinkedin) [![Share on twitter](https://7528304.fs1.hubspotusercontent-na1.net/hub/7528304/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/twitter-color.png?width=24&name=twitter-color.png)](https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fblog.sap-press.com%2Fan-introduction-to-abap-development-tools%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&url=https%3A%2F%2Fblog.sap-press.com%2Fan-introduction-to-abap-development-tools%3Futm_medium%3Dsocial%26utm_source%3Dtwitter&source=tweetbutton&text=) [![Share on email](https://7528311.fs1.hubspotusercontent-na1.net/hub/7528311/hubfs/raw_assets/public/mV0_d-web-default-modules_hubspot/img/email-color.png?width=24&name=email-color.png)](mailto:?subject=Check+out+https%3A%2F%2Fblog.sap-press.com%2Fan-introduction-to-abap-development-tools%3Futm_medium%3Dsocial%26utm_source%3Demail&body=Check+out+https%3A%2F%2Fblog.sap-press.com%2Fan-introduction-to-abap-development-tools%3Futm_medium%3Dsocial%26utm_source%3Demail)

### Comments

### Latest Blog Posts

[![How Does Test-Driven Development Simplify ABAP Programming?](https://blog.sap-press.com/hs-fs/hubfs/How%20Does%20Test-Driven%20Development%20Simplify%20ABAP%20Programming.png?height=600&name=How%20Does%20Test-Driven%20Development%20Simplify%20ABAP%20Programming.png)](https://blog.sap-press.com/how-does-test-driven-development-simplify-abap-programming)

[Programming](https://blog.sap-press.com/tag/programming)

## [How Does Test-Driven Development Simplify ABAP Programming?](https://blog.sap-press.com/how-does-test-driven-development-simplify-abap-programming)

[Read More](https://blog.sap-press.com/how-does-test-driven-development-simplify-abap-programming)

[![3 Advanced ABAP Testing Things to Know](https://blog.sap-press.com/hs-fs/hubfs/3%20Advanced%20ABAP%20Testing%20Things%20to%20Know.png?height=600&name=3%20Advanced%20ABAP%20Testing%20Things%20to%20Know.png)](https://blog.sap-press.com/3-advanced-abap-testing-things-to-know)

[Programming](https://blog.sap-press.com/tag/programming)

## [3 Advanced ABAP Testing Things to Know](https://blog.sap-press.com/3-advanced-abap-testing-things-to-know)

[Read More](https://blog.sap-press.com/3-advanced-abap-testing-things-to-know)

**Subscribe to our blog!**Get notified about future blog updates.

- <https://www.facebook.com/sappress>
- <https://twitter.com/sappress>
- <https://linkedin.com/company/sap-press>
- <https://www.instagram.com/sap_press/>
- <https://blog.sap-press.com/rss.xml>

### The official SAP PRESS Blog

As the world’s leading SAP publisher, SAP PRESS’ goal is to create resources that will help you accelerate your SAP journey. The SAP PRESS Blog is designed to provide helpful, actionable information on a variety of SAP topics, from SAP ERP to SAP S/4HANA. Explore ABAP, FICO, SAP HANA, and more!

### SAP Blog Topics

- [All Topics](https://blog.sap-press.com)
- [Logistics](https://blog.sap-press.com/tag/logistics)
- [Programming](https://blog.sap-press.com/tag/programming)
- [FICO](https://blog.sap-press.com/tag/fico)
- [Administration](https://blog.sap-press.com/tag/administration)
- [Business Intelligence](https://blog.sap-press.com/tag/business-intelligence)
- [What Is?](https://blog.sap-press.com/tag/what-is)
- [Featured](https://blog.sap-press.com/tag/featured)
- [CRM & Sales](https://blog.sap-press.com/tag/crm-sales)
- [Video](https://blog.sap-press.com/tag/video)
- [Human Resources](https://blog.sap-press.com/tag/human-resources)

### Blog curated by

[![Rheinwerk Publishing & SAP PRESS Logo](https://blog.sap-press.com/hubfs/rheinwerk-sappress-logo-header-1.svg)](https://sap-press.com) [Visit the SAP PRESS Store](https://sap-press.com)

### About

- [Home](https://sap-press.com/)
- [About Us](https://sap-press.com/the-publisher/)
- [Contact](mailto:info@rheinwerk-publishing.com)
- [Legal Notes](https://sap-press.com/legal-notes/)
- [Privacy Policy](https://sap-press.com/privacy/)
- [Terms of Use](https://sap-press.com/terms/)
- [Guest Posting](https://blog.sap-press.com/guest-posting)

© 2026 Rheinwerk Publishing, Inc. | Change Privacy Options

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "SAP PRESS",
    "url" : "https://blog.sap-press.com/author/sap-press"
  },
  "dateModified" : "2026-09-09T13:46:13.424Z",
  "datePublished" : "2020-10-09T14:30:00.000Z",
  "headline" : "An Introduction to ABAP Development Tools",
  "image" : [ "https://blog.sap-press.com/hubfs/An%20Introduction%20to%20ABAP%20Development%20Tools.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.sap-press.com/an-introduction-to-abap-development-tools",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.sap-press.com/hubfs/Logo-1.jpg"
    },
    "name" : "Rheinwerk Publishing, Inc."
  }
}
```