Kitabı oku: «ABAP-Programmierung unter SAP S/4HANA – 2., erweiterte Auflage»
Rüdiger Deppe
Viktor Laufer
ABAP-Programmierung unter SAP S/4HANA®
2., erweiterte Auflage

Rüdiger Deppe, Viktor Laufer
ABAP-Programmierung unter SAP S/4HANA® – 2., erweiterte Auflage
ISBN:978-3-96012-043-8 (E-Book)
Lektorat:Anja Achilles
Korrektorat: Christine Weber/Marina Pittsik
Coverdesign: Philip Esch
Coverfoto:© Just_Super | ID 1144908953 istockphoto.com
Satz & Layout: Johann-Christian Hanke
2. Auflage 2021
© Espresso Tutorials GmbH, Gleichen 2021
URL: www.espresso-tutorials.de
Das vorliegende Werk ist in allen seinen Teilen urheberrechtlich geschützt. Alle Rechte sind 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 die 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.
Inhaltsverzeichnis
Cover
Titelseite
Copyright/Impressum
Vorwort
1 SAP HANA – Einführung
1.1 Grundbegriffe von SAP HANA
1.2 Neue Programmiersprachen
1.3 Eclipse als Entwicklungsplattform
1.3.1 Warum Eclipse?
1.3.2 Installation von Eclipse
1.3.3 Installation der ABAP Development Tools und des SAP HANA Studios für Eclipse
1.3.4 Beginn der Arbeit mit Eclipse
1.3.5 Ihr erstes Eclipse-Programm
1.3.6 SAP HANA Studio
1.3.7 Das SAP HANA Repository
2 Grundlagen der ABAP-Programmierung für SAP HANA
2.1 Übertragung der ABAP-Programmierung vom Applikationsserver nach SAP HANA
2.2 ABAP Database Connectivity
2.3 Sekundäre Datenbankverbindungen
2.4 Natives SQL in SAP HANA Studio
2.4.1 Dynamisches Anlegen von Tabellen und Views
2.4.2 Die SELECT-Anweisung in SAP HANA
2.5 SQLScript
2.5.1 HANA-Datenbankprozeduren (gebräuchlich bis Release 7.4 SP4)
2.5.2 Benutzerdefinierte Funktionen (gebräuchlich bis Release 7.4 SP4)
2.6 Analytische Views (gebräuchlich bis Release 7.4 SP4)
2.6.1 Attribute View
2.6.2 Analytic Views
2.6.3 Calculation Views
2.6.4 Laufzeitobjekte der Views
2.7 Einbindung der Objekte aus SAP HANA Studio in ABAP-Programme
2.7.1 Aufrufen analytischer Views
2.7.2 Aufruf von HANA-Datenbankprozeduren
2.8 Transport der HANA-Objekte
2.9 ABAP-Erweiterungen seit Release 7.4 SP5
2.9.1 Grundlagen der Core Data Services (CDS)
2.9.2 ABAP CDS
2.9.3 HANA CDS
2.9.4 ABAP-Datenbankprozeduren
3 Fortgeschrittene Techniken 3.1 Unstrukturierte Daten und deren Textsuche
3.1.1 Grundlagen der Textsuche
3.1.2 Textsuche in Native SQL von SAP HANA
3.1.3 Textsuche in ABAP
3.2 Entscheidungstabellen in SAP HANA
3.2.1 Umgang mit den Entscheidungstabellen in SAP HANA
3.2.2 Aufruf der Entscheidungstabellen aus ABAP
3.3 Funktionsbibliotheken für SAP HANA
4 Zusammenfassung
A Die Autoren
B Disclaimer
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:
Sebastian Abshoff:Mobile Apps mit den SAP® Cloud Platform Mobile Services
Dr. Boris Rubarth:Schnittstellenprogrammierung in SAP® ABAP
Johannes Gerbershagen:Qualitätsmanagement in der ABAP-Entwicklung unter SAP®
Johannes Gerbershagen:SAP®-Praxishandbuch ABAP Core Data Services (CDS)
Tobias Steckenborn:Schnelleinstieg in SAP® Cloud Platform Workflow
Jörg Böke: Schnelleinstieg in SQLScript für SAP HANA®

