41
Inhalt 5 Was enthält dieses Buch? .................................................................... 14 Schriftkonventionen ............................................................................. 16 Systemvoraussetzungen ....................................................................... 17 Weiterführende Informationen, Download der Quellcodes ................. 18 1.1 SAP-Software und -Architektur im Überblick ....................................... 21 1.2 Hinweise zum Einrichten eines SAP-Zugangs ....................................... 26 1.2.1 Reguläres System ..................................................................... 27 1.2.2 Testsystem unter Linux ............................................................ 28 1.2.3 Testsystem unter Windows ...................................................... 29 1.3 Checkliste für Programmierer zum Projektbeginn ................................ 31 1.4 Login, erste Schritte und Systemeinrichtung ........................................ 36 2.1 Erste Schritte im Object Navigator ....................................................... 60 2.2 Entwicklungsklassen/Pakete ................................................................ 69 2.3 Namensräume ...................................................................................... 72 2.4 Erstes Programm »Hallo Welt« – REPORT, INCLUDE, Anwendungsmenü ............................................................................... 79 2.5 Online-Hilfe, help.sap.com, service.sap.com, SAP-Hinweise ............... 105 Inhalt Vorwort zur zweiten Auflage 9 Vorwort 11 Einleitung 13 1 Technischer Überblick und erste Schritte im System 21 2 Arbeiten mit der Entwicklungsumgebung – Object Navigator 57

Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Inhalt 5

Was enthält dieses Buch? .................................................................... 14

Schriftkonventionen ............................................................................. 16

Systemvoraussetzungen ....................................................................... 17

Weiterführende Informationen, Download der Quellcodes ................. 18

1.1 SAP-Software und -Architektur im Überblick ....................................... 21

1.2 Hinweise zum Einrichten eines SAP-Zugangs ....................................... 261.2.1 Reguläres System ..................................................................... 271.2.2 Testsystem unter Linux ............................................................ 281.2.3 Testsystem unter Windows ...................................................... 29

1.3 Checkliste für Programmierer zum Projektbeginn ................................ 31

1.4 Login, erste Schritte und Systemeinrichtung ........................................ 36

2.1 Erste Schritte im Object Navigator ....................................................... 60

2.2 Entwicklungsklassen/Pakete ................................................................ 69

2.3 Namensräume ...................................................................................... 72

2.4 Erstes Programm »Hallo Welt« – REPORT, INCLUDE, Anwendungsmenü ............................................................................... 79

2.5 Online-Hilfe, help.sap.com, service.sap.com, SAP-Hinweise ............... 105

Inhalt

Vorwort zur zweiten Auflage 9

Vorwort 11

Einleitung 13

1 Technischer Überblick und erste Schritte im System 21

2 Arbeiten mit der Entwicklungsumgebung – Object Navigator 57

abap.book Seite 5 Dienstag, 18. Mai 2004 1:17 13

Page 2: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

6 Inhalt

3.1 Grundlegende Befehle und Felder – WRITE, PARAMETERS, MOVE, SY-Felder ................................................................................. 118

3.2 Daten und Datentypen – DATA, PARAMETERS, CONSTANTS, FIELD-SYMBOLS, TYPE, CREATE, Textelemente .................................. 124

3.3 Strukturen und interne Tabellen – TABLE, MOVE-CORRESPONDING, INSERT, APPEND, READ, MODIFY, DELETE, LOOP ............................ 149

3.4 Unterprogramme und Funktionen – FORM, FUNCTION, EXCEPTIONS 161

3.5 Verzweigungen und logische Ausdrücke – IF, CASE ............................ 180

3.6 Schleifen – WHILE, DO ........................................................................ 194

4.1 Feldeigenschaften – DATA ELEMENT, DOMAIN ................................. 202

4.2 Datenbanktabellen definieren und verarbeiten – SELECT, INSERT, UPDATE, DELETE ................................................................................. 217

5.1 Einfache Ein- und Ausgabeoberflächen – SELECTION SCREEN, SELECT-OPTIONS, CALL SELECTION SCREEN, SAP List Viewer ......... 238

5.2 Komplexe Ein- und Ausgabeoberflächen – Dynpros ............................ 271

6.1 Klassen und Objekte – CLASS, CREATE OBJECT, METHOD ................ 335

6.2 Vererbung und Polymorphie – INHERITING FROM, REDEFINITION ... 367

6.3 Ereignisse – EVENTS ............................................................................ 386

7.1 Fachliche Anforderungsdefinition und Funktionalitätsliste ................. 4127.1.1 Funktionalitätsliste .................................................................. 4137.1.2 Abgrenzungsliste ..................................................................... 415

7.2 Softwarearchitektur ............................................................................. 417

3 Prozedurale Sprachelemente 115

4 Datenbanktabellen definieren und verwalten 201

5 Bildschirmein- und -ausgabe 237

6 Objektorientierte Sprachelemente 333

7 Praxisszenario – Automatisierte Buchführung für Konzernniederlassungen 411

abap.book Seite 6 Dienstag, 18. Mai 2004 1:17 13

Page 3: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Inhalt 7

7.3 Softwaredesign .................................................................................... 4197.3.1 Grobdesign ............................................................................. 4207.3.2 Feindesign ............................................................................... 424

7.4 Implementation .................................................................................... 4337.4.1 DDIC-Objekte ......................................................................... 4347.4.2 Programme ............................................................................. 4407.4.3 Funktionsgruppen ................................................................... 442

A.1 Programmierrichtlinien ......................................................................... 469

A.2 Tools zur Programmprüfung ................................................................. 478

A Programmierrichtlinien und Tools 469

B Quellen und Literaturhinweise 481

C Glossar 483

Die Autoren 489

Index 491

abap.book Seite 7 Dienstag, 18. Mai 2004 1:17 13

Page 4: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Vorwort zur zweiten Auflage 9

Vorwort zur zweiten Auflage

Noch nicht ganz ein Jahr ist vergangen, seit die erste Auflage dieses Ein-führungsbuches zu ABAP und ABAP Objects erschienen ist. Der großeErfolg, den das Buch seitdem bei den Lesern hatte, hat dazu geführt, dassder Verlag bereits nach recht kurzer Zeit eine neue Auflage produzierenmusste.

Als Entwickler in einem professionellen IT-Umfeld werden Sie für die effi-ziente, sichere und verlässliche Unterstützung geschäftskritischer Unter-nehmensprozesse mitverantwortlich sein. Unsere Erfahrungen als Schu-lungsleiter in zahlreichen ABAP-Kursen haben uns immer wiederbestätigt, dass Sie diese Aufgabe nur dann erfolgreich bewältigen können,wenn auch Ihre Trainingmaterialien von Anfang an den Ansprüchen ge-nügen, die später einmal an Sie gestellt werden.

Gerne haben wir daher als Autoren die Gelegenheit dieser zweiten Aufla-ge ergriffen, um die Qualität dieses Buches weiter zu verbessern und esdort, wo es nötig war, zu aktualisieren. Das Konzept dieser ABAP-Einfüh-rung bleibt das Gleiche wie in der ersten Auflage: Die Basis soli-der ABAP-Kenntnisse bilden auch in der heutigen Zeit noch die prozedu-ralen Spra-chelemente; in diesem Bereich fällt es am Einfachsten, den Charakter derProgrammiersprache ABAP und ihre immensen Fähigkei-ten für die Ent-wicklung von Geschäftsanwendungen kennen und schätzen zu lernen.Auf diesen Kenntnissen aufbauend, werden Sie Schritt für Schritt die spe-ziellen, wenngleich nicht weniger wichtigen Bereiche des Umgangs mitder Datenbank und des Oberflächendesigns kennenlernen. Das viertegroße Thema bleiben natürlich auch in dieser Ausgabe die Erweiterungenvon ABAP zu ABAP Objects.

Für die Neuauflage haben wir dieses Buch noch einmal komplett durch-gesehen: Wir haben an einigen Stellen Inkonsistenzen in den Listings kor-rigiert, einzelne Unklarheiten in der Erläuterung wichtiger Konzepte vonABAP bereinigt und die Abschnitte zu den Online-Ressourcen der SAPauf den neuesten Stand gebracht.

Auch der Verlag hat sich noch einmal intensiv um die Optimierung diesesBuches gekümmert: Von der Beseitigung letzter Rechtschreibfehler bishin zur Verbesserung der Abbildungen wurde alles unternommen, umIhnen den Einstieg in diese interessante, aber nicht immer einfache Spra-che so leicht wie möglich zu machen.

abap.book Seite 9 Dienstag, 18. Mai 2004 1:17 13

Page 5: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

10 Vorwort zur zweiten Auflage

