Nützliche Open Source ADT Plugins

  1. ABAP Cleaner
  2. ABAP Favorites
  3. ABAP Continuous Integration
  4. ABAP ADT Extensions
    1. Automatisches Einloggen in SAP-Systeme
    2. Verändern von ABAP-Projekt-Attributen
    3. Eingabefeld zur Ausführung von Transaktions-Codes
  5. ADT Classic Outline
  6. ABAP Quick Fix
  7. ABAPQuickFixS4Conversion
  8. ABAP Tags
  9. ABAP Search and Analysis Tools
  10. ABAP Code Search
  11. abapGit Eclipse Plug-in

ABAP Cleaner

Der ABAP Cleaner ist seit Sommer 2023 verfügbar und unterstützt Entwickler bei der Erstellung von ABAP Code, der den Richtlinien des Clean-ABAP Styleguides entspricht. Das Plugin lässt sich genau wie andere Eclipse Plugins und damit auch wie ADT in Eclipse mittels “Install new Software” einfach installieren. Die Update Site findet sich in GitHub unter: https://sap.github.io/abap-cleaner/updatesite.

Da der ABAP Cleaner rein Client-basiert ist, gibt es keine direkten Abhängigkeiten zu der ABAP Version des Backends. Da manche ABAP Cleaner Regeln nicht auf allen ABAP Releases anwendbar sind, z.B. Inline Deklarationen oder Einsatz neuer ABAP Statements, kann in der ABAP Cleaner Konfiguration das ABAP Release eingestellt werden. Dementsprechend werden auch nur anwendbare Regeln verwendet.

Mittels der Stand-alone App des ABAP Cleaners kann auch ABAP Code aus dem SAP-GUI (bei Enhancements) oder aus anderen Systemen per Copy-and-Paste oder als Textdatei eingefügt, bereinigt und anschließend der bereinigte Code exportiert werden. Die tatsächlich angewendeten Regeln werden in einem extra Fenster angezeigt.

Für Entwicklerteams besteht die Möglichkeit eigene Profile zu konfigurieren. In den Profilen werden die Regeln ausgewählt, die mit dem Profil angewendet werden sollen. In dieser Konfigurationsansicht wird die Auswirkung des Code Cleanings anhand von Beispielen dargestellt und man erhält so auch einen guten Überblick welche Änderungen die Regeln bewirken. Für den Einstieg und für detaillierte Informationen empfehlen sich die Blogeinträge in blogs.sap.com:

Eine ausführliche Session, die alle Aspekte von ABAP Cleaner erklärt, finden sie im YouTube Channel von SAP Developers.

Der ABAP Cleaner sollte genauso selbstverständlich zu den Werkzeugen des modernen ABAP Entwicklers gehören wie der Code Formatter oder der Syntax Check und sollte daher bei keiner ADT Installation fehlen. Dass die Funktionen des ABAP Cleaners nicht direkt in den ADT implementiert wurden, sondern als eigenes Plug-in durch SAP bereitgestellt werden, ermöglicht eine flexible und schnelle Auslieferung neuer Funktionen im ABAP Cleaner Kontext.

ABAP Favorites

Das ABAP Favorites Plug-in wurde entwickelt, um die Funktionalität des SAP GUI User Menu abzubilden. In diesem Menü kann jeder Benutzer Transaktionen, Reports oder URLs seinen Favoriten hinzufügen und diese nach seinen persönlichen Vorlieben strukturieren.

Die Plug-in-Installation bringt mit Favorites und Favorite DevObjects zwei neue Views, verfügbar über Windows → Show View → Others. Beide Views bieten eine gefilterte Baumansicht, in der die favorisierten Objekte verwaltet werden können.

Der Unterschied der beiden Views liegt in den Möglichkeiten zur Erstellung der Ordner (Container). Die Favorites View ermöglicht zwei Arten dieser Ordner: “Standard” für Transaktionen, Reports und URL und “DevObject” zur Verwaltung von Entwicklungsobjekten wie Klassen, Funktionsbausteinen, CDS Views usw. Im Falle der Favorite DevObjects können ausschließlich “DevObject”-Ordner erstellt werden. Die Aufteilung dieser Views ermöglicht dem Verwender zu wählen, ob er alle Ordner vermischt oder gemäß der beschriebenen Trennung verwalten möchte.

