Winkler | ABAP/4 Programmiertechniken | E-Book | sack.de
E-Book

E-Book, Deutsch, 620 Seiten, eBook

Reihe: Xpert.press

Winkler ABAP/4 Programmiertechniken

Trainingsbuch
2005
ISBN: 978-3-540-26985-4
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

Trainingsbuch

E-Book, Deutsch, 620 Seiten, eBook

Reihe: Xpert.press

ISBN: 978-3-540-26985-4
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



Die schnelle und tiefgründige Vermittlung von Prinzipien der klassischen ABAP-Programmierung ist das Anliegen des 'ABAP-Zertifizierungs-Übungsbuches'. An einem durchgängigen Beispielprojekt wird die Arbeit mit den Werkzeugen der ABAP Workbench, wie ABAP Dictionary, Editor, Debugger, Screen-Painter, Menü Painter und Function Builder anschaulich dargestellt. Auch den Themen Softwarelogistik und Projektmanagement ist je ein eigener Abschnitt gewidmet. Das Buch orientiert sich dabei an den Prüfungsanforderungen der SAP zur 'ABAP Workbench Certification 2000'. Dabei werden die theoretischen Grundlagen der Kapitel kurz und prägnant erläutert und ihre Umsetzung in die Praxis Schritt für Schritt am Beispielprojekt aufgezeigt. Den Abschluss jedes Kapitels bilden prüfungsrelevante Fragen und Antworten. Die dem Buch beigegebene CD-ROM enthält für jedes Kapitel den Stand der jeweiligen Entwicklungsarbeiten, so dass der interessierte Leser selbst bestimmen kann, auf welchem Level er sein Selbststudium beginnt.

Dipl.-Ing. Thomas Winkler studierte Informationstechnik an der Ingenieurhochschule Dresden und ist seit 1998 als freiberuflicher EDV-Trainer tätig, vorwiegend im SAP-Bereich (ABAP-Programmierung und Optimierung von Geschäftsprozessen) für verschiedene Bildungsträger. Er verfügt selbst über folgende SAP-Zertifizierungen: 'Development Consultant 'ABAP Workbench' with mySAP.com, Certification 2000' (Zertifizierung für ABAP-Entwickler) und 'Accelerated SAP (ASAP) Consultant for SAP System R/3' (diese Zertifizierung wird benötigt, um R/3 Systeme in Unternehmen einführen zu können bzw. dazu Schulungen durchführen zu dürfen).

Winkler ABAP/4 Programmiertechniken jetzt bestellen!

Zielgruppe


Professional/practitioner


Autoren/Hrsg.


Weitere Infos & Material