Wir hoffen nun, dass auch diese neue Ausgabe des Praktischen Einstiegsin ABAP ihre Leser finden wird. Feedback, Fragen und Anregungen sinduns auch weiterhin herzlich willkommen. Alle Leser sind eingeladen,hierzu das entsprechende Forum auf der Website des Verlags unterwww.sap-press.de/foren zu nutzen.

Heidelberg, im Mai 2004

Julia Kirchner und Günther FärberNEXONTIS IT GmbH

abap.book Seite 10 Dienstag, 18. Mai 2004 1:17 13

Page 6: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Vorwort 11

Vorwort

In den letzten Jahren hat sich ABAP Objects von einer rein SAP-internverwendeten Programmiersprache zu einer anerkannten und weltweitvon mehr als 1 Million Programmierern genutzten Plattform zur Entwick-lung von betriebswirtschaftlichen Applikationen auf SAP-Application-Ser-vern gemausert. Entsprechend groß ist der Bedarf an Informationen rundum ABAP, seine objektorientierten Erweiterungen und Tools: Wie fangenSie am besten an, ABAP Objects zu nutzen? Was sind die typischen Auf-gaben, die Sie als ABAP-Programmierer lösen müssen? Welche grundle-genden Konzepte stehen hinter der Programmierung von SAP-Applikati-onen mit ABAP Objects und wo liegen die Unterschiede zu anderenProgrammiersprachen? Was verbirgt sich hinter den Transaktionen derABAP-Entwicklungsumgebung und welche sind für Sie wichtig? Dies sindnur einige der Fragen, von denen wir uns als Autoren dieses Buches beiunserer Arbeit haben leiten lassen.

Wir freuen uns sehr, dass wir Ihnen die substanziellen Komponenten,Konzepte und Ideen rund um die SAP-Programmierung vorstellen kön-nen, die Sie zur Beantwortung solcher Fragen kennen müssen. Dabeiwenden wir uns an Leser, die einen aktuellen und schnellen Einstieg indie SAP-Programmierung mit ABAP Objects suchen – ohne viel Theorieund stattdessen anhand von praxisbezogenen Aufgaben und derenLösungen. Der Titel ist Programm: Wir bieten Ihnen einen praktischenEinstieg in die Programmiersprache ABAP Objects; das Buch setzt deshalbauf Anwendungsszenarien, die typische Alltagsprobleme und Lösungenim Zusammenspiel mit der umfangreichen SAP-System- und Anwen-dungsbasis erörtern. Die Praxis steht dabei immer im Vordergrund,Screenshot für Screenshot wird die konkrete Vorgehensweise aufgezeigt.Die Erläuterungen zu den Sprachelementen haben bewusst nicht denAnspruch auf Vollständigkeit, sondern vermitteln die gängigen Nutzungs-möglichkeiten – so wird Ihr Lernerfolg maximiert.

Dieses Buch ist auf der Grundlage langjähriger Schulungs- und Praxiser-fahrungen rund um die Themen entstanden, die heute unter den Schlag-worten SAP- und ABAP-Programmierung zusammengefasst werden. Einepermanente intensive Zusammenarbeit mit den Entwicklungsabteilungender SAP in Walldorf hat es möglich gemacht, dass Sie vieles über den»SAP-Weg« erfahren, d.h., auf welche Weise man eine Problemlösung beiSAP angehen würde und welche Bedingungen dabei beachtet werdensollten. Ein Praxisszenario, das das in den einzelnen Kapiteln erworbene

abap.book Seite 11 Dienstag, 18. Mai 2004 1:17 13

Page 7: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

12 Vorwort

Wissen aufgreift, demonstriert die Erstellung einer umfangreichen profes-sionellen Anwendung. Für Sie ist das ein großer Vorteil, denn so findenSie sich viel besser in SAP-eigenen Quelltexten zurecht.

Unser Dank gilt insbesondere Horst Keller (SAP), der die Reviews der ein-zelnen Kapitel durchgeführt hat und uns jederzeit mit Rat und Tat zurSeite stand, sowie Florian Zimniak (SAP PRESS), der durch seine Arbeit imLektorat ein frühzeitiges Erscheinen dieses Werkes sichergestellt hat.

Allen Leserinnen und Lesern wünschen wir, dass das vorliegende Buchihnen dabei helfen möge, einen schnellen und problemlosen Einstieg inABAP und die SAP-Anwendungsprogrammierung zu finden.

Heidelberg, im Juli 2003

Julia Kirchner und Günther FärberNEXONTIS IT GmbH

abap.book Seite 12 Dienstag, 18. Mai 2004 1:17 13

Page 8: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 79

Alle Vorbereitungen für die Erstellung unseres ersten eigenen Programmssind nun abgeschlossen. Im Objektlistenbereich wird unser – noch leeres– Paket angezeigt und wir können darin nun weitere Entwicklungsobjektehinzufügen.

2.4 Erstes Programm »Hallo Welt« – REPORT, INCLUDE, Anwendungsmenü

Das Wort »Programm« gehört heutzutage zum Wortschatz eines jedenErstklässlers und unter den häufigsten Assoziationen befinden sich dieBegriffe Computer, Software und Internet. Doch was steckt speziell inBezug auf ABAP eigentlich hinter einem Programm, wie kann man eserstellen und wie kann es von einem Endanwender genutzt werden?

GrundlagenWohl keine andere Programmiersprache hat über die letzten 30 Jahreeine derart bewegte Vergangenheit durchlaufen wie ABAP. In den Anfän-gen der Sprache bis hin zu R/2 war ABAP lediglich für das Entwerfen sogenannter Reports konzipiert, d.h. betriebswirtschaftlicher Berichte wieeine Auflistung aller offenen Forderungen gegenüber Kunden oder eineUnternehmensbilanz zum Jahresende. Tatsächlich konnten ABAP-Pro-gramme lediglich lesend auf die Daten in der Datenbank zugreifen unddiese Daten in Form von tabellarisch angeordnetem Text, so genanntenListen, auf dem Bildschirm ausgeben. Kunden, die SAP-Software einsetz-ten, konnten die ABAP-Quelltexte dieser Reports selbst modifizierenoder neue entwerfen, die ihren Anforderungen genügen. Programme mitschreibendem Zugriff auf die Datenbank mussten zu dieser Zeit in Assem-bler (direkt in Maschinensprache) programmiert werden, und man kannsich aufgrund der damit einhergehenden Komplexität und Mühsal vor-stellen, dass diese Aufgabe ausschließlich SAP vorbehalten war.

Mit der Einführung von R/3 Anfang der 90er Jahre wurde die Program-miersprache ABAP so weit ausgebaut, dass sich mit ihr auch schreibendeZugriffe auf die Daten einer Datenbank realisieren ließen. Damit wurde esmöglich, alle R/3-Applikationen vollständig in ABAP und ohne die Hilfeanderer Programmiersprachen zu verfassen.

Modulpool vs. Report

Generell gibt es unter ABAP mehrere Möglichkeiten, ein startbares Pro-gramm zu schreiben, wovon die beiden wichtigsten der so genannteModulpool und der Report sind. Anfänglich war die Regelung eindeutig,wann welche Alternative zu benutzen war. Komplexere Eingabemasken,die per SAP Dynpro-Oberflächentechnik (siehe Abschnitt 5.2) realisiertwerden mussten, setzten einen Modulpool voraus, wie z.B. die Erfassungeines Buchungsbelegs in der Buchhaltung. Einfache Eingabemasken, wie

abap.book Seite 79 Dienstag, 18. Mai 2004 1:17 13

Page 9: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

80 Arbeiten mit der Entwicklungsumgebung – Object Navigator

z.B. die Auswahlkriterien Jahr und Periode für einen Zwischenbilanzbe-richt wurden als Report programmiert. Seit Release 3.0 gibt es keine tech-nischen Beschränkungen mehr für die eine oder andere Technik. Den-noch findet man von SAP nur noch wenige Programme, die alsModulpool realisiert sind, d.h. Reports haben sich auf breiter Frontdurchgesetzt. Aus diesem Grund werden wir die Realisierung von Pro-grammen mit Modulpools in diesem Buch nicht weiter betrachten, son-dern uns auf die Programme vom Typ Report konzentrieren. Darüber hin-aus bietet APAP für Spezialfälle eine Reihe weiterer Programmtypen an,die wir jedoch innerhalb dieses Buches nicht behandeln wollen. Wer den-noch mehr darüber erfahren möchte, dem sei das Buch ABAP Objects-Referenz (Horst Keller und Joachim Jacobitz, SAP PRESS, Bonn 2002)empfohlen.

Im SAP-Sprachgebrauch wird der Begriff Report aus der Historie herausoft für die Umschreibung von Programmen gebraucht. Technisch gesehenist ein Report jedoch nur eine von mehreren Möglichkeiten, wie ein Pro-gramm realisiert werden kann.

ABAP-Pro-gramme, klein

geschnitten

