Schnelleinstieg in ABAP: Das Einsteigerbuch

Der Schnelleinstieg in ABAP ermöglicht Ihnen einen einfachen und überschaubaren Zugang zur ABAP-Welt. Das Buch ebnet Ihnen den Weg für Ihren eigenen ABAP-Quelltext, da die Grundkenntnisse im Mittelpunkt stehen, die Sie für die einzelnen Schritte kennen müssen.

Schnelleinstieg in ABAP: Das Einsteigerbuch

Schnelleinstieg in ABAP: Das SAP Einsteigerbuch
  • 166 Seiten - 16.01.2014 (Veröffentlichungsdatum) - Espresso Tutorials (Herausgeber)

Es ist von Vorteil, wenn Sie bereits über Kenntnisse in einer Entwicklungssprache verfügen, jedoch nicht zwingend erforderlich. Sie müssen lediglich mit der Navigation in einem ABAP-System vertraut sein. Wenn Sie dieses Einführungsbuch gelesen haben, werden Sie die Grundlagen von ABAP verstehen.

Erste Schritte in ABAP

Reports sind ein guter Ausgangspunkt, um sich mit den allgemeinen Prinzipien und Werkzeugen von ABAP vertraut zu machen. ABAP-Reports werden nach wie vor in vielen Bereichen eingesetzt, obwohl sie keine modernen Funktionen für die Benutzungsoberfläche bieten.

In diesem Kapitel wird gezeigt, wie leicht es ist, einen einfachen ABAP-Report zu schreiben. Die behandelten Grundlagen versetzen den Leser in die Lage, von SAP ausgelieferte ABAP-Anwendungen oder solche, die Teil eines Kundenimplementierungsprojekts sind, zu prüfen.

Hallo ABAP

Lassen Sie uns mit dem gängigen Beispiel »Hello World« beginnen:

WRITE ‘Hello world!’.

Jede ABAP-Anweisung beginnt mit einem ABAP-Schlüsselwort und endet mit einem Punkt. Schlüsselwörter müssen durch mindestens ein Leerzeichen voneinander getrennt sein. Dabei ist es unerheblich, ob Sie für eine ABAP-Anweisung eine oder mehrere Zeilen verwenden.

Verwenden des ABAP Editor

Ich gehe davon aus, dass Sie mit dem Anmeldevorgang und der Navigation in einem SAP-System vertraut sind; starten Sie die Transaktion SE38, um zum ABAP Editor zu gelangen. Der ABAP Editor ist das Werkzeug zum Anzeigen oder Bearbeiten von vorhandenem Quelltext bzw. zum Erstellen von neuem Quelltext.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Editor
Abbildung 1.1: Einstiegsbild des ABAP Editor (Transaktion SE38)

Verwenden der ABAP-Schlüsselwortdokumentation

Die ABAP-Schlüsselwortdokumentation ist eine umfassende Ressource, in der ABAP-Anweisungen mit allen Optionen erläutert sind. Wählen Sie das ABAP-Schlüsselwort WRITE in Ihrem Report aus (mit einem einzelnen Mausklick) und drücken Sie die Funktionstaste »F1«, um die Schlüsselwortdokumentation für die WRITE-Anweisung zu öffnen.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Schlüsselwort
Abbildung 1.7: Starten der Schlüsselwortdokumentation mit der »F1«-Taste

Verwenden von ABAP-Anweisungen

In diesem Kapitel werden wir ABAP-Anweisungen genauer betrachten und auch Variablen ins Blickfeld rücken. Anhand des Debugging in einer Anwendung können Entwickler den Ablauf einer Programmausführung Schritt für Schritt nachvollziehen, um die Anwendung zu prüfen. Den ABAP-Debugger werden Sie ebenfalls in diesem Kapitel kennenlernen.

Verwenden von Parametern als Eingabevariablen

