Zugriff auf und Bearbeiten von ABAP-Repository-Objekten

Objectives

After completing this lesson, you will be able to:
  • Verschiedene Optionen zum Anpassen der Datenstruktur in einem AS-ABAP-basierten SAP-System vergleichen
  • Werkzeuge der ABAP Workbench auflisten, die den Softwareentwicklungszyklus unterstützen
  • die Bedeutung des ABAP Dictionary erläutern
  • ABAP-Entwicklungswerkzeuge verwenden, um auf ABAP-Repository-Objekte zuzugreifen und diese zu bearbeiten

Die Datenstruktur ändern und anpassen

Sie können die AS-ABAP-basierte SAP-Software über Customizing-Funktionen ändern oder Objekte im ABAP Repository anlegen und bearbeiten.

Notiz

In dieser Lektion wird davon ausgegangen, dass Sie Ihr AS-ABAP-basiertes SAP-System als On-Premise-System ausführen. Für SAP-Systeme, die in der Cloud ausgeführt werden (z.B. SAP S/4HANA Cloud), können die Optionen zum Ändern des SAP-Standards unterschiedlich sein. Informationen zu den Erweiterungsoptionen für SAP S/4HANA Cloud (und insbesondere SAP S/4HANA Cloud, Extended Edition) finden Sie im SAP-Hinweis 2920697Extensibility Guide for SAP S/4HANA Cloud, extended edition und die beigefügte PDF-Datei.

Bei SAP-Software handelt es sich um Standardunternehmenssoftware, die bei der Implementierung den unternehmensspezifischen Bedürfnissen entsprechend angepasst wird. Solche Anpassungen werden als „Customizing" bezeichnet und umfassen mandantenabhängige und mandantenunabhängige Einstellungen. In AS-ABAP-basierten SAP-Systemen gibt es einen speziellen Einführungsleitfaden: den SAP-Referenz-IMG (Aufruf über Transaktion SPRO).

Hinweis

Das Customizing muss unter Umständen auch, in geringerem Umfang, nach einem Upgrade des SAP-Systems angepasst werden.

Änderungen an Repository-Objekten sind nicht zwingend erforderlich, um ein SAP-System verwenden zu können. Bei Bedarf können jedoch einzelne Objekte erstellt oder geändert werden. Änderungen oder Erweiterungen des Repositorys sind auf verschiedene Arten möglich, wie in der folgenden Interaktion dargestellt:

Modifikation – Erweiterung – Kundenentwicklung

Software-Entwicklungszyklus

Im SAP-System kann der gesamte ABAP-Software-Entwicklungszyklus geplant und durchgeführt werden.

Software-Entwicklungszyklus

Die ABAP Workbench von SAP ist eine Programmierumgebung für die Entwicklung unternehmensweiter Unternehmenslösungen. SAP unterstützt den gesamten Software-Entwicklungszyklus. Dafür stehen Werkzeuge zur Modellierung, zur ABAP-Programmierung, zur Definition von Daten- und Tabellenstrukturen und zur Entwicklung grafischer Benutzeroberflächen bereit. Umfangreiche Hilfsmittel zum Testen, Optimieren und Warten von Software sowie für die Arbeit großer Entwicklerteams sind ebenfalls vorhanden.

In der Konzeptphase eines Projekts geben Sie die Ergebnisse Ihrer Analyse in das SAP-Datenmodell ein. Anschließend findet die Umsetzung der Modelle in Tabellen und Programme statt. Die Entwicklung der einzelnen Programm-Komponenten wie Benutzer-Oberfläche, ABAP-Coding usw. kann in beliebiger zeitlicher Reihenfolge über speziell für die jeweilige Funktion vorgesehene Entwicklungswerkzeuge erfolgen. Die verschiedenen Elemente müssen erst zum Zeitpunkt der Ausführung der Anwendung zusammengefügt werden. Programmtests im Testsystem und der Transport in das Produktivsystem schließen den Entwicklungszyklus ab.

Ergänzend zu den Entwicklungs-Werkzeugen liefert SAP eine Bibliothek vordefinierter betriebswirtschaftlicher und allgemeiner Software-Komponenten aus, die man in seinem eigenen Entwicklungen einfach nutzen kann.

Die ABAP Workbench und ihre Werkzeuge

Im AS ABAP können Anwendungsprogramme mit der ABAP Workbench geschrieben werden. Bei der ABAP Workbench handelt es sich um eine grafische Programmierumgebung, in der mit Programmierwerkzeugen, Drucktasten, dem Kontextmenü (sekundäre Maustaste) oder Vorwärtsnavigation (Doppelklick auf Objektnamen) gearbeitet werden kann.

