2 Rein in die Küche – raus aus der Küche – Starten mit dem SAP-System
53
Anmelden zum Tauchkurs: Eintauchen in die SAP-Welt
54
Alles ist Transaktion – Transaktionen als Shortcuts
56
Melde dich an! – SAP-Anmeldung
57
Willkommen Schrödinger! – SAP-Willkommenstext
60
Die Auslage des SAP-Systems – SAP GUI-Aufbau
63
Alles auf einen Blick – SAP Easy Access
65
Modus Operandi – Zusätzliche Fenster öffnen
67
Hüben und drüben, nichts als Üben – Rolands Folterkammer oder Übung macht den Meister
69
3 Ciao a tutti! (Hallo Welt!) – Der 20-Minuten-Einstieg in die ABAP-Programmierung
71
Einsteigen und anschnallen!
72
Object Navigator – Die integrierte Entwicklungsumgebung
74
Entwicklung organisieren – Systemlandschaft, Änderungsauftrag
75
Ihr neuer Auftrag lautet: Auftragsanlage
77
Organisationskapsel Paket
79
Vom Entwickler zum Pakettier – Paket anlegen
81
Einen Schritt zurück und bald zwei nach vorne
84
Die Infos zum Aufbau einer Datenbanktabelle
85
Das zweischichtige Domänenkonzept
86
Technisches Fundament eines Typs – Domäne anlegen
88
Lege die Bedeutung an – Datenelement anlegen
91
Kühlschrankdesign – DB-Tabelle anlegen
93
Daten verarbeiten – Programm anlegen
97
Das ABAP-Einmaleins – Grundlegende Syntax
98
Der Durchblicker – Programm entwickeln
100
Her mit den Daten – DB-Zugriff
102
Ohne Struktur läuft nichts – Grundlegende Programmstruktur
104
Alles muss es auch nicht sein – Einfaches Selektionsbild
106
Layouten und Daten transportieren – Ein einfaches Dynpro
110
Dekorieren der Auslage – Dynpro-Layout
112
Ablauflogik ohne Ablaufdatum – Ablauflogik programmieren
118
Ein Shortcut für den User – Transaktionscode anlegen/ausführen
122
4 AAA – Alles außer ABAP – ABAP-Infrastruktur und -Werkzeuge
123
Die Ablage der Entwicklungsobjekte – Repository
125
Wer suchet der findet – Suchen mit dem Repository Infosystem
130
Suche von oben – Suchen in der Anwendungshierarchie
132
Suchen und Finden – Repository Infosystem
133
Geschichtet, aber nicht gefaltet – ABAP-Infrastruktur
134
Wohin mit dem Anwender – Speicherorganisation extern und intern
137
Werkzeugkiste – Entwicklungswerkzeuge
139
Object Navigator – Der Regisseur
140
Repository Browser verschwinden lassen
141
Repository Browser ausnutzen
143
Repository Browser browsen
144
Synchron oder aus dem Tritt – Objekt-Browser-Synchronisation
147
ABAP Editor – Die Schreibmaschine
149
Debugger – Der Kammerjäger
152
Debugger entschleunigt
153
Verwendungsnachweis – Der Rückwärtssucher
157
5 Schräge Typen* *also jetzt nicht der Schwaiger Roland – Datentypen und -objekte
159
Von 0 auf 100 in wenigen Seiten – Technik der Datenspeicherung im Hauptspeicher
160
Variables Standgas – Datenobjekte
161
Variablen sind zum Angreifen
162
Ein typischer Blickwinkel – Datentypen
163
Anders betrachtet – Datentypen
165
Ansprache – Datenobjekte verwenden
167
Dynamik pur oder Statik nur? – Statisch und dynamisch typisierte Variablen
168
Zuerst mal elementar lokal – Lokale elementare Typen
170
Dann elementar global – Globale elementare Typen
172
Elementar global con domäne – Domäne
175
Strukturell lokal – Lokale strukturierte Typen
178
Struktur global – Globale strukturierte Typen
180
Tabellarisch – typisch/intern – Lokaler Tabellentyp
184
Her mit der internen Tabelle
185
Wie viel Spalten hätten Sie denn gerne – Zeilentyp
186
Normal, sortiert oder doch gehasht – Tabellenart
187
Open the door please – Schlüssel
189
Heute mal kopflos – Kopfzeile
190
Tabellen für alle – Globaler Tabellentyp
191
Operation: Table – Tabellenoperationen
193
Einzeln geht es auch – Einzelverarbeitung von Tabelleneinträgen
197
Ändern und Löschen zum Abrunden – Noch mehr Tabellenoperationen
198
6 Si parla ABAP? Echtes Küchenlatein – ABAP-Syntax I
199
Von Kontrollen und Schleifen
200
Zuweisungen, Operationen, Funktionen
200
Bitte nicht abweisen – Zuweisungen
203
Was du darfst und was du sollst – Konvertierungsregeln
205
Ketten ohne Perlen – Zeichenketten-Funktionen
207
Von Segmenten und Offsetten – Zeichenketten-Operationen
211
Ohne Rechnung, ohne mich – Arithmetische Operationen
213
Notandor – Logische Ausdrücke
214
Verzweige, falls … – IF … THEN … ELSE
216
Cassis – CASE … WHEN … ENDCASE
218
Bedingungslose Schleifen – DO … ENDDO
219
Krasses Projekt für Hardcore-ABAPer
220
Bedingte Schleife – Fußgesteuert
222
Bedingte Schleife – Kopfgesteuert
223
Jetzt aber mal systematisch – Systemfelder
224
Großbaustelle Rezeptprogramm
226
7 Kleine Häppchen sind leichter wiederverdaut („Schluss mit Spaghetti!“) – ABAP-Syntax II
229
Motivation durch Demotivieren
230
Den richtigen Zeitpunkt finden – Ereignisblöcke
231
Ereignisreiche Programme – Ereignisschlüsselwörter
232
Ereignisse: Rekapitulation mit Selbstreflexion
233
Zur richtigen Zeit an irgendeinem Fleck?
235
Meine schönsten Ereignisse – Rahmenprogramm
236
Dynpros mit Modul – PBO, PAI, HOV
238
Module, ganz kurz – Dynpro-Programmierung
239
Aber nun mit Schnittstelle – Unterprogramme
240
Definiere zuerst! Unterprogramm-Definition
241
Übergeben und Übernehmen – Schnittstellenparameter für das Unterprogramm
242
Lesen von DB mit Kapsel – DB-Zugriff in Unterprogramm
244
Ein Typ muss es sein – Schnittstelle typisieren
245
Bitte mit Typ – Typisieren
246
Warum in die Ferne schweifen? – Lokale Variablen
247
Sichtbar oder nicht – Lokale Überdeckung
248
Aufruf bitte – Unterprogramm-Aufruf
249
Globale Wiederverwendung – Funktionsbausteine
254
Leg dir eine Funktionsgruppe an
259
Es ist so weit, global bereit – Funktionsbaustein
260
Haaalloooooo – Funktionsbaustein-Aufruf
265
8 Schrödinger zeigt Klasse – ABAP Objects
269
Begriffe aus der Realität
271
Holistische Sichtweise
273
Erst denken, dann lenken: Einfache UML als Analysewerkzeug zur Visualisierung von Klassen/Objekten
278
Klasse Kaffee(-vollautomat) auf dem Papier
280
Ohne meine Kollaborateure bin ich nichts
282
Klasse oder doch Objekt
284
Dein kleines Objektistan
289
Datenablage – Attribute
294
Wasserstand und Pause
296
Klasse Attribute, oder was?
297
Privat verkalkt / Private Attribute
300
Ab jetzt mit Methode – Schrödinger frischt auf
301
Mit Methode – ran an den Code
302
Die Schnittstelle der Methode
306
Ganz spezielle Methoden
309
Methoden für den Wasserbehälter
320
Von lokal nach global
322
Attribute und Methoden
324
Kaffeebohnen im Behälter
328
Sender mit Sendungsbedürfnis
333
Objektorientiertes Verkuppeln
335
Kaffee s'il vous plaît
337
11 Das Kapitel für Feiglinge – Ausnahmen
403
Ausnahmsweise behandelt
404
Eine kleine Geschichte der Ausnahmen
406
Nochmal langsam: Mit SY-SUBRC. Ausnahmewert wird gesetzt …
410
… und von dir behandelt
411
It’s RAISING man, hallelujah.
412
The Catcher in the System
416
Ausnahmen melden (mit Nummern) …
416
… und behandeln (nach Nummern)
417
Ausnahmen melden (mit Ausnahmeklassen) …
423
… und Ausnahmen behandeln, aber richtig! Mit Ausnahmeklassen.
426
Das ausnahmengespickte Projekt
427
12 Spaghetti-Programmierung – Selektionsbilder, Listen und Nachrichten (GUI I)
433
Vom kleinen Window-Farmer bis zum Groß-GUI-Besitzer: Jeder will ein Selektionsbild!
434
Selektionsbild für Beschränkte mit Liste
436
PARAMETERS: Das kleinere der Selektionsbild-Ungeheuer
438
Rund wie ein Radiobutton
445
„Du darfst“ war gestern, heute ist „Du musst“
447
Aber satt war er noch immer nicht: SELECT-OPTIONS
451
Mehr, Mehrere, Mehreres (ohne Rauschen)
456
Zur Anwendung gebracht ... fast
460
Graue Theorie: Eingabehilfe, Prüftabelle
462
Entfessle den Künstler in dir: Screen-Gestaltung
464
Ereignisreich geht’s weiter
476
Tagesschau ... also eine Nachrichtensendung
479
L – Li – Lis – List – Liste
483
Keine Beichte notwendig: Interaktion mit einer Liste
490
16 Vorratskammer einrichten mit ziemlich viel Schnickschnack – DB-Tabellen erstellen
567
Freiland-Datenhaltung – Daten persistieren
568
Warum einfach, wenn es mit Schnittstelle geht – Die Datenbankschnittstelle
570
Transparente Tabelle en Detail
573
Spalten und der Rest – Tabellenfelder
576
Ohne Technik keine Tabelle – Technische Einstellungen
581
Mehr als eine Tabelle
584
Welcher Wert ist möglich – Fremdschlüssel
587
Ich will auch anders suchen – Sekundärindex
592
Ändern oder nicht, was geht – Erweiterungskategorie
595
Definieren und Realisieren – Datenbankobjekt
597
Mein erster Eintrag – Datenbanktabellen-Einträge erzeugen
598
Artenvielfalt im Dictionary – Weitere Tabellenarten
600
17 Vorratskammer plündern – DB-Tabellen auslesen
601
Eingelagert und geplündert – Datenpufferung
603
Datenmanipulator nativ – DML mit Native SQL
604
Einfach definieren – Datendefinition mit dem ABAP Dictionary
604
Alles recht und schön – Berechtigungen und Konsistenzprüfungen
604
Open SQL grundiert – Basisbefehlssatz aus Open SQL
605
Verklausuliert – SELECT-Klausel
607
Wohin damit – INTO target
610
Aber bitte nicht alles – WHERE-Klausel
613
Da geht noch mehr – Weitere Klauseln
614
Und jetzt alles kombiniert – SELECT-Beispiel
615
Mehr als eine Tabelle ist auch okay – Views
620
Schritt für Schritt zum View mit relationalen Operatoren
624
Da will ich auch nicht alles – Selektionsbedingungen
633
Zusammenfassung in Bildern – View-Definition
634
Mit Views programmieren
636
Weil du so brav warst – Programmieren mit Views
638
18 Vorratskammer in Schuss halten – DB-Daten pflegen
641
Lesen ist Silber, Schreiben ist Gold – DELETE, UPDATE, MODIFY und INSERT
642
Sichere Daten – Transaktionskonzept
642
Von einem Zustand zum nächsten – Datenbank-LUW
644
Aktionen bündeln – SAP-LUW
648
Und jetzt auch noch transaktional – SAP-Transaktion
649
Datenmanipulator-Entwicklungsrahmen – Das Programm für die Open-SQL-Anweisungen
651
Und noch eins und noch eins und … – INSERT
656
Ändern muss man auch ab und zu – UPDATE
661
Kombianweisung – MODIFY
667
Halt, Sperre! – Sperrkonzept
669
Die fünf Gebote der performanten DB-Programmierung
670