Vergleicht man den “Standard”- mit dem “DevObject”-Ordner liegt neben den auswählbaren Objekttypen der größte Unterschied darin, dass bei “Standard” durch einen Doppelklick die Objekte ausgeführt werden. Ein Doppelklick in einem “DevObject”-Ordner bewirkt das Öffnen des ausgewählten Objekts.

ABAP Favorites View

ABAP Favorites View

Um neue Objekte den Favoriten hinzuzufügen, können die Kontextmenüs der Favorites View, des ABAP Editors oder des Project Explorers genutzt werden.

Kontextmenü eines Ordners im ABAP Favorites View

Kontextmenü eines Ordners im ABAP Favorites View

Voraussetzungen:

  • Eclipse IDE for Java Developers
  • ADT

Links:

ABAP Continuous Integration

AbapCI ist ein Open Source Eclipse Plug-in, das verschiedene Continuous Integration (CI) Tools für die ABAP-Entwicklung mit Eclipse bereitstellt. Das Plug-in basiert auf den CI-Funktionen von ADT.

Das Plug-in stellt folgende Funktionen bereit:

  • Automatische Unit-Testläufe
  • Automatische ATC-Läufe
  • Visualisierung des Quellcode-Status auf der Benutzeroberfläche
  • Unterschiedliche Farbgebung für jedes ABAP-Projekt
  • Automatische Quellcode-Formatierung
  • Shortcut für abapGit
  • Auslösen von Jenkins aus Eclipse (experimentell)

Farbige Hervorhebung der Statusleiste pro Projekt + Teststatus

Farbige Hervorhebung der Statusleiste pro Projekt + Teststatus

Verwaltung von Paketen, für die Unittests und/oder ATC-Prüfläufe eingeplant sind

Verwaltung von Paketen, für die Unittests und/oder ATC-Prüfläufe eingeplant sind

Weitere Informationen können im GitHub Repository nachgelesen werden.

Voraussetzungen:

  • Eclipse IDE for Java Developers ( <= 2022-06, Installation mit neueren Versionen aktuell nur mit Workaround möglich; siehe Issue auf GitHub)
  • ADT

Links:

ABAP ADT Extensions

Dieses Plug-in erweitert die ADT um mehrere zusätzliche Funktionalitäten.

Automatisches Einloggen in SAP-Systeme

Die Funktionalität “Automatisches Einloggen” ermöglicht dem Entwickler, seine Benutzer/Passwort-Kombinationen innerhalb des Secure Storage von Java zu verwalten. Sicherheitstechnisch sollten diese verschlüsselt werden.

View zur Verwaltung der hinterlegten Zugangsdaten von ABAP Systemen

View zur Verwaltung der hinterlegten Zugangsdaten von ABAP Systemen

Abhängig von den Einstellungen des Plug-in kann man sich in jedes der ausgewählten On-Premise-SAP-Systeme, die mittels ABAP/BW-Projekten abgebildet sind, automatisch einloggen lassen. Die Passwörter können bei der Erstellung des Projekts oder erst später über die Passwort-View gepflegt werden.

Verändern von ABAP-Projekt-Attributen

Durch das Kontextmenü des Project Explorers können für ABAP/BW-Projekte die Projektattribute (Client, User, Sprache) geändert werden. Zudem können die Breakpoint-User gesetzt werden.

Kontextmenü auf Projekt im Project Explorer

Kontextmenü auf Projekt im Project Explorer

Eingabefeld zur Ausführung von Transaktions-Codes

Nach der Installation erscheint in Eclipse im unteren rechten Bereich eine Toolbar mit einem Eingabefeld für Transaktions-Codes. Das Feld kann per Maus oder über den Shortcut Shift+F8 bedient werden. Nach der Eingabe des Codes und dem Bestätigen per Enter wird die Transaktion im momentan aktiven Projekt ausgeführt.

Statusleiste im Eclipse-Fenster

Statusleiste im Eclipse-Fenster

Voraussetzungen:

  • Eclipse IDE for Java Developers
  • ADT

Links:

ADT Classic Outline