Die einzelnen Werkzeuge der Workbench fügen sich zu einem integrierten System zusammen. Wenn Sie z.B. mit Programmobjekten im ABAP Editor arbeiten, erkennt der Editor Objekte, die mit anderen Werkzeugen angelegt wurden. Das passende Werkzeug zur Bearbeitung eines Objekts wird aufgerufen, wenn das Objekt per Doppelklick ausgewählt wird. Anschließend kann dieses Objekt bearbeitet werden.

Bei der Arbeit in der ABAP Workbench wird zwischen Entwicklungsobjekten und Paketen unterschieden:

  • Entwicklungsobjekte sind Objekte, die mithilfe der ABAP Workbench bearbeitet werden können, z.B. Programme, Transaktionen oder Bildschirmbilder.

  • Ein Paket fasst logisch zusammenhängende Entwicklungsobjekte zusammen, beispielsweise alle Objekte für eine bestimmte Anwendung.

Mit dem Object Navigator (Transaktion SE80) können Sie Entwicklungsprozesse in der integrierten Umgebung der ABAP Workbench organisieren. Dadurch ist ein einfacher und einheitlicher Zugriff auf Repository-Objekte und die zugehörigen Entwicklungswerkzeuge möglich.

Das ABAP Dictionary

Das ABAP Dictionary ist ein zentraler Bestandteil der ABAP Workbench. Es umfasst sowohl betriebswirtschaftliche als auch technische Definitionen und Beschreibungen von SAP-Daten. Die ABAP-Laufzeitumgebung (z.B. der ABAP Interpreter und der Dynpro-Prozessor) greift häufig auf die Informationen im ABAP Dictionary zu.

Das ABAP Dictionary ermöglicht eine zentrale Beschreibung und Verwaltung aller im SAP-System verwendeten Datendefinitionen. Es ist ein integriertes und aktives Dictionary, d.h., das ABAP Dictionary ist vollständig in die Entwicklungs- und Laufzeitumgebung von SAP integriert. Jede Dictionary-Information wird nur einmal erfasst, ist aber dann jederzeit an jeder Stelle im SAP-System verfügbar. Das ABAP Dictionary (Transaktion SE11) stellt automatisch alle erfassten oder geänderten Informationen bereit und sorgt damit für aktuelle Laufzeitobjekte, Datenkonsistenz und Datensicherheit.

Die Aufgaben des ABAP Dictionary lassen sich gliedern in:

  • Definition von Datenbankobjekten (Tabellen, Views, ...)

  • Typdefinitionen (Strukturen, Datenelemente, Domänen usw.)

  • Service-Definitionen (Suchhilfen, Sperrobjekte usw.)

Wichtige Objekttypen im ABAP Dictionary sind Tabellen, Views, Sperrobjekte und Domänen:

  • Tabellen werden im ABAP Dictionary datenbankunabhängig definiert. Aus dieser Tabellendefinition wird dann eine Tabelle mit gleicher Struktur in der darunterliegenden Datenbank angelegt.

  • Views sind logische Sichten auf eine oder mehrere Tabellen. Die Strukturen von Views werden im ABAP Dictionary definiert. Aus dieser Struktur kann dann eine View in der Datenbank erzeugt werden.

  • Sperrobjekte dienen zur Synchronisation des Zugriffs mehrerer Benutzer auf denselben Datenbestand. Aus der Definition eines Sperrobjekts im ABAP Dictionary werden Funktionsbausteine generiert, die in Anwendungsprogrammen verwendet werden können.

  • Über Domänen können Felder zusammengefasst werden, die ähnliche technische oder betriebswirtschaftliche Zwecke haben. Eine Domäne beschreibt den Wertebereich aller Tabellenfelder und Strukturkomponenten, die sich auf diese Domäne beziehen.

Die Dokumentation (F1-Hilfe) und die Eingabehilfe (auch F4-Hilfe genannt) zu einem Feld auf einem Eingabebild werden ebenfalls vom ABAP Dictionary zur Verfügung gestellt.

ABAP Dictionary

Die Integration des ABAP Dictionary in den Programmablauf basiert auf der interpretativen Methode der Laufzeitumgebung des AS ABAP. Statt mit dem Original eines ABAP-Programms zu arbeiten, interpretiert der ABAP-Prozessor ein vor seiner ersten Ausführung aus dem Programmtext generiertes Laufzeitobjekt. Wenn ein Zeitstempelvergleich zeigt, dass Laufzeitobjekte nicht mehr dem aktuellen Stand des ABAP Dictionary entsprechen, werden sie vor der Ausführung automatisch erneut erzeugt.