Die Anweisung PARAMETERS (immer im Plural) bietet eine einfache Möglichkeit für Benutzer, Eingaben für einen Report vorzunehmen, die in einer Variablen gespeichert werden. Geben Sie den Namen des Parameters an, den Typ und gegebenenfalls einen Vorschlagswert:

PARAMETERS pa_name type c length 12 DEFAULT ‘HUGO’

Schnelleinstieg in ABAP: Das Einsteigerbuch - Report
Abbildung 2.1: Ein Parameter als Eingabevariable

Um die wichtigsten Punkte noch einmal zusammenzufassen:

  • Eine PARAMETERS-Anweisung deklariert eine lokale Variable.
  • Zu Beginn eines Reports zeigt das Selektionsbild ein Eingabefeld an, damit der Benutzer den Wert der Variablen festlegen kann.
  • Das Eingabefeld auf dem Selektionsbild verfügt über einen Textbezeichner, der übersetzt werden kann.

Verwenden von Bedingungsschaltern

Lassen Sie uns nun die Verwendung einer IF-Anweisung betrachten, anhand der sich bestimmen lässt, ob der Benutzer den Standardwert für einen Parameter geändert hat. Die Verwendung von IF-Anweisungen ist einfach.

IF pa_name = ‘HUGO’.
WRITE ‘Hallo, bist Du wirklich HUGO?’.
ELSEIF pa_name IS INITIAL.
WRITE ‘Bitte geben Sie einen Namen ein’.
ELSE.
WRITE: ‘Hallo’, pa_name.
ENDIF.

Verwenden von übersetzbaren Texten

Die feste Programmierung von Texten ist natürlich nicht zu empfehlen (und auch keineswegs eine empfohlene Vorgehensweise): Werden Werte im Nachhinein geändert, müsste in diesem Fall der Quelltext geändert werden und auch eine Übersetzung der Zeichenfolge ist nicht möglich.

Textsymbole sind exklusiver Bestandteil Ihres Programms und werden für das Programm in einem separaten Bereich, dem Textpool, gespeichert. Zur Identifizierung Ihres Textes müssen Sie eine alphanumerische Kennung bestehend aus drei Zeichen verwenden:

WRITE text-001.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Textsymbole
Abbildung 2.4: Bearbeiten von Textsymbolen

Arbeiten mit String-Variablen

Lassen Sie uns nun String-Variablen betrachten: Ein String – oder eine Zeichenfolge – ist ein elementarer Datenobjekttyp (komplexe Typen werden später behandelt). Eine Variable wird mit der Anweisung DATA definiert, gefolgt vom Namen der Variablen und dem Typ:

DATA l_msg type c length 12.

Verwenden von elementaren Datentypen

Einige elementare Datentypen sind Zeichentypen (C für String, N für numerisches Textfeld, D für Datum, T für Zeit) und numerische Typen (I für Ganzzahlen, F für Gleitpunktzahlen und P für gepackte Zahlen).

Die vordefinierten elementaren ABAP-Typen mit variabler Länge sind STRING (Zeichenfolgen) und XSTRING für Bytefolgen.

Zudem ist X ein ABAP-Typ für Hexadezimalzahlen, der einzelne Byte im Speicher interpretiert.

Verwenden der ABAP Workbench

In diesem Kapitel wird die ABAP Workbench vorgestellt und die Beziehung zwischen der ABAP Workbench und den Entwicklungswerkzeugen erläutert. Wir befassen uns eingehender mit dem ABAP Editor, einem der am häufigsten verwendeten Werkzeuge in der ABAP Workbench.

Starten der ABAP Workbench

Die ABAP Workbench (auch als Object Navigator bekannt) lässt sich auf zwei Arten öffnen.

Sie können die ABAP Workbench zum einen direkt mit dem Transaktionscode SE80 starten. Wählen Sie das Objekt aus, an dem Sie arbeiten möchten (z.B. Ihren Report), dann startet die Workbench das entsprechende Werkzeug (für Reports wird der ABAP Editor geöffnet).

