Nun können Sie endlich mit der ABAP-Programmierung loslegen! Dazu lernen Sie in diesem Kapitel Ihr Programmierwerkzeug kennen und schreiben Ihr erstes Programm.
3 Programmieren im ABAP Editor 

In diesem Kapitel erfahren Sie, wie Sie mit dem ABAP Editor Ihr erstes Programm anlegen, aktivieren und ausführen. Außerdem lernen Sie die ersten ABAP-Anweisungen kennen und machen die ersten Schritte in der Bedienung des ABAP Editors.
Am Anfang erscheint alles schwierig; zum Schluss ist es halb so schlimm. Wichtig sind kleine Erfolgserlebnisse, die die Mühe ausgleichen. Sie werden nach diesem Kapitel stolz auf Ihre erste Liste sein.
3.1 ABAP-Report anlegen 

Sie starten den ABAP Editor über das SAP-Menü (Werkzeuge • ABAP Workbench • Entwicklung • ABAP Editor) oder über den Transaktionscode SE38.
Im Einstiegsbildschirm müssen Sie einen Programmnamen eingeben. Der Programmname kann maximal 40 Zeichen lang sein und sollte nur Buchstaben (ohne Umlaute) und Ziffern enthalten; als Sonderzeichen sollten Sie nur den Unterstrich verwenden. Denken Sie dabei an die Namenskonventionen für Kundenobjekte: Der Programmname beginnt wieder mit Z, Sie nennen Ihren ersten Report z. B. »Z_TEILNEHMERLISTE01« und klicken auf den Button Anlegen (siehe Abbildung 3.1).
Abbildung 3.1 ABAP-Report anlegen
Im Folgebildschirm legen Sie die Attribute, d. h. die Eigenschaften, des Reports fest (siehe Abbildung 3.2) und weisen ihm im Feld Titel zunächst einen beschreibenden Text zu, wie z. B. »Erste Teilnehmerliste«. Darunter wird die Originalsprache des Reports angegeben, d. h. in welcher Sprache er ursprünglich erstellt wurde – in unserem Fall DE für Deutsch.
[»] Originalsprache
Die Information zur Originalsprache ist wichtig, weil alle Texte im SAP-System, gleich, ob in Menüs oder in Masken, länderspezifisch gepflegt werden können. Hierzu gibt es ein eigenes Übersetzungswerkzeug, mit dem die Texte von der Originalsprache in eine Zielsprache übersetzt werden, ohne dass man den Quellcode des Programms verändern muss. Haben die Entwickler sauber gearbeitet, kann ein Übersetzer ohne Programmierkenntnisse alle Texte übersetzen.
Unser Programm hat noch den Status neu (überarbeitet) – da wir das Programm gerade erst anlegen; dies ist auch nicht weiter verwunderlich. Später wird sich dieser Status in aktiv ändern; dann wird das Programm lauffähig sein.
Abbildung 3.2 Programmeigenschaften pflegen
Als Typ des Programms wählen Sie Ausführbares Programm. Ein ausführbares Programm kann ohne Transaktionscode entweder direkt oder im Hintergrund über einen Batch-Job gestartet werden. Hierbei übernimmt die »unsichtbare« Laufzeitumgebung die Steuerung des Reports. Sie ruft festgelegte Verarbeitungsblöcke in einer definierten Reihenfolge auf und kümmert sich um die Prozesse der Programmausführung, wie z. B. das Ausgeben einer Liste am Ende des Reports.
Als Status für das Programm wählen Sie Testprogramm aus der Liste aus und für die Anwendung den Wert Basis (System). Beide Kriterien dienen der Programmverwaltung. Sie beschreiben den Stand der Programmentwicklung – d. h., ob es sich bereits um ein fertiges, produktiv eingesetztes Kundenprogramm oder ein Programm im Versuchs- und Teststadium handelt – sowie das betriebswirtschaftliche Anwendungsgebiet, zu dem das Programm gehört.
Die nächsten drei optionalen Eingabefelder füllen Sie nicht. Über die Berechtigungsgruppe könnten Sie das Programm einer Programmgruppe zuordnen und für die Programmgruppe Berechtigungsprüfungen festlegen, beispielsweise für die Programmausführung, sodass nur berechtigte Benutzer diesen Report starten könnten. Eine Logische Datenbank ist ein übergeordnetes Leseprogramm, das Ihnen das Finden und Zuordnen von Daten in verschiedenen Tabellen erleichtert, z. B. den Zugriff auf Daten in der richtigen Reihenfolge und andere Dinge, auf die wir hier allerdings nicht näher eingehen. Mit der Selektionsbildversion beschäftigen wir uns in Kapitel 11, »Selektionsbildschirme«.
Für die vier abschließenden Ankreuzfelder wählen Sie die folgenden Einstellungen:
-
Editorsperre
Auf das Setzen der Editorsperre sollten Sie verzichten. Sinnvoll ist sie nur dann, wenn verhindert werden soll, dass ein anderer Benutzer das Programm ändert, umbenennt oder löscht. In der Praxis kann dies durchaus angemessen sein; denn nur der Autor der letzten Programmänderung kann diese Sperre wieder entfernen. -
Unicodeprüfungen aktiv
Den Haken vor Unicodeprüfungen aktiv sollten Sie hingegen setzen: Ab Release 6.10 unterstützt ABAP die Multi-Byte-Codierung; in früheren Releases wurden nur Zeichensätze verwendet, die auf der Single-Byte-Codierung basierten, wie z. B. ASCII- oder EBCDIC-Codes. Programme ohne aktive Unicodeprüfung könnten unter bestimmten Umständen Syntax- oder Laufzeitfehler provozieren. -
Festpunktarithmetik
Zugleich sollte die Festpunktarithmetik aktiviert werden. Anderenfalls würden gepackte Zahlen ohne Rücksicht auf Dezimalstellen als ganze Zahlen behandelt, und auch Zwischenergebnisse in Berechnungen würden gerundet. Mit anderen Worten: Wenn Sie auf genaue Berechnungen Wert legen – und das wird spätestens in Kapitel 4, »Felder und Berechnungen«, der Fall sein –, müssen Sie die Festpunktarithmetik aktivieren. -
Start über Variante
Den Start über Variante sollten Sie nicht auswählen. Varianten versorgen den Selektionsbildschirm eines Reports mit Startwerten. Um zu gewährleisten, dass ein Report bei jedem Lauf wirklich mit denselben Startwerten versorgt wird, kann man den Selektionsbildschirm in einer sogenannten Variante abspeichern. Starten Sie den Report mit dieser Variante, erhalten Sie einen vorausgefüllten Selektionsbildschirm, und das Fehlerrisiko sinkt beträchtlich.
[+] Varianten im Tagesgeschäft
Die Option Start über Variante ist für das Tagesgeschäft wirklich nützlich – in der Praxis können Selektionsbildschirme sehr umfangreich sein. Den Report nur über eine Variante zu starten, würde uns jetzt aber nicht weiterhelfen. In Kapitel 11, »Selektionsbildschirme«, weisen wir dem Report erstmals selbst Startwerte über einen Selektionsbildschirm zu.
Nach dem Sichern der Programmeigenschaften werden Sie aufgefordert, einen Objektkatalogeintrag anzulegen. Wie jedoch bereits in Kapitel 2, »ABAP Dictionary«, beschrieben, sichern Sie das Objekt nur lokal.