1;Einführung;6
2;Inhaltsverzeichnis;8
3;1 Projektmanagement;12
3.1;1.1 Komponenten eines SAP-R/3-Systems;12
3.2;1.2 Datenstruktur eines R/3-Systems;14
3.3;1.3 Änderungen an R/3-Datenobjekten;17
3.3.1;1.3.1 Änderungsebenen;17
3.3.2;1.3.2 Änderungsstrategien;19
3.4;1.4 Die Drei-System-Landschaft;21
3.5;1.5 Transporte durchführen;23
3.5.1;1.5.1 Transporte innerhalb eines R/3-Systems;23
3.5.1.1;1.5.1.1 Voraussetzungen und Durchführung;23
3.5.1.2;1.5.1.2 Anlegen des Testmandanten;23
3.5.1.3;1.5.1.3 Anlegen eines Customizingauftrages;27
3.5.1.4;1.5.1.4 Automatische Aufzeichnung von Änderungen;29
3.5.1.5;1.5.1.5 Ausflug ins Customizing;30
3.5.1.6;1.5.1.6 Freigabe der Customizingaufgabe und des Customizingauftrages;38
3.5.1.7;1.5.1.7 Transport der Änderungen in den Testmandanten;41
3.5.1.8;1.5.1.8 Übungsaufgaben;43
3.5.1.9;1.5.1.9 Lösungen;44
3.5.2;1.5.2 Transporte in andere R/3-Systeme;50
3.5.2.1;1.5.2.1 Grundlagen;50
3.5.2.2;1.5.2.2 Voraussetzungen und Durchführung;54
3.5.2.3;1.5.2.3 Einrichten der Systemlandschaft;55
3.5.2.4;1.5.2.4 Der Workbenchauftrag;60
3.5.2.5;1.5.2.5 Die Entwicklungsklasse;62
3.5.2.6;1.5.2.6 Das erstes ABAP-Programm;65
3.5.2.7;1.5.2.7 Freigabe des Workbenchauftrages;69
3.5.2.8;1.5.2.8 Transport durchführen;72
3.5.2.9;1.5.2.9 Übungsaufgaben;74
3.5.2.10;1.5.2.10 Lösungen;75
4;2 Wegweiser;79
4.1;2.1 Projektbeschreibung;79
5;3 Das ABAP-Dictionary;88
5.1;3.1 Einführung;88
5.2;3.2 Domäne, Datenelement, Datenbankfeld;94
5.2.1;3.2.1 Domänen anlegen;95
5.2.2;3.2.2 Datenelemente anlegen;98
5.3;3.3 Eigenschaften von Tabellen;101
5.3.1;3.3.1 Tabellenarten;101
5.3.2;3.3.2 Schlüsselfelder und Primärindex;107
5.3.3;3.3.3 Sekundärindizes;109
5.3.4;3.3.4 Fremdschlüssel;110
5.3.5;3.3.5 Pufferungsarten;111
5.3.6;3.3.6 Synchronisation von Puffern;116
5.3.7;3.3.7 Änderungen an Tabellen;117
5.3.8;3.3.8 Anlegen der Tabellen für das Bibliotheksprojekt;120
5.3.9;3.3.9 Anlegen und Einbinden von Suchhilfen;127
5.3.10;3.3.10 Tabellen mit Werten laden;133
5.3.11;3.3.11 Übungsaufgaben;134
5.3.12;3.3.12 Lösungen;138
6;4 Grundlegende Techniken der Listenprogrammierung;144
6.1;4.1 Zielstellung des Kapitels;144
6.2;4.2 Grundaufbau eines ABAP-Programmes;145
6.3;4.3 Ausgabe von Texten;149
6.4;4.4 Datentypen und Datenobjekte;164
6.4.1;4.4.1 Eingebaute Datentypen;165
6.4.2;4.4.2 Deklaration von Datenobjekten;167
6.4.2.1;4.4.2.1 Beispiele für Datenobjektdeklarationen;170
6.4.2.2;4.4.2.2 Konstanten;175
6.4.2.3;4.4.2.3 Feldsymbole;176
6.4.3;4.4.3 Arithmetische Operationen;177
6.4.3.1;4.4.3.1 Arithmetische Operatoren;177
6.4.3.2;4.4.3.2 Ganzzahlarithmetik;179
6.4.3.3;4.4.3.3 Festpunktarithmetik;179
6.4.3.4;4.4.3.4 Gleitpunktarithmetik;180
6.4.3.5;4.4.3.5 Typkonvertierungen;181
6.4.4;4.4.4 Operationen mit Zeichenketten;182
6.4.4.1;4.4.4.1 Zeichenkettenverarbeitung;184
6.4.5;4.4.5 Strukturen;188
6.4.5.1;4.4.5.1 Anlegen von Strukturen;188
6.4.5.2;4.4.5.2 Strukturen im Programm benutzen;190
6.4.5.3;4.4.5.3 Zuweisungen von Strukturen und Zeichenketten;192
6.4.6;4.4.6 Interne Tabellen;195
6.4.6.1;4.4.6.1 Tabellenarten;196
6.4.6.2;4.4.6.2 Anlegen interner Tabellen;198
6.4.6.3;4.4.6.3 Zeilenoperationen;201
6.4.6.4;4.4.6.4 Tabellenoperationen;221
6.4.7;4.4.7 Globale Datentypen;229
6.5;4.5 Kontrollstrukturen;234
6.5.1;4.5.1 Bedingte Verzweigungen;234
6.5.1.1;Die IF-Anweisung;234
6.5.1.2;Die CASE-Anweisung;235
6.5.2;4.5.2 Programmschleifen;237
6.5.2.1;Die DO-Schleife;237
6.5.2.2;Die WHILE-Schleife;240
6.5.3;4.5.3 Logische Ausdrücke;241
6.6;4.6 Lesen von Daten aus Datenbanktabellen;243
6.6.1;4.6.1 Die „SELECT-Anweisung“ als Schleife;244
6.6.1.1;Die SELECT-Klausel;244
6.6.1.2;Die INTO-Klausel;245
6.6.1.3;Die INTO CORRESPONDING FIELDS OF-Klausel;248
6.6.1.4;Die WHERE-Klausel;249
6.6.1.5;Die ORDER BY-Klausel;250
6.6.2;4.6.2 Einzelsatzzugriff mit der „Select single- Anweisung“;251
6.6.3;4.6.3 Array-Fetch – Laden einer internen Tabelle mit Daten aus einer Datenbanktabelle;252
6.6.4;4.6.4 Der Selektionsbildschirm;256
6.6.4.1;Die Parameters-Anweisung;256
6.6.4.2;Die Select-Options-Anweisung;259
6.6.4.3;Selektionstexte hinzufügen;263
6.6.4.4;Die Anweisung SELECTION-SCREEN BEGIN OF SCREEN < scr>.;265
6.6.4.5;Anweisungen zur Gestaltung des Selektionsbildes;265
7;5 Spezielle Techniken der Listenerstellung;267
7.1;5.1 Zielstellung des Kapitels;267
7.2;5.2 Modularisierung durch Unterprogramme;268
7.2.1;5.2.1 Anlegen eines Includes;278
7.2.2;5.2.2 Anlegen und Einbinden eines Unterprogrammes;283
7.3;5.3 Ikonen in Listen;289
7.4;5.4 Verzweigungslisten;293
7.4.1;5.4.1 Anlegen von Verzweigungslisten;294
7.5;5.5 Die Programmoberfläche;305
7.6;5.6 Dynamische Auswahl von Datensätzen der Ausgabeliste;316
7.7;5.7 Dynamisches Sortieren der Ausgabeliste;322
7.8;5.8 Ein Freund des Programmierers – Der Debugger;331
7.8.1;5.8.1 Start des Debuggers;331
7.8.2;5.8.2 Programm debuggen;333
7.9;5.9 Ausgabe von Meldungen (Messages);339
7.10;5.10 Modularisierung mit Funktionsbausteinen;347
8;6 Grundlagen der Dynproprogrammierung;359
8.1;6.1 Zielstellung des Kapitels;359
8.2;6.2 Dynpros und ihre Komponenten;363
8.3;6.3 Statischer und dynamischer Dynproaufruf;365
8.4;6.4 Dateneingabe und –ausgabe mit Dynpros;367
8.4.1;6.4.1 Dynproelemente;369
8.4.2;6.4.2 Dynproelemente zur Ausgabe;370
8.4.3;6.4.3 Dynproelemente zur Ein-/Ausgabe;376
8.5;6.5 Programmierung der Ablauflogik;390
8.5.1;6.5.1 Module und Modulaufruf;390
8.5.2;6.5.2 Benutzeraktionen auswerten;396
8.6;6.6 GUI-Status und GUI-Titel des Dynpros;404
8.7;6.7 Eigenschaften der Dynproelemente dynamisch ändern;407
8.8;6.8 Eingabeprüfungen mit der FIELDAnweisung;414
8.9;6.9 Bedingtes bzw. vorrangiges Ausführen von Modulen;422
9;7 Subscreens, Listen und Tabellen in Dynpros;435
9.1;7.1 Zielstellung des Kapitels;435
9.2;7.2 Subscreenbereiche und Subscreendynpros;438
9.3;7.3 Ausgabe von Listen auf einem Dynpro;445
9.4;7.4 Datenausgabe mit Table Controls;453
9.4.1;7.4.1 Anlegen eines Table Controls;454
9.4.2;7.4.2 Datentransport zum Table Control und zurück;458
9.4.2.1;Transport der Daten in das Table Control;459
9.4.2.2;Transport der Daten vom Table Control in die interne Tabelle;461
10;8 Tabstrips;478
10.1;8.1 Zielstellung des Kapitels;478
10.2;8.2 Allgemeine Eigenschaften Einsatzbedingungen;479
10.3;8.3 Tabstrip-Elemente;480
10.4;8.4 Blättern im Tabstrip;481
10.4.1;8.4.1 Tabstrip mit statischer Blätterfunktion;481
10.4.2;8.4.2 Tabstrip mit dynamischer Blätterfunktion;482
10.5;8.5 Tabstrip anlegen;483
11;9 Datenbankänderungen programmieren;497
11.1;9.1 Zielstellung des Kapitels;497
11.2;9.2 Datenbankändernde Anweisungen;499
11.2.1;9.2.1 Die INSERT-Anweisung;500
11.2.2;9.2.2 Die UPDATE-Anweisung;502
11.2.3;9.2.3 Die MODIFY-Anweisung;507
11.2.4;9.2.4 Die DELETE-Anweisung;508
11.3;9.3 Datenbankänderungen organisieren;514
11.3.1;9.3.1 Das LUW-Konzept;514
11.3.2;9.3.2 Bündelung durch Unterprogramme;518
11.3.3;9.3.3 Bündelung durch Verbucherbausteine;521
11.4;9.4 Das SAP-Sperrkonzept;526
11.4.1;9.4.1 Prinzip des SAP-Sperrkonzepts;527
11.4.2;9.4.2 Grundsätzliche Arbeitsweise beim Sperren und Freigeben;528
11.4.3;9.4.3 Technische Realisierung;528
11.4.4;9.4.4 Die Sperrtabelle;536
11.5;9.5 Nummernkreise;538
12;10 Ausblick: ABAP Objects;572
12.1;10.1 Zielstellung des Kapitels;572
12.2;10.2 Ein Wort zu ABAP-Objects;573
12.3;10.3 Objekte, Attribute, Methoden und Klassen;574
12.4;10.4 Klassen in ABAP Objects;576
12.5;10.5 Instanz- und statische Methoden, Instanz- und statische Attribute;579
12.6;10.6 Methoden in ABAP Objects;580
12.7;10.7 Anlegen von Objekten;581
12.8;10.8 Methodenaufrufe;582
12.8.1;10.8.1 Aufruf einer Instanzmethode;582
12.8.2;10.8.2 Aufruf einer Klassenmethode;583
12.9;10.9 Externer Zugriff auf öffentliche Attribute;584
12.10;10.10 Funktionale Methoden;585
12.11;10.11 Der Konstruktor, eine besondere Methode;588
12.12;10.12 Objekte löschen;590
12.13;10.13 Referenzen in internen Tabellen speichern;590
12.14;10.14 Globale Klassen;593
12.15;10.15 Vererbung und Polymorphie;597
12.16;10.16 Kurzer Überblick über GUI-Controls am Beispiel des ALV- Grid- Controls;603
13;Anlage;613
13.1;Installation des Übungsszenarios;613
14;Index;619