Schnelleinstieg in ABAP: Das Einsteigerbuch - Ojektliste
Abbildung 3.1: Die Objektliste zu einem Report

Konfigurieren von ABAP Workbench-Optionen

In der ABAP Workbench lassen sich mehr Werkzeuge anzeigen, als Sie für Ihre tägliche Arbeit benötigen werden, daher ist es ratsam, nur diejenigen anzuzeigen, die Sie tatsächlich brauchen.

Wählen Sie Hilfsmittel • Einstellungen aus, um Ihre benutzerspezifischen Einstellungen zu ändern. Auf der ersten Registerkarte Workbench allgemein können Sie die gewünschte Browser-Auswahl treffen. Verwenden Sie diese Registerkarte zum Auswählen nur des Repository Browser und des Repository Infosystem.

Transaktionscode für einen Report

Wenn Sie Ihren Report ausführen wollen, müssen Sie zunächst den ABAP Editor öffnen (Transaktion SE38). Das Ausführen des Reports wird einfacher, wenn Sie diesem einen Transaktionscode zuweisen. Den Transaktionscode können Sie dann im Befehlsfeld eingeben, um den Report zu starten.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Transaktionscode
Abbildung 3.7: Erstellen eines Transaktionscodes im Dialogfenster »Objektauswahl«

Verwenden von Datentypen aus dem ABAP Data Dictionary (DDIC)

Das Data Dictionary ist ein grundlegendes Konzept in ABAP. Eine der wichtigsten Verwendungsmöglichkeiten ist die Bereitstellung globaler Metadaten für Strukturen und Tabellen.

Einstieg in komplexe Datentypen

Angenommen, Sie möchten mehrere Felder gruppieren, z.B. Benutzerdaten wie Namen und Adressen. Anstatt mit einzelnen, einfachen Datenobjekten (Variablen) zu arbeiten, ist es eine bewährte Vorgehensweise, diese in einem komplexen Typ zusammenzufassen: einer Strukturvariable, die mehrere Felder unterschiedlicher Typen (sowie unterschiedlicher Namen und Längen) umfasst. Diese Felder werden häufig als die Komponenten der Struktur bezeichnet.

Beim Aufruf eines Funktionsbausteins oder einer Klassenmethode wird häufig ein komplexes Datenobjekt als Import- oder Exportobjekt verwendet (anstelle der separaten Übergabe mehrerer Felder), wie wir im folgenden Kapitel über Modularisierungstechniken sehen werden.

Sie können in Ihrem Report einen komplexen Typ (eine Struktur) definieren, wobei es sich um eine lokale Definition handelt. Alternativ können Sie globale Definitionen als Teil des ABAP Data Dictionary definieren und verwenden, wie wir im nächsten Abschnitt sehen werden.

Arbeiten mit dem ABAP Data Dictionary (DDIC)

Das ABAP Data Dictionary (DDIC) ist das zentrale Repository, in dem Datentypen definiert (und gesucht) werden können, um diese dann in einer beliebigen Anwendung zu verwenden. Die wichtigsten Objekte des DDIC sind Strukturen, Tabellen, Datenelemente und Domänen.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Selektionsbild DDIC
Abbildung 4.1: Selektionsbild des Data Dictionary (DDIC)

Arbeiten mit internen Tabellen

Ein weiteres wichtiges komplexes Datenobjekt für Werte während der Laufzeit ist eine interne Tabelle.

Eine interne Tabelle ist so aufgebaut, dass jede Zeile dieselbe Struktur hat (dieselbe Folge von Feldern). Aus diesem Grund können Sie eine interne Tabelle einfach definieren, indem Sie mit dem Schlüsselwort TYPE TABLE OF einen Strukturtyp referenzieren:

DATA: lt_addresses TYPE TABLE OF lty_address.

Modularisierung und Wiederverwendung von Funktionen