Dieses Plug-in fügt Ihrer Oberfläche eine neue View namens “Classic Outline” hinzu, die gewissermaßen die SE80-Objektliste abbildet. In den meisten Fällen kann diese Ansicht die eingebaute ADT Outline ersetzen. Die angezeigte Objektliste kann gefiltert werden und erlaubt die Ansicht der Objektattribute, ähnlich der eingebauten ADT Outline. Durch einen Doppelklick (bzw. einfachen Klick abhängig von den Einstellungen) kann in das selektierte Objekt navigiert werden.

Classic Outline View

Classic Outline View

Voraussetzungen:

  • Eclipse IDE for Java Developers
  • ADT

Voraussetzungen ABAP:

Links:

ABAP Quick Fix

Quick Fixes sind Teil der Eclipse IDE. Im ADT-Standard werden sie im Backend-System verarbeitet und können vom Nutzer bei Bedarf mittels Shortcut Strg+1 verwendet werden. Das ABAP Quick Fix Plug-in bietet zusätzliche Quick Fixes, die direkt von der Eclipse-Umgebung prozessiert werden.

ABAP Code vor Quick-Fix-Ausführung

ABAP Code vor Quick-Fix-Ausführung

ABAP Code nach Quick-Fix-Ausführung

ABAP Code nach Quick-Fix-Ausführung

Einen Auszug der verfügbaren Features finden Sie in der folgenden Liste:

  • Ersetze READ TABLE durch ASSIGN, REF#, Table Expression oder line_exists.
  • Ersetze CALL METHOD durch den direkten Aufruf.
  • Ersetze MOVE durch die direkte Zuweisung.
  • Ändere APPEND TO in APPEND VALUE#( ) TO.
  • Ersetze CREATE OBJECT durch NEW.
  • Entferne “full line comments” vom Statement.
  • Unterlasse die Selbstreferenz ME->.
  • Ersetze die Operatoren EQ, NE, GT, GE, LT, LE mit =, <>, >, >=, <, <=
  • Rücke Operatoren im markierten Bereich entsprechend ein.
  • Rücke TYPE und LIKE im Deklarationsblock der Variablen entsprechen ein.

Voraussetzungen:

  • Eclipse IDE for Java Developers
  • ADT

Links:

ABAPQuickFixS4Conversion

Dieses Plug-in ist ein sehr schönes Beispiel für die Zusammenarbeit von Entwicklern innerhalb der Community. ABAPQuickFixS4Conversion ist eine Erweiterung des ABAP Quick Fix Plug-in von SAP und ergänzt dieses um folgende Funktionalitäten:

  • Konvertiere SELECT SINGLE nach SELECT … UP TO 1 ROWS … ORDER BY
  • Passe für jede beliebige Tabelle die custom ORDER BY-Liste an
  • Ändere SELECT SINGLE auf den modernen SQL-Stil
  • Konvertiere SELECT/ENDSELECT in den modernen SQL-Stil
  • Transformiere MOVE_CORRESPONDING nach CORRESPONDING #( )

Beispiel für Quick-Fix-Verfügbarkeit bei einer SELECT-Anweisung

Beispiel für Quick-Fix-Verfügbarkeit bei einer SELECT-Anweisung

SELECT-Anweisung nach Anwendung des Quick Fix

SELECT-Anweisung nach Anwendung des Quick Fix

Voraussetzungen:

  • Eclipse IDE for Java Developers
  • ADT
  • ABAP Quick Fixes plugin

Links:

ABAP Tags

Das ABAP Tags Plug-in ermöglicht es, Tags zu erstellen, welche dann zu beliebigen Entwicklungsobjekten hinzugefügt werden können. Die Tags und deren zugeordneten Objekte werden dabei auf dem jeweiligen ABAP-System persistiert. Dies erleichtert den Zugriff auf getaggte Objekte durch andere Benutzer. Generell erlaubt das Plug-in, Tags entweder im globalen oder im benutzerspezifischen Geltungsbereich anzulegen. Benutzerspezifische Tags können dabei auch mit anderen geteilt werden und dadurch die Zusammenarbeit erleichtern.

View "Tag Manager"

View “Tag Manager”

