Previous slide
Next slide
Toggle fullscreen
Open presenter view
ABAP in Eclipse
Gesamtüberblick
ABAP-Entwicklung mit den ABAP Development Tools (ADT) in Eclipse
Ersatz und Ergänzung zur klassischen SE80 in der SAP GUI
Fokus:
Projekte & Systemverbindungen
Navigation & Suchen
Programmieren & Refactoring
Debugging
Shortcuts & Tipps
Agenda Eclipse
Einführung: Eclipse & ADT
Installation, Plug-ins & Workspace
Eclipse-Projekte und Systemverbindungen
Navigation, Working Sets & eigene Bäume
Suchen in Eclipse (Objekte & Volltext)
Programmieren mit ADT, Refactoring & Templates
Debugging in Eclipse
Wichtige Shortcuts
Zusammenfassung & Ressourcen
Warum ABAP in Eclipse?
Eclipse ist eine
generische, erweiterbare IDE
Open Source, Plugin-basiert
ADT bringt ABAP vollständig in diese IDE
Klassen, Programme, CDS, RAP, SQL, Debugging, Testen, …
Vorteile gegenüber der SAP GUI
Moderner Editor, bessere Navigation, Refactoring-Features
Einheitliche Oberfläche für verschiedene Technologien
Strategie von SAP
Neue Features kommen zuerst in ADT
SE80 wird langfristig eher „Wartungsmodus“
Eclipse & ADT im Überblick
Eclipse selbst ist sprachneutral
Wird auch für Java, C/C++, Model-Driven Development etc. genutzt
ABAP Development Tools (ADT)
Plugin für ABAP-Entwicklung
Weitere SAP-Plugins: BW, HANA, Cloud-Tools, RAP-Modellierung
Versionen & Updates
Eclipse-Version sollte mindestens so aktuell sein wie das Backend
In vielen Firmen: 1× pro Jahr ein Update ausreichend
Empfehlung
ADT-Leitfaden der DSAG als Referenz für Best Practices
Installation und Plug-ins
Eclipse-Installation
In vielen Unternehmen zentral verteilt
Ansonsten: Download „Eclipse IDE for Enterprise Java and Web Developers“
ADT installieren
Über „Install New Software…“ und ADT-Update-Site
Weitere Plug-ins nach Bedarf
z.B. Code-Analyse, Git-Integration, XML-/YAML-Editoren
Typischer Screenshot der Plug-in-Installation:
Workspace-Konzept
Workspace
= lokaler Ordner mit allen wichtigen Einstellungen:
Projekte und Systemverbindungen
Eclipse-Einstellungen (Themes, Fonts, Tastenkürzel)
Lokale Historie von Dateien
Best Practices
Workspace lokal auf dem Rechner, nicht auf Netzlaufwerken
Workspace kann auf neuen Rechner kopiert werden
Beim Start von Eclipse gewünschten Workspace auswählen
Screenshot Workspace-Übersicht:
Oberfläche: Views und Perspektiven
Oberfläche besteht aus:
Views
(z.B. Project Explorer, Outline, Problems, Console)
Editoren
(Quelltext im Hauptbereich)
Views können:
Angedockt, verschoben, abgetrennt werden
Über „Window → Show View → Other…“ hinzugefügt werden
Perspektiven
Vordefinierte Anordnungen von Views für einen Zweck (ABAP, Debug, Git, …)
Unten rechts als Symbolleiste sichtbar
Beispiel-Views in ADT:
Perspektiven speichern und zurücksetzen
Eigene Perspektiven
Besonders gelungene View-Anordnungen unter eigenem Namen speichern
Z.B. „Debug-Layout“, „CDS-Layout“ etc.
Zurücksetzen
Wenn „verkonfiguriert“: über „Reset Perspective…“ wieder auf Standard zurück
Beispiel-Screenshots:
Perspektivenleiste und Perspektiven-Dialog
Gespeicherte Perspektiven-Auswahl
Aufbau der ADT-Oberfläche
Typische Aufteilung:
Links:
Navigation
(Project Explorer, Favoriten, Working Sets)
Rechts oben:
Editoren
für Quellcode, DDIC, CDS, SQL, …
Unten: zusätzliche Infos (Problems, Console, Transport Organizer, Feed Reader)
Navigations- und Editorbereich sind synchronisierbar:
„Link with Editor“ sorgt für Hervorhebung des geöffneten Objekts im Explorer
Ziel:
Möglichst viel relevanter Kontext gleichzeitig im Blick behalten
Was sind Eclipse-Projekte?
Eclipse-Projekt = Verbindung zu einem SAP-System
Beinhaltet die ABAP-Entwicklungsobjekte eines Backends
Pro System können mehrere Projekte sinnvoll sein
Z.B. Trennung nach Mandanten, Rollen oder Produktlinien
Änderungen am Quellcode werden direkt im Backend gespeichert
ABAP-Projekte ersetzen die Transaktionen SE80/SE38 als Einstiegspunkt
ABAP-Projekt anlegen
Ablauf:
Rechtsklick im Project Explorer → „ABAP Project…“
System aus der Liste oder per Filter auswählen
Verbindungseinstellungen prüfen (z.B. Host, Instanz)
Screenshot aus dem Projekt-Anlege-Dialog:
Systemdaten prüfen
Im Anlagedialog werden wichtige Systeminformationen angezeigt:
System-ID, Beschreibung, Mandanten, Unicode-Status
Benutzer- und ACL-Informationen
Vor dem Anlegen prüfen:
Ist es das richtige System (DEV/QA/PRD)?
Stimmt die Systemrolle?
Beispiel-Screenshot „Systemdaten prüfen“:
Benutzer, Mandant und Sprache
Beim ersten Verbinden unbedingt prüfen:
Benutzername
Passwort
Mandant
Sprache
Wichtig:
Client ist häufig
nicht
vorbelegt
Sprache beeinflusst Textobjekte (Textpool, Nachrichten, Hilfetexte)
Screenshot zum Eintragen der Zugangsdaten:
Navigation: Editor und Explorer
Project Explorer
Einstieg in Pakete, Klassen, Programme, CDS-Views
Favoriten für häufig benötigte Pakete/Objekte
Link mit Editor
Markiert das aktuell im Editor geöffnete Objekt im Explorer
Outline
Zeigt Methoden, Attribute und lokale Klassen der aktuellen Klasse
Beispiel „Link Editor
Navigation“:
Eigene Bäume und Working Sets
Eigene Bäume
Spezielle Explorer-Views für bestimmte Use-Cases
Z.B. nur eigene Pakete, nur RAP-Objekte, nur Test-Code
Working Sets
Gruppieren von Projekten/Objekten z.B. nach Kunde, Produkt oder Team
In großen Systemlandschaften sehr hilfreich
Screenshots:
Eigene Bäume in einer speziellen View
Working-Set-Dialog
Navigation mit Tastatur
Typische Tastenkombinationen:
Strg
+ Klick: Sprung zur Definition/Implementierung
Alt
+ Pfeil links/rechts: Rückwärts/Vorwärts in der Sprunghistorie
Strg
+ Tab: Wechsel zwischen offenen Editortabs
F3
: Alternativ „Open Declaration“ für markiertes Element
Navigation innerhalb des Editors:
Doppelklick markiert ein Wort
Strg
+ L: Springt zu einer bestimmten Zeile
Ziel: möglichst effizient ohne Maus arbeiten
Suchen von ABAP-Objekten
Dialog „Open ABAP Development Object“
Typischerweise
Strg
+
Shift
+
A
Name (oder Teile) eingeben, Autovervollständigung nutzen
Es kann nach verschiedenen Kriterien gesucht werden:
Objekttyp (z.B. Klasse, Programm, CDS, Tabelle)
Paket
Verantwortlicher Benutzer
Datum der letzten Änderung
Beispiel-Screenshot des Objekt-Suchdialogs:
Suchen mit Filtern und Vorschlägen
Filterung
Mehrere Filter durch Komma trennen, z.B.
*ZCL*,*YCL*
Einschränkung auf Namensmuster oder Pakete
Weitere Kriterien über Suchoptionen
z.B. Klassen, die eine bestimmte Zeichenkette im Namen enthalten
Tastaturhilfe
Mit
Strg
+ Leertaste alle Suchoptionen anzeigen lassen
Beispiel-Screenshots:
Volltextsuche im Code
Allgemeine Suche (
Strg
+
H
)
Sucht Text in Dateien des Workspaces
Einschränkung auf Projekte/Packages/Dateitypen möglich
Anwendungsfälle:
Verwendungen eines Funktionsbausteins, einer Klasse, eines Feldes
Suche nach TODO-Kommentaren oder Logtexten
Ergebnisse:
Trefferliste mit direkten Sprüngen in den Editor
Schnellnavigation über Tastatur
Programmieren mit ADT
Typische Entwicklungsobjekte:
Klassen, Interfaces, Reports, Testklassen, CDS-Views, SQL-Scripts
Editor-Features:
Syntax-Highlighting, Code-Vervollständigung (
Strg
+ Leertaste)
Schnelle Hilfe und ABAP Doc im Editor
Direktes Anlegen von Methoden/Konstruktoren aus der Signatur
Konsolenprogramme
Interface
IF_OO_ADT_CLASSRUN
für Klassen mit Konsolenausgabe
Ideal für kleine Tests, Demos, Datenmigrationen
Refactoring in Eclipse
Wichtige Refactoring-Funktionen:
Methoden extrahieren
Umbenennen von Methoden/Variablen/Klassen
Inline-Deklarationen in explizite Variablen/Parameter/Attribute umwandeln
Unterstützt Clean-ABAP-Stil:
Kleinere, klar benannte Methoden
Reduktion von Code-Duplikaten
Beispielhafte Schritte:
Markieren eines Codeblocks → „Extract Method“
Rename mit automatischer Anpassung aller Verwendungen
Templates in Eclipse
Motivation:
Immer wieder ähnliche Codemuster schreiben (TRY/CATCH, LOOP/ENDLOOP, ASSERT, …)
Templates:
Vordefinierte Vorlagen für ABAP-Code
Eigenes Kürzel definieren, z.B.
try
,
loop
,
ifn
Über
Strg
+ Leertaste Vorschläge erhalten
Beispiel-Screenshot „Arbeiten mit Templates“ (bestehender Foliensatz):
Wichtige Shortcuts
Editor & Navigation:
Strg
+
3
: „Find Actions“ – zentrale Kommando-Suche
Strg
+
Shift
+
A
: Open ABAP Development Object
Strg
+
H
: Suchdialog
Editor-Bearbeitung:
Strg
+
F
: Suchen & Ersetzen im Editor
Strg
+ Leertaste: Code-Vorschläge
Alt
+
Shift
+
A
: Blockmodus an/aus
Ausführen:
F8
: Ausführen in der SAP GUI
F9
: Ausführen in der Konsole (falls implementiert)
Debugging in Eclipse
Debugging-Themen:
Breakpoints setzen und verwalten
Debugging-Perspektive
Call-Stack-Navigation
Variablen-View und Expressions
Start des Debuggers:
Über gesetzte Breakpoints im Code
Über expliziten Start von Programmen aus Eclipse
Vorteil gegenüber SAP GUI:
Mehr Kontext auf einen Blick
Bessere Unterstützung für Objektorientierung und interne Tabellen
Breakpoints und Debug-Einstellungen
Breakpoint-Typen:
Zeilen-Breakpoints in Methoden/Reports
Method Breakpoints
Exception-Breakpoints und Message-Breakpoints
Benutzer- & externe Breakpoints:
Externe Breakpoints für HTTP/OData/RFC-Aufrufe
Debugging für andere Benutzer möglich (mit Berechtigung)
Debug-Einstellungen:
System-Debugging für Systemcode
Update-Debugging für Update-Tasks
Einschränkung auf bestimmte Projekte/Sessions
Variablen und Tabellen im Debugger
Variablen-View:
Lokale Variablen, globale Attribute, statische Attribute
Objektstrukturen aufklappen
Interne Tabellen:
Anzeige mit Filter- und Sortiermöglichkeiten
„Pinning“ für parallele Anzeige mehrerer Tabellen
Werte ändern:
Skalare Variablen direkt editieren
Tabelleneinträge hinzufügen, ändern oder löschen
Layout:
Debug-Views anpassen, eigenes Layout speichern
System-, Update-Debugging und Speicheranalyse
System-Debugging:
Debuggen von System- bzw. Framework-Code
Vorsichtig einsetzen, v.a. in produktionsnahen Systemen
Update-Debugging:
Debuggen von Update-Tasks
Aktivierung in den Debug-Einstellungen
Speicheranalyse & Memory Inspector:
Übersicht über Speicherverbrauch der Session
Hilfreich bei großen internen Tabellen und Performance-Themen
Optional mit „Automatic Refresh“ – kann Performance beeinflussen
Zusammenfassung Eclipse
Eclipse + ADT ist die
Standardumgebung für moderne ABAP-Entwicklung
Zentrale Punkte:
Projekte & Workspace sauber aufsetzen
Navigation & Suchen beherrschen
Programmieren mit Refactoring & Templates kombinieren
Debugging intensiv nutzen (inkl. System-/Update-Debugging)
Shortcuts einüben, um effizient zu arbeiten
Empfehlung:
Eigene Übungsprojekte anlegen
Alten Code schrittweise nach Modern-ABAP-Konventionen migrieren
DSAG-ADT-Leitfaden und Clean-ABAP-Empfehlungen nutzen