ebook img

Praktischer Einstieg in ABAP Objects - Leseprobe PDF

26 Pages·2003·1.76 MB·German
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Praktischer Einstieg in ABAP Objects - Leseprobe

Inhalt Vorwort 9 Einleitung 11 Was enthält dieses Buch? .................................................................... 12 Schriftkonventionen ............................................................................. 14 Systemvoraussetzungen ....................................................................... 15 Weiterführende Informationen, Download derQuellcodes ................. 16 1 Technischer Überblick und erste Schritte im System 19 1.1 SAP-Software und -Architektur im Überblick ....................................... 19 1.2 Hinweise zum Einrichten eines SAP-Zugangs ....................................... 24 1.2.1 Reguläres System ..................................................................... 25 1.2.2 Testsystem unter Linux ............................................................ 26 1.2.3 Testsystem unter Windows ...................................................... 27 1.3 Checkliste für Programmierer zum Projektbeginn ................................ 29 1.4 Login, erste Schritte und Systemeinrichtung ........................................ 34 2 Arbeiten mit der Entwicklungsumgebung – Object Navigator 55 2.1 Erste Schritte im Object Navigator ....................................................... 58 2.2 Entwicklungsklassen/Pakete ................................................................ 67 2.3 Namensräume ...................................................................................... 70 2.4 Erstes Programm »Hallo Welt« – REPORT, INCLUDE, Anwendungsmenü ............................................................................... 77 2.5 Online-Hilfe, help.sap.com, service.sap.com, SAP-Hinweise ............... 103 Inhalt 5 3 Prozedurale Sprachelemente 113 3.1 Grundlegende Befehle und Felder – WRITE, PARAMETERS, MOVE, SY-Felder ................................................................................. 116 3.2 Daten und Datentypen – DATA, PARAMETERS, CONSTANTS, FIELD-SYMBOLS, TYPE, CREATE, Textelemente .................................. 122 3.3 Strukturen und interne Tabellen – TABLE, MOVE-CORRESPONDING, INSERT, APPEND, READ, MODIFY, DELETE, LOOP ............................ 147 3.4 Unterprogramme und Funktionen – FORM, FUNCTION, EXCEPTIONS 159 3.5 Verzweigungen und logische Ausdrücke – IF,CASE ............................ 178 3.6 Schleifen – WHILE, DO ........................................................................ 192 4 Datenbanktabellen definieren und verwalten 199 4.1 Feldeigenschaften – DATA ELEMENT, DOMAIN ................................. 200 4.2 Datenbanktabellen definieren und verarbeiten – SELECT, INSERT, UPDATE, DELETE ................................................................................. 215 5 Bildschirmein- und -ausgabe 235 5.1 Einfache Ein- und Ausgabeoberflächen – SELECTION SCREEN, SELECT-OPTIONS, CALL SELECTION SCREEN, SAP List Viewer ......... 236 5.2 Komplexe Ein- und Ausgabeoberflächen – Dynpros ............................ 269 6 Objektorientierte Sprachelemente 331 6.1 Klassen und Objekte – CLASS, CREATE OBJECT, METHOD ................ 333 6.2 Vererbung und Polymorphie – INHERITING FROM, REDEFINITION ... 365 6.3 Ereignisse – EVENTS ............................................................................ 384 7 Praxisszenario – Automatisierte Buch- führung für Konzernniederlassungen 409 7.1 Fachliche Anforderungsdefinition und Funktionalitätsliste ................. 410 7.1.1 Funktionalitätsliste .................................................................. 411 7.1.2 Abgrenzungsliste ..................................................................... 413 7.2 Softwarearchitektur ............................................................................. 415 6 Inhalt 7.3 Softwaredesign .................................................................................... 417 7.3.1 Grobdesign ............................................................................. 418 7.3.2 Feindesign ............................................................................... 422 7.4 Implementation .................................................................................... 431 7.4.1 DDIC-Objekte ......................................................................... 432 7.4.2 Programme ............................................................................. 438 7.4.3 Funktionsgruppen ................................................................... 440 A Programmierrichtlinien und Tools 467 A.1 Programmierrichtlinien ......................................................................... 467 A.2 Tools zur Programmprüfung ................................................................. 476 B Quellen und Literaturhinweise 479 C Glossar 481 Die Autoren 487 Index 489 Inhalt 7 2 Arbeiten mit der Entwicklungsum- gebung – Object Navigator Eigene ABAP-Programme entwickelt man mit Hilfe der inte- grierten Entwicklungsumgebung Object Navigator. Diese Software beinhaltet die wichtigsten Werkzeuge zur Erstellung und Pflege von Quelltexten, Programmoberflächen und Datenbanktabellen, die ein ABAP-Programmierer bei seiner täglichen Arbeit benötigt. Der Object Navigator ist natürlich selbst ein ABAP-Programm und kann Grundlagen folglich von jedem Anwender mit SAP-Zugang ausgeführt werden, sofern er die notwendigen Berechtigungen besitzt. Innerhalb des Object Naviga- tors läuft die Applikationserstellung immer nach dem gleichen Schema ab und beinhaltet die folgenden Schritte: Vorhandenes Entwicklungsobjekt auswählen oder neues anlegen Informationen vervollständigen, Code schreiben etc. Entwicklungsobjekt prüfen Entwicklungsobjekt aktivieren Debuggen und isolierte Tests durchführen Entwicklungsobjekt freigeben und transportieren Integrationstests durchführen Applikation freigeben und transportieren Abbildung 2.1 Der Weg vom Entwicklungsobjekt zur fertigen Applikation (cid:1) Vorhandenes Entwicklungsobjekt auswählen oder neues anlegen Die Arbeit mit dem Object Navigator gestaltet sich sehr visuell und mit vielen Subfenstern, Dialogen und Sicherheitsabfragen. Der Grund hier- für liegt in der Vielzahl an verschiedenartigen Entwicklungsobjekten, die es neben dem eigentlichen Quelltext gibt und die zusammenge- Arbeiten mit der Entwicklungsumgebung – Object Navigator 55 nommen das ABAP-Programm ergeben. Beispiele hierfür sind Daten- und Tabellendefinitionen, Suchhilfen und Transaktionen, um nur einige zu nennen. In den folgenden Kapiteln werden Sie sie alle kennen lernen. (cid:1) Informationen vervollständigen, Code schreiben etc. Konkret werden Sie feststellen, dass Sie nur etwa die Hälfte Ihrer Pro- grammierzeit mit dem Schreiben von ABAP-Quelltext verbringen wer- den und die andere Hälfte mit dem Anlegen von anderen Entwick- lungsobjekten (z.B. Datenbanktabellen oder Funktionsgruppen). (cid:1) Entwicklungsobjekt prüfen Jedes Entwicklungsobjekt muss eine manuell gestartete oder automa- tische Prüfung durchlaufen, analog zum Syntax-Check eines Quelltex- tes. Typisch für Datenbankanwendungen im Allgemeinen und für den Object Navigator im Besonderen ist die »Penetranz«, mit der darauf Wert gelegt wird, fehlerhafte oder unvollständige Angaben erst gar nicht auf die Datenbank zu lassen. Der Ihnen abverlangte hohe Auf- wand ist jedoch einer der Hauptgründe für die hohe Laufzeitstabilität von ABAP-Programmen, die bei SAP-Systemen mit potenziell Hunder- tausenden Anwendern notwendig ist. (cid:1) Entwicklungsobjekt aktivieren Bevor ein Entwicklungsobjekt (z.B. Tabellendefinition) von einem anderen Entwicklungsobjekt (z.B. Quelltext) genutzt werden kann, muss es aktiviert werden. Die ganze Entwicklungsumgebung und das Transportwesen zum Kopieren von ABAP-Programmen ist eingebettet in ein Versionskontrollsystem, das nicht nur über die Versionen wacht, sondern zu jedem Entwicklungsobjekt zwischen einem aktiven und einem inaktiven Zustand unterscheidet. Während die aktive Variante von anderen Entwicklungsobjekten genutzt wird, können Sie und Andere an der inaktiven Variante unbehelligt Veränderungen vorneh- men, die die übrigen Entwicklungsobjekte (und Teamkollegen, die damit arbeiten) so lange nicht beeinflussen, bis Sie die Änderungen aktiviert haben. (cid:1) Debuggen und isolierte Tests durchführen Der Object Navigator beinhaltet selbstverständlich einen Debugger zum Testen von ABAP-Programmen. So können Sie das entwickelte Programm nicht nur als Ganzes, sondern auch Befehl für Befehl nach- vollziehen und testen. Nicht selbstverständlich ist indes, dass der Object Navigator eine Testumgebung für einzelne Funktionen, Klassen und Methoden mitbringt, in der man funktionale Tests auf unterster Ebene durchführen kann, auch wenn das Programm als Ganzes noch 56 Arbeiten mit der Entwicklungsumgebung – Object Navigator gar nicht lauffähig ist. Gerade bei größeren Entwicklungsteams ist das ein nützliches Feature, denn man muss nicht unbedingt auf die Arbeit der Kollegen warten. Ein angenehmes Komfortmerkmal ist auch, dass man beim Debuggen ähnlich wie in Visual Basic den Befehlscursor ein- fach vor- oder zurücksetzen kann und so den Programmablauf direkt beeinflusst. Wir werden das später ausprobieren. (cid:1) Entwicklungsobjekt freigeben und transportieren Nach dem positiven Abschluss der isolierten Tests wird das Entwick- lungsobjekt für gewöhnlich in ein zweites, unabhängiges SAP-System speziell zur Qualitätssicherung transportiert. Zusammen mit den übri- gen Bestandteilen entsteht dort eine Kopie des ABAP-Programms. (cid:1) Integrationstests durchführen Tester und Qualitätsbeauftragte führen auf dem Qualitätssicherungs- system weitere Tests und Integrationsprüfungen mit anderen Applika- tionen durch und probieren gegebenenfalls auch das Verhalten bei unterschiedlichen Customizing-Einstellungen, sofern Sie dies in Ihrem Programm vorgesehen haben. (cid:1) Applikation freigeben und transportieren Schließlich kann die Applikation als Ganze in ein oder mehrere Produk- tivsysteme kopiert oder als verkaufsfertige Applikation auf CD gebrannt werden. In seinem Buch »The Road Ahead« beschreibt Bill Gates, dass es in den Dezentrale Builds einzelnen Entwicklungsabteilungen bei Microsoft einen so genannten Build Master gibt, der den zentralen Compilerlauf organisieren und über- wachen muss, bei dem alle Quelltexte zu einem Produkt gemeinsam kompiliert werden. Bei großen Produkten wie z.B. dem Windows- Betriebssystem kann die Vorbereitung und Durchführung dieses Build- Vorgangs durchaus eine ganze Nacht dauern und dementsprechend unbeliebt ist der Job. Zum Build Master ernannt wurde immer der Ent- wickler, dessen Quelltexte beim letzten Compilerlauf einen Abbruch oder Fehler verursacht hatten, was dazu führte, dass die Tester am nächsten Tag nichts Aktuelles zum Testen hatten, was wiederum den gesamten Ent- wicklungsprozess verzögerte. Diesen Job machte der arme Tropf so lange, bis einen anderen Entwickler dieses Schicksal ereilte. Ähnliche Vorge- hensweisen kennen wir von Unternehmen der Automatisierungstechnik, wo die Betriebssysteme für die speicherprogrammierbaren Steuerungen ebenfalls in C entwickelt werden. Arbeiten mit der Entwicklungsumgebung – Object Navigator 57 Quellcode (ABAP Objects) Compiler Linker ABAP Ausführung Quellcode Intermediate (in der ABAP- (ABAP Objects) Language Laufzeit- (IL) umgebung) Quellcode (ABAP Objects) Abbildung 2.2 Dezentrale Builds in ABAP Objects Im Gegensatz dazu müssen ABAP-Programme nicht zentral kompiliert und gelinkt werden, denn die ABAP-Laufzeitumgebung beherrscht so genannte dezentrale Builds, d.h., jedes einzelne Entwicklungsobjekt wird für sich aktiviert, gegebenenfalls in Zwischencode übersetzt und letztlich gegen die vorherige Version ausgetauscht – egal, wie umfangreich und komplex die Gesamtapplikation sein mag. Umsteiger von anderen Pro- grammiersprachen mögen sich das ungefähr so vorstellen, als ob sie in C, Basic oder Delphi jede Methode, jede Funktion und sogar jeden Daten- typ in eine eigene DLL verpacken, die Sie unabhängig voneinander kom- pilieren und in ein Programmverzeichnis zur Ausführung stellen können. Startet ein Anwender das Programm in diesem Verzeichnis, arbeitet er automatisch mit der aktuellsten Version aller Programmbestandteile, die dort abgelegt sind. Mit ebenso feiner Granularität lässt sich bei ABAP- Programmen ein Update durchführen: Dabei werden einfach die betrof- fenen Entwicklungsobjekte gegen neue ausgetauscht und der nächste Aufrufer des Programms arbeitet automatisch mit der aktualisierten Ver- sion. SAP nennt die Technologie, die hinter all diesen Fähigkeiten steckt, Transportwesen und wir werden ihr in diesem Buch immer wieder begeg- nen. 2.1 Erste Schritte im Object Navigator Schauen wir uns nun den Object Navigator etwas genauer an und werfen wir einen Blick auf die Unterschiede der Releases 4.6 bis 6.30. (cid:2) Führen Sie die Transaktion SE80 – Object Navigator aus, indem Sie in der Kommandozeile »/nSE80« eingeben oder auf die entsprechende Zeile im SAP Easy Access doppelklicken. 58 Arbeiten mit der Entwicklungsumgebung – Object Navigator Abbildung 2.3 Der Object Navigator Release 4.6 Browserbereich Objektlistenbereich Werkzeugbereich Abbildung 2.4 Der Object Navigator Release 6.10 – 6.30 Die Programmoberfläche des Object Navigators ist über die Jahre weitge- Unterschiede der hend unangetastet geblieben und dementsprechend ähnlich sehen sich Releases die Programmversionen. Die Verbesserungen in neuen Releases beziehen sich vor allem auf die Fähigkeiten »behind the scenes«: Hier ein Menü- Erste Schritte im Object Navigator 59 punkt mehr, dort eine neue Möglichkeit zur Vorwärtsnavigation. Einziger auffälliger Unterschied sind die neuen Browser im Browserbereich: (cid:1) Browserbereich Links oben sehen Sie den Browserbereich, in dem Sie Entwicklungsob- jekte angeben, suchen und auswählen können. Beim direkten Ver- gleich der Abbildung 2.3 und Abbildung 2.4 können Sie erkennen, dass der Browserbereich zum Release 6.10 stark ausgebaut wurde und neben dem Repository Browser nun vier weitere Browser beinhaltet. Sowohl das MIME Repository als auch der Tag Browser unterstützen die Entwicklung von Webanwendungen auf der Basis der so genann- ten Business Server Pages. Analog zu den Namensvettern Active Server Pages von Microsoft und Java Server Pages von Sun können Sie mit dieser Technik direkt in HTML-Seiten ABAP-Quelltext platzieren, der vom Webserver unmittelbar vor dem Verschicken der Seite an einen Webbrowser abgearbeitet wird und so die HTML-Seite um programm- gesteuerte Inhalte ergänzen kann. Das Repository Infosystem ermög- licht die Suche nach allen Entwicklungsobjekten und kann dabei auch Platzhalter (*) oder Textbeschreibungen berücksichtigen. Es fasst die vielen Einzelwerkzeuge im Verzeichnis ABAP Workbench des SAP Easy Access unter einer eigenen Oberfläche zusammen. Wir kommen spä- ter in diesem Kapitel darauf zurück. Auch der Transport Organizer ist nicht neu, sondern wurde lediglich in den Object Navigator integriert. (cid:1) Objektlistenbereich Die Objektliste nimmt den gesamten Platz unterhalb des Browserbe- reichs für sich in Anspruch. Sie korrespondiert direkt mit dem im Brow- serbereich gerade ausgewählten Browser und enthält eine hierarchi- sche Auflistung von Entwicklungsobjekten, die Sie auswählen und bearbeiten können. Je nach Art des Listeneintrags stehen Ihnen hier unterschiedliche Befehle im Kontextmenü zur Verfügung. (cid:1) Werkzeugbereich Im Werkzeugbereich werden die eigentlichen Bearbeitungsfenster für das im Objektlistenbereich ausgewählte Entwicklungsobjekt einge- blendet. Hier können Sie beispielsweise Quelltexte bearbeiten, Tabel- len definieren oder Datentypen verwalten. Beispiele Im Menüsystem des Object Navigators sind weitere wichtige Funktionen untergebracht. Besonders interessant sind die umfangreichen Program- mierbeispiele, die SAP zur Verfügung stellt. (cid:2) Wählen Sie den Menüpunkt Umfeld • Beispiele. 60 Arbeiten mit der Entwicklungsumgebung – Object Navigator Abbildung 2.5 Programmierbeispiele zu diversen Themen Hier gibt es eine umfangreiche Sammlung von Quelltexten zu den The- men Ergonomie, Performance und Controls sowie ab Release 6.20 und darüber hinaus auch zu jedem ABAP-Befehl (Menüpunkt ABAP-Bei- spiele). Vor Release 6.20 ist diese Dokumentation mit Beispielen über die F1-Hilfe und dort den Dokumentation-Button bzw. über die Transaktion /nABAPDOCU erreichbar. Wir wollen uns den Menüpunkt Performance- Beispiele genauer anschauen. (cid:2) Wählen Sie den Menüpunkt Umfeld • Beispiele • Performance- Beispiele. Im Objektlistenbereich sehen Sie eine strukturierte Liste, in der alle Per- formance-Beispiele aufgelistet werden. Meist dreht es sich um die Gegenüberstellung zweier ABAP-Befehle, wobei inhaltlich jeweils ein bestimmter Aspekt der Performanceoptimierung abgedeckt wird. Abbildung 2.6 Tipps und Tricks zur Performance von ABAP Objects Erste Schritte im Object Navigator 61

Description:
Hinweise zum Einrichten eines SAP-Zugangs Grundlagen. Der Object Navigator ist natürlich selbst ein ABAP-Programm und kann folglich von
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.