Mit dem ABAP Dictionary können Sie auch Datenbanktabellen verwalten, die für das SAP-System innerhalb des SAP-Systems relevant sind. Detaillierte, produkttypische Datenbankkenntnisse sind bei der Anwendungsentwicklung also nicht notwendig. Bei der Aktivierung der Tabellendefinition überträgt das ABAP Dictionary die Definitionen auf die Datenbankebene.

Die Interaktion zwischen dem ABAP Dictionary einerseits und der Entwicklungsumgebung bzw. Laufzeitumgebung andererseits ist in der Abbildung „ABAP Dictionary" dargestellt.

Hinweis

Jedes Datenbanksystem enthält auch ein Dictionary. Dies ist in dieser Lektion nicht gemeint.

Tabellendefinition und zweistufiges Domänenkonzept

Tabellen werden im ABAP Dictionary datenbankunabhängig definiert. Wenn Sie die Tabellendefinition im ABAP Dictionary aktivieren, wird die Tabellendefinition im ABAP Dictionary in eine Definition für die verwendete Datenbank konvertiert und eine physische Tabellendefinition auf der Datenbank basierend auf der im ABAP Dictionary abgelegten Tabellendefinition angelegt.

Eine Tabelle ist eine zweidimensionale Matrix aus Spalten (Feldern) und Zeilen (Einträgen). Sie hat einen Namen und Eigenschaften wie zum Beispiel den Tabellentyp. Jede Tabelle des ABAP Dictionary hat einen Primärschlüssel. Dies ist eine Spaltenkombination, die jede Zeile in dieser Tabelle eindeutig identifiziert. Es können also in einer Tabelle keine zwei Zeilen mit identischen Primärschlüsselwerten vorkommen.

Ein Feld (eine Spalte einer Tabelle) hat einen Namen und Eigenschaften, zum Beispiel kann es ein Primärschlüsselfeld sein. Das Feld ist kein eigenständiges Objekt, sondern tabellenabhängig und kann nur innerhalb einer Tabelle gepflegt werden. Ein Tabellenfeld kann mit Hilfe von Domäne und Datenelement definiert werden:

  • Die Domäne dient zur technischen Definition des Tabellenfeldes. In ihr werden Feldlänge, Feldtyp, Ausgabeeigenschaften und mögliche Werteeinschränkungen mithilfe von Festwerten definiert.

  • Datenelemente dienen der Beschreibung der semantischen Eigenschaften eines Feldes im Kontext der Tabelle. Dies sind Eigenschaften, die nur dort und nicht allgemein (wie die technischen Eigenschaften) von Bedeutung sind. Im Datenelement muss zum Beispiel eine Kurzbeschreibung des Tabellenfeldes hinterlegt werden, die bem Aufruf der F1–Hilfe auf dem Bildschirmbild angezeigt wird. Außerdem kann auf Datenelementebene angegeben werden, welchen Text (Feldbezeichner, zum Beispiel Zielflughafen) der Benutzer auf Eingabefeldern angezeigt bekommt, die sich auf das Datenelement beziehen.

Das zweistufige Domänenkonzept (bestehend aus den Ebenen Datenelement und Domäne) erlaubt die Definition und Pflege technischer Feldeigenschaften auf Domänenebene. Eine Domäne kann ihre Feldeigenschaften an beliebig viele Felder weitergeben, wodurch bei Änderung der so beschriebenen Feldeigenschaften lediglich die Domäne, nicht aber die einzelnen Felder, explizit geändert werden müssen. Zudem ist bei Domänengleichheit sichergestellt, dass Feldwerte sicher und ohne Konvertierung miteinander verglichen werden können.

Tabellen, Datenelemente und Domänen werden zentral im ABAP Dictionary verwaltet.

Hinweis

Wenn Sie prüfen möchten, wo im SAP-System eine bestimmte Datendefinition (Datenelement, Domäne, Tabelle usw.) verwendet wird, können Sie im Verwendungsnachweis in der Transaktion SE11 nach dieser Datendefinition suchen.

Exkurs: Core-Data-Services-Views (CDS-Views)