Vorwort
Die Client-Server-Architektur der SAP startete 1993 mit dem Namen SAP R/3 und sorgte dafür, dass die SAP mit der angebotenen ERP-Software einen enormen Aufschwung erlebte. Erste Ansätze der HANA-Technologie kamen 2007 zur Anwendung. Die SAP-HANA-Datenbank fungierte zunächst als Side-by-Side-Szenario neben einer vorhandenen traditionellen Datenbank. SAP HANA bildete dabei die Sekundärdatenbank, die traditionelle war die Primärdatenbank. Schon bald konnte SAP HANA aber auch als alleiniges System zur Speicherung und Bereitstellung von Daten genutzt werden.
Im Februar 2015 setzte die SAP schließlich mit der als S/4HANA bezeichneten Technologie einen weiteren Meilenstein. Die Basis dieser neuen Technologie bilden die leistungsfähige In-Memory-Plattform SAP HANA und die moderne Benutzeroberfläche SAP Fiori. Datenmodelle und Benutzerführung wurden radikal vereinfacht. Zudem existieren nun Cloud-Lösungen, die mit einem zentralen Host-System verbunden sind.
Als In-Memory-Verarbeitung bezeichnet man die Tatsache, dass die Datenbank jetzt nicht mehr auf einem eigenen Datenbankserver abgelegt ist, sondern sich gemeinsam mit den Programmdaten im Hauptspeicher des Applikationsservers befindet. Programm und Datenbank verschmelzen miteinander; Rechenvorgänge, die vorher mehrere Stunden Laufzeit benötigten, werden jetzt innerhalb weniger Minuten bis Sekunden durchgeführt.
Was bedeutet das für Sie als Entwickler? Wie müssen Sie Ihre gewohnte Vorgehensweise umstellen? Diese Fragen werden mit diesem Buch beantwortet.
Für den ABAP-Entwickler wurde 2012 das HANA-optimierte SAP-Release 7.4 herausgebracht, welches umfassende Änderungen in der ABAP-Programmiersprache mit sich brachte. Ende des Jahres 2015 wurden SAP NetWeaver 7.5 sowie ABAP 7.50 mit noch einmal deutlich verbesserter SAP-HANA-Unterstützung veröffentlicht. Der Leser dieses Buches findet viele Übungsprogramme, mithilfe derer er seine hier gelernte Theorie gleich in die Praxis umsetzen kann. Für die Beispielprogramme dieses Buches ist mindestens die ABAP-Version 7.40 erforderlich.
Während Sie bisher Datenbankprozeduren mithilfe von Open SQL programmiert haben, werden Sie sehen, dass Native SQL in HANA zu erheblichen Performancegewinnen führt. Mit dem ABAP-Release 7.53 wurde Open SQL umbenannt in ABAP SQL. Wundern Sie sich daher nicht, wenn in älteren Quellen von Open SQL und in neueren von ABAP SQL die Rede ist. Da ABAP SQL von der Datenbankschnittstelle erst aufwendig in Native SQL umgewandelt werden muss, ist es besser für die Performance, wenn Sie Ihr Coding direkt in Native SQL schreiben. Sie werden auch SQLScript kennen- und einsetzen lernen.
Bei den Beispielselektionen wird Ihnen immer wieder auffallen, dass die Namen der Datenbanktabellen mit dem Zusatz »SAPDEA« ergänzt wurden. Hierbei handelt es sich um ein sogenanntes Datenbankschema, welches Ihnen in Verbindung mit der Eclipse-Plattform im ersten Kapitel näher beschrieben wird. Wenn Sie die Selektionsbeispiele auf Ihrem eigenen Rechner nachvollziehen möchten, müssen Sie den Namen dieses Datenbankschemas gegen den Ihres eigenen Datenbankschemas austauschen.
In den Releases ABAP 7.40 sowie 7.50 hat sich die ABAP-Sprache sehr verändert. Zahlreiche Anweisungen, die Sie seit vielen Jahren gewohnt sind, wurden in Funktionen umgewandelt. Um Ihnen den Umstieg zu erleichtern, werden wir am Anfang des Buches jedes Listing in zwei Varianten schreiben: im neuen sowie im alten ABAP.
Neue ABAP-Techniken
Detaillierte Informationen über alle Release-Neuerungen erhalten Sie im SAP-System unter der Transaktion ABAPDOCU. Wählen Sie dort den Link ABAP – Releaseabhängige Änderungen.
In Kapitel 1 stellen wir Ihnen die neue HANA-Datenbank vor. Außerdem führen wir Sie in die Handhabung der Entwicklungsplattform Eclipse ein, die für die Entwicklung von HANA-Objekten unentbehrlich ist. In Kapitel 2 zeigen wir Ihnen die Verwaltung der HANA-Objekte und tellen Ihnen die für HANA wichtigen Sprachen Native SQL und SQLScript vor. Außerdem werden Sie die Formen der optimierten Datenbankzugriffe unter HANA sowie alternatives Programmieren in reinem ABAP kennenlernen. In Kapitel 3 erläutern wir exemplarisch die Textsuche und den Einsatz von Entscheidungstabellen als zwei der neuen Funktionsweisen unter der HANA-Datenbank.
In dieser aktualisierten Fassung wurden neue Funktionen und Optionen ergänzt. Die Beispiele wurden angepasst sowie mit neuen Inhalten und Screenshots versehen, damit sich der Leser schneller in die Programmierung einlesen und diese leicht nachvollziehen kann.
Quellcode-Beispiele
Dieses Buch enthält viele Quellcode-Beispiele. Um die Lesbarkeit in Ihrem E-Book-Lesegerät zu verbessern und den Zeilenumbruch korrekt darzustellen, empfehlen wir, den Quellcode im Querformat zu betrachten oder die Schriftgröße kleiner zu zoomen.
Beispielszenario für dieses Buch
In diesem Buch wird das Beispielszenario »Flugdatenmodell« verwendet, das auch in SAP-Schulungen und zahlreichen ABAP-Büchern zum Einsatz kommt. Von Vorteil ist, dass die Beispieldaten des Flugdatenmodells in den Tabellen im SAP-System verfügbar sind bzw. mit dem SAP-Standardprogramm SAPBC_ DATA_GENERATOR generiert werden können. Im Wesentlichen handelt es sich um folgende Tabellen, die über den Primärschlüssel verknüpft werden können:
SCARR (Fluggesellschaft)
SPFLI (Flugplan)
SCUSTOM (Flugkunden)
SBOOK (Flugbuchungen)
SFLIGHT (Flug)
Sie können alle Quellcodes aus diesem Buch unter folgender Adresse herunterladen: http://abap.espresso-tutorials.de.
Danksagung
Rüdiger Deppe: Ich bedanke mich beim Team von Espresso Tutorials für die Unterstützung bei der Erstellung dieses Buches, v.a. bei Anja Achilles, Johann-Christian Hanke und Martin Munzel. Außerdem danke ich meiner Frau Ivon für den administrativen Beistand.
Viktor Laufer: Auch ich möchte mich für die gute Zusammenarbeit bei der Aktualisierung dieses Buches bedanken, v.a. bei Anja Achilles. Mein besonderer Dank gilt meiner Frau Nadja für die Möglichkeit und meinen Kindern für die Geduld, an diesem Buch mitarbeiten zu können.
Im den Text sind Kästen eingefügt, 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.
Die Form der Anrede
Um den Lesefluss nicht zu beeinträchtigen, verwenden wir im vorliegenden Buch bei personenbezogenen Substantiven und Pronomen zwar nur die gewohnte männliche Sprachform, meinen aber gleichermaßen Personen weiblichen und diversen Geschlechts.
Hinweis zum Urheberrecht
Sämtliche in diesem Buch abgedruckten Screenshots unterliegen dem Copyright der SAP SE. Alle Rechte an den Screenshots hält die SAP SE. Der Einfachheit halber haben wir im Rest des Buches darauf verzichtet, dies unter jedem Screenshot gesondert auszuweisen.
1 SAP HANA – Einführung
In diesem Kapitel führen wir Sie in die Begriffswelt der HANA-Datenbank ein. So können Sie beim Thema SAP HANA gut mitreden. Außerdem erhalten Sie einen ersten Einblick in die Entwicklungsplattform Eclipse.
1.1 Grundbegriffe von SAP HANA
SAP HANA ist eine In-Memory Database. Sie befindet sich im Hauptspeicher des Applikationsservers. Während früher die Programme getrennt von den Datenbanken gelagert wurden, können jetzt Datenbankprozeduren direkt in der SAP-HANA-Datenbank gespeichert werden. Mit ihr werden gleichzeitig viele neue Tools ausgeliefert, die vom ABAP-Entwickler für die Bearbeitung in dieser Umgebung genutzt werden können.
Begriff: SAP HANA
HANA ist die Abkürzung von High Performance Analytical Appliance. Gemäß dem Namen diente sie in ihren Anfängen für die Echtzeitverarbeitung analytischer Szenarien wie BW (Business Warehouse). Im Laufe der Zeit wurde sie aber zunehmend auch für normale transaktionale Szenarien eingerichtet.
Die HANA-Datenspeicherung kann sowohl zeilen- oder spaltenbasiert als auch objektorientiert erfolgen. Damit ist sie besonders für Zugriffe aus ABAP Objects ausgelegt. Ein großes Plus ist die hervorragende Parallelverarbeitungsmöglichkeit. Programme können ihre Verarbeitungsprozesse auf mehrere gleichzeitig ablaufende Datenpakete verteilen.
SAP hat die Eclipse-Plattform, die heutzutage von vielen Programmiersprachen als Entwicklungsumgebung verwendet wird, insbesondere für die neuartige Entwicklung in ABAP und SAP HANA angepasst:
Ein besonderes Element der HANA-Plattform ist HANA XS (HANA Extended Application Services), das die Entwicklung von Anwendungen direkt auf der HANA-Plattform ohne externe Entwicklungsumgebung anbietet. Die hiermit entwickelten Objekte erzeugen Objekte im Datenbankkatalog und werden im HANA Repository abgelegt. Die zu diesem Zweck verwendete Beschreibungssprache ist Core Data Services (CDS), deren Dateien im HANA Repository mit der Endung .hdbdd gespeichert werden.
Details zur SAP-Hana-Datenbank
Ausführliche Informationen zur SAP-HANA-Datenbank und ihren weiteren Komponenten, etwa für Datenmigrationen, finden Sie unter http://help.sap.com/hana. Wir beschränken uns in diesem Buch auf die Aspekte, die für eine gewöhnliche ABAP-Entwicklung notwendig sind.
Während Datenbanken bisher zeilenorientiert waren ( Row Store), soll die HANA-Datenbank v.a. spaltenorientiert ( Column Store) verwendet werden. Eine zeilenorientierte Datenbank hängt alle Datenwerte in einer Zeile aneinander, dann folgt die nächste Zeile usw. Eine spaltenorientierte Datenbank geht stattdessen Spalte für Spalte vor: Das bietet Vorteile für Anwendungen, bei denen Aggregate über eine große Anzahl ähnlicher Elemente gebildet werden.
Wenn einzelne Spalten vieler Datensätze einer zeilenorientierten Ablage gelesen werden, ist der Zeitaufwand wesentlich höher, als wenn in einer spaltenorientierten Variante sämtliche Datensätze als Spalten zur Verfügung stehen, da dort alle gewünschten Daten unmittelbar ausgelesen werden können.
In Tabelle 1.1 sind Beispieldaten dargestellt, um Ihnen den Unterschied zwischen einer zeilen- und einer spaltenorientierten Datenspeicherung zu verdeutlichen.

