ABAP Objects

Objektorientiertes ABAP für moderne Clean Core SAP Systeme

Eclipse und die ABAP Development Tools (ADT)

SAP Entwicklungsumgebungen für ABAP Objects

bisher - SE24

SE24

neu - Eclipse + ADT

alt text

  • ABAP Objects im SAPGUI über SE24 bzw. SE80
  • Modernes ABAP nur noch mit Eclipse + ABAP Development Tools (ADT)
  • Empfehlung der SAP: nutzt Eclipse ADT!

ABAP Klasse anlegen

bisher - SE80

SE80

neu - Eclipse ABAP Projekt

ADT

  • Eclipse ist eine Entwicklungsumgebung, die nicht von und für SAP gebaut wurde
  • Die Konzepte sind etwas anders als gewohnt
  • Das Anlegen von ABAP Objekten erfolgt z.B. über das Kontextmenü

ABAP Klassendefinition

bisher

Claas Props

neu

class ZCL_ABAP_CLASS definition
  public
  final
  create public
  shared memory enabled .

public section.
protected section.
private section.
ENDCLASS.

CLASS ZCL_ABAP_CLASS IMPLEMENTATION.
ENDCLASS.
  • Formularbasiert (SE24/SE80) vs. sourcecodebasiert (Eclipse ADT)
  • Trennung im Sourcecode zwischen definition und implementation
  • Einstellungen aus dem formularbasierten Ansatz werden zu Code

SAPGUI: Support Formularbasiert- und Quelltext-Modus

SAPGUI Formular

SAPGUI Source

  • Im SAPGUI Editor kann zwischen der Quelltext-Sicht und der formularbasierten Sicht gewechselt werden
  • In der Quelltext-Sicht gehen bereits einige Editiermöglichkeiten: Eclipse ADT bietet mehr...

Eclipse + ADT installieren

  1. Installation Eclipse
  2. Installation weiterer Software über Menü Help -> Install new Software
  3. Installation von Addons aus dem Eclipse Marketplace über Menü Help -> Eclipse Marketplace
    • Suche z.B. nach ABAP
    • Tipp für einfacheren Umstieg von der SAPGUI -> ABAP Favorites (ABAPBlog.com)
    • KI Support durch Github Copilot
  4. Update Check über Menü Help -> Check for Updates

Eclipse Schnelleinstieg

Eclipse

Eclipse Konsolenanwendung

CLASS zcl_console_app DEFINITION
  PUBLIC
  FINAL
  CREATE PUBLIC .

  PUBLIC SECTION.
    INTERFACES if_oo_adt_classrun .
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.

CLASS zcl_console_app IMPLEMENTATION.
  METHOD if_oo_adt_classrun~main.
    out->write( |Ich bin eine ausführbare Klasse!| ).
  ENDMETHOD.
ENDCLASS.
  • In der ABAP Cloud gibt es keine Reports oder Funktionsbausteine zum schnellen Testen von ABAP Code
  • Die Alternative heißt Konsolenanwendung oder auch ausführbare Klasse
  • Jede Klasse kann über das Einbinden vom Interface IF_OO_ADT_CLASSRUN ausführbar gemacht werden
  • Die Interface-Methode if_oo_adt_classrun~main enthält dann den ABAP Code
  • über out->write( ) kann Text in die Eclipse Console geschrieben werden, eine besondere Sicht innerhalb vom Eclipse

Weitere Infos:

Shortcuts

Bearbeiten

Funktion Tastenkombination
Speichern Ctrl + S
Aktivieren Ctrl + F3
Pretty Printer Shift + F1
Quick-Fix Ctrl + 1
UPPERCASE Ctrl + Shift + X
lowercase Ctrl + Shift + Y
Blockmodus an/aus Alt + Shift + A
Suchen & Ersetzen Ctrl + F
Vorschläge Ctrl + Space
Wort markieren Doppelklick

Ausführen & Navigation

Funktion Tastenkombination
Ausführen in GUI F8
Ausführen in Konsole F9
Unit Tests Ausführen Ctrl + Shift + F10
CDS- oder Tabelleninhalt F8
Element Info F2
Navigieren zur Definition Ctrl + Doppelklick
Vor- oder Zurücknavigieren Alt + 🡪 oder Alt + 🡨
Datei im Editor neu laden F5
Tabreiter schliessen Ctrl + W
GUI Fenster öffnen Ctrl + 6

Shortcuts 2

Coding anpassen

Funktion Tastenkombination
Methode Extrahieren Alt + Shift + M
Rename Alt + Shift + R
ABAP Code Cleaner Ctrl + 4

Arbeiten im Editor

Funktion Tastenkombination
Open in Project Ctrl + Alt + P
Projekt wechseln Alt + Shift + P
Offene Fenster anzeigen Ctrl + E

Eclipse Allgemein

Funktion Tastenkombination
The Mother of all Shortcuts Ctrl + Shift + L
Find Actions Ctrl + 3

Eclipse ABAP Objects

Funktion Tastenkombination
Hierary (2x) Ctrl + T
Quick Outline (2x) Ctrl + O