2 Wegweiser (S.69)

2.1 Projektbeschreibung

In den folgenden Kapiteln werden von Ihnen für die fiktive Bibliothek „East-Side-Library" verschiedene Datenbanktabellen und Programme entwickelt werden. Dabei bauen die Entwicklungsaufgaben der einzelnen Kapitel aufeinander auf. Wenn Sie alle Aufgaben der einzelnen Kapitel nacheinander bearbeiten, können Sie also immer auf Ihre eigenen Entwicklungsobjekte zurückgreifen.

Die Namen der Entwicklungsobjekte in den Aufgabenstellungen beziehen sich auf die von Ihnen entwickelten Objekte. Damit Sie selbst bestimmen können, welche Kapitel bzw. welche Aufgaben sie bearbeiten, sind die einzelnen Entwicklungsstände der Programme auf der mitgelieferten CD enthalten. Über einen Transportvorgang können Sie alle Entwicklungsobjekte der CD in Ihr R/3-System laden.

Die konkrete Vorgehensweise ist in der Anlage beschrieben. Sie sollten alle Ihre Entwicklungsobjekte, die Sie im Zusammenhang mit dem Bibliotheksprojekt anlegen, der Entwicklungsklasse YABAP-TR zuordnen, die in Kapitel 1 (Projektmanagement) angelegt wurde.

