Als Nächstes wenden wir uns der Welt der Zahlen zu. Erfahren Sie in diesem Kapitel, wie Sie Berechnungen in ABAP-Programmen durchführen.
4 Felder und Berechnungen 

Sie sollten mit allem rechnen – im SAP-System können Sie das sogar mit Datumswerten und Zeichenketten. In diesem Kapitel beginnen wir jedoch mit dem Einfachsten: dem Rechnen mit Zahlen.
[»] Vorbereitungen
Bevor wir beginnen, sollten Sie entscheiden, ob Sie für die ersten Berechnungen in ABAP einen neuen Report anlegen oder diese einfach in unserem Report aus Kapitel 3, »Programmieren im ABAP Editor«, einbauen. Beides ist natürlich möglich – doch nicht zuletzt für eine bessere Übersichtlichkeit sollten Sie mit einem frischen Report arbeiten. Die Neuanlage eines Reports wird in Abschnitt 3.1, »ABAP-Report anlegen«, beschrieben. Als Alternative können Sie aber auch einen bestehenden Report kopieren und ihn anschließend modifizieren. Auf diese Weise bleibt der alte Report erhalten, und der neue wird unter einem eigenen Namen abgespeichert.
4.1 Report vorbereiten 

Starten Sie im Einstiegsbild für den ABAP Editor (SAP Menü • Werkzeuge • ABAP Workbench • Entwicklung • ABAP Editor). Im Startbildschirm geben Sie als Programmnamen den Namen unseres letzten Reports ein, »Z_TEILNEHMERLISTE01«. Anschließend können Sie entweder über Programm • Kopieren oder über den Button Kopieren (, (Strg) + (F5)) den Kopiervorgang starten (siehe Abbildung 4.1).
Abbildung 4.1 ABAP-Programm kopieren
Sie werden nach dem Namen des Zielprogramms gefragt (siehe Abbildung 4.2). Dieser muss sich vom Namen des Quellprogramms unterscheiden, und es gelten für ihn selbstverständlich auch die Namenskonventionen, wie sie in Abschnitt 2.1.2, »Tabelle anlegen und pflegen«, beschrieben werden.
Abbildung 4.2 Namen eines Zielprogramms auswählen
Haben Sie den Namen des Zielprogramms eingetragen, setzen Sie den Kopiervorgang über die Schaltfläche Kopieren oder die (¢)-Taste fort. Anschließend haben Sie die Wahl, neben dem Quellcode und den Textelementen auch andere Elemente des alten Programms mit zu kopieren (siehe Abbildung 4.3).
Abbildung 4.3 Elemente eines ABAP-Reports mit kopieren
Für den Anfang können Sie, ohne ein Häkchen zu setzen, einfach über die Schaltfläche Kopieren den Prozess fortführen und unseren neuen Report als Lokales Objekt abspeichern. Das System zeigt Ihnen anschließend wieder das Einstiegsbild des ABAP Editors mit dem neuen Programmnamen. Das alte Programm wurde mit allen gewählten Elementen kopiert; beachten sollten Sie nur, dass der neue Quellcode noch inaktiv ist.
[zB] Elemente kopieren
Hätten Sie beispielsweise für den alten Quellcode eine Dokumentation hinterlegt, könnte diese ausgewählt und kopiert werden. Alle Elemente dieses Fensters sind keine eigenen Objekte der Datenbank, sondern hängen fest am Report, d. h., dass beispielsweise die Dokumentation für den Report nicht mehrfach verwendbar ist (etwa für andere Reports), wie es bei einem Datenelement der Fall wäre. Ein Datenelement ist dagegen ein eigenes Objekt und damit mehrfach verwendbar.
Über den Ändern-Button () gelangen Sie in den Änderungsmodus für den Quellcode. Was Sie jetzt sehen, ist nicht neu: Den alten Quellcode kennen Sie bereits. Auffallen könnte Ihnen aber, dass die REPORT-Anweisung nicht mehr ganz korrekt ist. Sie wurde zwar richtig kopiert, doch da sich der Programmname im Operanden geändert hat, sollte es der erste Arbeitsschritt im neuen Quellcode sein, den Namen auf unseren neuen Programmnamen umzuschreiben: Z_TEILNEHMERLISTE02.
[+] Zeilenblock in Kommentarzeilen umwandeln
Was machen Sie mit den Programmzeilen, die Sie nicht mehr benötigen? Es gibt zwei Möglichkeiten: Entweder Sie löschen die Zeilen, oder Sie wandeln sie in Kommentarzeilen um (»auskommentieren«). Vorsichtige Entwickler werden sich zunächst für die zweite Möglichkeit entscheiden, vermeintlich überflüssige Anweisungen in Kommentarzeilen umzuwandeln, die man vielleicht für die eine oder die andere Anweisung doch noch einmal braucht – man kann ja nie wissen.
Deshalb gehen auch wir so vor und wandeln vorsichtshalber zunächst die alten Anweisungen in Kommentarzeilen um. Hierzu markieren Sie mit dem Cursor den zu bearbeitenden Zeilenblock wie in jedem Editor üblich mit den Cursortasten oder mit der Maus. Der markierte Block wird nun dunkelblau hinterlegt dargestellt (siehe Abbildung 4.4)
Abbildung 4.4 Block markieren
Anschließend wandeln Sie über Hilfsmittel • Block/Ablage • Kommentar-* einfügen den gesamten Block in Kommentarzeilen um (siehe Abbildung 4.5). Als Ergebnis sind alle Zeilen des Blocks in Spalte 1 mit einem Stern als Kommentarzeilen gekennzeichnet. War eine Zeile bereits vorher eine Kommentarzeile, hat sie jetzt zwei führende Sterne.
Abbildung 4.5 Block in Kommentarzeilen umwandeln
Aus Abbildung 4.5 können Sie auch ableiten, wie Sie bei Bedarf einen Block von Kommentarzeilen analog wieder in Anweisungszeilen umwandeln: Hierzu markieren Sie den Block sowie das Blockende und wählen Hilfsmittel • Block/Ablage • Kommentar-* löschen.
Da wir für die Anweisungen ab Zeile 10 aber tatsächlich im Folgenden keine Verwendung mehr haben, können Sie den Zeilenblock ruhig löschen. Hierfür markieren Sie zunächst wieder den entsprechenden Block und drücken dann die (Entf)-Taste auf Ihrer Tastatur.
[ ! ] Sichern nicht vergessen!
Vergessen Sie nicht, die Veränderung am Quellcode nach wichtigen Arbeitsschritten oder vor Arbeitspausen über den Sichern-Button () zu speichern.
Wir können uns nun der eigentlichen Aufgabe dieses Kapitels zuwenden: Wir verarbeiten nun zwei Zahlen mit ABAP mithilfe der vier Grundrechenarten und schreiben das Ergebnis in eine Liste. Hierzu sind drei Arbeitsschritte erforderlich:
-
die Felder für die Zahlen deklarieren
-
das Ergebnis berechnen
-
das Ergebnis ausgeben