Das ABAP Dictionary ermöglicht außerdem das Anlegen von Views. Eine View ist eine Zusammenfassung von Spalten einer oder mehrerer Datenbanktabellen in Übereinstimmung mit einer anwendungsspezifischen View. Bei der Verknüpfung mehrerer Tabellen implementiert eine View in der Regel einen Join mit statisch definierten Join-Bedingungen. Die Spalten einer View bilden eine flache Struktur, die als Datentyp verwendet werden kann. In Open SQL kann eine View in der Regel als Datenbanktabelle verwendet werden.

Es gibt jedoch Einschränkungen bei ABAP-Dictionary-Views. Maßgeblich für diese Einschränkungen war, unnötige Datenbanklast zu vermeiden und sicherzustellen, dass eine Abfrage auf allen Datenbanken dieselben Ergebnisse zurückgibt.

Um jedoch maximal von den Möglichkeiten von SAP HANA zu profitieren, insbesondere von der Parallelisierung, den optimierten Datenstrukturen und der optimierten Datenübertragung, ist es besser, teure Berechnungen und Aggregationen in der Datenbank selbst auszuführen statt große Datenmengen auf den ABAP-Anwendungsserver zu übertragen. Dies ist eine grundlegende Änderung des ABAP-Programmiermodells. Jetzt wird es „zu Logik für Daten" oder „Code-to-Data", wie es häufig genannt wird, und nicht zu „Daten zu Logik".

Mit der Entwicklung von SAP HANA und der Möglichkeit, Anwendungen ohne Applikationsserver direkt auf der Datenbank zu entwickeln, entstand die Notwendigkeit, ein Metamodell-Repository direkt in der Datenbank anzulegen. Wie beim ABAP Dictionary auf dem Anwendungsserver sollte es für Sie mehr im Kasten geben als Native-SQL-CREATE TABLE oder CREATE VIEW zu verwenden, insbesondere in Anbetracht der Notwendigkeit, reine technische Definitionen mit Semantik anzureichern. Das ist einer der Hauptgründe für die Core Data Services von SAP.

Weitere Informationen zu ABAP-Core-Data-Services-Views finden Sie in der Klasse S4D430 – Erstellen von Views in ABAP Core Data Services (ABAP CDS).

Arbeiten mit dem ABAP Dictionary

Zeigen Sie Tabellendefinitionen und Tabelleninhalt an.

Die Sprache ABAP

ABAP ist die Programmiersprache von SAP für Geschäftsanwendungen. Die meisten betriebswirtschaftlichen Anwendungen im SAP-System sind in ABAP geschrieben. Ein ABAP-Programm besteht aus einzelnen Anweisungen. Jede Anweisung beginnt mit einem Schlüsselwort und endet mit einem Punkt.

Beispiel:

Code Snippet
12345
REPORT first_program. WRITE 'My first ABAP program!'.

Dieser Code enthält zwei Anweisungen, jede in einer Zeile. Die Schlüsselwörter sind REPORT und WRITE. Das Programm gibt eine Liste aus. In diesem Fall enthält die Liste die Zeile My first ABAP program!.

Die obige Abbildung zeigt einen Ausschnitt aus einem ABAP-Programm. Sie können spezielle Befehle oder Schlüsselwörter in ABAP-Programmen verwenden, um Selektionsbilder anzulegen (Schlüsselwort PARAMETERS), um Listen zu drucken (Schlüsselwort WRITE) oder um auf Tabelleninhalte zuzugreifen (z.B. mit dem Schlüsselwort SELECT). Der ABAP-Befehl CALL SCREEN ruft ein Dynpro (bestehend aus einem Bildschirmbild und seiner Ablauflogik) auf, das im Screen Painter definiert ist.

Für ABAP-basierte SAP-Systeme der SAP Business Suite verwendet ABAP in der Regel Open-SQL-Befehle, um auf die Datenbank zuzugreifen. Open SQL besteht aus mehreren ABAP-Anweisungen, die Vorgänge auf der zentralen Datenbank des SAP-Systems ausführen. Open SQL wird für alle unterstützten Datenbankplattformen für AS-ABAP-basierte SAP-Systeme identisch verwendet. Das macht die Programmentwicklung unabhängig vom jeweils verwendeten Datenbanktyp.

Notiz

Dies unterscheidet sich im Kontext von SAP S/4HANA: Um von den Funktionen von SAP HANA am meisten zu profitieren, ist es besser, teure Berechnungen und Aggregationen in der Datenbank selbst durchzuführen, anstatt große Datenmengen auf den ABAP-Anwendungsserver zu übertragen. Dies ist eine grundlegende Änderung des ABAP-Programmiermodells. Es wird oft als Code-to-Data bezeichnet, um es vom klassischen Ansatz Data-to-Code abzugrenzen. Eine Möglichkeit, sich dem Code-to-Data-Paradigma anzunähern, besteht darin, Native SQL für den Zugriff auf SAP-HANA-spezifische Funktionen wie integrierte Funktionen zu verwenden.

