Buch lesen: «SAP-Schnelleinstieg: ABAP-Entwicklung in Eclipse»
Christoph Lordieck
SAP®-Schnelleinstieg: ABAP-Entwicklung in Eclipse
ISBN: | 978-3-96012-001-8 (ePUB) |
Lektorat: | Anja Achilles |
Korrektorat: | Christine Weber |
Coverdesign: | Philip Esch, Martin Munzel |
Coverfoto: | fotolia #101791987 | James Thew |
Satz & Layout : | Johann-Christian Hanke |
Alle Rechte vorbehalten
1. Aufl. 2016, Gleichen
© Espresso Tutorials GmbH
URL: www.espresso-tutorials.com
Das vorliegende Werk ist in allen seinen Teilen urheberrechtlich geschützt. Alle Rechte vorbehalten, insbesondere das Recht der Übersetzung, des Vortrags, der Reproduktion und der Vervielfältigung. Espresso Tutorials GmbH, Bahnhofstr. 2, 37130 Gleichen, Deutschland.
Ungeachtet der Sorgfalt, die auf die Erstellung von Text und Abbildungen verwendet wurde, können weder der Verlag noch Autoren oder Herausgeber für mögliche Fehler und deren Folgen eine juristische Verantwortung oder Haftung übernehmen.
Feedback: Wir freuen uns über Fragen und Anmerkungen jeglicher Art. Bitte senden Sie diese an: info@espresso-tutorials.com.
Willkommen bei Espresso Tutorials!
Unser Ziel ist es, SAP-Wissen wie einen Espresso zu servieren: Auf das Wesentliche verdichtete Informationen anstelle langatmiger Kompendien – für ein effektives Lernen an konkreten Fallbeispielen. Viele unserer Bücher enthalten zusätzlich Videos, mit denen Sie Schritt für Schritt die vermittelten Inhalte nachvollziehen können. Besuchen Sie unseren YouTube-Kanal mit einer umfangreichen Auswahl frei zugänglicher Videos: https://www.youtube.com/user/EspressoTutorials.
Kennen Sie schon unser Forum? Hier erhalten Sie stets aktuelle Informationen zu Entwicklungen der SAP-Software, Hilfe zu Ihren Fragen und die Gelegenheit, mit anderen Anwendern zu diskutieren: http://www.fico-forum.de.
Eine Auswahl weiterer Bücher von Espresso Tutorials:
Antje Kunz: SAP® Legacy System Migration Workbench (LSMW)
Dr. Boris Rubarth: Schnelleinstieg in ABAP®
Thomas Stutenbäumer: SAP® Praxishandbuch ABAP Teil 1 – Konzeption, Entwicklung und Debugging
Rüdiger Deppe: Schnelleinstieg in SAP® ABAP Objects
Thomas Stutenbäumer: SAP® Praxishandbuch ABAP Teil 2 – Performance, Erweiterungen, Transportwesen
Marcel Schmiechen: Adobe® Interactive Forms – Interaktive Formulare in SAP®
Inhaltsverzeichnis
Cover
Titelseite
Copyright / Impressum
Vorwort
1 Einführung in Eclipse
1.1 Motivation der SAP für Eclipse
1.2 Vorteile von ABAP-Entwicklung in Eclipse
1.3 Wichtige Begriffe in Eclipse
1.4 Allgemeine Hinweise
2 Eclipse einrichten
2.1 Eclipse und Plugins installieren
2.2 ABAP-Projekt einrichten
2.3 Oberfläche der ABAP-Perspektive
3 Arbeiten mit Entwicklungsobjekten
3.1 Entwicklungsobjekt anlegen
3.2 Ein Paket anlegen
3.3 Ein Programm anlegen
3.4 Strukturen anlegen
3.5 Funktionsbausteine anlegen
4 Hilfsmittel und nützliche Funktionen
4.1 Code-Vervollständigung
4.2 Syntax-Prüfung
4.3 Quick Fix
4.4 ABAP Doc
4.5 Vorlagen
4.6 Navigation
4.7 Funktionen im Kontextmenü
4.8 Versions-Historie
4.9 Lesezeichen
4.10 Transporte
4.11 ADT-Links
4.12 Aufgaben
5 Debuggen in Eclipse
5.1 Breakpoints
5.2 Oberfläche der Debug-Perspektive
6 Fazit/Ausblick
7 Tastenkombinationen
7.1 Bearbeitung
7.2 Navigation und Suche
A Der Autor
B Disclaimer
Weitere Bücher von Espresso Tutorials
Vorwort
Seit einiger Zeit steht nun fest, dass seitens der SAP keine Weiterentwicklung der von ABAP-Entwicklern bisher genutzten »ABAP Workbench« in der SAP GUI mehr zu erwarten ist. Mehrfach hat Thomas Fiedler als Verantwortlicher für die neu erschlossene Entwicklungsumgebung Eclipse IDE betont, dass es keine weiteren Funktionen und Verbesserungen für das alteingesessene Programmierwerkzeug der SE80 geben wird. Alle zukünftigen Anstrengungen werden in die Verbesserung der Möglichkeiten in der Eclipse IDE fließen, die auch strategisch für die Entwicklung auf Basis von SAP HANA vorgesehen ist.
In diesem Buch richte ich mich daher an Gleichgesinnte – ABAP-Entwickler, die wie ich schon in der »alten Welt« zwischen dem Data Dictionary (DDIC), dem Function Builder und der ABAP Workbench gependelt sind und sich jetzt auf eine Reise ins Ungewisse begeben. Wagen Sie wie ich den Sprung heraus aus der bekannten Workbench, in der jedes Tastenkürzel sitzt, und hinein in eine neue Welt, die erst mal einiges an Umstellung mit sich bringt, aber auch hilfreiche Funktionen zur Erleichterung der täglichen Arbeit bereitstellt.
Ich möchte Sie Schritt für Schritt an ABAP in Eclipse heranführen: Beginnend mit ein paar grundlegenden Erläuterungen dieses strategischen Schritts der SAP, widmen wir uns der ersten Hürde, nämlich dem Einrichten der neuen Entwicklungsumgebung. Bis zum Ende von Kapitel 3 geht es darum, Sie zu befähigen, in der ungewohnten Umgebung zu arbeiten und die notwendigsten Schritte wie das Anlegen von Objekten, das Aktivieren und die Navigation zu meistern.
In Kapitel 4 kommen dann diejenigen Funktionen hinzu, die Ihnen als Entwickler bei Ihrer täglichen Arbeit unterstützend zur Seite stehen – allen voran die Auto-Vervollständigung und die Nutzung von Quick Fixes. Auch Eclipse-eigene und damit dem versierten ABAP-Entwickler bisher unbekannte Funktionen werden ausführlich erläutert, wie z.B. die lokale Überarbeitungshistorie und der einfache Quelltext-Vergleich.
Als Abschluss der funktionalen Beschreibungen steht mit Kapitel 5 der wichtige Debugger im Fokus, um auch hier die nötige Sicherheit bei der Analyse Ihrer Anwendungen zu schaffen und damit Ihre Entwicklungskompetenz abzurunden.
Ich selbst habe vor einiger Zeit diesen Wechsel von der Entwicklung in der SAP GUI hin zur Entwicklung in Eclipse vollzogen und mich mühsam in viele kleine und manchmal auch versteckte Funktionen eingearbeitet. Mit diesem Buch möchte ich Ihnen diese lange Umstellung ersparen und in einem kompakten Aufbau alle wesentlichen Aspekte übersichtlich erläutern. Dabei erhebe ich keinen Anspruch auf Vollständigkeit. Eclipse mit der ABAP-spezifischen Erweiterung ist ein sehr umfangreiches und mächtiges Werkzeug. Mein Ziel ist, dass Sie am Ende einen guten Überblick über alles Notwendige für einen direkten Start in Eclipse haben werden.
Dieses Buch bezieht sich ausschließlich auf den reinen ABAP-Entwicklungsanteil. Andere Technologien wie BOPF, Web Dynpro for ABAP usw. werden nicht näher betrachtet, sind jedoch auch über Erweiterungen in Eclipse integrierbar. Sie werden feststellen, dass Sie sich nach einer Einfindungsphase in die Entwicklung mit Eclipse bestens zurechtfinden werden. Sobald dieser Grundstein gelegt ist, können Sie die vorhandenen Menüs erforschen und sich alle über ABAP hinaus bereitgestellten Funktionalitäten ohne Weiteres selbst erschließen.
Im Text verwenden wir Kästen, um wichtige Informationen besonders hervorzuheben. Jeder Kasten ist zusätzlich mit einem Piktogramm versehen, das diesen genauer klassifiziert:
Hinweis
Hinweise bieten praktische Tipps zum Umgang mit dem jeweiligen Thema.
Beispiel
Beispiele dienen dazu, ein Thema besser zu illustrieren.
Achtung
Warnungen weisen auf mögliche Fehlerquellen oder Stolpersteine im Zusammenhang mit einem Thema hin.
Zum Abschluss des Vorworts noch ein Hinweis zum Copyright: Sämtliche in diesem Buch abgedruckten Screenshots unterliegen dem Copyright der SAP SE. Alle Rechte an den Screenshots liegen bei der SAP SE. Der Einfachheit halber haben wir im Rest des Buches darauf verzichtet, darauf unter jedem Screenshot gesondert hinzuweisen.
1 Einführung in Eclipse
Trotz bestehender Entwicklungsumgebungen für die verschiedenen genutzten Technologien hat sich die SAP dazu entschlossen, in eine weitere Entwicklungsplattform zu investieren – die Eclipse IDE.
IDE steht für integrated development environment, zu Deutsch: »integrierte Entwicklungsumgebung«. Das bedeutet, dass diese Plattform im Optimalfall alle für die Entwicklungstätigkeit notwendigen Bestandteile in sich vereint, sodass keine weiteren Anwendungen oder Hilfsmittel wie etwa ein Texteditor, ein Debugger oder auch eine Versionsverwaltung der Quelldateien benötigt werden.
Warum die SAP sich zu diesem Schritt entschieden hat und welche konkreten Vorteile Eclipse für einen ABAP-Entwickler bereithält, erfahren Sie in den folgenden zwei Abschnitten. Anschließend gebe ich Ihnen einen Überblick über wichtige Komponenten der Entwicklungsumgebung Eclipse, die Ihnen im weiteren Verlauf des Buchs immer wieder begegnen werden.
1.1 Motivation der SAP für Eclipse
Für alle von der SAP bereitgestellten oder verwendeten Technologien existieren bereits die notwendigen Bordmittel oder zusätzlichen Anwendungen, um diese nutzen bzw. mit ihnen entwickeln zu können. Für ABAP-Entwickler ist das klassischerweise die ABAP Workbench, auch bekannt als »SE80«. Für SAP Interactive Forms by Adobe (SIFbA/AIF) steht der Adobe LiveCycle Designer und für die Entwicklung von Java-Komponenten das SAP NetWeaver Development Studio (NWDS) zur Verfügung.
Doch mit jeder neu hinzukommenden Technologie vergrößert sich das Arsenal der mit ihr verbundenen, in der Regel gleichzeitig auch unumgänglichen Anwendungen und Hilfsmittel, um sie überhaupt nutzen zu können. Im Zuge der Entwicklung von SAP HANA, der SAP-eigenen In-Memory-Datenbank, ist erstmals ein strategisches Umdenken in diesem Bereich erkennbar. Es wurde das Ziel ins Auge gefasst, sich auf eine Entwicklungsumgebung festzulegen, die für möglichst viele verfügbare Technologien genutzt und ständig erweitert werden kann. Um das zu ermöglichen, ging die Überlegung in Richtung einer Desktop-basierten Anwendung – diese schafft eine Unabhängigkeit vom dahinterliegenden System, auf dem entwickelt wird, und bietet gleichzeitig die notwendige Flexibilität für Erweiterungen und Anpassungen an die spezifischen Anforderungen der jeweiligen Technologie.
Mit dem SAP NetWeaver Development Studio hat die SAP schon in der Vergangenheit eine Desktop-basierte Anwendung für die Java-Entwicklung auf Basis von Eclipse bereitgestellt. Die SAP NWDS kommt jedoch mit einem vorinstallierten Software-Paket daher, das ausschließlich auf spezifische Bedürfnisse von Java und Web Dynpro for Java (WD4J) ausgelegt ist.
Um mehr Flexibilität zu erreichen, ohne eine weitere SAP-eigene Plattform zu schaffen, sondern möglichst nah an bereits etablierte Entwicklungsumgebungen zu reichen, fiel die Entscheidung auf die Eclipse IDE. Diese wurde 2001 von IBM vorgestellt und ursprünglich für die Entwicklung von Java und C/C++ bereitgestellt. Sie ist unter der Eclipse Public License (EPL), einer Open-Source-Lizenz, veröffentlicht und damit kostenfrei verfügbar. Sie kann durch eigene Softwarekomponenten, sogenannte Plugins, erweitert werden. Diese können über den Eclipse Marketplace oder über externe Bereitstellungswebseiten verfügbar gemacht und ganz nach dem eigenen Bedarf installiert werden.
Genau diese Möglichkeit hat die SAP genutzt und eigene Eclipse-Plugins entwickelt, die ständig erweitert und verbessert werden. Zur Standard-Installation von Eclipse können über die im Kapitel 2 beschriebenen Schritte die folgenden Plugins installiert werden:
ABAP Development Tools for SAP NetWeaver, nachfolgend mit ADT abgekürzt,
Modeling Tools for SAP BW powered by SAP HANA für die Business-Warehouse-Entwicklung,
SAP HANA Cloud Platform Tools für die Arbeit auf der SAP HANA Cloud-Plattform,
SAP Mobile Platform Tools für die Gateway-Entwicklung,
SAP HANA Tools für die SAP HANA-Entwicklung,
SAP HANA Cloud Integration Tools für die Prozess-Integration in SAP HANA,
SAP Identity Management Configuration Lifecycle Tools,
SAP Mobile Tools für hybride Web-Apps,
UI Development Toolkit for HTML5 für die SAP-UI5-Entwicklung.
Dieses Buch beschäftigt sich ausschließlich mit dem zuerst genannten Plugin, den ADT. Dieses liefert die wesentlichen, für die ABAP Entwicklung benötigten Erweiterungen für Eclipse, inklusive zahlreicher Besonderheiten zur Erleichterung der täglichen Arbeit. Die Nutzung dieser Plugins ist in der SAP-NetWeaver-Lizenz enthalten – es fallen keine weiteren Kosten an.
Plugins in ständiger Entwicklung
Für die oben aufgeführten Plugins werden regelmäßig neue Versionen herausgegeben. Sie unterliegen einer ständigen Weiterentwicklung und liegen strategisch absolut im Fokus der SAP. Es ist daher sehr wahrscheinlich, dass schon jetzt neue Funktionen vorhanden und bestehende weiterentwickelt wurden, wodurch einige Bildschirm-Darstellungen in diesem Buch von der Darstellung Ihrer möglicherweise neueren Version abweichen können.
Nutzungsvoraussetzungen für Eclipse
Um überhaupt eine Verbindung von der externen Entwicklungsumgebung Eclipse zu Ihrem SAP-System herstellen und damit ABAP in Eclipse nutzen zu können, benötigt Ihr SAP-System mindestens das SAP-NetWeaver-7.31-SP4-Release. Für andere Plugins können andere, möglicherweise höhere Release-Stände Voraussetzung sein.
1.2 Vorteile von ABAP-Entwicklung in Eclipse
Vor dem Umstieg auf die neue Entwicklungsumgebung stellen Sie sich vermutlich – genau wie ich vor einiger Zeit – die natürlicherweise aufkommenden Fragen: Was sollte besser geeignet sein für die ABAP-Entwicklung als die gute alte Workbench? Warum sollte ich wechseln, wenn ich doch alle meine Transaktionen kenne? Welche Vorteile bietet mir die Eclipse IDE gegenüber bisher genutzten Transaktionen?
Ich bitte Sie, für einen kurzen Moment über meine folgenden Fragen nachzudenken – und sich erst anschließend die Liste der möglichen Vorteile anzusehen:
1 Wie oft wechseln Sie bei der ABAP-Entwicklung in der SAP GUI die Transaktion?
2 Wie viele Modi haben Sie üblicherweise gleichzeitig geöffnet, auch über Systeme und Mandanten hinweg?
3 Wie oft wechseln Sie in den falschen Modus und suchen anschließend den richtigen unter den vielen offenen Fenstern?
4 Wie oft wollen Sie ein Programm debuggen und landen im alten Debugger mit der Meldung »Kein weiterer Modus verfügbar – Wechsel zu altem Debugger«?
5 Wie oft öffnen Sie im Object Navigator der ABAP Workbench andere Objekte (Pakete, Klassen, Funktionsgruppen), um kurz etwas nachzusehen und anschließend den gleichen Weg wieder zurückzugehen?
6 Wie oft springen Sie in einer Klasse zwischen der Methodenübersicht und deren Implementierung hin und her und haben dabei ständig den Zurück-Button im Zugriff?
7 Wie oft prüfen Sie über den Verwendungsnachweis, ob eine Variable überhaupt noch genutzt wird?
8 Wie oft legen Sie Methoden per Hand an, die Sie im Quelltext schon inklusive aller Parameter vorgesehen haben?
Ich könnte die Liste noch beliebig weiterführen.
Vermutlich denken Sie sich nun so etwas wie: »Das hat mich bisher noch nie gestört. Es funktioniert doch einwandfrei!« Das dachte ich auch. Doch wenn ich heute bei einem meiner Kunden keine Eclipse IDE benutzen kann und ich auf die mir seit jeher zur Verfügung stehenden Bordmittel zurückgreife, fällt mir auf, wie sehr Eclipse die Arbeit in vielen dieser angemerkten Punkte erheblich vereinfacht. Ganz konkret bietet die Eclipse IDE einem ABAP-Entwickler die folgenden Vorteile:
Entwicklung auf allen Systemen (auch verschiedener Mandanten) in einer einzigen Oberfläche,
Entwicklung unterschiedlicher Technologien wie ABAP, ABAP OO oder BOPF ohne Wechsel der Entwicklungsplattform,
Anpassung vieler Einstellungen an die eigenen Bedürfnisse, wie das farbige Hervorheben von Schlüsselwörtern oder die Anordnung der Oberflächen-Elemente,
umfangreiche Such- und Navigationsmöglichkeiten,
eigene lokale Versionsverwaltung zusätzlich zur ABAP-Versionierung,
Einbindung weiterer Drittanbieter-Software möglich, wie z.B. Stylecheck, Projektmanagement-Tools etc.,
Öffnen beliebig vieler Entwicklungsobjekte über alle Systeme,
einfacher Zugriff auf alle Systeme ohne SAP GUI,
große Unterstützung bei der Source-Code-Bearbeitung,
und falls Sie mal etwas nicht finden: die Möglichkeit, eine integrierte SAP-GUI-Session zu öffnen!
Auch diese Liste von Vorteilen ist noch sehr übersichtlich gehalten. Machen Sie sich in den nachfolgenden Abschnitten am besten selbst ein Bild davon, welche Möglichkeiten die ADT mit sich bringen und welche Vorteile Sie daraus im Vergleich zur bisherigen ABAP Workbench und weiteren notwendigen Transaktionen ziehen können.
1.3 Wichtige Begriffe in Eclipse
Für das bessere Verständnis der in den folgenden Abschnitten beschriebenen Vorgehensweisen und Funktionen möchte ich Ihnen vorab einige wiederkehrende Begriffe, Bezeichnungen und Elemente in der Eclipse IDE näherbringen. Sie können diese zunächst einfach zur Kenntnis nehmen oder aber die Installation von Eclipse gemäß Abschnitt 2.1 bereits vornehmen, um die hier beschriebenen Menüpunkte direkt in der Anwendung nachzuvollziehen. Die Reihenfolge der Begriffserläuterungen mag Ihnen etwas willkürlich erscheinen. Sie ist so gewählt, dass immer nur ein Begriff pro Erklärung neu ist. Sollten andere Begriffe benötigt werden, wurden diese vorher bereits erläutert. Am Ende bringe ich jedoch alles in den richtigen Zusammenhang.
Projekt: Ein Projekt bezeichnet in Eclipse klassischerweise eine Sammlung von Objekten, die thematisch zusammengehören, wie z.B. alle für eine Applikation benötigten Dateien und Quelltexte. Das für die ABAP-Entwicklung spezifische Projekt wird im folgenden Abschnitt 2.2 näher erläutert.
Workspace: Alle über Eclipse bearbeiteten Projekte und verwendeten Dateien werden auf dem PC des Anwenders lokal an einer Stelle gesammelt abgelegt. Dieser technische Speicherort wird Workspace genannt und von Eclipse beim Starten abgefragt.
Plugin: Ein Plugin ist eine in sich abgeschlossene Komponente mit bestimmten Funktionalitäten, die in Eclipse eingebunden werden kann und damit die IDE um gewünschte Funktionen erweitert. Eclipse an sich besteht nur aus einem Programm, das Plugins laden kann. Alle anderen gebotenen oder zusätzlich möglichen Funktionen werden über Plugins bereitgestellt.
Plattform: Die Plattform bezeichnet die »leere« Eclipse-Installation, zu der keine weiteren Plugins hinzugefügt wurden. Diese bietet neben dem genannten Laden der Plugins den Workspace und eine Benutzeroberfläche zur Bearbeitung der Projekte.
View: Eine View bzw. Sicht ist ein Bereich der Benutzeroberfläche, in dem Informationen zu verschiedensten Objekten und Abläufen dargestellt werden. Ein Beispiel ist der Package Explorer, der wie der Object Navigator in der ABAP Workbench (SE80) die Objektstrukturen in einem Baum darstellt und dort eine Navigation zu bestimmten Elementen ermöglicht.
Perspektive: Eine Perspektive fasst viele Views zu inhaltlich passenden Benutzeroberflächen zusammen. Der Benutzer kann die Anordnung der Views ändern oder auch verschiedene aus- und dafür andere einblenden.
Workbench: Die Workbench bildet die Arbeitsoberfläche der Eclipse IDE. In ihr werden die Perspektiven/Views und die verschiedenen Editoren zur Bearbeitung von Quelltexten oder sonstigen Objekten dargestellt.
Bringe ich die aufgeführten Begriffe in einen kausalen Zusammenhang, so ergibt sich daraus folgende Beschreibung:
1. Die Plattform Eclipse besteht aus einer
Workbench als grafische Oberfläche und
einem Workspace als technische Ablage der bearbeiteten Objekte.
2. Die gewünschten Funktionen werden über Plugins bereitgestellt.
3. In der Workbench wird
eine Perspektive dargestellt,
die aus verschiedenen Views bestehen kann.
4. Jede Projektart ist einer Standard-Perspektive zugeordnet.
Damit keine Verwechslungsgefahr zwischen der SE80 und der Eclipse Workbench besteht, werde ich mich nachfolgend mit dem Begriff »Workbench« immer auf die ABAP Workbench beziehen.