Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Einleitung
15
1 Einführung in die moderne ABAP-Entwicklung
21
1.1 Die Rolle von ABAP in der SAP-Entwicklung
22
1.2 Das neue Entwicklungsmodell für ABAP
24
1.3 Die ABAP-Sprachversion
26
1.4 Über Release-Kontrakte freigegebene APIs
31
1.5 Entwicklungsumgebung
32
1.6 Programmiermodell
33
1.7 Einsatzszenarien für ABAP Cloud
35
1.8 ABAP-Releases On-Premise und in der Cloud
38
1.9 Einschränkungen abhängig vom Release und der Laufzeitumgebung
40
1.10 Zusammenfassung
41
2 Das Anwendungsszenario
43
2.1 Konzept der Beispielanwendung
44
2.2 Erstellung von Dictionary-Objekten
47
2.3 Generierung einer RAP-Anwendung
55
2.3.1 OData-Service und virtuelles Datenmodell generieren
56
2.3.2 Generierte CDS-Entitäten der RAP-Anwendung
59
2.3.3 Veröffentlichung des OData-Services
68
2.3.4 Anwendung testen
69
2.4 Erstellung von Assoziationen
70
2.5 Anwendungsszenario aus Anwendersicht
77
2.6 Zusammenfassung
81
3 Umgang mit Systemfeldern und Laufzeitinformationen
83
3.1 Systemfelder in ABAP Cloud
84
3.2 Überblick über die verfügbaren APIs
87
3.3 Zugriff auf Zeitinformationen
87
3.4 Zugriff auf Benutzerdaten
95
3.5 Zugriff auf technische Informationen der aktuellen Programmausführung
97
3.6 Zugriff auf Meldungen
99
3.7 Zugriff auf Systeminformationen
100
3.8 Zusammenfassung
103
4 Tabellenanalyse
105
4.1 Tabellenanalyse mit dem Kundendaten-Browser
106
4.2 Tabellenanalyse mit den ABAP Development Tools
113
4.3 Zusammenfassung
117
5 Tabellenpflege mit Business Configuration Maintenance Objects
119
5.1 Überblick über das neue Tabellenpflegekonzept
120
5.2 Customizing-Tabellen anlegen
122
5.3 Business Configuration App generieren
134
5.4 Berechtigungen vergeben
142
5.5 Konfiguration aus Anwendersicht
147
5.6 Einstellungen im Business Configuration Maintenance Object
154
5.7 Lebenszyklusverwaltung mit Deprecation
156
5.8 Dokumentation von Business Configuration Maintenance Objects
159
5.9 Zusammenfassung
161
6 Anwendungsprotokolle
163
6.1 Anwendungsprotokoll für das Anwendungsbeispiel
164
6.2 Pflege von Anwendungsprotokollobjekten und unterobjekten
168
6.3 Die BALI-API
172
6.4 Erstellung eines Protokolls
174
6.4.1 Freitextmeldungen hinzufügen
176
6.4.2 Nachrichten aus Nachrichtenklassen hinzufügen
179
6.4.3 Meldungen aus Ausnahmeklassen hinzufügen
183
6.5 Speichern eines Protokolls
186
6.6 Protokolle anzeigen
188
6.7 Zusammenfassung
190
7 Änderungsbelege
193
7.1 Änderungsbelegobjekte in den ABAP Development Tools pflegen
195
7.2 Protokollierung über die generierte Klasse aufrufen
199
7.3 Änderungsbelegfortschreibung mit dem ABAP RESTful Application Programming Model
207
7.4 Änderungsbelege anzeigen
213
7.5 Zusammenfassung
214
8 Sperrobjekte
215
8.1 Sperrverfahren im Datenbankumfeld
216
8.2 Sperren auf der ABAP-Plattform
219
8.3 Verwendung von Sperrobjekten
220
8.4 API für Sperrobjekte
222
8.5 Integration in das Anwendungsbeispiel
229
8.6 Zusammenfassung
233
9 Nummernkreisobjekte
235
9.1 Nummernkreise in SAP-Systemen
236
9.2 Pflege eines Nummernkreises
236
9.3 API für Nummernkreisobjekte
241
9.4 Nummernvergabe im ABAP RESTful Application Programming Model
245
9.4.1 Unmanaged Early Numbering
246
9.4.2 External Early Numbering
250
9.4.3 Managed Early Numbering
252
9.5 Zusammenfassung
254
10 Hintergrundverarbeitung
257
10.1 Entwicklung einer Ausführungslogik
258
10.2 Erstellung von Anwendungsjobs
263
10.2.1 Anlegen eines Anwendungsjobkatalogeintrags
264
10.2.2 Anlegen einer Anwendungsjobvorlage
266
10.2.3 Anlegen eines Anwendungsjobs
267
10.3 Prüfungen
273
10.4 Protokollierung
278
10.5 Zusammenfassung
280
11 E-Mail-Versand
283
11.1 Konfiguration und Überwachung des E-Mail-Versands
284
11.2 ABAP Cloud API für den E-Mail-Versand
287
11.3 Integration des Newsletter-Versands in das Rezeptportal
294
11.3.1 Erstellung eines Anwendungsjobs
294
11.3.2 E-Mail mit Fehlermeldung
297
11.4 Zusammenfassung
300
12 Parallelisierung von Anwendungslogik
303
12.1 Parallelisierung auf der ABAP-Plattform
305
12.2 Die Klasse »CL_ABAP_PARALLEL«
306
12.3 Refactoring des Anwendungsbeispiels
310
12.3.1 Implementierung des Interfaces »IF_ABAP_PARALLEL«
312
12.3.2 Ablauf und Debugging von parallelen Prozessen
319
12.4 Zusammenfassung
322
13 Datei-Upload
325
13.1 Erweiterung des Anwendungsbeispiels um die Option des Datei-Uploads
326
13.2 Zusammenfassung
334
14 Umgang mit Excel-Dateien
335
14.1 Erstellen einer Excel-Datei
339
14.1.1 Anlage der Aktion
339
14.1.2 Anlage des Excel-Dokuments
340
14.1.3 Anlage der Arbeitsmappe
341
14.1.4 Schreiben der Rezeptdaten in das Arbeitsblatt
342
14.1.5 Ergänzung der Kopfzeile
344
14.1.6 Hinzufügen eines weiteren Arbeitsblatts
345
14.1.7 Excel-Datei speichern
347
14.1.8 Test der Anwendung
348
14.2 Auslesen einer Excel-Datei
351
14.2.1 Anlage der Aktion
351
14.2.2 Erzeugung des Dokumentenobjekts
352
14.2.3 Lesen eines Arbeitsblatts
353
14.2.4 Lesen der Kopfzeile
354
14.2.5 Einlesen in eine interne Tabelle
356
14.2.6 Ausführung der Massenänderung
357
14.2.7 Test der Anwendung
360
14.3 Zusammenfassung
361
15 Dokumentation von Entwicklungsobjekten
363
15.1 ABAP Doc
364
15.2 Knowledge Transfer Document
371
15.2.1 Knowledge Transfer Document anlegen
372
15.2.2 Verknüpfung von Knowledge Transfer Document und Entwicklungsobjekt
375
15.3 Zusammenfassung
378
16 Berechtigungen
379
16.1 Berechtigungsprüfungen für Leseoperationen
380
16.2 Berechtigungsprüfungen für Änderungsoperationen
386
16.2.1 Globale Berechtigungen
386
16.2.2 Instanzabhängige Berechtigungen
390
16.2.3 Vorabprüfung von Berechtigungen
392
16.3 Zusammenfassung
394
17 Nutzung von APIs
397
17.1 Die passenden APIs finden
398
17.1.1 Nachfolgeobjekte
398
17.1.2 Suche über CDS-Entität »I_APIsForCloudDevelopment«
401
17.1.3 Suche über das Dialogfenster »Open ABAP Development Object«
401
17.1.4 Suche per ABAP Object Search
403
17.1.5 Gruppierung und Filterung im Project Explorer
404
17.1.6 Externe Suchmöglichkeiten
409
17.2 RAP-basierte APIs per EML aufrufen
412
17.3 Zusammenfassung
416
18 Erweiterungen in ABAP Cloud
419
18.1 Key-User-Erweiterbarkeit
420
18.1.1 Einrichten des Adaptation Transport Organizers
420
18.1.2 Benutzerdefinierte Felder
423
18.1.3 Benutzerdefinierte Logik
429
18.1.4 Transport von Key-User-Erweiterungen
433
18.1.5 Benutzerdefinierte CDS-Views
437
18.2 Entwicklererweiterbarkeit
442
18.2.1 Erweiterung von Datenbanktabellen
442
18.2.2 Erweiterung von CDS-Entitäten
444
18.2.3 Implementierung eigener Logik
448
18.3 Zusammenfassung
451
19 Ausblick
453
Anhang
453
A Installation der Beispielanwendung
461
B Namenskonventionen für die Beispielanwendung
463
C Installation der ABAP Development Tools
467
Das Autorenteam
469
Index
471