Ausgewählte charakteristische Eigenschaften der Programmiersprache ABAP sind:

  • Mehrsprachigkeit (Textelemente wie Listenüberschriften oder Beschriftungen von Eingabefeldern werden für jede unterstützte Sprache separat gespeichert.)

  • Einfache und effektive Entwicklung grafischer Benutzungsoberflächen

  • Objektorientierte Programmierung (ABAP Objects)

  • Plattformunabhängigkeit (über Open SQL und die Datenbankschnittstelle)

  • Effizienter Zugriff auf Datenstrukturen (Tabellen, Datenelemente, ...)

Zugriff auf ABAP-Quelltext

SAP liefert den Quelltext zu allen ABAP-Programmen aus. Der Code ist einsehbar und kann z. B. als Vorlage für eigene Entwicklungen dienen.

In jeder Anwendung, die auf SAP GUI basiert, können Sie den Menüpfad SystemStatus... wählen.und navigieren Sie per Doppelklick in das entsprechende Werkzeug der ABAP Workbench. Die Workbench zeigt das ausgewählte Objekt im entsprechenden Werkzeug an.

Notiz

Dazu müssen Sie über die erforderlichen Berechtigungen verfügen.

Vorwärtsnavigation

Als Support-Mitarbeiter möchten Sie Repository-Objekte lesen, die von SAP ausgeliefert werden.

Schritte

  1. Vorbereitung: Melden Sie sich über SAP GUI for Windows am Entwicklungssystem S4D an. Rufen Sie die Transaktion SU01zweimal auf (dies führt zu zwei SAP-GUI-Fenstern).

    1. Melden Sie sich am SAP-System S4D, Mandant 100, mit Ihrer Benutzer-ID TRAIN-## und den von Ihrem Referenten bereitgestellten Anmeldeinformationen an.

    2. Geben Sie in der Eingabeaufforderung /OSU01 ein (dies startet die Transaktion SU01 in einem neuen SAP-GUI-Fenster).

    3. Geben Sie in der Eingabeaufforderung erneut /OSU01 ein (dies startet die Transaktion SU01 in einem anderen SAP-GUI-Fenster).

  2. Verwenden Sie in einem der beiden SAP-GUI-Fenster, das die Transaktion SU01 anzeigt, denSystemstatus, um auf den ABAP Editor des aktuellen Programms zuzugreifen.

    Achtung

    Nehmen Sie keine Änderungen vor.

    1. Navigieren Sie in einem der beiden SAP-GUI-Fenster, das die Transaktion SU01 anzeigt, zu Systemstatus.

    2. Doppelklicken Sie im Abschnitt SAP-Daten-Repository-Daten auf das Feld rechts neben Programm (Bild).

    3. Der ABAP Editor wird geöffnet.

    4. Sie können weiter navigieren, indem Sie z.B. auf einen der Include-Namen doppelklicken.

    5. Wählen Sie im ABAP Editor mehrmals Zurück (F3), bis Sie sich wieder auf dem Einstiegsbild der Transaktion SU01 befinden.

  3. Verwenden Sie in einem der beiden SAP-GUI-Fenster, das die Transaktion SU01 anzeigt, denSystemstatus, um auf den Menu Painter des aktuellen Programms zuzugreifen.

    Achtung

    Nehmen Sie keine Änderungen vor.

    1. Navigieren Sie in einem der beiden SAP-GUI-Fenster, das die Transaktion SU01 anzeigt, zu Systemstatus.

    2. Doppelklicken Sie im Abschnitt SAP-Daten-Repository-Daten auf das Feld rechts neben GUI-Status.

    3. Der Menu Painter wird geöffnet.

    4. Sie können weiter navigieren, z.B. indem Sie die Abschnitte Menüleiste, Drucktastenleiste oder Funktionstasten (mit dem Pluszeichen) expandieren.

    5. Sie können Menü- oder Symbolleisteneinstellungen mit dem anderen SAP-GUI-Fenster vergleichen, das die Transaktion SU01 anzeigt.

    6. Wählen Sie im Menu Painter Zurück (F3), um zum Einstiegsbild der Transaktion SU01 zurückzukehren.

  4. Verwenden Sie in einem der beiden SAP-GUI-Fenster, das die Transaktion SU01 anzeigt, denSystemstatus, um auf den Screen Painter des aktuellen Programms zuzugreifen.

    Achtung

    Nehmen Sie keine Änderungen vor.

    1. Navigieren Sie in einem der beiden SAP-GUI-Fenster, das die Transaktion SU01 anzeigt, zu Systemstatus.

    2. Doppelklicken Sie im Abschnitt SAP-Daten-Repository-Daten auf das Feld rechts neben Bildnummer.

    3. Der Screen Painter wird geöffnet.

    4. Sie können z.B. wie folgt weiter navigieren:

      • Wählen Sie Layout (Strg+F7). Dadurch wird der grafische Editor geöffnet.
      • Doppelklicken Sie auf einen beliebigen Modulnamen. Dadurch wird der ABAP-Editor geöffnet.
    5. Sie können den Bildinhalt mit dem anderen SAP-GUI-Fenster vergleichen, das die Transaktion SU01 anzeigt.

    6. Wählen Sie im Screen Painter mehrmals Zurück (F3), bis Sie sich wieder auf dem Einstiegsbild der Transaktion SU01 befinden.