Die Verwendung von Modularisierungstechniken ist in allen Entwicklungsumgebungen ein bewährtes Verfahren, damit Quelltexte wiederverwendet werden können und die Anwendungsfolge transparent bleibt. In diesem Kapitel werden die drei wichtigsten Modularisierungstechniken in ABAP vorgestellt: Formulare, Funktionsbausteine und ABAP-Klassen.

Verwenden von FORM-Routinen

FORM-Routinen stellen eine Technik für die Modularisierung lokaler Programme dar. Der Quelltext kann nur in dem Programm wiederverwendet werden, in dem er erstellt wurde.

Definieren von FORM-Routinen

Sie definieren eine FORM-Routine in Ihrem Report mit den Anweisungen FORM und ENDFORM.

FORM mycalc
TABLES my_itab TYPE table
USING operand1 TYPE i
operand2 TYPE i
operator TYPE c
CHANGING result TYPE i.
* Quelltext der FORM-Routine …
ENDFORM.

Grundsätzliches über Funktionsbausteine

Funktionsbausteine enthalten Funktionen, die global wieder-verwendet werden können, d.h. von jeder Anwendung im System aus. Die Module werden im Function Builder definiert (und nicht lokal in einem Report) und im ABAP Repository abgelegt.

Zugreifen auf die Datenbank

ABAP ermöglicht die Entwicklung moderner und effizienter Geschäftsanwendungen zum Erfassen, Speichern und Arbeiten mit kaufmännischen Daten. Als Speicher für diese Daten dient die Datenbank und wir werden nun die Möglichkeiten des Zugriffs auf die Datenbank betrachten.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Datenbankschnittstellen
Abbildung 6.1: Die Datenbankschnittstelle ermöglicht Open SQL in ABAP

Technologien für ABAP-Benutzungsoberflächen

Nachdem wir nun den Zugriff auf die in einer Datenbank abgelegten Daten behandelt haben, beschäftigen wir uns jetzt mit dem anderen Aspekt der Anwendungsentwicklung: dem Anzeigen von Daten für den Endbenutzer, der Technologie für Benutzungsoberflächen (UI).

Arbeiten mit Nachrichten

Nachrichten (oder auch Meldungen) stellen eine einfache Möglichkeit dar, dem Benutzer durch die Verwendung des Schlüsselwortes MESSAGE Informationen bereitzustellen.

Schnelleinstieg in ABAP: Das Einsteigerbuch - Nachrichtentyp
Abbildung 7.1: Nachrichtentyp I

Arbeiten mit Listenverarbeitung

Für die Entwicklung einer neuen Anwendung sind Reports jedoch nicht die richtige Wahl; in den ABAP-Programmierrichtlinien sind Reports als »nicht mehr verwendet« kategorisiert. Dennoch müssen Sie über etwas Hintergrundwissen zu Reports verfügen. Vor allem, wenn Sie sich mit Quelltext von SAP oder aus einem früheren Kundenentwicklungsprojekt beschäftigen.

Fazit

Wir haben die ABAP-Grundlagen beginnend mit dem Beispiel »Hello world« bis zu den Modularisierungstechniken behandelt und abschließend einen Blick auf UI-Technologien geworfen. Sie verfügen nun über die erforderlichen Kenntnisse, um sich auf Ihre nächsten Schritte zu konzentrieren.

Schnelleinstieg in ABAP: Das Einsteigerbuch 19,95
  • Anfänger
  • Fortgeschrittene
  • Experte
4

Das erwartet Sie:

Schnelleinstieg in ABAP: Das EinsteigerbuchSeiten: 166 – Sprache: de

Mit diesem Buch erhalten Sie alle Werkzeuge für den erfolgreichen Start als Programmierer.

  • Schritt-für-Schritt-Anleitungen für Anfänger
  • Nachvollziehbare Erläuterungen und Code-Beispiele
  • Hilfen für Ihre erste eigene ABAP-Anwendung