Tabelle 1.1: Beispieldaten für zeilenorientierte vs. spaltenorientierte Datenspeicherung
Unterschied zeilenorientertes und spaltenorientiertes Lesen
Für unser Beispiel, das sich der Daten aus Tabelle 1.1 bedient, sollen zu jeder Fluggesellschaft die Flugpreise selektiert werden.
Bei einer zeilenorientierten Ablage sind die Daten wie folgt abgelegt:
AA,17,425,USD;AZ,555,187,EUR;
LH,400,668,EUR;UA,941,882,USD
Zuerst wird Zeile 1 Spalte 1 (Wert »AA«), dann Zeile 1 Spalte 3 (Wert »425«), Zeile 2 Spalte 1 (Wert »AZ«), Zeile 2 Spalte 3 (Wert »187«) usw. gelesen.
Bei einer spaltenorientierten Ablage sind dieselben Daten wie folgt abgelegt:
AA,AZ,LZ,UA;17,555,400,941;425,
187,668,882;USD,EUR,EUR,USD
Bei dieser Ablageform wird erst Spalte 1 (»Fluggesellschaft«) in einem Zug gelesen, dann in gleicher Weise Spalte 3 (»Flugpreis«).
Für die Verarbeitung von Geschäftsdaten oder großer Datenmengen empfiehlt sich daher i.d.R. die spaltenorientierte Verarbeitung. Column Store sollte hierfür also die Regel sein. Nur bei kleinen Tabellen mit wenigen Datensätzen, oder wenn überwiegend auf einen einzelnen Datensatz zugegriffen wird (SELECT SINGLE), sollten Sie die zeilenorientierte Variante verwenden.
Da sich die Daten bei der HANA-Datenbank im Hauptspeicher befinden, entfällt die bisher übliche lange Zugriffszeit auf den Datenbankinhalt. Bei der HANA-Datenbank entscheidet über die Dauer der Zugriffszeit, welche der drei unterschiedlichen CPU-Caches des Rechners mit den Daten befüllt werden.
Die Daten der HANA-Datenbank können zudem sowohl im Hauptspeicher als auch auf der HANA-Datenbank im Column Store komprimiert werden, was sich sehr laufzeitoptimierend auswirkt. Dabei wird jeder Wert eines Datensatzes als einmaliger Integer-Wert in einem sogenannten Dictionary-Vektor abgelegt.
Datenkomprimierung
Für Datensätze der Fluggesellschaften LH, AA und AF gibt es einen Dictionary-Vektor mit den Datensätzen LH = 1, AA = 2 und AF = 3. Die Nummerierung folgt der Position der Datensätze. In den eigentlichen Datensätzen der Datenbank werden aber nur die Werte 1, 2 und 3 gespeichert.
Wenn LH im 5., AA im 8. und AF im 9. Datensatz der Tabelle stehen, wird auf der Datenbank die Kombination 5/1, 8/2 und 9/3 abgespeichert, was als Attributvektor bezeichnet wird. Dabei belegen die Werte 5, 8 und 9 keinen Speicherplatz, sondern ergeben sich daraus, dass die 1 im 5., die 2 im 8. und die 3 im 9. Datensatz stehen.
Der entscheidende Vorteil dieser Technik ist: Die Verarbeitung von Ganzzahlen erfolgt wesentlich schneller als die von Zeichenketten.
Die auf diese Weise komprimierten Daten lassen sich erneut verdichten. Die einzelnen Zeichen der Zeichenketten des Dictionary-Vektors werden mithilfe einer Delta-Komprimierung verkleinert. Dazu werden Blöcke von z.B. zwanzig Zeichen gebildet, wobei jedes einzelne Zeichen nur einmal in einem Delta-String und dieser wiederum im Block über eine Referenz gespeichert wird. Auch für den Attributvektor werden noch verschiedene Komprimierungsverfahren angewendet.
Die HANA-Datenbank eignet sich zudem sehr gut für eine Partitionierung (Einteilung der Datenbank in mehrere abgeschlossene Bereiche). Die Suche innerhalb einer Partition verläuft wesentlich schneller, als wenn die ganze Datenbank durchsucht werden muss. Auch lassen sich mehrere Partitionen parallel verarbeiten. Ein weiterer Faktor zur Beschleunigung der Datenbankzugriffe ist die zeilenweise Partitionierung von Tabellen. In der HANA-Datenbank gibt es eine Begrenzung auf zwei Milliarden Zeilen pro Datenbank oder pro Partition.
Die HANA-Datenbankarchitektur umfasst mehrere Serverbestandteile. Der für Entwicklungen wichtige Bestandteil ist der Indexserver . Er verfügt über einen SQL-Prozessor, der die SQL-Befehle ausführt oder an Unterkomponenten weiterleitet. Stored Procedures sind Datenbankprozeduren, die als komplexe SQL-Anweisungen direkt in der Engine des Indexservers gespeichert werden und so ohne Umwege über Programmableitungen der Datenbank zur Verfügung stehen. Auch umfangreiche Analyseszenarien werden in der Engine gespeichert. Diese Verlagerung von Coding aus den Anwendungsprogrammen in die Datenbankschicht bezeichnen wir als Code Pushdown.
Herkömmliche ABAP-Anwendungen arbeiten nach dem sogenannten Data-to-Code-Paradigma: Die Daten müssen aufwendig von der Datenbank in das Programm übertragen werden. SAP-HANA-optimierte Programme benutzen das Code-to-Data-Paradigma. Das bedeutet, dass Teile des Codings (Kalkulationslogik) jetzt in der Datenbankschicht liegen, während der übrige Teil (Orchestrierungslogik) in der Applikationsschicht verbleibt:
Die Kalkulationslogik umfasst Verarbeitungen, die Berechnungen mit den Anwendungsdaten durchführen. Je komplexer Kalkulationen sind, desto besser sind sie in der Datenbankschicht aufgehoben.
Die Orchestrierungslogik steuert Geschäftsprozesse, kontrolliert den Datenfluss und legt fest, wie Kalkulationsergebnisse kombiniert und weiterverarbeitet werden.
Acceleratoren sorgen in Side-by-Side-Szenarien dafür, dass die Programme der SAP Business Suite beschleunigt werden. Auch bestehende kundeneigene ABAP-Programme können ohne Veränderungen des Codings mithilfe des SAP Business Application Accelerators zur HANA-Bearbeitung beschleunigt werden.
Während die bisherige SAP Business Suite sowohl mit einer HANA- als auch mit einer traditionellen Datenbank betrieben werden kann, ist die SAP Business Suite ab S/4HANA nur noch mit der HANA-Datenbank einsetzbar.
1.2 Neue Programmiersprachen
Wenn Sie als ABAP-Entwickler bisher ABAP SQL als Datenbankabfrage genutzt und so datenbankunabhängig programmiert haben, sollten Sie in Zukunft vermehrt von Native SQL und SQLScript Gebrauch machen, um die HANA-Möglichkeiten voll auszunutzen. Dieses bedeutet aber auch, dass Sie nicht mehr datenbankunabhängig programmieren können. Sie benötigen Informationen über Ihre HANA-Datenbank, die Sie in datenbankabhängigen Anwendungscode einfließen lassen.
Bei der Optimierung von HANA-Programmen durch Native SQL und SQLScript sollten Sie sich immer fragen, ob die Programme auch auf anderen Datenbanksystemen eingesetzt werden sollen, was häufig der Fall ist. Dann müssen Sie die Vor- und Nachteile einer Optimierung abwägen. Der Hauptvorteil besteht in einem erheblichen Performancegewinn, ein wesentlicher Nachteil ist die datenbankabhängige Programmierung . Diese können Sie durch eine Fallunterscheidung im Programm erreichen (IF … ENDIF).
IF cl_db_sys=>dbsys_type = 'HDB'. * Aufruf der HANA-Objekte ELSE. * Verarbeitung der traditionellen DDIC-Objekte ENDIF.
Bei der Programmierung sollten Sie immer die Laufzeitanalyse eines Programms im Blick behalten. Das ist für eine HANA-Datenbank noch wichtiger als für eine traditionelle. Sonst kann es passieren, dass Programme unter SAP HANA deutlich langsamer laufen als mit herkömmlichen Datenbanken.
1.3 Eclipse als Entwicklungsplattform
Bisher haben Sie als Entwickler mit Ihrer ABAP-Workbench (SAP-Transaktion SE80) gearbeitet. Jetzt hat sich die SAP mit der Einführung von HANA auch der Entwicklungsplattform Eclipse angeschlossen, mit deren Hilfe sich schon viele andere Entwicklungssprachen wie Java oder C++ programmieren lassen.
Eclipse wurde ursprünglich von IBM entwickelt, mittlerweile wird es von der Eclipse Foundation als kostenlose Open-Source-Software verwaltet und weiterentwickelt. Für die ABAP-Programmiersprache entstanden die ABAP Development Tools for SAP Netweaver sowie für die HANA-Entwicklung und -Administration SAP HANA Studio – jeweils als Add-on zur Eclipse-Plattform. Eclipse gilt für SAP als strategische Basis für neue Entwicklungskonzepte.
Das aktuelle Release für die Eclipse-Plattform ist 2021-03 Version 4.19 (Stand April 2021). Die SAP bietet immer wieder neue Releases für ihre Eclipse-basierten Entwicklungswerkzeuge als SAP Release Train for Eclipse.
Die SAP stellt eine Internetseite (https://tools.hana.ondemand.com) zur Verfügung, über die SAP-Entwicklungswerkzeuge auf der Eclipse-Plattform aktualisiert werden können.
Technische Grundlage
Voraussetzung für den Betrieb von ABAP-Programmierung mithilfe der Eclipse-Plattform ist der SAP NetWeaver Application Server (AS) ABAP 7.4. In diesem Buch arbeiten wir mit dem SAP S/4HANA 1809 (SAP Basis 753) sowie den ABAP Development Tools (ADT) 3.16.5 und SAP HANA Database 2.0 (Support Package Stack 5).
1.3.1 Warum Eclipse?
Der große Vorteil von Eclipse liegt darin, dass diese Entwicklungsumgebung mithilfe von sogenannten Plug-ins beliebig um zusätzliche Funktionalitäten erweitert werden kann.
Die SAP hat eigene Plug-ins entwickelt, um Eclipse an ihre Bedürfnisse anzupassen. Jetzt fragen Sie sich vermutlich: Ich kann doch gut mit der SAP-Transaktion SE80 arbeiten – warum soll ich auf Eclipse umstellen?
Sie haben in Eclipse die Möglichkeit, mithilfe des Kontextmenüs in die bekannte SAP GUI umzuschalten, sodass Sie auch weiterhin Ihre gewohnten Bearbeitungstätigkeiten ausüben können. Aber Eclipse bietet noch sehr viel mehr, etwa die Möglichkeit, Business-Warehouse-, SAPUI5- oder SAP-HANA-Entwicklungen parallel zu bearbeiten. Alles ist in eine einzige IDE (Entwicklungsplattform) integriert.
Mithilfe von SAP HANA Studio für Eclipse ist zudem eine Programmierung direkt auf der Datenbankebene des HANA-Systems möglich (siehe Abbildung 1.1), was mit der Transaktion SE80 nicht umsetzbar ist. Diese HANA-Bestandteile werden in SQLScript geschrieben, was ebenso wenig mit dem Object Navigator (SE80) realisierbar ist.

Abbildung 1.1: Entwicklungsebenen mit SAP HANA
1.3.2 Installation von Eclipse
Die Eclipse -Installation ist für Windows, Apple Mac OS X und Linux verfügbar. Einzige Voraussetzung für Eclipse ist JAVA Runtime Environment (JRE, JAVA 11 oder höher). Die neue Eclipse-Version 2021-03 benötigt außerdem JAVA in der 64-Bit-Version, 32-Bit werden nicht mehr unterstützt.
Eclipse-Version
Mittlerweile erscheint zum Ende jedes Quartals eine neue Eclipse-Version auf dem Markt. Die folgende Installationsbeschreibung bezieht sich auf die aktuelle Eclipse-Version »4.19« (2021-03).
Wenn in Ihrem System alle Voraussetzungen erfüllt sind, können Sie die Installation über den Eclipse Installer starten:
1. Gehen Sie im Internet auf die Seite www.eclipse.org/downloads/packages/installer.
2. Wählen Sie unter Download Ihr Betriebssystem (siehe Abbildung 1.2). Klicken Sie auf den Link Windows x86_64, für das wir die nächsten Schritte zeigen.

Abbildung 1.2: Eclipse Installer – Auswahl des Betriebssystems
3. Laden Sie die Installation von dem vorgeschlagenen Host durch Klick auf den Download-Button (siehe Abbildung 1.3). Alternativ können Sie einen anderen Mirror durch Klick auf Select Another Mirror auswählen.

Abbildung 1.3: Eclipse Installer – Auswahl eines Hosts
4. Speichern Sie und führen Sie die Datei aus.
Konfigurieren des Netzwerk-Proxys
Es kann sein, dass zu Beginn der Installation der Prozess stoppt und Sie aufgefordert werden, einen Netzwerk-Proxy zu konfigurieren. Drücken Sie dazu auf den Button Configure Network Proxy und gehen Sie wie folgt vor:
Gehen Sie im Auswahlfeld Active Provider auf Manual.
Markieren Sie in der Liste die Zeile HTTP und drücken Sie den Button Edit.
Geben Sie im daraufhin erscheinenden Pop-up Ihren Host und Ihre Portnummer ein.
Setzen Sie im Pop-up bei Requires Authentifications das Häkchen und geben Sie User und Passwort ein.
Bestätigen Sie mit OK.
Wiederholen Sie alle Schritte für die Zeile HTTPS.
Bestätigen Sie Ihre vorgenommenen Änderungen mit OK.
5. Wählen Sie das Paket Eclipse IDE for Java Developers (siehe Abbildung 1.4).

Abbildung 1.4: Eclipse Installer – Auswahl des Pakets
6. Drücken Sie den Button Install (siehe Abbildung 1.5).

Abbildung 1.5: Eclipse Installer – Installieren des Pakets
7. Akzeptieren Sie die Lizenzvereinbarung mit Klick auf Accept Now (Abbildung 1.6).

Abbildung 1.6: Eclipse Installer – Lizenzvereinbarung
8. Drücken Sie den Button Launch (siehe Abbildung 1.7) zum Starten der Eclipse-Anwendung.

Abbildung 1.7: Eclipse Installer – Launch/Programmstart
9. Im nächsten Screen (Abbildung 1.8) setzen Sie ein Häkchen bei Use this as the default and do not ask again und drücken Launch.

Abbildung 1.8: Eclipse Installer – Workspace
10. Daraufhin öffnet sich der Einstiegsbildschirm der Eclipse-Plattform (siehe Abbildung 1.9).

Abbildung 1.9: Eclipse Installer – Willkommensbildschirm
1.3.3 Installation der ABAP Development Tools und des SAP HANA Studios für Eclipse
In diesem Abschnitt demonstrieren wir Ihnen die Installation der ABAP Development Tools (ADT) sowie von SAP HANA Studio.
Zunächst finden Sie eine Auflistung aller Voraussetzungen für eine Installation der ABAP Development Tools (ADT). Für die aktuelle Version können diese auch auf der Internetseite zu den generellen SAP Development Tools (https://tools.hana.ondemand.com/#abap) eingesehen werden:
1. Eclipse:
Eclipse Platform 2021-03 (4.19)
2. Betriebssystem:
Windows 10 bzw.
Apple Mac OS X 10.14 oder höher
3. Java-Version:
JRE-Version 11 (oder höher) in 64-Bit
4. SAP GUI:
für Windows: SAP GUI für Windows 7.60 oder höher
für Apple Max OS: SAP GUI für Java 7.50 oder höher
5. Microsoft Visual Studio C++ 2013 (x64) bei Windows-Betriebssystem.
Folgen Sie den genannten Schritten, um die ABAP Development Tools zu installieren.
1. Starten Sie Ihr Eclipse-Programm.
2. Wählen Sie im Menü Help • Install New Software, wie Sie in Abbildung 1.10 sehen können.

Abbildung 1.10: Eclipse-Menü – Neue Software installieren
3. Drücken Sie im nächsten Bild den Button Add (Abbildung 1.11).

Abbildung 1.11: Eclipse – verfügbare Softwarewebseiten
4. Im aufkommenden Pop-up geben Sie als Namen SAP Development Tools ein und als Location http://tools.hana.ondemand.com/latest. Drücken Sie anschließend den Button Add (siehe Abbildung 1.12).

Abbildung 1.12: Eclipse – Auswahl einer neuen Webseite
Aktuelle SAP HANA Tools beziehen
In der aktuellsten Version über die Location http://tools.hana.ondemand.com/latest kann es vorkommen, dass die SAP HANA Tools noch nicht verfügbar sind. Ist dies der Fall, verwenden Sie die Location zu einer vorherigen Version, beispielsweise https://tools.hana.ondemand.com/2020-12.
5. Wählen Sie die zu installierenden Softwaretools ABAP Development Tools und SAP HANA Tools (gemäß Abbildung 1.13) und klicken Sie auf Next.

Abbildung 1.13: Eclipse – Auswahl der neuen Softwaretools
6. Das nächste Bild zeigt Ihnen die Installationsdetails (Abbildung 1.14). Drücken Sie erneut auf Next.

Abbildung 1.14: Eclipse – Installationsdetails
7. Wieder gilt es, die Lizenzvereinbarung anzuerkennen, indem Sie I accept the terms of the license agreements wählen und den Button Finish drücken (Abbildung 1.15).

Abbildung 1.15: Eclipse – Softwaretools, Lizenz
8. Die Sicherheitswarnung bestätigen Sie gemäß Abbildung 1.16 mit dem Button Install anyway.

Abbildung 1.16: Eclipse – Softwaretools, Warnung
9. Das Eclipse-Foundation-Zertifikat bestätigen Sie durch Markieren des Eintrags und einen Klick auf Accept selected.

Abbildung 1.17: Eclipse – Bestätigung des Zertifikats
10. Sie werden zum Schluss um einen Neustart der Eclipse IDE gebeten (Abbildung 1.18). Bestätigen Sie mit Restart Now.

Abbildung 1.18: Eclipse-Neustart
11. Nachdem die Eclipse-Software neu gestartet ist, sehen Sie das Übersichtsbild Ihrer ABAP-Entwicklungstools (Abbildung 1.19). Schauen Sie sich auf Ihrer neuen ABAP-Plattform ein wenig um.

Abbildung 1.19: Eclipse – ABAP-Entwicklung im Überblick
1.3.4 Beginn der Arbeit mit Eclipse
1. Starten Sie das Programm Eclipse. Das geht am einfachsten, wenn Sie auf das Eclipse-Icon
auf Ihrem Desktop klicken.
2. Wenn sich das Welcome-Fenster öffnet, schließen Sie es, indem Sie im Reiter Welcome auf X drücken.
3. Eine komplette Arbeitsumgebung wird in Eclipse als Perspektive bezeichnet. Für jede Programmiersprache existiert eine eigene Perspektive: für die ABAP-Umgebung eine ABAP-Perspektive und für die JAVA-Umgebung eine JAVA-Perspektive. Öffnen Sie eine ABAP-Perspektive, indem Sie im Menüpfad Window • Perspective • Open Perspective • Other auswählen. Alternativ kann eine neue Perspektive mithilfe des Icons für »Open Perspective« oben rechts geöffnet werden (siehe Abbildung 1.20).

Abbildung 1.20: Eclipse – Neue Perspektive öffnen
4. In dem neuen Dialogfenster markieren Sie ABAP und drücken auf Open (siehe Abbildung 1.21).

Abbildung 1.21: Eclipse – Auswahl Perspektive
Andere wichtige Perspektiven für die Programmierung in ABAP sind:
ABAP Connectivity & Integration: Entwicklung systemübergreifender Programme
ABAP-Profiling: Erstellen von Performanceanalysen
Debug: Analyse von Programmierfehlern

Abbildung 1.22: Eclipse-Perspektiven
In der Buttonleiste, die oben rechts in einer Eclipse-Perspektive angeboten wird (siehe rote Markierung in Abbildung 1.22 sowie Abbildung 1.23), sehen Sie ganz links die Suche nach Kommandos und anderen Items. Rechts daneben ist das Icon zum Öffnen einer neuen Perspektive. Das nächste Icon öffnet die JAVA- und das Icon ganz rechts die ABAP-Perspektive.

Abbildung 1.23: Direktauswahl Eclipse-Perspektiven
Als ABAP-Entwickler benötigen Sie zur Arbeit mit Eclipse im SAP-System folgende Berechtigungsrollen:
SAP_BC_DWB_ABAPDEVELOPERzum Anlegen, Ändern, Löschen und Aktivieren von Entwicklungsobjekten,
SAP_BC_DWB_WBDISPLAYzum Anzeigen von Entwicklungsobjekten.
Beide beinhalten das Berechtigungsobjekt S_ADT_RES, welches für die Arbeit mit Eclipse zwingend erforderlich ist. Wenn Sie andere Berechtigungsobjekte verwenden möchten, müssen diese auf jeden Fall das Berechtigungsobjekt S_ADT_RES besitzen.
Des Weiteren benötigen Sie eine Verbindung zwischen Eclipse und Ihrem SAP-System. Diese Verbindung wird als Projekt bezeichnet.
1. Legen Sie ein neues Projekt an, um die Verbindung zu Ihrem SAP-System herzustellen, indem Sie in der ABAP-Perspektive den Menüpfad File • New • ABAP-Projekt wählen.
2. Sie gelangen zur Auswahl der Systemverbindung (siehe Abbildung 1.24).

Abbildung 1.24: Eclipse – neues ABAP-Projekt, Systemverbindung
3. Geben Sie das gewünschte SAP-System ein, zu dem Sie eine Verbindung aufbauen möchten, in diesem Beispiel das System D4D. Die Übersicht wird automatisch auf das hier gewählte System eingeschränkt.
Sobald Sie das SAP-System ausgewählt haben, werden Ihnen verschiedene Eigenschaften der Verbindung angezeigt (siehe Abbildung 1.25).

Abbildung 1.25: Eclipse – ausgewähltes SAP-System
4. Wenn Sie jetzt auf Next klicken, werden Sie nach Ihren Anmeldedaten zum SAP-System gefragt (Abbildung 1.26). Geben Sie diese ein und drücken Sie Finish.
5. Sie gelangen daraufhin zurück zum Eclipse-Übersichtsbild, von dem Sie die wesentlichen Funktionen in Abbildung 1.27 sehen.

Abbildung 1.26: Eclipse – Anmeldedaten zum SAP-System

Abbildung 1.27: Eclipse – Übersicht nach Anmeldung am System
6. Expandieren Sie den Knoten des SAP-Systems (hier D4D_100_laufer_de).
7. Daraufhin werden, wie in Abbildung 1.28 dargestellt, unter dem Punkt System Library alle in Ihrem System vorhandenen Entwicklungspakete angezeigt. Außerdem sehen Sie den Punkt Favorite Package, unter dem Sie Ihre Favoritenpakete ablegen können.

Abbildung 1.28: Übersicht Systembaum in Eclipse
8. Expandieren Sie ein Paket, bis Sie ein Objekt des Pakets, z.B. eine Klasse, finden. Doppelklicken Sie auf dieses Objekt. Jetzt sollte Ihre Eclipse-Perspektive in etwa wie in Abbildung 1.29 aussehen.

Abbildung 1.29: ABAP-Eclipse-Perspektive
Auf der linken Seite der Perspektive befinden sich die Ansichten. Ansicht
zeigt Ihnen das Paket (z.B. ZTEST) mit dem Objekt (z.B. ZCL_ZCONSOLUT_DPC), in Ansicht
werden die Eigenschaften dieses Objekts aufgelistet. Unter
sehen Sie den Editor, der Ihnen das Coding des unter
markierten Objekts zeigt. Im Bereich
finden Sie diverse Informationen zu Ihrem gewählten Objekt, wie z.B. aktuelle Prüfungsmeldungen zu Ihrem Programm. Ganz rechts in dieser Perspektive (in der Abbildung nicht zu sehen) erscheint eventuell ein WELCOME. Dort können Sie während der Bearbeitung zusätzliche Informationen, z.B. solche aus der F1-Hilfe, einsehen. Ein neues Programm öffnet sich als weiterer Reiter, in diesem Fall neben der Klasse »ZCL_ZCONSOLUT_DPC«.
Sie können in Eclipse in mehreren geöffneten Fenstern gleichzeitig arbeiten. Ein neues Fenster öffnen Sie, indem Sie im Menüpfad Window • New Window anklicken.
Anzahl der Aufrufmöglichkeiten
Eine Ansicht kann innerhalb einer Perspektive nur einmal angezeigt werden, während Sie Editoren mehrfach öffnen können (z.B., um verschiedene Programme gleichzeitig zu bearbeiten).
Netzwerkprobleme?
Wenn Sie nach Eingabe Ihrer SAP-Systemdaten keine Verbindung zu Ihrem SAP-System erhalten, liegt dies vermutlich daran, dass Sie eine Verbindung über einen speziellen Host und eine Portnummer aufbauen müssen. Gehen Sie dazu wie folgt vor:
1. Wählen Sie unter Window (vgl. Abbildung 1.27) den Menüpunkt Preferences.
2. Suchen Sie im oberen Suchfeld nach Network Connections.
3. Gehen Sie im Auswahlfeld Active Provider auf Manual.
4. Markieren Sie in der Liste HTTP und drücken Sie den Button Edit.
5. Geben Sie im daraufhin erscheinenden Pop-up Ihren Host und Ihre Portnummer ein.
6. Setzen Sie im Pop-up bei Requires Authentifications das Häkchen und geben Sie User und Passwort ein.
7. Bestätigen Sie mit OK.
8. Markieren Sie in der Liste HTTPS und drücken Sie den Button Edit.
9. Geben Sie Host und Port ein.
10. Setzen Sie das Häkchen bei Requires Authentifications und geben Sie User und Passwort ein.
11. Bestätigen Sie mit OK.
12. Bestätigen Sie Ihre gemachten Änderungen mit Apply and Close.
Bei Situationen, die nicht im Editor angezeigt werden können, startet Eclipse automatisch die SAP GUI, so z.B. bei der Anzeige von Dictionary-Objekten (SE11).
Wenn Sie ein Programm ausführen wollen, wählen Sie den Menüpfad Run • Run oder den Button
.
Andere Objekte, deren Coding gerade nicht im Editor angezeigt wird, können Sie starten, indem Sie den Menüpfad Run • ABAP-Entwicklungsobjekt ausführen wählen oder den Button
drücken.
Sobald Sie ein Entwicklungsobjekt aufrufen, ist es für andere Benutzer gesperrt. Sie müssen hier also nicht, wie sonst in der SAP GUI, zwischen Anzeigen und Ändern hin- und herschalten, um es zu sperren oder die Sperre aufzuheben.
Benutzereigene Einstellungen für Eclipse und Ihre ABAP-Bearbeitung können Sie über den Menüpfad Window • Preferences auswählen. So finden Sie z.B. die ABAP-Einstellungen unter ABAP Development (siehe Abbildung 1.30).

Abbildung 1.30: Eclipse – Globale Einstellungen
Folgende Einstellungen sollten Sie kennen:
ADT Link Handling: Hier können Sie festlegen, dass Entwicklungsobjekte über eine ABAP-Ressourcen-URL aus E-Mails heraus geöffnet werden können.
Über den Unterpunkt Activation steuern Sie die Aktivierung.
Unter Debug nehmen Sie Einfluss auf den Debugger.
Weitere Informationen zur Eclipse-Plattform finden Sie unter http://www.eclipse.org/documentation oder über den Menüpfad Help • Help Contents.
1.3.5 Ihr erstes Eclipse-Programm
Im Folgenden führen wir Sie Schritt für Schritt durch Ihr erstes selbst geschriebenes Eclipse-Programm, in dem Sie Flugdaten selektieren und ausgeben:
1. Starten Sie die Eclipse-Plattform, wenn Sie sie nicht bereits geöffnet haben.
2. Über den Menüpfad File • New legen Sie ein neues Entwicklungsobjekt an. Da wir ein Programm anlegen möchten, wählen Sie File • New • Other. Sie können auch das Icon mit der Dropdownliste
ganz links in der Buttonleiste (vgl. Abbildung 1.27) drücken.
3. Suchen Sie nach »ABAP Program« oder wählen Sie den Pfad ABAP • ABAP Program.
4. Wenn nicht bereits geschehen, müssen Sie sich jetzt an Ihrem ABAP-Projekt (SAP-System) anmelden.
5. Als Nächstes werden Sie in einem Dialogfenster (siehe Abbildung 1.31) aufgefordert, ein Paket, einen Namen und eine Beschreibung für Ihr neues Programm einzugeben. Tragen Sie als Package $TMP (lokales Objekt), als Namen Z_MY_FIRST_ECLIPSE_PROGRAM und als Beschreibung Mein erstes Eclipse-Programm ein. Drücken Sie anschließend auf Finish.

Abbildung 1.31: Eclipse – Anlegen eines Programms
6. Je nach Ihrer ABAP-Version geben Sie das Listing 1.1 oder Listing 1.2 in Ihr Programm ein, um Daten aus der Tabelle SPFLI zu selektieren und auszugeben.
CONSTANTS gc_lufthansa TYPE s_carr_id VALUE 'LH'. SELECT carrid, connid, airpfrom, airpto FROM spfli INTO TABLE @DATA(gt_spfli) WHERE carrid = @gc_lufthansa. LOOP AT gt_spfli ASSIGNING FIELD-SYMBOL(<gs_spfli>). WRITE: / <gs_spfli>-carrid, <gs_spfli>-connid, <gs_spfli>-airpfrom, <gs_spfli>-airpto. ENDLOOP.
Listing 1.1: Neues ABAP
DATA gt_spfli TYPE TABLE OF spfli. CONSTANTS gc_lufthansa TYPE s_carr_id VALUE 'LH'. FIELD-SYMBOLS <gs_spfli> LIKE LINE OF gt_spfli. SELECT carrid connid airpfrom airpto FROM spfli INTO CORRESPONDING FIELDS OF TABLE gt_spfli WHERE carrid = gc_lufthansa. LOOP AT gt_spfli ASSIGNING <gs_spfli>. WRITE: / <gs_spfli>-carrid, <gs_spfli>-connid, <gs_spfli>-airpfrom, <gs_spfli>-airpto. ENDLOOP.
Listing 1.2: Altes ABAP
7. Verwenden Sie den Pretty Printer, indem Sie Umschalt + F1 drücken.
Tastenkombinationen in Eclipse
Auf den folgenden Internetseiten finden Sie nützliche Eclipse-Tastaturkombinationen:
http://eclipse-tools.sourceforge.net/shortcuts.html
https://www.blattertech.ch/2011/09/nuetzliche-eclipse-kurzbefehle
8. Aktivieren Sie Ihr Programm durch Drücken der Icons
oder
(alle inaktiven Objekte) in der Buttonleiste.
9. Führen Sie das Programm aus, indem Sie
drücken. Wählen Sie im folgenden Pop-up (siehe Abbildung 1.32) ABAP Application und drücken Sie wahlweise OK oder F8.

Abbildung 1.32: Eclipse – auszuführende Anwendungsart
Die Ergebnisliste im Editor sollte nun wie in Abbildung 1.33 aussehen.

Abbildung 1.33: Ergebnisliste erstes Eclipse-Programm
Funktionstasten
Über Strg + Leertaste holen Sie sich Vorschläge für Code-Vervollständigungen oder -vorlagen, die an der jeweiligen Stelle passen könnten, und fügen diese dann ein.
Syntaxprüfungen führen Sie mit Strg + F2 aus.
Einfaches Speichern ohne Aktivieren erfolgt über den Menüpfad File • Save oder das bekannte Speicher-Symbol
.
Die im Weiteren beschriebenen Schritte sollen Ihnen die Arbeitsweise mit Eclipse noch etwas näherbringen.
10. Gehen Sie zurück zu Ihrem Quellcode und setzen Sie den Cursor in das Wort SPFLI. Wählen Sie anschließend den Menüpfad Navigate • Navigate To oder drücken Sie F3. Daraufhin sehen Sie im linken unteren Fenster Outline die Struktur der Tabelle SPFLI.
11. Setzen Sie den Cursor in das Wort GT_SPFLI der LOOP-Anweisung (siehe Zeile 15 in Abbildung 1.34). Wählen Sie dann wiederum den Menüpfad Navigate • Navigate To oder die Taste F3.
Der Cursor springt jetzt zur DATA-Deklaration von GT_SPFLI.
12. Setzen Sie den Cursor an einer beliebigen Stelle im Code auf das Wort GT_SPFLI. Sie sehen bereits, dass Eclipse automatisch alle Vorkommen im aktuellen Quellcode hervorhebt. Wählen Sie im Kontextmenü der rechten Maustaste den Eintrag Get Where-used List.
Sie sehen daraufhin die Vorkommen von GT_SPFLI im unteren Informationsbereich. Wenn Sie dort auf einen der Treffer doppelklicken, gelangen Sie an die Stelle des Editors.
13. Um Breakpoints zu setzen, doppelklicken Sie in Ihrem Programm links von der Zeilennummer, in der die LOOP-Anweisung beginnt.
Daraufhin erscheint ein blauer Punkt links neben der Zahl, wie Sie ihn in Abbildung 1.34 sehen.

Abbildung 1.34: Eclipse – Breakpoint
Sie können auch einen Statement-Breakpoint auf eine konkrete ABAP-Anweisung oder Ausnahmeklasse setzen, und zwar über den Menüpfad Run • ABAP-Breakpoints. Diese Breakpoints sehen Sie nicht im Editor, sondern nur in der Breakpoint-Ansicht des unteren Informationsbereichs.
14. Starten Sie das Programm.
Das Programm läuft jetzt im Debugger. Sehen Sie sich im Debugger ein wenig um. Beispielsweise können Sie sich hier Details zu einer Variable per Doppelklick auf den Variablennamen ansehen. Wie in der SAP GUI gehen Sie mit der Taste F5 im Quellcode einen Schritt weiter. Sehen Sie sich auch die Icons in der Eclipse-Toolbar genauer an (siehe Abbildung 1.35).

Abbildung 1.35: Eclipse – Debugger-Icons
Wenn Sie Anfänger im Eclipse-Umfeld sind, empfehlen wir Ihnen die Übungen im SAP Community Network, die Sie unter http://scn.sap.com/docs/DOC-31815 aufrufen.
Ücretsiz ön izlemeyi tamamladınız.