Erstellen von ABAP-Programmen mit dem ABAP Editor

Sie können den ABAP Editor (Transaktion SE38 oder Link im Object Navigator, Transaktion SE80) verwenden, um Programme anzulegen und zu bearbeiten. ABAP-Programme werden im SAP-System als Einträge in Datenbanktabellen abgelegt.

Beim Erstellen eines neuen Programms geben Sie sowohl einen Programmtitel als auch Attribute für das Programm ein. Zu diesen Attributen gehören Programmtyp (z.B. ausführbares Programm), Status (z.B. Produktives Kundenprogramm) und Anwendung. Jedes Repository-Objekt ist einem Paket zugeordnet.

Nachdem Sie diese Aktivitäten ausgeführt haben, können Sie Ihr eigenes Programm im Object Navigator oder aus dem ABAP Editor heraus schreiben, beide im Folgenden „Editor" genannt.

Der Editor bietet neben vielen weiteren Funktionen eine Syntaxprüfung und die Option, ABAP-Schlüsselwörter (Befehle) in Großbuchstaben zu schreiben. Außerdem können Sie, wenn Sie den Cursor auf einem ABAP-Schlüsselwort positionieren, durch Drücken der F1-Taste eine Syntaxhilfe zum Schlüsselwort erhalten. Daher ist es empfehlenswert, ABAP-Programme ausschließlich mit dem Editor zu entwickeln. Vom Editor aus können Sie durch Doppelklick auf Repository-Objekte im Coding zu anderen Werkzeugen in der Entwicklungsumgebung navigieren, z.B. zum ABAP Dictionary, zum Screen Painter oder zum Menu Painter.

Wenn Sie ein Programm oder ein Entwicklungsobjekt anlegen oder bearbeiten und anschließend sichern, wird es immer als inaktive Version im Repository gespeichert. So ist es möglich, ein Programm weiterzuentwickeln, ohne das aktive System zu verändern. Solange Sie die inaktive Version, an der Sie gerade arbeiten, nicht aktiviert haben, wird zur Laufzeit immer die aktuellste aktive Version des Objekts ausgeführt.

Um ein Repository-Objekt systemweit verfügbar zu machen, müssen Sie es aktivieren. Die dadurch erzeugte aktive Version des Programms wird anschließend herangezogen, wenn zum Beispiel ein Benutzer das Programm ausführen möchte.

Ausführen können Sie Ihr Programm im Editor über die Drucktaste Direkt (F8). Dadurch wird das Objekt zu Testzwecken ausgeführt.

Hinweis

Eine umfangreiche Sammlung von Beispielprogrammen zum Testen finden Sie über den Transaktionscode ABAPDOCU.

Object Navigator und ABAP-Schlüsselwortdokumentation

ABAP Development Tools (ADT) für Eclipse

Die offenen Eclipse-Plattform bietet eine erstklassige Benutzererfahrung, leistungsstarke Plattform-Fähigkeiten und ein breites und lebendiges Ökosystem, die regelmäßig für Verbesserungen und Erweiterungen gut ist.

