Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort zur vierten Auflage
15
1 ABAP und die ersten Schritte im SAP-System
23
1.1 Architektur des SAP-Systems im Überblick
25
1.1.1 Technische Architektur
26
1.1.2 Betriebswirtschaftlich-organisatorische Architektur
28
1.1.3 Plattformunabhängigkeit
31
1.2 Anwendungsprogramme und Laufzeitumgebung
32
1.2.1 Workprozesse
33
1.2.2 Struktur von ABAP-Programmen
35
1.3 Anmelden und Abmelden am System
38
1.3.1 Betriebswirtschaftlicher Modulüberblick
40
1.3.2 ABAP Workbench
43
1.3.3 Abmelden vom SAP-System
48
2 ABAP Dictionary
51
2.1 Einstieg in das ABAP Dictionary
52
2.1.1 Datenbanktabellen
53
2.1.2 Tabelle anlegen und pflegen
54
2.2 Datenelemente und Domänen
59
2.2.1 Datenelement anlegen
59
2.2.2 Domäne anlegen
64
2.2.3 Datenelement prüfen und aktivieren
69
2.2.4 Technische Einstellungen der Tabelle pflegen
71
2.3 Datensätze erfassen
73
2.3.1 Datensätze eingeben
74
2.3.2 Tabelleninhalt anzeigen
75
3 Programmieren im ABAP Editor
77
3.1 ABAP-Report anlegen
77
3.2 ABAP Editor im Überblick
81
3.2.1 Modi des ABAP Editors
82
3.2.2 Steuerung des ABAP Editors
82
3.3 ABAP-Programme verstehen und bearbeiten
89
3.4 ABAP-Report ausführen
92
3.5 Datenbanktabelle lesen und ausgeben
94
3.6 Aufbereitung von Listen
97
3.6.1 Kettensatz
98
3.6.2 Linien
98
3.6.3 Leerzeilen
99
3.7 Quellcode schreiben und editieren
99
4 Felder und Berechnungen
107
4.1 Report vorbereiten
107
4.2 Felder deklarieren
112
4.2.1 Variablen deklarieren
112
4.2.2 Konstanten deklarieren
116
4.3 Grundrechenarten
117
4.3.1 Kompatible und konvertible Datenobjekte
119
4.3.2 Konvertierungsregeln
120
4.3.3 Besonderheiten bei der Division
122
4.4 Codebeispiel zu Feldern und Berechnungen
123
5 Modifikation von Zeichenketten
129
5.1 Zeichenketten deklarieren
130
5.2 Zeichenketten-Operationen
132
5.2.1 Zeichenketten verschieben
133
5.2.2 Zeichenketten ersetzen
134
5.2.3 Zeichenketten verdichten
136
5.2.4 Zeichenkettenfelder zusammenziehen
137
5.2.5 Zeichenketten zerlegen
139
5.2.6 Zeichenketten-Operationen mit direkter Positionierung
140
5.3 Codebeispiel zu String-Operationen
141
6 Debugging von Programmen
149
6.1 Überblick
150
6.2 Aufruf des ABAP Debuggers
151
6.3 Mit dem ABAP Debugger arbeiten
155
6.3.1 Desktop 1
156
6.3.2 Registerkarte »Strukturen«
160
6.3.3 Registerkarte »Break-/Watchpoints«
162
6.3.4 Breakpoints-Modus
165
6.3.5 Statische Breakpoints
168
6.4 Schicht für Schicht: Layer-aware Debugging
168
6.5 Codebeispiel zum Layer-aware Debugging
177
7 Modifikation von transparenten Datenbanktabellen
181
7.1 Datenbanktabelle kopieren
182
7.2 Nicht-Schlüsselfelder ergänzen
187
7.2.1 Festwerte in Domäne einpflegen
188
7.2.2 Besonderheiten bei Währungs- und Mengenfeldern
191
7.2.3 Fremdschlüssel pflegen
193
7.3 Tabellen erweitern
202
7.3.1 Append-Strukturen pflegen
202
7.3.2 Include-Struktur einpflegen
206
7.4 Schlüsselfelder von Tabellen manipulieren
211
7.5 Tabellenfelder löschen
216
7.6 Tabellen löschen
218
8 Rechnen mit Datum und Zeit, Mengen und Währungen
221
8.1 Felddeklarationen
221
8.2 Rechnen mit Datumsfeldern
224
8.3 Rechnen mit Zeitfeldern
231
8.4 Rechnen mit Mengen- und Währungsfeldern
235
8.5 Codebeispiel zu Datums-, Zeit- und Währungsfeldern
238
9 Mit Daten in einer Datenbanktabelle arbeiten
251
9.1 Berechtigungskonzept
253
9.2 Sperrkonzept
254
9.3 Open-SQL-Anweisungen
257
9.3.1 Neuen Datensatz anlegen
259
9.3.2 Bestehenden Datensatz ändern
262
9.3.3 Datensatz modifizieren
263
9.3.4 Datensatz löschen
264
9.4 Komfortable Alternative: Persistente Klassen
267
9.5 Codebeispiel zu INSERT
268
9.6 Codebeispiel zu UPDATE
273
9.7 Codebeispiel zu MODIFY
277
9.8 Codebeispiel zu DELETE
280
10 Programmablaufsteuerung und logische Ausdrücke
285
10.1 Kontrollstrukturen
286
10.2 Arbeiten mit Mustern
287
10.3 Verzweigungen
291
10.3.1 IF-Struktur
292
10.3.2 CASE-Struktur
295
10.4 Schleifen
297
10.4.1 SELECT-Schleife
297
10.4.2 DO-Schleife
298
10.4.3 WHILE-Schleife
300
10.4.4 Abbruchanweisungen für Schleifen
302
10.5 Logische Ausdrücke
306
10.5.1 Einfache logische Ausdrücke
306
10.5.2 Verknüpfte logische Ausdrücke
308
10.6 Codebeispiel zu IF
312
10.7 Codebeispiel zu CASE
317
10.8 Codebeispiel zu DO und Abbruchbedingungen
322
10.9 Codebeispiel zu WHILE und logischen Ausdrücken
328
11 Selektionsbildschirme
335
11.1 Ereignisse
337
11.1.1 Reihenfolge von Ereignissen
338
11.1.2 Beispiele für Ereignisse
339
11.2 Einfache Selektionen
341
11.2.1 PARAMETERS-Anweisung
341
11.2.2 Zusätze zur PARAMETERS-Anweisung
343
11.3 Komplexe Selektionen
349
11.3.1 SELECT-OPTIONS-Anweisung
349
11.3.2 Mehrfachselektionen
351
11.3.3 Zusätze zur SELECT-OPTIONS-Anweisung
353
11.4 Selektionstexte verwenden
354
11.4.1 Textelemente im Überblick
355
11.4.2 Selektionstexte anlegen
355
11.5 Selektionsbild speichern
359
11.5.1 Selektionsvariante anlegen
359
11.5.2 Report mit Variante starten
364
11.6 Ergänzende Textobjekte
366
11.6.1 Textsymbole anlegen
366
11.6.2 Nachrichten anlegen
368
11.7 Selektionsbilder frei gestalten
372
11.7.1 Einzelne Zeile gestalten
373
11.7.2 Zeilenblock gestalten
375
11.8 Codebeispiel zum Selektionsbild (einfache Form)
377
11.9 Codebeispiel zum Selektionsbild (erweiterte Form)
383
12 Interne Tabellen
395
12.1 Sinn und Zweck interner Tabellen
396
12.2 Aufbau und Arten von internen Tabellen
398
12.3 Interne Standardtabelle anlegen
402
12.3.1 Objektorientierte Schreibweise mit Workarea
402
12.3.2 Obsolete Schreibweise mit Kopfzeile
405
12.4 Interne Standardtabelle füllen
406
12.4.1 Interne Tabelle mit Workarea füllen
406
12.4.2 Interne Tabelle mit Kopfzeile füllen
410
12.5 Interne Tabelle zeilenweise verarbeiten
413
12.5.1 Interne Tabelle mit Workarea verarbeiten
413
12.5.2 Interne Tabelle mit Kopfzeile verarbeiten
416
12.6 Inhalte von internen Tabellen löschen
424
12.6.1 Workareas und interne Tabellen mit Workarea löschen
425
12.6.2 Interne Tabellen mit Kopfzeile löschen
426
12.7 Codebeispiel zu ITAB mit Workarea
427
12.8 Codebeispiel zu ITAB mit Kopfzeile
437
13 Modularisierung von Programmen
453
13.1 Überblick
454
13.2 Quelltext-Module
456
13.3 Prozeduren
460
13.3.1 Unterprogramme
460
13.3.2 Funktionsbausteine
472
13.3.3 ABAP-Klassen
490
13.4 Speicherbereiche für Datenübergabe
500
13.4.1 Globales SAP Memory
501
13.4.2 Lokales SAP Memory
501
13.4.3 ABAP Memory
502
13.4.4 Shared Objects
503
13.5 Codebeispiele zur Modularisierung
504
13.6 Codebeispiele zum Aufruf fremder Reports
519
14 Weiterführende Themen
527
14.1 Interessante Zeiten für die Programmiersprache ABAP
528
14.2 SAP HANA
529
14.3 Programmieren mit Frameworks
529
14.3.1 Beispiel Archivierungslösung
531
14.3.2 Skizze einer möglichen Archivierungslösung
533
14.4 Wichtige Frameworks im SAP-Standard
534
14.4.1 Web Dynpro ABAP und Floorplan Manager
534
14.4.2 SOAP-Webservices
538
14.4.3 OData-Services mit SAP Gateway
541
14.4.4 Frameworks für Erweiterungen
542
14.5 Auf zu neuen Ufern!
545
A Icons auf einen Blick
551
B Abkürzungsverzeichnis
553
C Die Autoren
557
Index
559