Lösungswege für die wichtigsten Aufgaben der ABAP-EntwicklungDieses Buch präsentiert neue und erprobte Lösungswege für die wichtigsten Aufgaben und Problemstellungen der ABAP-Entwicklung. Erfahrene Entwickler zeigen Ihnen, welche Herangehensweisen sich in der täglichen Praxis als einfach, schnell und praktikabel erwiesen haben. Dabei stehen die neuen Programmiermodelle und -Frameworks ABAP Cloud und ABAP RESTful Application Programming Model im Fokus. Mit zahlreichen Workshops und »Rezepten« führt Sie das Buch Schritt für Schritt durch die wichtigsten Programmiertechniken und -Tools. Praktische Tutorials zu den wichtigsten Tools und TechnikenModerne Lösungen für Ihre täglichen ProgrammieraufgabenABAP Cloud, ABAP RESTful Application Programming Model, Business Configuration Maintenance Objects u. v. m. Aus dem Inhalt:Systemfelder und LaufzeitinformationenCustomer Data BrowserAnwendungslogÄnderungsbelegeSperrobjekteNummernkreisobjekteDatei-UploadHintergrundverarbeitungParallelisierungE-Mail-VersandDokumentation
Inhaltsverzeichnis
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. 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. 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. 5 . . . Zusammenfassung . . . 254
10. Hintergrundverarbeitung . . . 257
10. 1 . . . Entwicklung einer Ausführungslogik . . . 258
10. 2 . . . Erstellung von Anwendungsjobs . . . 263
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. 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. 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. 2 . . . Auslesen einer Excel-Datei . . . 351
14. 3 . . . Zusammenfassung . . . 361
15. Dokumentation von Entwicklungsobjekten . . . 363
15. 1 . . . ABAP Doc . . . 364
15. 2 . . . Knowledge Transfer Document . . . 371
15. 3 . . . Zusammenfassung . . . 378
16. Berechtigungen . . . 379
16. 1 . . . Berechtigungsprüfungen für Leseoperationen . . . 380
16. 2 . . . Berechtigungsprüfungen für Änderungsoperationen . . . 386
16. 3 . . . Zusammenfassung . . . 394
17. Nutzung von APIs . . . 397
17. 1 . . . Die passenden APIs finden . . . 398
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. 2 . . . Entwicklererweiterbarkeit . . . 442
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