SAP spielt als strategisches Mitglied eine aktive Rolle in der Eclipse Foundation. Viele der Design-Time-, Entwicklungs- und Adminstrations-Tools nutzen bereits die Eclipse-Plattform. Dazu zählen SAP NetWeaver Visual Composer, SAP NetWeaver Developer Studio für die Java-Entwicklung, Sybase Unwired Platform und SAP HANA Studio. Die ABAP-Entwicklungswerkzeuge (auch ABAP in Eclipse oder ADT genannt) sind die neueste Ergänzung der Familie.

ABAP-Entwicklungswerkzeuge

Die ABAP Development Tools (ADT) sind die hochmoderne IDE von SAP für die ABAP-Entwicklung auf der offenen Eclipse-Plattform. Sie sind darauf ausgelegt, die Entwicklerproduktivität deutlich zu steigern, indem sie die bewährte Benutzerfreundlichkeit, Geschwindigkeit und Flexibilität der Eclipse-Plattform nutzen. Sie kombinieren leistungsstarke AS-ABAP-Funktionen von SAP wie Application Lifecycle Management, serverbasierte Entwicklung, vollständige Integration und effektive Tests und Werkzeuge zur Fehlerbehebung mit der leistungsstarken Eclipse-UI. Außerdem bieten sie das moderne und gängige Eclipse-UI auf der ABAP-Plattform.

Merkmale der ABAP Development Tools

ABAP Development Tools bieten folgende Funktionen:

  • Eine ganz neue ABAP-Entwicklungserfahrung auf der Eclipse-Plattform

  • Eine offene Plattform für die Entwicklung neuer ABAP-basierter Werkzeuge

  • Eine Reihe offener sprach- und plattformunabhängiger APIs, mit deren Hilfe Entwickler neue benutzerdefinierte Werkzeuge für die ABAP-Umgebung erstellen können

  • Unterstützung für das Anlegen von Core-Data-Services-Entitäten (CDS-Entitäten) in der ABAP-Entwicklung für SAP-HANA-Szenarien.

ADT ist eng in SAP HANA Studio, SAP-UI5-Werkzeuge und JAVA integriert.

ABAP Development Tools greifen genauso auf Objekte im SAP Repository zu wie die Werkzeuge der ABAP Workbench.

Notiz

Informationen zur Installation und Aktualisierung der Frontend-Komponenten der ABAP Development Tools finden Sie unter https://tools.hana.ondemand.com/#abap.

Die Eclipse Workbench

Die Eclipse Workbench ist die Workbench-Desktop-Entwicklungsumgebung in Eclipse. Er kann verwendet werden, um Objekte zu bearbeiten, Sichten zu verwalten und den Arbeitsbereich des Entwicklers zu organisieren.

Jedes Workbench-Fenster enthält eine oder mehrere Perspektiven. Perspektiven enthalten Views und Editoren. Ein Desktop kann jederzeit mehrere Workbench-Fenster enthalten. So können ABAP Development Tools und SAP HANA Studio gleichzeitig geöffnet sein.

Das Online-Entwicklungsmodell

Entwickler, die ADT verwenden, bleiben am SAP-System angemeldet, während sie an verschiedenen Repository-Objekten arbeiten. Anders ausgedrückt: Die Entwicklung ist noch immer serverbasiert; Objekte werden nur auf dem Backend gespeichert. Mit Ausnahme eines kleinen schreibgeschützten Cache, um die Leistung zu erhöhen und die Serverlast zu verringern, werden keine Objekte auf dem Client gespeichert.

Wenn Sie ein ABAP-Repository-Objekt in Eclipse bearbeiten, wird eine Enqueue-Sperre auf dieses Objekt des Client gesetzt und die neueste Version vom Backend abgerufen. Wenn Sie das Objekt aktivieren oder sichern, werden alle Änderungen direkt im SAP-System gesichert.

Es gibt keinen komplexen Check-Out- / Check-In-Mechanismus, und keine Notwendigkeit, lokale Kopien von Objekten zu erstellen. Andere Dienste, wie Syntaxprüfung, Such- und Verwendungsnachweis-Funktionalität, werden im Backend ausgeführt. Da alle Repository-Objekte aus dem Backend abgerufen werden und es keine Client-seitige ABAP-Laufzeitumgebung gibt, wird die Offline-Entwicklung nicht unterstützt.

Bevor Sie mit der Entwicklung in ADT beginnen, müssen Sie ein ABAP-Projekt anlegen. In ADT stellt ein ABAP-Projekt immer eine Systemverbindung dar. Es fungiert als Vermittler zwischen einem SAP-System und dem Frontend-Eclipse-basierten IDE-Client, und es bietet einen Rahmen für die Erstellung, Bearbeitung und Prüfung von Entwicklungsobjekten. Ein ABAP-Projekt ist immer eine echte Systemanmeldung und bietet eine zusätzliche anwenderspezifische Sicht auf alle ABAP-Entwicklungsobjekte des SAP-Systems.