Wer in Windows schon einmal Word oder Excel gestartet hat, der kenntsie, die großen Programme, die mehrere MB auf der Platte belegen undbeim Programmstart komplett in den Hauptspeicher geladen werden.SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundertEinzelprogrammen. Für den Anwender vollzieht sich der Wechsel voneinem Programm zum nächsten häufig unbemerkt. Oftmals dient ein ein-zelnes ABAP-Programm nur einem sehr speziellem Zweck, beispielsweiseist eines für das Erfassen eines Verkaufsauftrags zuständig, ein anderes fürdas Erstellen des Lieferscheins und wieder ein anderes für das Ausdru-cken der Rechnung. Nur das Anordnen der Programme zu einem Themain einem Verzeichnis im Anwendungsmenü (SAP Easy Access) sowie dieVorwärtsnavigation sorgen für den optischen Eindruck, es handle sich umeine zusammengehörende große Applikation.

Dieses Konzept stellt einen grundsätzlichen Unterschied im Vergleich zuanderen Programmiersprachen wie C, Basic oder Pascal dar. Dieser Unter-schied ist historisch aus dem Konzept erwachsen, für jede Schreibopera-tion auf die Datenbank eine eigenes Assemblerprogramm zur Verfügungzu stellen, und hat sich bis heute auch in ABAP gehalten.

Includes Includes bieten die Möglichkeit, Quelltextteile zu modularisieren, also inkleine, handliche Einzelteile aufzuspalten. Analog zu den Include-Dateienin anderen Programmiersprachen wie C oder Pascal ist es auch in ABAP

abap.book Seite 80 Dienstag, 18. Mai 2004 1:17 13

Page 10: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 81

Objects möglich, beliebig große (oder kleine) Teile eines Quelltexts in sepa-rat per INCLUDE name ladbare Einheiten auszulagern, wobei name denNamen des Includes enthält, unter dem der Teil des Quelltextes abgespei-chert wurde. Beispielsweise verwendet man Includes zum Ablegen vonKonstanten, die in mehreren Anwendungen verwendet werden sollen.Jedes Programm bindet dann Teile des Quelltextes per INCLUDE-Anwei-sung an geeigneter Stelle in sein Programm ein und kann diese fortan ver-wenden. Das folgende Codefragment soll dies verdeutlichen; es berechnetaus den vom Anwender eingegebenen Nettopreis den Bruttopreis, wobeies auf die in einem INCLUDE namens ZPTB00_CONSTANTS definierteKonstante CON_SALES_TAX für den Mehrwertsteuersatz zurückgreift:

Listing 2.1 Codefragment zum Einbinden eines Includes

REPORT zptb00_business_transaction.INCLUDE zptb00_constants.PARAMETERS: net_price TYPE p DECIMALS 2.DATA: gross_price TYPE p DECIMALS 2.* con_sales_tax is in include zptb00_constants defined. Gross_price = net_price + net_price * con_sales_tax.

Include-Programme haben eine reine Bibliotheksfunktion für ABAP-Quelltext und können nicht als eigenständiges Programm ausgeführt wer-den.

Programm verfüg-bar machen

Grundsätzlich muss man als Entwickler mindestens folgende Schrittedurchführen, um eine eigenes ABAP-Programm für einen Endanwenderverfügbar zu machen:

1. Programm anlegenStartbare Programme werden als Quelltext innerhalb des Object Navi-gators angelegt und mit dem Schlüsselwort REPORT oder PROGRAM ein-geleitet.

2. Programmcode schreibenDer Programmcode, d.h. die einzelnen ABAP-Befehle, wird unterhalbdes Schlüsselwortes REPORT eingefügt.

3. Transaktion für das Programm anlegenNachdem das Programm fertig gestellt ist, wird für das Programm einTransaktionscode vergeben, unter dem man es direkt aus der Komman-dozeile heraus aufrufen kann.

abap.book Seite 81 Dienstag, 18. Mai 2004 1:17 13

Page 11: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

82 Arbeiten mit der Entwicklungsumgebung – Object Navigator

4. Rechte vergeben für das Starten der TransaktionDas Ausführen einer Transaktion kann optional vom Administrator aufbestimmte Benutzer oder Benutzergruppen eingeschränkt werden.

5. Transaktion in das Anwendungsmenü aufnehmenSchließlich wird die Transaktion in das Anwendungsmenü des SAP EasyAccess aufgenommen. Dort kann das Programm vom Endanwenderleicht gefunden und ausgeführt werden.

Erstes Programm:»Hallo Welt«

Wir verfügen nun über das notwendige Know-how, um unser erstes Pro-gramm in ABAP zu entwickeln. Wie bei Programmiereinführungen üblich,wird es ein einfaches »Hello World« auf dem Bildschirm ausgeben undwir werden die Gelegenheit nutzen, um den Object Navigator noch bes-ser kennen zu lernen.

� Wechseln Sie in den Repository Browser des Object Navigators. Amschnellsten geht dies über Eingabe des Befehls »/nSE80« in der Kom-mandozeile.

� Wählen Sie als Objekttyp Paket (unter Release 4.6 entsprechend Ent-wicklungsklasse) aus.

� Geben Sie den Namen Ihrer Entwicklungsklasse bzw. Ihres Pakets an(Z00_PRACTICE_TRAINING_BEGINNER) und wählen Sie den Anzei-gen-Button bzw. Enter.

� Wählen Sie im Kontextmenü zu Ihrem Paket bzw. zu Ihrer Entwick-lungsklasse den Menüpunkt Anlegen • Programm.

Aufgabe 2.2

Erstellen Sie ein Programm ZPTB00_Hello_World, das Ihren Namenabfragt und anschließend auf dem Bildschirm einen Gruß ausgibt.

Testen Sie das Programm mit dem Debugger.

Weisen Sie dem Programm einen Transaktionscode zu, damit es vonEndanwendern aufgerufen werden kann.

Erweitern Sie das SAP-Anwendungsmenü um einen Eintrag, über densich Ihre Transaktion komfortabel aufrufen lässt.

abap.book Seite 82 Dienstag, 18. Mai 2004 1:17 13

Page 12: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 83

Daraufhin erscheint ein Dialog, in dem Sie den Namen des Programmsangeben können:

� Geben Sie als Namen für das Programm »ZPTB00_Hello_World« an.

� Deaktivieren Sie die Checkbox Mit TOP-Include und bestätigen SieIhre Eingaben mit OK.

Es erscheint ein weiterer Dialog, in dem Sie zusätzliche Angaben zumProgramm machen können. Wie Sie sehen, wurde bereits implizit ange-nommen, dass das Programm im Paket Z00_PRACTICE_TRAINING_BEGINNER liegen soll.

� Geben Sie als Titel des Programms »Hallo Welt« ein, alle anderenAngaben belassen Sie in der Voreinstellung.

� Bestätigen Sie Ihre Eingaben mit OK.

Als letzter Dialog erscheint die Abfrage des Transportauftrags, unter demIhre Entwicklung mitprotokolliert und später von einem System insnächste kopiert werden kann. Da wir bereits zuvor ein Paket angelegthaben, erscheint der dort angegebene Auftrag hier bereits als Vorauswahl(siehe Abbildung 2.26).

Abbildung 2.24 Programm anlegen per Kontextmenü

abap.book Seite 83 Dienstag, 18. Mai 2004 1:17 13

Page 13: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

84 Arbeiten mit der Entwicklungsumgebung – Object Navigator

� Quittieren Sie den voreingestellten Transportauftrag. Falls kein Auftragvoreingestellt ist, können Sie über die F4-Hilfe zum Auftrag einfacheinen bereits angelegten auswählen.

Programmgerüstund Kommentare

Nun ist das neue Programm endlich angelegt, und es wurden bereits dieerste Zeile Quelltext als Programmgerüst sowie einige Kommentare auto-matisch eingefügt. Wie in Abschnitt 1.3 bereits erläutert, sind gute Kom-mentare äußerst wichtig, damit auch Entwickler, die an dem entsprechen-den Programm nicht mitgeschrieben haben, später einmal leichterverstehen, was das Programm macht bzw. machen soll. Kommentare kön-

Abbildung 2.25 Zusätzliche Angaben zum Programm

Abbildung 2.26 Transportauftrag zum Programm angeben

abap.book Seite 84 Dienstag, 18. Mai 2004 1:17 13

Page 14: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 85