Das Taggen von Objekten ist intuitiv über das Kontextmenü aus dem Editor oder dem Project Explorer heraus möglich. Die getaggten Objekte können dann entweder aus dem View “Tag Manager” mittels Kontextmenü-Aktion, oder über die in den “Search”-Dialog integrierten “ABAP Tagged Object Search” gesucht und angezeigt werden.

Search-Dialog mit Seite "ABAP Object Search"

Search-Dialog mit Seite “ABAP Object Search”

Voraussetzungen Eclipse:

  • Eclipse Platform Runtime oder Eclipse IDE for Java Developers
  • ADT

Voraussetzungen ABAP:

  • SAP NetWeaver 7.40 SP08 oder neuer
  • abapGit repository abap-tags-backend muss installiert sein

Links:

ABAP Search and Analysis Tools

Dieses Plug-in erweitert die ADT um weitere Such- und Analysefunktionen für die folgenden Objekttypen:

  • Klasse/Interface
  • Datenbanktabelle/-view
  • CDS View

Die Suchfunktionen sind in den Eclipse-Search-Dialog integriert (Strg+H). Die Bedienung ist dabei ähnlich wie beim Dialog “Open ABAP Development Object” (Strg+Shift+A). Den Objekttyp kann man mittels Dropdown ändern. Dieser steuert unter anderem die verfügbaren Filter im Feld “Search Filters”.

Search-Dialog auf Seite "ABAP Object Search"

Search-Dialog auf Seite “ABAP Object Search”

Zusätzlich zu den Suchfunktionen stellt das Plug-in noch den View “CDS Analyzer” zur Verfügung, der die folgenden Analysen auf CDS Views erlaubt:

  • Top-Down
  • Auswertung auf alle verwendeten Entitäten eines CDS View
  • Verwendungsnachweis von Datenbankentitäten als Datenquelle (“select from” oder “association”)
  • Analyse auf Feldebene
    • Top-Down (Herkunftsermittlung)
    • Bottom-up (Verwendung eines Feldes in Feldern anderer CDS Views)

View "CDS Analyzer" - Top-Down-Analyse

View “CDS Analyzer” - Top-Down-Analyse

Voraussetzungen Eclipse:

  • Eclipse Platform Runtime oder Eclipse IDE for Java Developers
  • ADT

Voraussetzungen ABAP:

  • SAP NetWeaver 7.40 SP08 oder neuer
  • abapGit repository abap-search-tools muss installiert sein

Links:

Dieses Plug-in bringt die bekannte SAP-GUI-Transaktion CODE_SCANNER nach Eclipse. Wie der Name schon vermuten lässt, ist die “ABAP Code Search” auch im Eclipse-Search-Dialog integriert. Neben der Verwendung von regulären Ausdrücken gibt es auch spezielle Suchmodi wie z. B. Single Pattern mode oder Sequential Matching. Weitere Merkmale der Suche sind:

  • Parallele Ausführung (optional pro Benutzer steuerbar)
  • Suche kann jederzeit gestoppt werden
  • Komplette Systemsuche möglich, da auf dem Anwendungs-Server immer nur kleine Pakete verarbeitet werden
  • Tags können zur Objektauswahl verwendet werden → erfordert Installation des ABAP Tags Plug-in

Search-Dialog mit "ABAP Code Search"-Seite

Search-Dialog mit “ABAP Code Search”-Seite

Voraussetzungen Eclipse:

  • Eclipse Platform Runtime oder Eclipse IDE for Java Developers
  • ADT

Voraussetzungen ABAP:

Links:

abapGit Eclipse Plug-in

Stellt die Funktionen der abapGit-SAP-GUI-Transaktion als Eclipse Plug-in bereit. Der volle Funktionsumfang ist aktuell (2022) jedoch nur über die SAP-GUI-Transaktion gewährleistet.

Voraussetzungen Eclipse:

  • Eclipse IDE for Java Developers
  • ADT

Voraussetzungen ABAP:

  • SAP NetWeaver 7.50 oder neuer
  • Vollständige abapGit Installation
  • abapGit repository ADT_Backend muss installiert sein

Links:


Nützliche Open-Source-Plug-ins Eigene Plug-ins entwickeln