Es gibt zwei Arten von ABAP-Projekten:

  • Ein klassisches Projekt stellt die Verbindung zu einem On-Premise-System dar. In diesem Fall müssen Sie ein ABAP-Projekt in ADT anlegen.

  • Ein Cloud-Projekt stellt die Verbindung zur SAP-BTP-ABAP-Umgebung dar. In diesem Fall müssen Sie ein ABAP-Cloud-Projekt in ADT anlegen.

Das Repository enthält alle ABAP-Entwicklungsobjekte, wie zum Beispiel Programme, Funktionsbausteine und Definitionen von Datenbanktabellen. Es enthält sowohl die SAP-Standardentwicklung als auch kundeneigene Entwicklungen.

Notiz

Die Begriffe Repository-Objekt und Entwicklungsobjekt werden häufig als Synonyme verwendet.

Eine Auswahl an ABAP-Repository-Objekten, mit denen Sie in ADT arbeiten können, sind:

  • ABAP-Programme

  • ABAP-Dictionary-Objekte, beispielsweise Datenbanktabellendefinitionen und Datentypen

  • Dynpros

  • Web-Dynpro-Components

  • Funktionsgruppen und Funktionsbausteine

  • ABAP-Klassen und -Interfaces

Es stehen verschiedene Werkzeuge zur Verfügung, um ABAP-Repository-Objekte in ADT zu erstellen, zu bearbeiten und anzuzeigen. Bei einigen dieser Werkzeuge handelt es sich um systemeigene Eclipse-Werkzeuge, aber einige Objekte werden auch im SAP-GUI-Werkzeug angezeigt und bearbeitet.

Eclipse und SAP GUI Editor

ABAP Development Tools integrieren zwei verschiedene Arten von Werkzeugen für die ABAP-Entwicklung: Eclipse-basierte Werkzeuge und SAP-GUI-basierte Werkzeuge.

Eclipse-basierte Werkzeuge integrieren sich nahtlos in die Eclipse-Umgebung. Sie haben dasselbe optische Erscheinungsbild und dieselben Navigationsfunktionen.

Die SAP GUI wird zusammen mit dem Eclipse-basierten Client lokal installiert. SAP-GUI-basierte Werkzeuge stellen im weitesten Sinne die Werkzeuge und Dienstprogramme der herkömmlichen ABAP Workbench dar. Typische Beispiele sind die Werkzeuge des Package Builder, das ABAP Dictionary und die Werkzeuge zur Pflege von Textelementen für ABAP-Programme.

Wenn Sie versuchen, ein Entwicklungsobjekt in der View Project Explorer zu öffnen, wird ein Eclipse-basierter Editor geöffnet – sofern vorhanden. Ist dies nicht der Fall, wird im Editor-Bereich ein SAP-GUI-basiertes Werkzeug geöffnet. Alle zusätzlichen Objekte, die ein SAP-GUI-basiertes Werkzeug benötigen, werden auf separaten Registerkarten im Editor-Bereich geöffnet.

GUI-basierte Werkzeuge ermöglichen einen umfassenden Zugriff auf die Funktionen der herkömmlichen ABAP Workbench. Man kann beispielsweise alle Anwendungen durch Eingabe eines Transaktionscodes starten.

Notiz

Der Transport von Objekten erfolgt wie gewohnt mit Hilfe des Transport Organizer (SE09) und des Transport Management System (STMS).

Hinweis

Eine Einführung in die ABAP-Programmierung für die SAP-S/4HANA-Umgebung mit ABAP Development Tools for Eclipse finden Sie in der ABAP-Programmierklasse S4D400Introduction to ABAP Programming on SAP S/4HANA.

Ein neues ABAP-Programm anlegen

Unternehmensszenario

Als ABAP-Entwickler möchten Sie ein ABAP-Programm erstellen.

Zusätzliche Schulungen zur ABAP-Entwicklung

Weitere Informationen über die ABAP-Workbench finden Sie in den führenden Kursen zur ABAP Workbench, angefangen mit:

  • S4D400: Grundlegende ABAP-Programmierung

  • S4DEV: Einführung in die Anwendungsprogrammierung in SAP S/4HANA

  • S4D430: Datenmodellierung im ABAP Dictionary und ABAP Core Data Services