nen entweder eine ganze Zeile einnehmen oder am Ende einer Code-Zeilestehen. Im ersten Fall wird ihnen ein Sternchen (*) vorangestellt, im zwei-ten ein Anführungszeichen ("). Alles was in der Zeile hinter diesen Zeichensteht, wird nicht als ABAP-Text interpretiert und vom Compiler ignoriert.

� Tippen Sie die folgenden Zeilen zusätzlich zum Programmgerüst unter-halb der Kommentarzeilen ein:

WRITE: / 'Hello World', '!'.WRITE / 'This is my first program.'.WRITE 'And not my last one'.

Der Befehl WRITE bewirkt die Ausgabe des dahinter angegebenen Textesauf dem Bildschirm. Wir werden ihn später genauer beschreiben.

� Klicken Sie auf den Prüfen-Button bzw. drücken Sie Strg+F2.

Ist das Programm syntaxfehlerfrei, erscheint in der Statuszeile ein ent-sprechender Hinweis.

� Klicken Sie auf den Aktivieren-Button bzw. drücken Sie Strg+F3.

Laufen alle weiteren Programmprüfungen und die Aktivierung ohne Feh-ler durch, erscheint in der Statuszeile ein entsprechender Hinweis. Fernerändert sich der Text neben dem Programmnamen im Werkzeugbereichvon inaktiv auf aktiv.

� Wählen Sie den Direkt-Button bzw. F8.

Das Programm wird gestartet und gibt den gewünschten Text auf demBildschirm aus. Zusätzlich erscheint das als Programmtitel angegebene»Hallo Welt« zweimal, nämlich in der Titelzeile des Programms und nocheinmal im Ausgabebereich, quasi als Überschrift der Darstellung undgetrennt durch einen horizontalen Strich vom eigentlichen Ausgabetext.

Abbildung 2.27 Das Programm ZPTB00_Hello_World in Aktion

abap.book Seite 85 Dienstag, 18. Mai 2004 1:17 13

Page 15: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

86 Arbeiten mit der Entwicklungsumgebung – Object Navigator

� Klicken Sie auf den Zurück-Button, um zum Object Navigator mit sei-ner Quelltextansicht zurückzukehren.

Wie Sie sehen, hat unser Programm bereits funktionierende Zurück-,Beenden- und Abbrechen-Buttons.

Wir möchten nun den Titel des Programms nachträglich ändern.

� Wählen Sie den Menüpunkt Springen • Eigenschaften aus.

� Geben Sie im Eingabefeld Titel den Text »Hello my friend« ein undquittieren Sie mit dem Sichern-Button.

Als Nächstes wollen wir die Quelltextformatierung gemäß der gebräuch-lichsten Verwendung einstellen.

� Wählen Sie den Menüpunkt Hilfsmittel • Einstellungen aus.

Es erscheint ein Dialog, in dem Sie eine Reihe von Einstellungen desABAP-Editors ändern können.

� Wählen Sie den Karteireiter Pretty Printer aus.

� Aktivieren Sie die Checkbox Groß-/Kleinkonvertierung durchführen.

� Wählen Sie den Radiobutton Schlüsselwort groß aus und bestätigenSie die Einstellungen.

Abbildung 2.28 Benutzerspezifische Einstellungen des ABAP-Editors

abap.book Seite 86 Dienstag, 18. Mai 2004 1:17 13

Page 16: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 87

Außerdem wollen wir das Programm noch ein wenig erweitern, so dass esden Anwender zunächst nach seinem Spitznamen fragt und ihn dann mitdiesem Spitznamen begrüßt.

� Fügen Sie den folgenden Quelltext ein:

PARAMETERS:

p_nicknm(15) TYPE c.

WRITE: / 'Hello World',p_nicknm, '!'. 'First state-ment

Auf den PARAMETERS-Befehl gehen wir später genauer ein. An dieserStelle soll genügen, dass man damit zu Beginn eines Programms Eingabendes Anwenders entgegennehmen kann, die einem anschließend zur wei-teren Verarbeitung zur Verfügung stehen.

� Klicken Sie anschließend auf den Pretty Printer-Button.

� Aktivieren Sie den Quelltext per Strg+F3 und starten Sie das Pro-gramm per F8.

Daraufhin erscheint unser Programm mit geändertem Titel und einemEingabefeld (vgl. Abbildung 2.29).

� Geben Sie Ihren Spitznamen ein, z.B. »Heidelberger« und wählen Sieden Ausführen-Button bzw. F8.

Es erscheint die bereits bekannte Ausgabe, in der nun zusätzlich Ihr Spitz-name auftaucht.

� Wählen Sie den Zurück-Button bzw. F3.

Abbildung 2.29 Eingabe des Spitznamens

abap.book Seite 87 Dienstag, 18. Mai 2004 1:17 13

Page 17: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

88 Arbeiten mit der Entwicklungsumgebung – Object Navigator

Debugging Wir wollen nun einmal das Programm per Debugging im Einzelschrittausführen, um den Debugger näher kennen zu lernen. Umsteiger vonDelphi, Visual Basic oder Java (JBuilder) werden sich an eine andereBenutzeroberfläche gewöhnen müssen, denn das Debugging von ABAP-Programmen findet nicht im Editor, sondern in einem separaten Debug-ging-Programm statt. Die von anderen Programmiersprachen gewohnteFunktionalität ist jedoch vorhanden.

Der ABAP-Debugger bietet unter anderem die folgenden, wesentlichenFeatures:

� Einzelschritt-ButtonFührt ein Programm Zeile für Zeile aus. Nach dem Ausführen derAnweisung in einer Zeile wird der Verarbeitungspfeil auf die nächsteAnweisung gesetzt. Falls es sich bei der aktuellen Anweisung um einUnterprogramm, eine Funktion oder eine Methode handelt, wird darindie nächste vorkommende Anweisung gesucht und der Verarbeitungs-pfeil dorthin gesetzt.

� Ausführen-ButtonFührt ein Programm Zeile für Zeile aus, jedoch werden die Anweisungenvon Unterprogrammen, Funktionen oder Methoden auf einmal, d.h. alsein einziger Schritt, ausgeführt und der Verarbeitungspfeil anschließendauf die nächste Anweisung im gleichen Programmteil gesetzt.

� Return-ButtonFührt alle Zeilen des aktuellen Programmteils auf einmal aus, kann alsodazu verwendet werden, alle verbleibenden Anweisungen einesUnterprogramms, einer Funktion oder einer Methode auszuführen. ImFalle unseres Programmbeispiels, das nur aus einem Hauptprogramm-teil besteht, wird das Programm bis zum Ende ausgeführt.

Abbildung 2.30 Ausgabe des Programms ZPTB00_Hello_World

abap.book Seite 88 Dienstag, 18. Mai 2004 1:17 13

Page 18: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 89

� Weiter (bis Cursor)-ButtonFührt das Programm nicht weiter Schritt für Schritt, sondern als Ganzesaus, wie man es auch ohne Debugging gewohnt ist. Hat man jedochzuvor eine der folgenden Anweisungen im Debugger per Doppelklickmarkiert, stoppt die Ausführung dort und der Verarbeitungspfeil stehtauf eben dieser Anweisung.

� Debugging/Zu Anweisung springenMarkiert man zuvor per Mausklick eine Anweisung, wird der Verarbei-tungspfeil an diese Anweisung versetzt, ungeachtet dessen, ob dieAnweisung vor oder hinter dem Verarbeitungspfeil liegt und ob diesvon der Programmlogik her Sinn machen würde.

� Debugging/NeustartDieser Menüpunkt stoppt das Programm an der aktuellen Anweisungund kehrt in den Object Navigator zurück. Von dort kann das Pro-gramm dann neu gestartet werden.

� Kontextmenü/Breakpoint anlegen/löschenAuf beinahe jede Anweisung kann ein Breakpoint – auch Haltepunktgenannt – angelegt werden, an dem die Ausführung des Programmszwangsweise anhält, egal, welchen der oben genannten Buttons manzuvor angeklickt hat. Per Speichern-Button bleiben Breakpoints dauer-haft bestehen, bis man den Modus schließt. Wählt man den Menü-punkt erneut aus, wird der Breakpoint wieder gelöscht. Alternativ kannman einen Breakpoint auch per Doppelklick links neben eine Anwei-sung anlegen und löschen.

� Breakpoint/Breakpoint beiUnterhalb dieses Menüs hat man die Auswahl, Breakpoints anbestimmte Stellen innerhalb des Programms zu setzen, ohne dass sichder Verarbeitungspfeil gerade in der Nähe befindet. Häufig brauchtman z.B. Breakpoint bei Funktionsbaustein und Breakpoint beiAnweisung.

� Feldinhalt betrachtenPer Doppelklick auf ein Feld wie z.B. den Parameter p_nicknm in unse-rem Quelltext wird dessen Inhalt unterhalb des Quelltextes angezeigt.

� Feldinhalt ändern-ButtonFeldinhalte lassen sich sogar während des Debuggings ändern. Dazuverfährt man zuerst so wie beim Betrachten von Feldinhalten. Dort,wo der Feldinhalt angezeigt wird, kann man in der Eingabezeile einenneuen Wert eingeben und per Mausklick auf den Feldinhalt ändern-Button übernehmen.

abap.book Seite 89 Dienstag, 18. Mai 2004 1:17 13

Page 19: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

90 Arbeiten mit der Entwicklungsumgebung – Object Navigator

� Aufrufe-ButtonBeim Debugging von größeren Programmen, die Unterprogramme,Funktionsbausteine oder Methoden beinhalten, ist es wichtig zu wis-sen, von wo im Quelltext sie aufgerufen wurden. Diese so genannteStackliste wird nach Anklicken des Aufrufe-Buttons angezeigt. PerZurück-Button kann man jederzeit wieder in die Quelltext-Darstellungdes Debuggers wechseln.

� Einstellungen-ButtonDas Verhalten des Debuggers lässt sich beeinflussen. Zu diesem Zwecksteht der Einstellungen-Button zur Verfügung, über den man alle Kon-figurationsmöglichkeiten angezeigt bekommt und verändern kann.

Schauen wir uns nun den ABAP-Debugger in der Praxis an.

� Wählen Sie im Kontextmenü des Programms den Menüpunkt Ausfüh-ren • Debugging aus.

Es erscheint das Eingabefeld, in das Sie Ihren Spitznamen eintragen können.

� Geben Sie Ihren Spitznamen ein und bestätigen Sie mit F8.

Nachdem alle Parameter abgefragt wurden, gelangen Sie in den Debug-ger und der Verarbeitungspfeil steht auf der ersten Anweisung, in diesemFall der REPORT-Anweisung.

� Wählen Sie den Einzelschritt-Button oder F5.

Abbildung 2.31 Kontextmenü Ausführen • Debugging

abap.book Seite 90 Dienstag, 18. Mai 2004 1:17 13

Page 20: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 91

Der Verarbeitungspfeil wechselt von der REPORT-Anweisung vor die ersteWRITE-Anweisung.

� Doppelklicken Sie auf den Parameter p_nicknm.

Der aktuelle Inhalt des Parameters wird in der Liste unterhalb des Quell-textes angezeigt.

� Wähen Sie den Ausführen-Button oder F6.

Abbildung 2.32 Der Debugger auf der REPORT-Anweisung

Abbildung 2.33 Der Debugger zeigt den Inhalt eines Parameters an.

abap.book Seite 91 Dienstag, 18. Mai 2004 1:17 13

Page 21: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

92 Arbeiten mit der Entwicklungsumgebung – Object Navigator

Der Verarbeitungspfeil steht nun auf der zweiten WRITE-Anweisung.

� Ändern Sie den Inhalt des Eingabefeldes von »Heidelberger« in »Berli-ner«.

� Klicken Sie auf den Ändern-Button.

� Klicken Sie auf die erste WRITE-Anweisung.

Noch steht der Verarbeitungspfeil auf der zweiten Anweisung.

� Wählen Sie den Menüpunkt Debugging • Zu Anweisung springen.

Daraufhin wechselt der Verarbeitungspfeil seine Position vor die ersteWRITE-Anweisung.

� Klicken Sie auf die letzte WRITE-Anweisung.

� Wählen Sie den Weiter (bis Cursor)-Button bzw. F8.

Anschließend steht der Verarbeitungspfeil auf der letzten WRITE-Anwei-sung.

� Wählen Sie den Return-Button bzw. F7.

Abbildung 2.34 Der Debugger zeigt den geänderten Inhalt des Parameters an.

abap.book Seite 92 Dienstag, 18. Mai 2004 1:17 13

Page 22: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 93

Somit werden alle weiteren Anweisungen unseres Hauptprogramms (dieletzte Anweisung) ausgeführt und das Resultat wird auf dem Bildschirmsichtbar.

Wie Sie sehen, haben wir durch unsere Modifikation des Parameters unddas anschließende erneute Ausführen der ersten WRITE-Anweisung dieLogik unseres Programms »umgebogen« und erhalten nun statt eineszwei Spitznamen ausgegeben. Letztlich soll dieses Beispiel zeigen, wiemächtig die Fähigkeiten des Debuggers sind; man sollte insbesondere dieFähigkeiten zum Modifizieren und zum Umsetzen des Verarbeitungspfeilsmit Bedacht nutzen. Ansonsten kann dem Programm beim Debugging einVerhalten aufgezwungen werden, das im realen Betrieb nie auftretenwürde.

Abbildung 2.35 Manipulierte Position des Verarbeitungspfeils

Abbildung 2.36 Alle Programmausgaben werden angezeigt.

abap.book Seite 93 Dienstag, 18. Mai 2004 1:17 13

Page 23: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

94 Arbeiten mit der Entwicklungsumgebung – Object Navigator

Transaktion Wir möchten nun unser Programm auch Endanwendern zugänglichmachen, die typischerweise über keine Berechtigung zum Starten vonEntwicklungswerkzeugen verfügen. Zu diesem Zweck wird üblicherweiseeine Transaktion angelegt, also ein Link, über den man das Programm ausder Kommandozeile heraus aufrufen kann.

Im SAP-Sprachgebrauch wird der Begriff »Transaktion« aus der Historieheraus auch an Stelle des Begriffs »Programm« gebraucht. Technischgesehen ist eine Transaktion jedoch der Link auf ein Programm, wie wirihn im Folgenden anlegen wollen. Um die Mehrfachnutzung des Begriffsvollständig aufzuklären, werden wir in Kapitel 4 auch über Datenbank-transaktionen sprechen.

� Wählen Sie im Kontextmenü Ihres Pakets bzw. Ihrer Entwicklungs-klasse den Menüpunkt Anlegen • Transaktion.

Daraufhin erscheint ein Dialog, in dem Sie neben einem möglichst kurzenTransaktionscode weitere Detailinformationen zur Transaktion angebenkönnen.

� Geben Sie als Transaktionscode »ZPTB00_HW« und als Kurztext »HelloWorld and Nickname« ein.

Abbildung 2.37 Kontextmenü Anlegen • Transaktion

abap.book Seite 94 Dienstag, 18. Mai 2004 1:17 13

Page 24: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 95

� Definieren Sie die Transaktion vom Typ Programm und Selektionsbild(Reporttransaktion) und bestätigen Sie mit OK.

Daraufhin erscheinen im Werkzeugbereich weitere Detailinformationen,die Sie angeben können.

� Geben Sie als Programm »ZPTB00_HELLO_WORLD« ein.

� Definieren Sie die GUI-Fähigkeit als geeignet für HTML, Java und Win-dows und wählen Sie den Sichern-Button bzw. Strg+S.

Wie immer beim Anlegen eines neuen Entwicklungsobjekts muss einTransportauftrag angegeben werden, unter dem unsere Tätigkeit proto-kolliert wird.

� Quittieren Sie die übliche Transportauftragsnummer mit OK.

Nun ist die Transaktion angelegt und wir können sie ausprobieren:

� Geben Sie den Transaktionscode mit vorangestelltem »/n« in die Kom-mandozeile ein und bestätigen Sie mit Enter.

Daraufhin startet tatsächlich unser selbst geschriebenes ProgrammZPTB00_HELLO_WORLD.

Abbildung 2.38 Transaktion anlegen

Abbildung 2.39 Ausprobieren der neuen Transaktion

abap.book Seite 95 Dienstag, 18. Mai 2004 1:17 13

Page 25: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

96 Arbeiten mit der Entwicklungsumgebung – Object Navigator

� Mit F3 gelangen Sie zurück in den Object Navigator.

Bereichsmenü Wie Sie sehen, ist es recht einfach, ein Programm für Endanwender ver-fügbar zu machen. Da diese jedoch nur bei sehr häufigem GebrauchTransaktionscodes auswendig lernen, wollen wir unser Programm nochein wenig komfortabler, nämlich über das Anwendungsmenü im SAP EasyAccess, zur Verfügung stellen. Bei diesem Anwendungsmenü handelt essich um einen großen Menübaum, der sich aus einzelnen Bereichsmenüszusammensetzt. Diese Bereichsmenüs beinhalten jeweils thematischzusammenhängende Applikationen und ordnen diese in Menüs undUntermenüs an.

Demzufolge handelt es sich beim Anwendungsmenü letztlich auch nurum ein Bereichsmenü, wenn auch eines, in das besonders viele andereBereichsmenüs eingehängt wurden und das vom SAP Easy Access stan-dardmäßig angezeigt wird.

Bereichsmenüanlegen

Unsere Aufgabe wird es sein, ein Bereichsmenü anzulegen, worin wirunsere Transaktion zusammen mit einem Menütext hinterlegen können.Anschließend werden wir es an einer ausgesuchten Stelle in das Anwen-dungsmenü einhängen, um es von dort aus allen Anwendern zur Verfü-gung zu stellen.

Abbildung 2.40 Das Anwendungsmenü von SAP Easy Access setzt sich aus vielen Bereichsmenüs zusammen.

abap.book Seite 96 Dienstag, 18. Mai 2004 1:17 13

Page 26: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 97

� Wählen Sie im Kontextmenü des Pakets bzw. der Entwicklungsklasseden Menüpunkt Anlegen • Weitere • Bereichsmenü.

Daraufhin erscheint ein Dialog, in dem Sie sowohl einen eindeutigenNamen wie auch einen Kurztext als Beschreibung angeben können.

� Geben Sie als Namen der Transaktion »ZPTB00« ein.

� Geben Sie als Kurztext »Praxistraining für Umsteiger und Einsteiger«ein und bestätigen Sie mit OK.

Es erscheint ein Programm, das den gesamten Werkzeugbereich für sichbeansprucht.

� Markieren Sie den Eintrag Praxistraining für Umsteiger und Einstei-ger.

� Wählen Sie den Button Eintrag eine Ebene tiefer einfügen bzw.Shift+F7.

Daraufhin erscheint ein Dialog, in dem Sie Einträge für das Bereichsmenüangeben können.

� Tragen Sie als Text »Hello World and Nickname« ein, als Transaktions-code »ZPTB00_HW« und quittieren Sie mit OK.

Daraufhin erscheint wieder das Hauptfenster und wir können dasBereichsmenü speichern.

Abbildung 2.41 Anlegen eines Bereichsmenüs

Abbildung 2.42 Bereichsmenü bearbeiten

abap.book Seite 97 Dienstag, 18. Mai 2004 1:17 13

Page 27: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

98 Arbeiten mit der Entwicklungsumgebung – Object Navigator

� Wählen Sie den Sichern-Button oder Strg+S.

Daraufhin erscheint ein Dialog, in dem das Paket bzw. die Entwicklungs-klasse abgefragt wird, wo das Bereichsmenü gespeichert werden soll.

� Geben Sie als Paket »Z00_Practice_Training_Beginner« ein und sichernSie.

Abbildung 2.43 Neuen Menüeintrag erfassen

Abbildung 2.44 Paket, in dem das Bereichsmenü gespeichert werden soll

abap.book Seite 98 Dienstag, 18. Mai 2004 1:17 13

Page 28: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 99

Zum Schluss wird wie immer nach dem Transportauftrag gefragt, in dem IhreÄnderungen an diesem Entwicklungsobjekt protokolliert werden sollen.

� Bestätigen Sie mit OK.

In Anwendungs-menü einhängen

Wir haben nun ein eigenes kleines Untermenü für unsere Programmerespektive Transaktionen angelegt. Was jetzt noch fehlt, ist die Erweite-rung des von der SAP vorgegebenen Anwendungsmenüs um unserUntermenü.

� Drücken Sie so lange den Beenden-Button, bis Sie sich wieder im SAPEasy Access befinden.

� Starten Sie dort die Applikation SAP-Menü • Werkzeuge • ABAPWorkbench • Weitere Werkzeuge • Bereichsmenüs bzw. die Transak-tion SE43N.

Daraufhin erscheint ein Fenster, in dem Sie das Bereichsmenü angebenkönnen, mit dem Sie arbeiten möchten. Wir möchten das SAP-Anwen-dungsmenü erweitern, das unter dem Namen »S000« abgelegt ist.

� Geben Sie den Namen des SAP-Anwendungsmenüs »S000« ein oderwählen Sie es per F4-Hilfe aus.

� Wählen Sie den Button Bereichsmenü anzeigen bzw. F7.

Abbildung 2.45 Bereichsmenü S000 auswählen

abap.book Seite 99 Dienstag, 18. Mai 2004 1:17 13

Page 29: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

100 Arbeiten mit der Entwicklungsumgebung – Object Navigator

Daraufhin erscheint das Bereichsmenü, wie Sie es auch aus dem SAP EasyAccess kennen.

� Markieren Sie den Eintrag SAP R/3.

� Wählen Sie den Button Anzeigen <-> Ändern bzw. Strg+F1.

Daraufhin erscheint eine Sicherheitsabfrage, in der Sie den Bearbeitungs-modus angeben sollen.

� Klicken Sie auf den Erweitern-Button.

Erweiterungs-ID Es erscheint ein Abfragedialog, in dem Sie eine so genannte Erweiterungs-ID angeben müssen, unter der Sie Ihre Modifikationen abspeichern wol-len. Vereinfacht ausgedrückt, werden Ihre Änderungen dann nicht amOriginal durchgeführt, sondern an einer Kopie, die später mit dem Origi-nal vermengt wird. Da Sie noch keine Erweiterungs-ID angelegt haben,müssen Sie dies jetzt nachholen. Alle späteren Modifikationen am Menükönnen Sie dann unter dieser ID vornehmen.

� Klicken Sie auf den Button Erweiterungs-ID anlegen.

Es erscheint ein weiterer Dialog, in dem Sie die ID und einen beschrei-benden Text für Ihre Erweiterungs-ID angeben können.

� Geben Sie als Erweiterungs-ID »ZPTB00« an, als erläuternden Text»Erweiterung für eigenes Bereichsmenü« und bestätigen Sie mit Enter.

Abbildung 2.46 Bereichsmenü S000 anzeigen

Abbildung 2.47 Erweiterungs-ID anlegen

abap.book Seite 100 Dienstag, 18. Mai 2004 1:17 13

Page 30: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 101

Ihre Erweiterungs-ID erscheint nun unter der Rubrik Originale und Siekönnen mit der Modifikation beginnen.

� Klicken Sie mit der Maus auf die Erweiterungs-ID ZPTB00.

� Wählen Sie den Button Auswählen (Lupe).

Sie befinden sich nun im Editier-Modus für das Menü und möchten nunin zweiter Ebene Ihr Bereichsmenü einfügen.

� Klicken Sie mit der Maus auf den obersten Listeneintrag (in der RegelSAP R/3).

� Wählen Sie aus dem Kontextmenü den Menüpunkt Eine Ebene tiefereinfügen.

In dem nun folgenden Dialog (siehe Abbildung 2.50) können Sie entwe-der direkt Menüpunkte eingeben oder auch Bereichsmenüs einhängen.Da wir bereits ein Bereichsmenü angelegt haben, wollen wir dieses natür-lich verwenden.

� Geben Sie als Text »Practice Training Beginner« ein.

� Markieren Sie die nebenstehende Checkbox, um Ihren Eintrag alsBereichsmenü zu kennzeichnen.

� Drücken Sie in der Spalte Transaktionscode/Menü die F4-Taste, umIhr Bereichsmenü komfortabel auszuwählen.

Abbildung 2.48 Erweiterungs-ID-Originale auswählen

abap.book Seite 101 Dienstag, 18. Mai 2004 1:17 13

Page 31: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

102 Arbeiten mit der Entwicklungsumgebung – Object Navigator

Abbildung 2.49 Bereichsmenü eine Ebene tiefer einfügen

Abbildung 2.50 Neue Einträge erfassen

abap.book Seite 102 Dienstag, 18. Mai 2004 1:17 13

Page 32: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Erstes Programm »Hallo Welt« 103

In der Werthilfe finden Sie Ihr Bereichsmenü ganz unten.

� Markieren Sie das Bereichsmenü ZPTB00 und drücken Sie den OK-Button, um Ihr Bereichsmenü in das Eingabefeld zu übernehmen.

� Drücken Sie erneut den OK-Button, um Ihr Bereichsmenü in dasAnwendungsmenü zu übernehmen.

� Wählen Sie den Sichern-Button, um Ihre Änderungen zu sichern.

Es erscheint der übliche Dialog, in dem Sie zur Angabe eines Transport-auftrags aufgefordert werden.

� Quittieren Sie mit Enter, um den vorgeschlagenen Auftrag zu verwen-den.

Jetzt wollen wir uns ansehen, wie unsere Erweiterungen in Wirklichkeitaussehen, und wechseln deshalb zurück in den Anzeigemodus.

� Klicken Sie auf den Button Anzeigen <-> Ändern, um in den Anzeige-modus zu wechseln.

Das Anwendungsmenü ist nun um unser Bereichsmenü erweitert undenthält auch die neue Transaktion unseres Hello-World-Programms.

� Verlassen Sie nun die Applikation durch Anklicken des Beenden-But-tons, bis Sie sich wieder im SAP Easy Access befinden.

Im SAP Easy Access werden Sie feststellen, dass Ihre Änderungen (noch)nicht angezeigt werden. Sie müssen das erneute Einlesen des Menüserzwingen, damit Ihre Änderungen auch sichtbar werden.

Abbildung 2.51 Änderungen am Menü sichern

abap.book Seite 103 Dienstag, 18. Mai 2004 1:17 13

Page 33: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

104 Arbeiten mit der Entwicklungsumgebung – Object Navigator

� Wählen Sie den Button SAP-Menü.

Daraufhin wird das komplette Menü neu geladen und Ihre Erweiterungerscheint wie gewünscht als erstes Untermenü.

Abbildung 2.52 Anwendungsmenü mit neuem Bereichsmenü und Transaktion

Abbildung 2.53 Anwendungsmenü vor der Aktualisierung

Abbildung 2.54 Anwendungsmenü nach der Aktualisierung

abap.book Seite 104 Dienstag, 18. Mai 2004 1:17 13

Page 34: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Index 491

Index

1:1-Relation 2193GL-Sprachen 1154GL-Sprachen 115

AABA 17ABAP 23, 117, 483ABAP Dictionary 483ABAP Laufzeitumgebung 483ABAP Objects 13, 25, 334ABAP Workbench 31, 62, 64, 483ABAP/4 24ABAP-Debugger 88ABAP-Editor 55, 86ABAP-Laufzeitumgebung 26abgeleitete Klasse 368Abgrenzungsliste 415Adapter 483Advanced Business Application

Programming 483Allgemeiner Berichtsaufbereitungs-

Prozessor 23ALV 244AND, boolscher Operator 188Anmeldevorgang 40Anwendung 483Anwendungsbasis 17Anwendungsmenü

einhängen 96ANY TABLE 154any, Datentyp 147API 483API-Schicht 417APPEND 155Application 483Application Programming Interface

483Arbeitsplatzrechner 23Arrays 115AS CHECKBOX 127Attribute 338Ausgabeparameter 165Ausnahmen 165Auswahlhilfe 66Authentifizierung 40

BBackend 27, 29, 30BAdI 35BAPI 35, 483BEGIN OF 150BEGIN OF BLOCK 240BEGIN OF SCREEN 239Behandlerklasse 390Behandlermethode 388

deklarieren 390registrieren 391

Benutzername 41Bereichsmenü 96

anlegen 96Berichte 79beschreibende Eigenschaften 206betriebswirtschaftliche Standard-

software 13BETWEEN, Vergleichsoperator 183Bildschirmbild 272boolescher Datentyp 133Browserbereich 62Business Application Programming

Interfaces 483Business Process 483Business Scenario 483Business Server Pages 62, 483Business-Module 23

Cc, Datentyp 129CA, Vergleichsoperator 184Call by Reference 167Call by Value 167CALL METHOD 344CALL SCREEN 276CALL SELECTION-SCREEN 242CALL SUBSCREEN 276CASE ... WHEN 188Casting 128CHAIN ... ENDCHAIN 275CHANGING 166Character 129Checkliste für Programmierer 32

abap.book Seite 491 Dienstag, 18. Mai 2004 1:17 13

Page 35: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

492 Index

Checkman-Prüfungen 479CLASS 337CLASS_CONSTRUCTOR 344CLASS-DATA 345CLASS-EVENTS 389CLASS-METHODS 345Client 23, 41CLOSE CURSOR 225CN, Vergleichsoperator 183CO, Vergleichsoperator 183COLLECT 155Component 485Constants 126Constraints 205CONSTRUCTOR 344CONTINUE 194, 195Control Beispiele 62CONTROLS 280CP, Vergleichsoperator 185CREATE DATA 126, 133CREATE OBJECT 337, 342CS, Vergleichsoperator 184

Dd, Datentyp 131Data 125Data Dictionary 483Daten 125, 338Datenbankdesign 202Datenbanktabelle 220

Felder 220Datenelement 202

anlegen 209, 227, 287definieren 206Dokumentation pflegen 211in Tabellen 220

Dateninstanzen 336Datensatz 150, 217Datentypen 128Datenübermittlung 221DB-Schicht 417DDIC 483Debugger 58Debugging 88DEFINITION 339Deklaration 125

deklaratives Programmiermodell 115DELETE 152, 157, 225DESCRIBE FIELD 346DESTINATION 164dezentrale Builds 59Dictionary-Datentyp 203

auswählen 204eingebaute 205

Directory 484DNS-Adresse 38DO ... ENDDO 194Domäne 205

anlegen 227, 285Drag&Drop 37Drucktastenliste 272DUPLICATES 157dynamische Daten 126, 133Dynpro 271, 484

anlegen 303Bestandteile 271

Dynpro-Ablauflogik 117, 271, 273, 315, 319

EEingabeelemente 127Eingabeoberflächen, einfache 239Eingabeparameter 165Elternklasse 368END OF 150, 239END OF BLOCK 240ENDFORM 162ENDING AT 242Engine 484EnjoySAP 244Enterprise Resource Planning 13Entwicklerschlüssel 28, 29, 31Entwicklungsklasse 69

anlegen 75Entwicklungsobjekt 57Entwicklungssprache 34Entwicklungssystem 33EQ, Vergleichsoperator 181Ereignis 386, 387

auslösen 392deklarieren 389

ERP 23

abap.book Seite 492 Dienstag, 18. Mai 2004 1:17 13

Page 36: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Index 493

Erweiterte Programmprüfung 479Erweiterungs-ID 100EXCEPTIONS 166EXIT 194, 195EXPORTING 166, 167, 340

Ff, Datentyp 130F1-Hilfe 63F4-Hilfe 66Felder 217Feldsymbol 128FETCH 225FI 13FIELD 274FIELD-SYMBOLS 128Finance 13flache Struktur 151Floating point number 130FORM 162Framework 367Fremdschlüssel 218Frontend 28, 29, 31Frontend-Integration 37FUNCTION 163Funktion 161, 338Funktionalitätsliste 413Funktionsbaustein 163

anlegen 298Funktionsgruppe 163

anlegen 297

GGarbage Collector 133, 342GE, Vergleichsoperator 182geschachtelte Struktur 150Geschäftsprozess 483Geschäftsszenario 483GET 118GET CURSOR 118, 280GET PF-STATUS 277GET PROPERTY OF 118GET REFERENCE OF 119, 126GET TIME 118globale Klasse

anlegen 357, 380

Attribute definieren 361, 381Ereignis deklarieren 401Ereignisbehandlungsmethode defi-nieren 403Methode definieren 358Methode redefinieren 381

globale Tabellentypen 236definieren 355

Glue-Logic 386GT, Vergleichsoperator 182GUI 484GUIDs 17GUI-Status 248, 249, 272

anlegen 302GUI-Titel

anlegen 301

HHardware 29, 30Hash-Algorithmus 154HASHED TABLE 154Hauptpaket 70Hauptspeicher 124help.sap.com 105, 108Hexadecimal 131hierarchische Datenbank 22Hinweise 106

Ii, Datentyp 130IF ... ELSE 188IMPLEMENTATION 341IMPORTING 165, 167, 340IN 241INCLUDE 162Include 80INDEX TABLE 154INHERITING FROM 368INSERT 152, 155, 223Instanzkonstruktor 344Integer 130interne Tabellen 149, 152interne Tabellenarten 153

generische 154Internetstandards 484

abap.book Seite 493 Dienstag, 18. Mai 2004 1:17 13

Page 37: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

494 Index

Internet-Technologie 18IS ASSIGNED, Vergleichsoperator 185IS BOUND, Vergleichsoperator 186IS INITIAL, Vergleichsoperator 186IS REQUESTED, Vergleichsoperator 187IS SUPPLIED, Vergleichsoperator 186,

187

JJ2EE 484Java 18Java 2 Platform Enterprise Edition 484Just-In-Time-Compiler 55

KKindklasse 368Klasse 336Klassenattribut 345Klassendefinition 338Klassenhierarchie 367Klassenimplementation 341Klassenmethode 345Kommandozeile 44Kommentare 33Kommentarsprache 33Komponente 485Komponentenbibliothek 367Komponenteninformationen 51Konstante 126

LLandessprache 206Laufzeitanalyse, SE80 479LE, Vergleichsoperator 182LEAVE SCREEN 282Library 367Liste 79Listener-Konzept 388Listüberschriften 135Lizenzerneuerung 31Login 36logische Ausdrücke 181lokale Klasse 346LOOP 156LOOP ... ENDLOOP 275LOOP AT SCREEN 278LT, Vergleichsoperator 182

MMandant 33, 41, 485MAPI-Schicht 417Mapping 204Massachusetts Institute of Technology

(MIT) 333Massendaten 149Material Management 13MDI-Fenster 36Menüeintrag erfassen 98Menüleiste 272Menüsystem 43MESSAGE 243Metadaten 133, 207METHOD 335, 345Methode 337

Übergabeparameter definieren 359Methodenredefinition 369Method-Pointer-Konzept 388METHODS 338, 390Microsoft 21Microsoft .NET 485MM 13MODIFY 152, 156, 224MODIFY SCREEN 279Modularisierung 161MODULE 274Modulpool 79Modus 45

neuer 53MOVE 119MOVE-CORRESPONDING 151Muster 177mySAP 13mySAP Business Suite 25mySAP CRM 13mySAP SCM 13mySAP Technology 24mySAP.com 24

Nn, Datentyp 129n:1-Relation 219n:m-Relation 219NA, Vergleichsoperator 184Nachfahre 368Nachrichten

abap.book Seite 494 Dienstag, 18. Mai 2004 1:17 13

Page 38: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Index 495

anlegen 253ausgeben 243definieren 299

Nachrichtenklasse 243anlegen 253, 299

Namenskonflikte 73Namenskonventionen

allgemeine 470DDIC-Datentypen 474Dynpros 478Error-Meldungen 477Funktionsbausteine 475Funktionsgruppen 475Konstanten 473Module 477Nachrichten 477Nachrichtenklasssen 476programmlokale Datentypen 473Unterprogramme 476Variablen und Parameter 471Warning-Meldungen 477

Namensraum 34, 72Kunden- 471

Native SQL 225, 485NE, Vergleichsoperator 182NON-UNIQUE KEY 153NOT, boolscher Operator 188Notationsregeln 117NP, Vergleichsoperator 185NS, Vergleichsoperator 184Numeric 129

OOberflächenelement

anlegen 304Object Navigator 57

Browserbereich 62erste Schritte 60Objektlistenbereich 62Releases 61Werkzeugbereich 62

Objekt 333, 336Objektdereferenzierung 343Objekterzeugung 342Objektinstanzen 337Objektlistenbereich 62

objektorientierte Programmierung 334Objektorientierung 333Objektreferenzierung 342Objekttypen 336OBJ-Schicht 417OBLIGATORY 127Offset 119Online-Hilfe 105, 106OPEN CURSOR 225Open SQL 221, 486Operatoren 181OR, boolscher Operator 188Oracle 21Originalsprache 34

Pp, Datentyp 131Packed 131Paket 69PARAMETERS 87, 118, 127, 239, 241Passwort 41PERFORM 162Performance-Beispiele 63Polymorphie 367, 369Pretty Printer 86PRIVATE SECTION 339PROCESS 273PROCESS AFTER INPUT 273PROCESS BEFORE OUTPUT 273PROCESS ON HELP-REQUEST 273PROCESS ON VALUE-REQUEST 273Produktivsystem 33Programm 79, 81

anlegen 83kopieren 143Transportauftrag angeben 84

Programmgerüst 84Programmierrichtlinien 35, 469Programmprüfung, Tools 478Programmstart 52Properties 340PROTECTED SECTION 338Prozedur 161prozedurale Programmierung 161, 334PUBLIC SECTION 338Publish and Subscribe 388

abap.book Seite 495 Dienstag, 18. Mai 2004 1:17 13

Page 39: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

496 Index

RR/1 21R/2 22R/3 23RAD-Tools 386RAISE EVENT 392RAISING 162, 166RAM 124Rapid Application Development 386READ 152, 155REDEFINITION 345, 369Redefinition

Instanzkonstruktoren 370Klassenkonstruktoren 371Methoden 369

Redundanzvermeidung 161REF TO 128REF TO OBJECT 342Referenzvariable 126, 133REFRESH CONTROL 281relationales Datenbankdesign 218Relationsarten 219Release 486Remote Function Call 486REPORT 90Report 79, 80Repository 486Repository Infosystem 64RETURNING 340REUSE_ALV_GRID_DISPLAY 245REUSE_ALV_GRID_LAYOUT_INFO_

GET 246REUSE_ALV_GRID_LAYOUT_INFO_

SET 247RFC 486RTTI 347Rückgabewert 119Rückwärtsnavigation 54Runtime Type Identification 346

SSAP Application Server 17, 23SAP Basis 23SAP Easy Access 43, 486SAP Exchange Infrastructure 415SAP GUI 40, 486SAP GUI for Java 29

SAP Help Portal 105, 108SAP Knowledge Warehouse 109SAP List Viewer 237, 244SAP Menu Painter 271SAP Message Server 39SAP NetWeaver 24SAP Notes 112SAP R/3 13SAP Screen Painter 28, 271SAP Service Marketplace 105, 111SAP System 486SAP Web Application Server 17, 25SAP-Basissystem 23SAP-Bibliothek 109SAP-Hinweise 106SAP-System

Backend 27Frontend 28Hardware 27Linux 28Windows 29

SAP-Zugangeinrichten 26

Schichtenmodell 417Schleifen 194Schlüssel 218Schnittstelle 35, 164Schnittstellenparameter 161, 164Schriftkonventionen 16SELECT 221SELECTION-SCREEN 239SELECTION-SCREEN COMMENT 239SELECTION-SCREEN PUSHBUTTON

240SELECTION-SCREEN ULINE 239SELECT-OPTIONS 240Selektionstexte 135

pflegen 213Server-Cluster 39service.sap.com 105, 111SET 119SET CURSOR 279SET EXTENDED CHECK ON/OFF 119SET HANDLER 391SET HOLD DATA 281SET PARAMETER 119SET PF-STATUS 277SET SCREEN 277

abap.book Seite 496 Dienstag, 18. Mai 2004 1:17 13

Page 40: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

Index 497

SET TITLEBAR 278Sichtbarkeit 338Signatur 164Single Server 38Single Sign-On 486Single-Sign-On 42SORTED TABLE 153Speichern 45Spezifikation 412SSO 486Stackliste 90Stammdatenprüfung 205STANDARD TABLE 153Standard-Symbolleiste 272STARTING AT 242statische Methode 344statische Variable 126statischer Konstruktor 344statisches Attribut 344Statuszeile 46, 273Stop Transaction 43string, Datentyp 132Struktur 149, 150

anlegen 295Strukturpaket 70subprogram return code 119SUPPRESS DIALOG 282SY 119sy-dbcnt 120sy-host 120sy-index 120, 195Symbolleiste 44Systembefehle 118Systemeinrichtung 36Systemfelder 119Systeminformationen 46System-Status 50Systemvoraussetzungen 17sy-subrc 119, 166sy-tabix 120sy-uname 120

Tt, Datentyp 132Tabelle

anlegen 228, 290Tabellenschlüssel 153

Tabellentypanlegen 294

Table Control 275Table Control Wizard 309TABLE OF 152TABLES 166Tableview 275technische Eigenschaften 205technische Namen 47Testsystem 33Textelemente 135Textsymbol 136

anlegen 299tiefe Struktur 151TIME ZONE 124Titelleiste 272Top-Down-Ansatz 417Trafoschicht 415Transaktion 48, 66, 94

anlegen 94Transport Management System 68Transport Organizer 68Transport Organizer Tools 73Transportauftrag 76TRANSPORTING 156Transportwesen 60TYPE 126Type Casting 348TYPE REF TO 126TYPES 150Typprüfung 207Typsicherheit 207

UÜbergabedaten 164Übergabeparameter 164Übergabevariablen 164Unicode 17UNIQUE KEY 153Unterprogramm 161UPDATE 223Ursprungsklasse 368User 41USING 165

VVALUE 126, 340

abap.book Seite 497 Dienstag, 18. Mai 2004 1:17 13

Page 41: Praktischer Einstieg in ABAP - bücher.de · SAP-Applikationen, wie z.B. der Object Navigator oder SAP CRM, beste-hen hingegen immer aus sehr vielen kleinen, manchmal mehr als hundert

498 Index

Variablen 125Veränderungsparameter 165Vererbung 368Verwendungserklärung 203Verzeichnis 484Verzweigungsanweisungen 180Vorfahre 368Vorwärtsnavigation 54

WWeb Dynpro 38, 117, 237, 486Web Service 487Werkzeugbereich 62Werthilfe 66WHERE 221WHILE ... ENDWHILE 195WRITE 85, 118

Xx, Datentyp 131xstring, Datentyp 133

ZZ00PTB_Hello_World 82Z00PTB_System_Information 121

Zähl-Schleife 194ZPBT00_BUSINESS_TRANSACTION

283ZPBT00_HOTEL_RESERVATION 227ZPBT00_HOTEL_RESERVATION_COOL

247ZPBT00_PERFORMANCE_TESTER 168ZPBT00_PRODUCT_CONFIGURATOR

349ZPBT00_PRODUCT_CONFIGURATOR_

GLOBAL 355ZPBT00_PRODUCT_ENHANCER 371ZPBT00_PRODUCT_ENHANCER_GL

379ZPBT00_PRODUCT_EVENT 393ZPBT00_PRODUCT_EVENT_GL 401ZPBT00_ROOM_CHECKER 207ZPBT00_SAVINGS_CALCULATOR 196ZPTB00_ PROVISION_CALCULATOR

190ZPTB00_INTERNAL_TABLE_JUGGLER

157ZPTB00_SALES_ORDER 136ZPTB00_SALES_ORDER_DYNAMIC

142Zuweisung 119

abap.book Seite 498 Dienstag, 18. Mai 2004 1:17 13