Felix Roth
ABAP - Das umfassende Handbuch
Konzepte, Sprachelemente und Werkzeuge in ABAP - Aktuell zu ABAP 7.57
Felix Roth
ABAP - Das umfassende Handbuch
Konzepte, Sprachelemente und Werkzeuge in ABAP - Aktuell zu ABAP 7.57
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Dieses Buch ist ein unverzichtbares Hilfsmittel, ob als Begleiter während einer Einstiegsschulung oder als Nachschlagewerk. Es erklärt Ihnen alle Techniken, Sprachelemente und Werkzeuge der ABAP-Programmierung. Sie erlernen den Umgang mit ABAP Workbench und ABAP Development Tools und verstehen die wichtigen Konzepte von der objektorientierten Programmierung bis zu den neuen Programmiermodellen für SAP S/4HANA.
Aus dem Inhalt:
ABAP Workbench und ABAP Development Tools (Eclipse)ABAP DictionaryDatenbankzugriffe und neue Open SQL-FunktionenCDS und BOPFReports und SelektionsbildschirmeTests…mehr
Andere Kunden interessierten sich auch für
- Sebastian Freilinger-HuberABAP-Entwicklung für SAP S/4HANA79,90 €
- Thorsten FranzEinstieg in ABAP39,90 €
- Lutz BaumbuschABAP RESTful Application Programming Model89,90 €
- Roland SchwaigerSchrödinger programmiert ABAP49,90 €
- Renzo ColleCore Data Services für ABAP89,90 €
- Felix RothKundeneigene Erweiterungen mit ABAP79,90 €
- Michael WegelinSAP-Schnittstellenprogrammierung79,90 €
-
-
-
Dieses Buch ist ein unverzichtbares Hilfsmittel, ob als Begleiter während einer Einstiegsschulung oder als Nachschlagewerk. Es erklärt Ihnen alle Techniken, Sprachelemente und Werkzeuge der ABAP-Programmierung. Sie erlernen den Umgang mit ABAP Workbench und ABAP Development Tools und verstehen die wichtigen Konzepte von der objektorientierten Programmierung bis zu den neuen Programmiermodellen für SAP S/4HANA.
Aus dem Inhalt:
ABAP Workbench und ABAP Development Tools (Eclipse)ABAP DictionaryDatenbankzugriffe und neue Open SQL-FunktionenCDS und BOPFReports und SelektionsbildschirmeTests und PerformanceanalyseTransporte und JobverwaltungSchnittstellen, RFC und ErweiterungstechnikenKlassen, Methoden, Ereignisse und InterfacesABAP-Programmiermodell für SAP Fiori und ABAP-RESTful-ProgrammiermodellABAP Channels und ABAP Daemon FrameworkSAP NetWeaver 7.57Nützliche Übersichten und Glossar
Die Fachpresse zur Vorauflage:
Programmierbuch.de: »Wenn du dichernsthaft mit der ABAP-Programmierung befassen willst, dann ist dieses Buch ein Muss.«
Aus dem Inhalt:
ABAP Workbench und ABAP Development Tools (Eclipse)ABAP DictionaryDatenbankzugriffe und neue Open SQL-FunktionenCDS und BOPFReports und SelektionsbildschirmeTests und PerformanceanalyseTransporte und JobverwaltungSchnittstellen, RFC und ErweiterungstechnikenKlassen, Methoden, Ereignisse und InterfacesABAP-Programmiermodell für SAP Fiori und ABAP-RESTful-ProgrammiermodellABAP Channels und ABAP Daemon FrameworkSAP NetWeaver 7.57Nützliche Übersichten und Glossar
Die Fachpresse zur Vorauflage:
Programmierbuch.de: »Wenn du dichernsthaft mit der ABAP-Programmierung befassen willst, dann ist dieses Buch ein Muss.«
Produktdetails
- Produktdetails
- SAP PRESS
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/09449
- 3., erw. Aufl.
- Seitenzahl: 1148
- Erscheinungstermin: 6. Dezember 2023
- Deutsch
- Abmessung: 245mm x 179mm x 60mm
- Gewicht: 1963g
- ISBN-13: 9783836294492
- ISBN-10: 3836294494
- Artikelnr.: 68611643
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- SAP PRESS
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/09449
- 3., erw. Aufl.
- Seitenzahl: 1148
- Erscheinungstermin: 6. Dezember 2023
- Deutsch
- Abmessung: 245mm x 179mm x 60mm
- Gewicht: 1963g
- ISBN-13: 9783836294492
- ISBN-10: 3836294494
- Artikelnr.: 68611643
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
Felix Roth ist selbstständiger ABAP-Trainer, -Entwickler und Berater (LOOP AT Consulting). Er berät Kunden in verschiedenen Entwicklungsprojekten und beschäftigt sich vor allem mit den neuesten SAP-Technologien. Seit 2014 hält er regelmäßig SAP-Schulungen, u.a. beim Rheinwerk Verlag.
Einleitung ... 33
TEIL I. Die Werkzeugkiste des ABAP-Entwicklers ... 43
1. Die ABAP Workbench ... 45
1.1 ... Die Werkzeuge der ABAP Workbench ... 46
1.2 ... Der Object Navigator ... 47
1.3 ... Der Repository Browser ... 50
1.4 ... Der ABAP Editor ... 52
2. Die ABAP Development Tools ... 69
2.1 ... SAPs Eclipse-Strategie ... 69
2.2 ... Installation und Konfiguration ... 71
2.3 ... Ein System anbinden ... 75
2.4 ... Einen Report anlegen ... 76
2.5 ... Die Menüleiste und wichtige Tastaturkürzel ... 77
2.6 ... Der Pretty Printer und weitere Quellcodefunktionen ... 81
2.7 ... Die Musterfunktion ... 81
2.8 ... Der Debugger ... 83
2.9 ... Dokumentation mit ABAP Doc ... 89
2.10 ... Refactoring-Funktionen ... 93
3. Das ABAP Dictionary ... 97
3.1 ... Domänen ... 99
3.2 ... Datenelemente ... 104
3.3 ... Strukturen ... 107
3.4 ... Tabellentypen ... 109
3.5 ... Datenbanktabellen ... 112
3.6 ... Indizes ... 118
3.7 ... Typgruppen ... 119
3.8 ... Views ... 120
3.9 ... Pflegedialoge ... 124
3.10 ... Suchhilfen ... 128
3.11 ... Datenbank-Utility-Tool ... 131
3.12 ... Das Sperrkonzept ... 132
4. Transaktionen ... 135
4.1 ... Transaktionen anlegen ... 136
4.2 ... Transaktionen mit ABAP aufrufen ... 140
5. Der Function Builder ... 143
5.1 ... Der Aufbau eines Funktionsbausteins ... 143
5.2 ... Einen Funktionsbaustein anlegen ... 146
5.3 ... Funktionsbausteine testen ... 147
5.4 ... Funktionsgruppen ... 148
6. Der Class Builder ... 151
6.1 ... Klassen anlegen ... 151
6.2 ... Ausnahmeklassen anlegen ... 163
6.3 ... Interfaces anlegen ... 164
TEIL II. Der Kern der Sprache ABAP ... 165
7. Die ABAP-Grundbefehle ... 167
7.1 ... Syntaxregeln ... 168
7.2 ... Kommentare ... 169
7.3 ... Die SAP-Hilfe ... 170
7.4 ... Datendeklaration ... 171
7.5 ... Inline-Deklarationen ... 183
7.6 ... Typdefinitionen ... 185
7.7 ... Initialisierung ... 188
7.8 ... Steueranweisungen ... 189
7.9 ... Rechenoperationen ... 196
7.10 ... Ausgabeanweisungen ... 199
7.11 ... Meldungen ... 201
7.12 ... Mit Zeichenketten arbeiten ... 203
7.13 ... Konstruktorausdrücke ... 216
7.14 ... Operandenpositionen ... 227
7.15 ... Änderungen und Neuerungen bis ABAP 7.57 ... 229
8. Mit internen Tabellen arbeiten ... 231
8.1 ... Tabellenarten ... 232
8.2 ... Interne Tabellen definieren ... 234
8.3 ... Interne Tabellen initialisieren ... 238
8.4 ... Zeilen hinzufügen ... 239
8.5 ... Inhalt auslesen ... 250
8.6 ... Einträge löschen ... 264
8.7 ... Inhalt ändern ... 265
8.8 ... Interne Tabellen kopieren ... 270
8.9 ... Interne Tabellen aufbereiten ... 272
8.10 ... Eingebaute Funktionen für interne Tabellen ... 279
8.11 ... Änderungen und Neuerungen im Umfeld von internen Tabellen bis ABAP 7.57 ... 281
9. Zugriff auf Datenbanken ... 285
9.1 ... Die fünf goldenen Regeln ... 286
9.2 ... Die Open-SQL-Anweisung SELECT ... 288
9.3 ... Open-SQL-Ausdrücke ... 315
9.4 ... Open-SQL-Funktionen ... 321
9.5 ... Ändernde Open-SQL-Anweisungen ... 334
9.6 ... Sekundäre Datenbankverbindungen ... 343
9.7 ... Natives SQL ... 343
9.8 ... ABAP Core Data Services (CDS) ... 346
9.9 ... Änderungen und Neuerungen im Umfeld von Open SQL bis ABAP 7.57 ... 378
9.10 ... Änderungen und Neuerungen im Umfeld von CDS bis ABAP 7.57 ... 381
10. Zugriff auf SAP-HANA-Entwicklungsobjekte ... 385
10.1 ... Aufruf von SAP-HANA-Views ... 385
10.2 ... Aufruf von Datenbankprozeduren ... 388
10.3 ... ABAP Managed Database Procedures (AMDP) ... 391
10.4 ... Änderungen und Neuerungen beim Zugriff auf SAP-HANA-Entwicklungsobjekte bis ABAP 7.57 ... 396
11. Die ABAP-Objects-Syntax ... 399
11.1 ... Grundaufbau einer Klasse ... 400
11.2 ... Sichtbarkeiten ... 403
11.3 ... Datentypen und Attribute ... 404
11.4 ... Methoden ... 405
11.5 ... Konstruktoren ... 412
11.6 ... Ereignisse ... 415
11.7 ... Vererbung ... 418
11.8 ... Klassenarten ... 420
11.9 ... Ausnahmen für Methoden ... 422
11.10 ... Freunde ... 428
11.11 ... Interfaces ... 428
11.12 ... Das ABAP-Objects-Muster ... 432
11.13 ... Casting ... 433
11.14 ... Objekttyp überprüfen ... 434
11.15 ... Änderungen und Neuerungen in ABAP Objects bis ABAP 7.57 ... 436
12. Reports und Selektionsbildschirme ... 437
12.1 ... Ereignisse eines Reports ... 438
12.2 ... Eingabeelemente ... 439
12.3 ... Strukturierungselemente für den Selektionsbildschirm ... 449
12.4 ... Ereignisse eines Selektionsbildschirms ... 453
12.5 ... Textelemente ... 457
12.6 ... Nachrichtenklassen ... 461
12.7 ... Einen Report mit ABAP aufrufen ... 464
12.8 ... SPA-/GPA-Parameter ... 466
13. Strukturierungselemente in ABAP ... 469
13.1 ... Unterprogramme ... 470
13.2 ... Makros ... 476
13.3 ... Includes ... 478
13.4 ... Funktionsbausteine ... 481
13.5 ... Datenkonsistenz ... 487
14. Die Dynpro-Programmierung ... 489
14.1 ... Dynpros anlegen ... 490
14.2 ... Ablauflogik eines Dynpros ... 494
14.3 ... SAP Control Framework ... 502
14.4 ... Pop-up-Fenster ... 506
TEIL III. Techniken zur Qualitätssicherung ... 511
15. Tests und Qualitätskontrolle ... 513
15.1 ... Der ABAP Debugger ... 513
15.2 ... Das Debugging-Skript ... 532
15.3 ... Der Code Inspector ... 538
15.4 ... ABAP Unit ... 542
15.5 ... Das ABAP Test Cockpit ... 551
16. Werkzeuge und Tipps zur Performanceanalyse ... 555
16.1 ... Richtlinien für die ABAP-Entwicklung ... 556
16.2 ... Transaktion SAT: Laufzeitanalyse ... 558
16.3 ... Transaktion SE30: Die alte Laufzeitanalyse ... 562
16.4 ... SQL-Monitor ... 564
16.5 ... SQL Performance Tuning Worklist ... 568
16.6 ... Transaktion ST05 ... 569
16.7 ... Laufzeitanalyse mithilfe der ABAP-Programmierung ... 573
16.8 ... Application Log ... 575
17. Das Transportwesen ... 581
17.1 ... Die SAP-Systemlandschaft ... 582
17.2 ... Transportaufträge ... 585
18. Die Jobverwaltung ... 597
18.1 ... Transaktion SM36: Jobs definieren ... 597
18.2 ... Transaktion SM37: Jobs überwachen und freigeben ... 604
18.3 ... Ereignisse für Jobs ... 605
18.4 ... Jobs mit ABAP definieren ... 606
TEIL IV. Fortgeschrittene Programmiertechniken ... 609
19. Tabellenanzeige mit dem SAP List Viewer (ALV) ... 611
19.1 ... Die alte ALV-Anzeige ... 613
19.2 ... Die neue ALV-Anzeige ... 632
19.3 ... SAP List Viewer mit integriertem Datenzugriff (IDA) ... 647
19.4 ... Mehrere ALV-Tabellen auf einer Oberfläche ... 662
20. SAP-Schnittstellen ... 665
20.1 ... RFC-Funktionsbausteine ... 666
20.2 ... Business-Objekte und BAPIs ... 668
20.3 ... Flat Files ... 679
20.4 ... Webservices (SOAP) ... 686
20.5 ... Batch Input ... 702
20.6 ... Einführung in die Legacy System Migration Workbench (LSMW) ... 709
21. SAP-Erweiterungen ... 711
21.1 ... User Exits ... 711
21.2 ... Customer Exits ... 714
21.3 ... Klassische Business Add-ins (BAdIs) ... 718
21.4 ... Enhancement Framework ... 722
21.5 ... Neue Business Add-ins (BAdIs) ... 742
21.6 ... Switch Framework ... 755
21.7 ... Suche nach Erweiterungen ... 757
22. SAP-Formularentwicklung ... 759
22.1 ... Der Druckdialog ... 761
22.2 ... SAPscript ... 762
22.3 ... SAP Smart Forms ... 770
22.4 ... SAP Interactive Forms by Adobe ... 780
22.5 ... Generierung von PDFs ... 785
23. Business Object Processing Framework ... 791
23.1 ... Aufbau von Geschäftsobjekten ... 794
23.2 ... Anwendung der Consumer-API ... 805
24. Fortgeschrittene Programmiertechniken ... 821
24.1 ... Object Services ... 822
24.2 ... Mit XML und JSON arbeiten ... 830
24.3 ... Daten im Memory ablegen ... 835
24.4 ... Parallelisierung ... 842
24.5 ... Dynamische Erzeugung von Datenobjekten ... 844
24.6 ... Runtime Type Services (RTTS) ... 850
24.7 ... Dynamisches SQL ... 860
24.8 ... Das ABAP Daemon Framework (ADF) ... 862
24.9 ... ABAP Channels ... 870
TEIL V. Objektorientierte Programmierung ... 883
25. Grundlagen der Objektorientierung ... 885
25.1 ... Einführung für ABAP-Entwickler ... 885
25.2 ... Klassen und Objekte ... 891
25.3 ... Instanziierung ... 894
25.4 ... Datenkapselung ... 897
25.5 ... Ereignisse ... 900
25.6 ... Vererbung ... 902
25.7 ... Klassenarten ... 907
25.8 ... Interfaces ... 908
25.9 ... Polymorphie ... 912
25.10 ... Zusammenfassung ... 914
26. Unified Modeling Language (UML) ... 917
26.1 ... Anwendungsfalldiagramm ... 918
26.2 ... Klassendiagramm ... 923
27. Anwendungsentwicklung -- wo fange ich an? ... 933
27.1 ... Anforderungsermittlung ... 935
27.2 ... Analyse ... 940
27.3 ... Entwurf ... 944
28. Entwurfsmuster ... 947
28.1 ... Singleton ... 948
28.2 ... Fabrikmethode ... 950
28.3 ... Model View Controller ... 955
28.4 ... Fassade ... 963
28.5 ... Observer ... 964
28.6 ... Objektorientierte Reports ... 971
TEIL VI. Ein Blick über den Tellerrand: Was Sie als ABAP-Entwickler sonst noch kennen sollten ... 975
29. ABAP-Programmiermodelle ... 977
29.1 ... Das klassische Programmiermodell ... 980
29.2 ... Die Innovation für die Zukunft ... 982
29.3 ... Das ABAP-Programmiermodell für SAP Fiori ... 983
29.4 ... Das ABAP RESTful Application Programming Model ... 987
30. SAP HANA ... 999
30.1 ... Überblick ... 1000
30.2 ... Architektur ... 1001
30.3 ... Migration auf SAP HANA ... 1005
30.4 ... SAP-HANA-Objekte ... 1006
30.5 ... Volltextsuchen ... 1010
31. SAPUI5, SAP Fiori und SAP Gateway ... 1019
31.1 ... SAPUI5 ... 1020
31.2 ... SAP Fiori ... 1022
31.3 ... OData ... 1024
31.4 ... SAP Gateway ... 1030
31.5 ... Entwicklung eines OData-Service ... 1032
31.6 ... Überblick über die Implementierung der CRUDQ-Methoden ... 1044
32. Andere SAP-Webtechnologien ... 1053
32.1 ... Business Server Pages (BSP) ... 1054
32.2 ... Web Dynpro ABAP ... 1061
32.3 ... Internet Communication Framework ... 1079
Anhang ... 1083
A ... Das SAP-Flugdatenmodell ... 1085
B ... Übersicht der ABAP-Anweisungen ... 1087
C ... Eingebaute Datentypen ... 1097
D ... Transaktionscodes ... 1099
E ... Wichtige Systemfelder ... 1103
F ... Technische Tabellen ... 1105
G ... Nützliche Funktionsbausteine ... 1107
H ... Klassen ... 1111
I ... Namenskonventionen für die Programmierung ... 1113
J ... Systemglossar und Suche nach fremdsprachigen SAP-Begriffen ... 1117
K ... Glossar ... 1119
Der Autor ... 1125
Index ... 1127
TEIL I. Die Werkzeugkiste des ABAP-Entwicklers ... 43
1. Die ABAP Workbench ... 45
1.1 ... Die Werkzeuge der ABAP Workbench ... 46
1.2 ... Der Object Navigator ... 47
1.3 ... Der Repository Browser ... 50
1.4 ... Der ABAP Editor ... 52
2. Die ABAP Development Tools ... 69
2.1 ... SAPs Eclipse-Strategie ... 69
2.2 ... Installation und Konfiguration ... 71
2.3 ... Ein System anbinden ... 75
2.4 ... Einen Report anlegen ... 76
2.5 ... Die Menüleiste und wichtige Tastaturkürzel ... 77
2.6 ... Der Pretty Printer und weitere Quellcodefunktionen ... 81
2.7 ... Die Musterfunktion ... 81
2.8 ... Der Debugger ... 83
2.9 ... Dokumentation mit ABAP Doc ... 89
2.10 ... Refactoring-Funktionen ... 93
3. Das ABAP Dictionary ... 97
3.1 ... Domänen ... 99
3.2 ... Datenelemente ... 104
3.3 ... Strukturen ... 107
3.4 ... Tabellentypen ... 109
3.5 ... Datenbanktabellen ... 112
3.6 ... Indizes ... 118
3.7 ... Typgruppen ... 119
3.8 ... Views ... 120
3.9 ... Pflegedialoge ... 124
3.10 ... Suchhilfen ... 128
3.11 ... Datenbank-Utility-Tool ... 131
3.12 ... Das Sperrkonzept ... 132
4. Transaktionen ... 135
4.1 ... Transaktionen anlegen ... 136
4.2 ... Transaktionen mit ABAP aufrufen ... 140
5. Der Function Builder ... 143
5.1 ... Der Aufbau eines Funktionsbausteins ... 143
5.2 ... Einen Funktionsbaustein anlegen ... 146
5.3 ... Funktionsbausteine testen ... 147
5.4 ... Funktionsgruppen ... 148
6. Der Class Builder ... 151
6.1 ... Klassen anlegen ... 151
6.2 ... Ausnahmeklassen anlegen ... 163
6.3 ... Interfaces anlegen ... 164
TEIL II. Der Kern der Sprache ABAP ... 165
7. Die ABAP-Grundbefehle ... 167
7.1 ... Syntaxregeln ... 168
7.2 ... Kommentare ... 169
7.3 ... Die SAP-Hilfe ... 170
7.4 ... Datendeklaration ... 171
7.5 ... Inline-Deklarationen ... 183
7.6 ... Typdefinitionen ... 185
7.7 ... Initialisierung ... 188
7.8 ... Steueranweisungen ... 189
7.9 ... Rechenoperationen ... 196
7.10 ... Ausgabeanweisungen ... 199
7.11 ... Meldungen ... 201
7.12 ... Mit Zeichenketten arbeiten ... 203
7.13 ... Konstruktorausdrücke ... 216
7.14 ... Operandenpositionen ... 227
7.15 ... Änderungen und Neuerungen bis ABAP 7.57 ... 229
8. Mit internen Tabellen arbeiten ... 231
8.1 ... Tabellenarten ... 232
8.2 ... Interne Tabellen definieren ... 234
8.3 ... Interne Tabellen initialisieren ... 238
8.4 ... Zeilen hinzufügen ... 239
8.5 ... Inhalt auslesen ... 250
8.6 ... Einträge löschen ... 264
8.7 ... Inhalt ändern ... 265
8.8 ... Interne Tabellen kopieren ... 270
8.9 ... Interne Tabellen aufbereiten ... 272
8.10 ... Eingebaute Funktionen für interne Tabellen ... 279
8.11 ... Änderungen und Neuerungen im Umfeld von internen Tabellen bis ABAP 7.57 ... 281
9. Zugriff auf Datenbanken ... 285
9.1 ... Die fünf goldenen Regeln ... 286
9.2 ... Die Open-SQL-Anweisung SELECT ... 288
9.3 ... Open-SQL-Ausdrücke ... 315
9.4 ... Open-SQL-Funktionen ... 321
9.5 ... Ändernde Open-SQL-Anweisungen ... 334
9.6 ... Sekundäre Datenbankverbindungen ... 343
9.7 ... Natives SQL ... 343
9.8 ... ABAP Core Data Services (CDS) ... 346
9.9 ... Änderungen und Neuerungen im Umfeld von Open SQL bis ABAP 7.57 ... 378
9.10 ... Änderungen und Neuerungen im Umfeld von CDS bis ABAP 7.57 ... 381
10. Zugriff auf SAP-HANA-Entwicklungsobjekte ... 385
10.1 ... Aufruf von SAP-HANA-Views ... 385
10.2 ... Aufruf von Datenbankprozeduren ... 388
10.3 ... ABAP Managed Database Procedures (AMDP) ... 391
10.4 ... Änderungen und Neuerungen beim Zugriff auf SAP-HANA-Entwicklungsobjekte bis ABAP 7.57 ... 396
11. Die ABAP-Objects-Syntax ... 399
11.1 ... Grundaufbau einer Klasse ... 400
11.2 ... Sichtbarkeiten ... 403
11.3 ... Datentypen und Attribute ... 404
11.4 ... Methoden ... 405
11.5 ... Konstruktoren ... 412
11.6 ... Ereignisse ... 415
11.7 ... Vererbung ... 418
11.8 ... Klassenarten ... 420
11.9 ... Ausnahmen für Methoden ... 422
11.10 ... Freunde ... 428
11.11 ... Interfaces ... 428
11.12 ... Das ABAP-Objects-Muster ... 432
11.13 ... Casting ... 433
11.14 ... Objekttyp überprüfen ... 434
11.15 ... Änderungen und Neuerungen in ABAP Objects bis ABAP 7.57 ... 436
12. Reports und Selektionsbildschirme ... 437
12.1 ... Ereignisse eines Reports ... 438
12.2 ... Eingabeelemente ... 439
12.3 ... Strukturierungselemente für den Selektionsbildschirm ... 449
12.4 ... Ereignisse eines Selektionsbildschirms ... 453
12.5 ... Textelemente ... 457
12.6 ... Nachrichtenklassen ... 461
12.7 ... Einen Report mit ABAP aufrufen ... 464
12.8 ... SPA-/GPA-Parameter ... 466
13. Strukturierungselemente in ABAP ... 469
13.1 ... Unterprogramme ... 470
13.2 ... Makros ... 476
13.3 ... Includes ... 478
13.4 ... Funktionsbausteine ... 481
13.5 ... Datenkonsistenz ... 487
14. Die Dynpro-Programmierung ... 489
14.1 ... Dynpros anlegen ... 490
14.2 ... Ablauflogik eines Dynpros ... 494
14.3 ... SAP Control Framework ... 502
14.4 ... Pop-up-Fenster ... 506
TEIL III. Techniken zur Qualitätssicherung ... 511
15. Tests und Qualitätskontrolle ... 513
15.1 ... Der ABAP Debugger ... 513
15.2 ... Das Debugging-Skript ... 532
15.3 ... Der Code Inspector ... 538
15.4 ... ABAP Unit ... 542
15.5 ... Das ABAP Test Cockpit ... 551
16. Werkzeuge und Tipps zur Performanceanalyse ... 555
16.1 ... Richtlinien für die ABAP-Entwicklung ... 556
16.2 ... Transaktion SAT: Laufzeitanalyse ... 558
16.3 ... Transaktion SE30: Die alte Laufzeitanalyse ... 562
16.4 ... SQL-Monitor ... 564
16.5 ... SQL Performance Tuning Worklist ... 568
16.6 ... Transaktion ST05 ... 569
16.7 ... Laufzeitanalyse mithilfe der ABAP-Programmierung ... 573
16.8 ... Application Log ... 575
17. Das Transportwesen ... 581
17.1 ... Die SAP-Systemlandschaft ... 582
17.2 ... Transportaufträge ... 585
18. Die Jobverwaltung ... 597
18.1 ... Transaktion SM36: Jobs definieren ... 597
18.2 ... Transaktion SM37: Jobs überwachen und freigeben ... 604
18.3 ... Ereignisse für Jobs ... 605
18.4 ... Jobs mit ABAP definieren ... 606
TEIL IV. Fortgeschrittene Programmiertechniken ... 609
19. Tabellenanzeige mit dem SAP List Viewer (ALV) ... 611
19.1 ... Die alte ALV-Anzeige ... 613
19.2 ... Die neue ALV-Anzeige ... 632
19.3 ... SAP List Viewer mit integriertem Datenzugriff (IDA) ... 647
19.4 ... Mehrere ALV-Tabellen auf einer Oberfläche ... 662
20. SAP-Schnittstellen ... 665
20.1 ... RFC-Funktionsbausteine ... 666
20.2 ... Business-Objekte und BAPIs ... 668
20.3 ... Flat Files ... 679
20.4 ... Webservices (SOAP) ... 686
20.5 ... Batch Input ... 702
20.6 ... Einführung in die Legacy System Migration Workbench (LSMW) ... 709
21. SAP-Erweiterungen ... 711
21.1 ... User Exits ... 711
21.2 ... Customer Exits ... 714
21.3 ... Klassische Business Add-ins (BAdIs) ... 718
21.4 ... Enhancement Framework ... 722
21.5 ... Neue Business Add-ins (BAdIs) ... 742
21.6 ... Switch Framework ... 755
21.7 ... Suche nach Erweiterungen ... 757
22. SAP-Formularentwicklung ... 759
22.1 ... Der Druckdialog ... 761
22.2 ... SAPscript ... 762
22.3 ... SAP Smart Forms ... 770
22.4 ... SAP Interactive Forms by Adobe ... 780
22.5 ... Generierung von PDFs ... 785
23. Business Object Processing Framework ... 791
23.1 ... Aufbau von Geschäftsobjekten ... 794
23.2 ... Anwendung der Consumer-API ... 805
24. Fortgeschrittene Programmiertechniken ... 821
24.1 ... Object Services ... 822
24.2 ... Mit XML und JSON arbeiten ... 830
24.3 ... Daten im Memory ablegen ... 835
24.4 ... Parallelisierung ... 842
24.5 ... Dynamische Erzeugung von Datenobjekten ... 844
24.6 ... Runtime Type Services (RTTS) ... 850
24.7 ... Dynamisches SQL ... 860
24.8 ... Das ABAP Daemon Framework (ADF) ... 862
24.9 ... ABAP Channels ... 870
TEIL V. Objektorientierte Programmierung ... 883
25. Grundlagen der Objektorientierung ... 885
25.1 ... Einführung für ABAP-Entwickler ... 885
25.2 ... Klassen und Objekte ... 891
25.3 ... Instanziierung ... 894
25.4 ... Datenkapselung ... 897
25.5 ... Ereignisse ... 900
25.6 ... Vererbung ... 902
25.7 ... Klassenarten ... 907
25.8 ... Interfaces ... 908
25.9 ... Polymorphie ... 912
25.10 ... Zusammenfassung ... 914
26. Unified Modeling Language (UML) ... 917
26.1 ... Anwendungsfalldiagramm ... 918
26.2 ... Klassendiagramm ... 923
27. Anwendungsentwicklung -- wo fange ich an? ... 933
27.1 ... Anforderungsermittlung ... 935
27.2 ... Analyse ... 940
27.3 ... Entwurf ... 944
28. Entwurfsmuster ... 947
28.1 ... Singleton ... 948
28.2 ... Fabrikmethode ... 950
28.3 ... Model View Controller ... 955
28.4 ... Fassade ... 963
28.5 ... Observer ... 964
28.6 ... Objektorientierte Reports ... 971
TEIL VI. Ein Blick über den Tellerrand: Was Sie als ABAP-Entwickler sonst noch kennen sollten ... 975
29. ABAP-Programmiermodelle ... 977
29.1 ... Das klassische Programmiermodell ... 980
29.2 ... Die Innovation für die Zukunft ... 982
29.3 ... Das ABAP-Programmiermodell für SAP Fiori ... 983
29.4 ... Das ABAP RESTful Application Programming Model ... 987
30. SAP HANA ... 999
30.1 ... Überblick ... 1000
30.2 ... Architektur ... 1001
30.3 ... Migration auf SAP HANA ... 1005
30.4 ... SAP-HANA-Objekte ... 1006
30.5 ... Volltextsuchen ... 1010
31. SAPUI5, SAP Fiori und SAP Gateway ... 1019
31.1 ... SAPUI5 ... 1020
31.2 ... SAP Fiori ... 1022
31.3 ... OData ... 1024
31.4 ... SAP Gateway ... 1030
31.5 ... Entwicklung eines OData-Service ... 1032
31.6 ... Überblick über die Implementierung der CRUDQ-Methoden ... 1044
32. Andere SAP-Webtechnologien ... 1053
32.1 ... Business Server Pages (BSP) ... 1054
32.2 ... Web Dynpro ABAP ... 1061
32.3 ... Internet Communication Framework ... 1079
Anhang ... 1083
A ... Das SAP-Flugdatenmodell ... 1085
B ... Übersicht der ABAP-Anweisungen ... 1087
C ... Eingebaute Datentypen ... 1097
D ... Transaktionscodes ... 1099
E ... Wichtige Systemfelder ... 1103
F ... Technische Tabellen ... 1105
G ... Nützliche Funktionsbausteine ... 1107
H ... Klassen ... 1111
I ... Namenskonventionen für die Programmierung ... 1113
J ... Systemglossar und Suche nach fremdsprachigen SAP-Begriffen ... 1117
K ... Glossar ... 1119
Der Autor ... 1125
Index ... 1127
Einleitung ... 33
TEIL I. Die Werkzeugkiste des ABAP-Entwicklers ... 43
1. Die ABAP Workbench ... 45
1.1 ... Die Werkzeuge der ABAP Workbench ... 46
1.2 ... Der Object Navigator ... 47
1.3 ... Der Repository Browser ... 50
1.4 ... Der ABAP Editor ... 52
2. Die ABAP Development Tools ... 69
2.1 ... SAPs Eclipse-Strategie ... 69
2.2 ... Installation und Konfiguration ... 71
2.3 ... Ein System anbinden ... 75
2.4 ... Einen Report anlegen ... 76
2.5 ... Die Menüleiste und wichtige Tastaturkürzel ... 77
2.6 ... Der Pretty Printer und weitere Quellcodefunktionen ... 81
2.7 ... Die Musterfunktion ... 81
2.8 ... Der Debugger ... 83
2.9 ... Dokumentation mit ABAP Doc ... 89
2.10 ... Refactoring-Funktionen ... 93
3. Das ABAP Dictionary ... 97
3.1 ... Domänen ... 99
3.2 ... Datenelemente ... 104
3.3 ... Strukturen ... 107
3.4 ... Tabellentypen ... 109
3.5 ... Datenbanktabellen ... 112
3.6 ... Indizes ... 118
3.7 ... Typgruppen ... 119
3.8 ... Views ... 120
3.9 ... Pflegedialoge ... 124
3.10 ... Suchhilfen ... 128
3.11 ... Datenbank-Utility-Tool ... 131
3.12 ... Das Sperrkonzept ... 132
4. Transaktionen ... 135
4.1 ... Transaktionen anlegen ... 136
4.2 ... Transaktionen mit ABAP aufrufen ... 140
5. Der Function Builder ... 143
5.1 ... Der Aufbau eines Funktionsbausteins ... 143
5.2 ... Einen Funktionsbaustein anlegen ... 146
5.3 ... Funktionsbausteine testen ... 147
5.4 ... Funktionsgruppen ... 148
6. Der Class Builder ... 151
6.1 ... Klassen anlegen ... 151
6.2 ... Ausnahmeklassen anlegen ... 163
6.3 ... Interfaces anlegen ... 164
TEIL II. Der Kern der Sprache ABAP ... 165
7. Die ABAP-Grundbefehle ... 167
7.1 ... Syntaxregeln ... 168
7.2 ... Kommentare ... 169
7.3 ... Die SAP-Hilfe ... 170
7.4 ... Datendeklaration ... 171
7.5 ... Inline-Deklarationen ... 183
7.6 ... Typdefinitionen ... 185
7.7 ... Initialisierung ... 188
7.8 ... Steueranweisungen ... 189
7.9 ... Rechenoperationen ... 196
7.10 ... Ausgabeanweisungen ... 199
7.11 ... Meldungen ... 201
7.12 ... Mit Zeichenketten arbeiten ... 203
7.13 ... Konstruktorausdrücke ... 216
7.14 ... Operandenpositionen ... 227
7.15 ... Änderungen und Neuerungen bis ABAP 7.57 ... 229
8. Mit internen Tabellen arbeiten ... 231
8.1 ... Tabellenarten ... 232
8.2 ... Interne Tabellen definieren ... 234
8.3 ... Interne Tabellen initialisieren ... 238
8.4 ... Zeilen hinzufügen ... 239
8.5 ... Inhalt auslesen ... 250
8.6 ... Einträge löschen ... 264
8.7 ... Inhalt ändern ... 265
8.8 ... Interne Tabellen kopieren ... 270
8.9 ... Interne Tabellen aufbereiten ... 272
8.10 ... Eingebaute Funktionen für interne Tabellen ... 279
8.11 ... Änderungen und Neuerungen im Umfeld von internen Tabellen bis ABAP 7.57 ... 281
9. Zugriff auf Datenbanken ... 285
9.1 ... Die fünf goldenen Regeln ... 286
9.2 ... Die Open-SQL-Anweisung SELECT ... 288
9.3 ... Open-SQL-Ausdrücke ... 315
9.4 ... Open-SQL-Funktionen ... 321
9.5 ... Ändernde Open-SQL-Anweisungen ... 334
9.6 ... Sekundäre Datenbankverbindungen ... 343
9.7 ... Natives SQL ... 343
9.8 ... ABAP Core Data Services (CDS) ... 346
9.9 ... Änderungen und Neuerungen im Umfeld von Open SQL bis ABAP 7.57 ... 378
9.10 ... Änderungen und Neuerungen im Umfeld von CDS bis ABAP 7.57 ... 381
10. Zugriff auf SAP-HANA-Entwicklungsobjekte ... 385
10.1 ... Aufruf von SAP-HANA-Views ... 385
10.2 ... Aufruf von Datenbankprozeduren ... 388
10.3 ... ABAP Managed Database Procedures (AMDP) ... 391
10.4 ... Änderungen und Neuerungen beim Zugriff auf SAP-HANA-Entwicklungsobjekte bis ABAP 7.57 ... 396
11. Die ABAP-Objects-Syntax ... 399
11.1 ... Grundaufbau einer Klasse ... 400
11.2 ... Sichtbarkeiten ... 403
11.3 ... Datentypen und Attribute ... 404
11.4 ... Methoden ... 405
11.5 ... Konstruktoren ... 412
11.6 ... Ereignisse ... 415
11.7 ... Vererbung ... 418
11.8 ... Klassenarten ... 420
11.9 ... Ausnahmen für Methoden ... 422
11.10 ... Freunde ... 428
11.11 ... Interfaces ... 428
11.12 ... Das ABAP-Objects-Muster ... 432
11.13 ... Casting ... 433
11.14 ... Objekttyp überprüfen ... 434
11.15 ... Änderungen und Neuerungen in ABAP Objects bis ABAP 7.57 ... 436
12. Reports und Selektionsbildschirme ... 437
12.1 ... Ereignisse eines Reports ... 438
12.2 ... Eingabeelemente ... 439
12.3 ... Strukturierungselemente für den Selektionsbildschirm ... 449
12.4 ... Ereignisse eines Selektionsbildschirms ... 453
12.5 ... Textelemente ... 457
12.6 ... Nachrichtenklassen ... 461
12.7 ... Einen Report mit ABAP aufrufen ... 464
12.8 ... SPA-/GPA-Parameter ... 466
13. Strukturierungselemente in ABAP ... 469
13.1 ... Unterprogramme ... 470
13.2 ... Makros ... 476
13.3 ... Includes ... 478
13.4 ... Funktionsbausteine ... 481
13.5 ... Datenkonsistenz ... 487
14. Die Dynpro-Programmierung ... 489
14.1 ... Dynpros anlegen ... 490
14.2 ... Ablauflogik eines Dynpros ... 494
14.3 ... SAP Control Framework ... 502
14.4 ... Pop-up-Fenster ... 506
TEIL III. Techniken zur Qualitätssicherung ... 511
15. Tests und Qualitätskontrolle ... 513
15.1 ... Der ABAP Debugger ... 513
15.2 ... Das Debugging-Skript ... 532
15.3 ... Der Code Inspector ... 538
15.4 ... ABAP Unit ... 542
15.5 ... Das ABAP Test Cockpit ... 551
16. Werkzeuge und Tipps zur Performanceanalyse ... 555
16.1 ... Richtlinien für die ABAP-Entwicklung ... 556
16.2 ... Transaktion SAT: Laufzeitanalyse ... 558
16.3 ... Transaktion SE30: Die alte Laufzeitanalyse ... 562
16.4 ... SQL-Monitor ... 564
16.5 ... SQL Performance Tuning Worklist ... 568
16.6 ... Transaktion ST05 ... 569
16.7 ... Laufzeitanalyse mithilfe der ABAP-Programmierung ... 573
16.8 ... Application Log ... 575
17. Das Transportwesen ... 581
17.1 ... Die SAP-Systemlandschaft ... 582
17.2 ... Transportaufträge ... 585
18. Die Jobverwaltung ... 597
18.1 ... Transaktion SM36: Jobs definieren ... 597
18.2 ... Transaktion SM37: Jobs überwachen und freigeben ... 604
18.3 ... Ereignisse für Jobs ... 605
18.4 ... Jobs mit ABAP definieren ... 606
TEIL IV. Fortgeschrittene Programmiertechniken ... 609
19. Tabellenanzeige mit dem SAP List Viewer (ALV) ... 611
19.1 ... Die alte ALV-Anzeige ... 613
19.2 ... Die neue ALV-Anzeige ... 632
19.3 ... SAP List Viewer mit integriertem Datenzugriff (IDA) ... 647
19.4 ... Mehrere ALV-Tabellen auf einer Oberfläche ... 662
20. SAP-Schnittstellen ... 665
20.1 ... RFC-Funktionsbausteine ... 666
20.2 ... Business-Objekte und BAPIs ... 668
20.3 ... Flat Files ... 679
20.4 ... Webservices (SOAP) ... 686
20.5 ... Batch Input ... 702
20.6 ... Einführung in die Legacy System Migration Workbench (LSMW) ... 709
21. SAP-Erweiterungen ... 711
21.1 ... User Exits ... 711
21.2 ... Customer Exits ... 714
21.3 ... Klassische Business Add-ins (BAdIs) ... 718
21.4 ... Enhancement Framework ... 722
21.5 ... Neue Business Add-ins (BAdIs) ... 742
21.6 ... Switch Framework ... 755
21.7 ... Suche nach Erweiterungen ... 757
22. SAP-Formularentwicklung ... 759
22.1 ... Der Druckdialog ... 761
22.2 ... SAPscript ... 762
22.3 ... SAP Smart Forms ... 770
22.4 ... SAP Interactive Forms by Adobe ... 780
22.5 ... Generierung von PDFs ... 785
23. Business Object Processing Framework ... 791
23.1 ... Aufbau von Geschäftsobjekten ... 794
23.2 ... Anwendung der Consumer-API ... 805
24. Fortgeschrittene Programmiertechniken ... 821
24.1 ... Object Services ... 822
24.2 ... Mit XML und JSON arbeiten ... 830
24.3 ... Daten im Memory ablegen ... 835
24.4 ... Parallelisierung ... 842
24.5 ... Dynamische Erzeugung von Datenobjekten ... 844
24.6 ... Runtime Type Services (RTTS) ... 850
24.7 ... Dynamisches SQL ... 860
24.8 ... Das ABAP Daemon Framework (ADF) ... 862
24.9 ... ABAP Channels ... 870
TEIL V. Objektorientierte Programmierung ... 883
25. Grundlagen der Objektorientierung ... 885
25.1 ... Einführung für ABAP-Entwickler ... 885
25.2 ... Klassen und Objekte ... 891
25.3 ... Instanziierung ... 894
25.4 ... Datenkapselung ... 897
25.5 ... Ereignisse ... 900
25.6 ... Vererbung ... 902
25.7 ... Klassenarten ... 907
25.8 ... Interfaces ... 908
25.9 ... Polymorphie ... 912
25.10 ... Zusammenfassung ... 914
26. Unified Modeling Language (UML) ... 917
26.1 ... Anwendungsfalldiagramm ... 918
26.2 ... Klassendiagramm ... 923
27. Anwendungsentwicklung -- wo fange ich an? ... 933
27.1 ... Anforderungsermittlung ... 935
27.2 ... Analyse ... 940
27.3 ... Entwurf ... 944
28. Entwurfsmuster ... 947
28.1 ... Singleton ... 948
28.2 ... Fabrikmethode ... 950
28.3 ... Model View Controller ... 955
28.4 ... Fassade ... 963
28.5 ... Observer ... 964
28.6 ... Objektorientierte Reports ... 971
TEIL VI. Ein Blick über den Tellerrand: Was Sie als ABAP-Entwickler sonst noch kennen sollten ... 975
29. ABAP-Programmiermodelle ... 977
29.1 ... Das klassische Programmiermodell ... 980
29.2 ... Die Innovation für die Zukunft ... 982
29.3 ... Das ABAP-Programmiermodell für SAP Fiori ... 983
29.4 ... Das ABAP RESTful Application Programming Model ... 987
30. SAP HANA ... 999
30.1 ... Überblick ... 1000
30.2 ... Architektur ... 1001
30.3 ... Migration auf SAP HANA ... 1005
30.4 ... SAP-HANA-Objekte ... 1006
30.5 ... Volltextsuchen ... 1010
31. SAPUI5, SAP Fiori und SAP Gateway ... 1019
31.1 ... SAPUI5 ... 1020
31.2 ... SAP Fiori ... 1022
31.3 ... OData ... 1024
31.4 ... SAP Gateway ... 1030
31.5 ... Entwicklung eines OData-Service ... 1032
31.6 ... Überblick über die Implementierung der CRUDQ-Methoden ... 1044
32. Andere SAP-Webtechnologien ... 1053
32.1 ... Business Server Pages (BSP) ... 1054
32.2 ... Web Dynpro ABAP ... 1061
32.3 ... Internet Communication Framework ... 1079
Anhang ... 1083
A ... Das SAP-Flugdatenmodell ... 1085
B ... Übersicht der ABAP-Anweisungen ... 1087
C ... Eingebaute Datentypen ... 1097
D ... Transaktionscodes ... 1099
E ... Wichtige Systemfelder ... 1103
F ... Technische Tabellen ... 1105
G ... Nützliche Funktionsbausteine ... 1107
H ... Klassen ... 1111
I ... Namenskonventionen für die Programmierung ... 1113
J ... Systemglossar und Suche nach fremdsprachigen SAP-Begriffen ... 1117
K ... Glossar ... 1119
Der Autor ... 1125
Index ... 1127
TEIL I. Die Werkzeugkiste des ABAP-Entwicklers ... 43
1. Die ABAP Workbench ... 45
1.1 ... Die Werkzeuge der ABAP Workbench ... 46
1.2 ... Der Object Navigator ... 47
1.3 ... Der Repository Browser ... 50
1.4 ... Der ABAP Editor ... 52
2. Die ABAP Development Tools ... 69
2.1 ... SAPs Eclipse-Strategie ... 69
2.2 ... Installation und Konfiguration ... 71
2.3 ... Ein System anbinden ... 75
2.4 ... Einen Report anlegen ... 76
2.5 ... Die Menüleiste und wichtige Tastaturkürzel ... 77
2.6 ... Der Pretty Printer und weitere Quellcodefunktionen ... 81
2.7 ... Die Musterfunktion ... 81
2.8 ... Der Debugger ... 83
2.9 ... Dokumentation mit ABAP Doc ... 89
2.10 ... Refactoring-Funktionen ... 93
3. Das ABAP Dictionary ... 97
3.1 ... Domänen ... 99
3.2 ... Datenelemente ... 104
3.3 ... Strukturen ... 107
3.4 ... Tabellentypen ... 109
3.5 ... Datenbanktabellen ... 112
3.6 ... Indizes ... 118
3.7 ... Typgruppen ... 119
3.8 ... Views ... 120
3.9 ... Pflegedialoge ... 124
3.10 ... Suchhilfen ... 128
3.11 ... Datenbank-Utility-Tool ... 131
3.12 ... Das Sperrkonzept ... 132
4. Transaktionen ... 135
4.1 ... Transaktionen anlegen ... 136
4.2 ... Transaktionen mit ABAP aufrufen ... 140
5. Der Function Builder ... 143
5.1 ... Der Aufbau eines Funktionsbausteins ... 143
5.2 ... Einen Funktionsbaustein anlegen ... 146
5.3 ... Funktionsbausteine testen ... 147
5.4 ... Funktionsgruppen ... 148
6. Der Class Builder ... 151
6.1 ... Klassen anlegen ... 151
6.2 ... Ausnahmeklassen anlegen ... 163
6.3 ... Interfaces anlegen ... 164
TEIL II. Der Kern der Sprache ABAP ... 165
7. Die ABAP-Grundbefehle ... 167
7.1 ... Syntaxregeln ... 168
7.2 ... Kommentare ... 169
7.3 ... Die SAP-Hilfe ... 170
7.4 ... Datendeklaration ... 171
7.5 ... Inline-Deklarationen ... 183
7.6 ... Typdefinitionen ... 185
7.7 ... Initialisierung ... 188
7.8 ... Steueranweisungen ... 189
7.9 ... Rechenoperationen ... 196
7.10 ... Ausgabeanweisungen ... 199
7.11 ... Meldungen ... 201
7.12 ... Mit Zeichenketten arbeiten ... 203
7.13 ... Konstruktorausdrücke ... 216
7.14 ... Operandenpositionen ... 227
7.15 ... Änderungen und Neuerungen bis ABAP 7.57 ... 229
8. Mit internen Tabellen arbeiten ... 231
8.1 ... Tabellenarten ... 232
8.2 ... Interne Tabellen definieren ... 234
8.3 ... Interne Tabellen initialisieren ... 238
8.4 ... Zeilen hinzufügen ... 239
8.5 ... Inhalt auslesen ... 250
8.6 ... Einträge löschen ... 264
8.7 ... Inhalt ändern ... 265
8.8 ... Interne Tabellen kopieren ... 270
8.9 ... Interne Tabellen aufbereiten ... 272
8.10 ... Eingebaute Funktionen für interne Tabellen ... 279
8.11 ... Änderungen und Neuerungen im Umfeld von internen Tabellen bis ABAP 7.57 ... 281
9. Zugriff auf Datenbanken ... 285
9.1 ... Die fünf goldenen Regeln ... 286
9.2 ... Die Open-SQL-Anweisung SELECT ... 288
9.3 ... Open-SQL-Ausdrücke ... 315
9.4 ... Open-SQL-Funktionen ... 321
9.5 ... Ändernde Open-SQL-Anweisungen ... 334
9.6 ... Sekundäre Datenbankverbindungen ... 343
9.7 ... Natives SQL ... 343
9.8 ... ABAP Core Data Services (CDS) ... 346
9.9 ... Änderungen und Neuerungen im Umfeld von Open SQL bis ABAP 7.57 ... 378
9.10 ... Änderungen und Neuerungen im Umfeld von CDS bis ABAP 7.57 ... 381
10. Zugriff auf SAP-HANA-Entwicklungsobjekte ... 385
10.1 ... Aufruf von SAP-HANA-Views ... 385
10.2 ... Aufruf von Datenbankprozeduren ... 388
10.3 ... ABAP Managed Database Procedures (AMDP) ... 391
10.4 ... Änderungen und Neuerungen beim Zugriff auf SAP-HANA-Entwicklungsobjekte bis ABAP 7.57 ... 396
11. Die ABAP-Objects-Syntax ... 399
11.1 ... Grundaufbau einer Klasse ... 400
11.2 ... Sichtbarkeiten ... 403
11.3 ... Datentypen und Attribute ... 404
11.4 ... Methoden ... 405
11.5 ... Konstruktoren ... 412
11.6 ... Ereignisse ... 415
11.7 ... Vererbung ... 418
11.8 ... Klassenarten ... 420
11.9 ... Ausnahmen für Methoden ... 422
11.10 ... Freunde ... 428
11.11 ... Interfaces ... 428
11.12 ... Das ABAP-Objects-Muster ... 432
11.13 ... Casting ... 433
11.14 ... Objekttyp überprüfen ... 434
11.15 ... Änderungen und Neuerungen in ABAP Objects bis ABAP 7.57 ... 436
12. Reports und Selektionsbildschirme ... 437
12.1 ... Ereignisse eines Reports ... 438
12.2 ... Eingabeelemente ... 439
12.3 ... Strukturierungselemente für den Selektionsbildschirm ... 449
12.4 ... Ereignisse eines Selektionsbildschirms ... 453
12.5 ... Textelemente ... 457
12.6 ... Nachrichtenklassen ... 461
12.7 ... Einen Report mit ABAP aufrufen ... 464
12.8 ... SPA-/GPA-Parameter ... 466
13. Strukturierungselemente in ABAP ... 469
13.1 ... Unterprogramme ... 470
13.2 ... Makros ... 476
13.3 ... Includes ... 478
13.4 ... Funktionsbausteine ... 481
13.5 ... Datenkonsistenz ... 487
14. Die Dynpro-Programmierung ... 489
14.1 ... Dynpros anlegen ... 490
14.2 ... Ablauflogik eines Dynpros ... 494
14.3 ... SAP Control Framework ... 502
14.4 ... Pop-up-Fenster ... 506
TEIL III. Techniken zur Qualitätssicherung ... 511
15. Tests und Qualitätskontrolle ... 513
15.1 ... Der ABAP Debugger ... 513
15.2 ... Das Debugging-Skript ... 532
15.3 ... Der Code Inspector ... 538
15.4 ... ABAP Unit ... 542
15.5 ... Das ABAP Test Cockpit ... 551
16. Werkzeuge und Tipps zur Performanceanalyse ... 555
16.1 ... Richtlinien für die ABAP-Entwicklung ... 556
16.2 ... Transaktion SAT: Laufzeitanalyse ... 558
16.3 ... Transaktion SE30: Die alte Laufzeitanalyse ... 562
16.4 ... SQL-Monitor ... 564
16.5 ... SQL Performance Tuning Worklist ... 568
16.6 ... Transaktion ST05 ... 569
16.7 ... Laufzeitanalyse mithilfe der ABAP-Programmierung ... 573
16.8 ... Application Log ... 575
17. Das Transportwesen ... 581
17.1 ... Die SAP-Systemlandschaft ... 582
17.2 ... Transportaufträge ... 585
18. Die Jobverwaltung ... 597
18.1 ... Transaktion SM36: Jobs definieren ... 597
18.2 ... Transaktion SM37: Jobs überwachen und freigeben ... 604
18.3 ... Ereignisse für Jobs ... 605
18.4 ... Jobs mit ABAP definieren ... 606
TEIL IV. Fortgeschrittene Programmiertechniken ... 609
19. Tabellenanzeige mit dem SAP List Viewer (ALV) ... 611
19.1 ... Die alte ALV-Anzeige ... 613
19.2 ... Die neue ALV-Anzeige ... 632
19.3 ... SAP List Viewer mit integriertem Datenzugriff (IDA) ... 647
19.4 ... Mehrere ALV-Tabellen auf einer Oberfläche ... 662
20. SAP-Schnittstellen ... 665
20.1 ... RFC-Funktionsbausteine ... 666
20.2 ... Business-Objekte und BAPIs ... 668
20.3 ... Flat Files ... 679
20.4 ... Webservices (SOAP) ... 686
20.5 ... Batch Input ... 702
20.6 ... Einführung in die Legacy System Migration Workbench (LSMW) ... 709
21. SAP-Erweiterungen ... 711
21.1 ... User Exits ... 711
21.2 ... Customer Exits ... 714
21.3 ... Klassische Business Add-ins (BAdIs) ... 718
21.4 ... Enhancement Framework ... 722
21.5 ... Neue Business Add-ins (BAdIs) ... 742
21.6 ... Switch Framework ... 755
21.7 ... Suche nach Erweiterungen ... 757
22. SAP-Formularentwicklung ... 759
22.1 ... Der Druckdialog ... 761
22.2 ... SAPscript ... 762
22.3 ... SAP Smart Forms ... 770
22.4 ... SAP Interactive Forms by Adobe ... 780
22.5 ... Generierung von PDFs ... 785
23. Business Object Processing Framework ... 791
23.1 ... Aufbau von Geschäftsobjekten ... 794
23.2 ... Anwendung der Consumer-API ... 805
24. Fortgeschrittene Programmiertechniken ... 821
24.1 ... Object Services ... 822
24.2 ... Mit XML und JSON arbeiten ... 830
24.3 ... Daten im Memory ablegen ... 835
24.4 ... Parallelisierung ... 842
24.5 ... Dynamische Erzeugung von Datenobjekten ... 844
24.6 ... Runtime Type Services (RTTS) ... 850
24.7 ... Dynamisches SQL ... 860
24.8 ... Das ABAP Daemon Framework (ADF) ... 862
24.9 ... ABAP Channels ... 870
TEIL V. Objektorientierte Programmierung ... 883
25. Grundlagen der Objektorientierung ... 885
25.1 ... Einführung für ABAP-Entwickler ... 885
25.2 ... Klassen und Objekte ... 891
25.3 ... Instanziierung ... 894
25.4 ... Datenkapselung ... 897
25.5 ... Ereignisse ... 900
25.6 ... Vererbung ... 902
25.7 ... Klassenarten ... 907
25.8 ... Interfaces ... 908
25.9 ... Polymorphie ... 912
25.10 ... Zusammenfassung ... 914
26. Unified Modeling Language (UML) ... 917
26.1 ... Anwendungsfalldiagramm ... 918
26.2 ... Klassendiagramm ... 923
27. Anwendungsentwicklung -- wo fange ich an? ... 933
27.1 ... Anforderungsermittlung ... 935
27.2 ... Analyse ... 940
27.3 ... Entwurf ... 944
28. Entwurfsmuster ... 947
28.1 ... Singleton ... 948
28.2 ... Fabrikmethode ... 950
28.3 ... Model View Controller ... 955
28.4 ... Fassade ... 963
28.5 ... Observer ... 964
28.6 ... Objektorientierte Reports ... 971
TEIL VI. Ein Blick über den Tellerrand: Was Sie als ABAP-Entwickler sonst noch kennen sollten ... 975
29. ABAP-Programmiermodelle ... 977
29.1 ... Das klassische Programmiermodell ... 980
29.2 ... Die Innovation für die Zukunft ... 982
29.3 ... Das ABAP-Programmiermodell für SAP Fiori ... 983
29.4 ... Das ABAP RESTful Application Programming Model ... 987
30. SAP HANA ... 999
30.1 ... Überblick ... 1000
30.2 ... Architektur ... 1001
30.3 ... Migration auf SAP HANA ... 1005
30.4 ... SAP-HANA-Objekte ... 1006
30.5 ... Volltextsuchen ... 1010
31. SAPUI5, SAP Fiori und SAP Gateway ... 1019
31.1 ... SAPUI5 ... 1020
31.2 ... SAP Fiori ... 1022
31.3 ... OData ... 1024
31.4 ... SAP Gateway ... 1030
31.5 ... Entwicklung eines OData-Service ... 1032
31.6 ... Überblick über die Implementierung der CRUDQ-Methoden ... 1044
32. Andere SAP-Webtechnologien ... 1053
32.1 ... Business Server Pages (BSP) ... 1054
32.2 ... Web Dynpro ABAP ... 1061
32.3 ... Internet Communication Framework ... 1079
Anhang ... 1083
A ... Das SAP-Flugdatenmodell ... 1085
B ... Übersicht der ABAP-Anweisungen ... 1087
C ... Eingebaute Datentypen ... 1097
D ... Transaktionscodes ... 1099
E ... Wichtige Systemfelder ... 1103
F ... Technische Tabellen ... 1105
G ... Nützliche Funktionsbausteine ... 1107
H ... Klassen ... 1111
I ... Namenskonventionen für die Programmierung ... 1113
J ... Systemglossar und Suche nach fremdsprachigen SAP-Begriffen ... 1117
K ... Glossar ... 1119
Der Autor ... 1125
Index ... 1127