Dort ist auch ein Workbenchauftrag „ABAP-Training" angelegt worden, dem Sie Ihre Entwicklungen zuweisen können. In den Aufgabenstellungen und Vorgehensweisen der späteren Kapitel wird auf diese Zuordnungen nicht mehr eingegangen. Alternativ zu dieser Arbeitsweise können Sie Ihre Entwicklungsobjekte auch als lokale Objekte speichern. Sie benötigen dann keine Entwicklungsklasse und keinen Workbenchauftrag.

Allerdings können Sie dann Ihre Entwicklungen nicht transportieren. Dieses Kapitel soll Ihnen helfen, das Kapitel auszuwählen, mit dem Sie Ihr ABAP-Training beginnen. Außerdem enthält es Angaben zu den Entwicklungsobjekten der Buch-CD.

Kurzbeschreibung:

Die Tabellen

ZBESTAND

ZAUTOREN

ZKUNDEN

ZKATEGORIE

ZAUSLEIHE

werden angelegt. Mit dem Programm YDATEN_TW Tabellen mit Daten versorgt.

Entwicklungsobjekte der Buch-CD

Alle in diesem Kapitel anzulegenden Datenobjekte deklarationen befinden sich auch auf der Buch-CD. Als Unterscheidungsmerkmal zu den von Ihnen angelegten Objekten, wurde an Zeichenkette '_TW' angehängt. Soll Kapitel 3 übersprungen werden, sind die folgende Handlungen notwendig:

Kopieren der Tabellen. Dieser Schritt ist optional. Wenn Sie ihn ausführen, können Sie so weiterarbeiten, als hätten Sie Kapitel 3 bearbeitet. Kopieren Sie diese Objekte nicht, sind beim Bearbeiten der Aufgaben anderer Kapitel die von der Buch-CD übernommenen Objekte zu verwenden.

Ausführen des Programmes YDATEN_TW. Das Programm versorgt die Tabellen die von der BUCH-CD in Ihr R/3-System transportiert wurden und deren Kopien, sofern Sie sich an die vereinbarten Namen gehalten haben, mit Daten.

Kapitel 4

Voraussetzung

Vor der Bearbeitung der Aufgaben aus Kapitel 4 sollten die verwendeten Tabellen über das Programm YDATEN_TW mit Testdaten versorgt worden sein (siehe „Überspringen des Kapitels 3", Seite 71).

Kurzbeschreibung In diesem Kapitel wird das ABAP-Programm YK04DBAS für die „East-Side-Library" entwickelt. Dabei werden grundlegende Programmiertechniken, wie z.B. der Grundaufbau eines ABAP-Programmes. die Ausgabe von Texten und Variablen. die Deklaration elementarer und strukturierter Datenobjekte, die Arbeit mit internen Tabellen. das Lesen von Datenbanktabellen und das Anlegen von Selektionsbildschirmen behandelt.


Dipl.-Ing. Thomas Winkler studierte Informationstechnik an der Ingenieurhochschule Dresden und ist seit 1998 als freiberuflicher EDV-Trainer tätig, vorwiegend im SAP-Bereich (ABAP-Programmierung und Optimierung von Geschäftsprozessen) für verschiedene Bildungsträger. Er verfügt selbst über folgende SAP-Zertifizierungen: "Development Consultant 'ABAP Workbench' with mySAP.com, Certification 2000" (Zertifizierung für ABAP-Entwickler) und "Accelerated SAP (ASAP) Consultant for SAP System R/3" (diese Zertifizierung wird benötigt, um R/3 Systeme in Unternehmen einführen zu können bzw. dazu Schulungen durchführen zu dürfen).



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.