Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Einleitung
17
1 Erweiterungstechniken von SAP im Überblick
21
1.1 Modifikationen
22
1.2 User Exits
22
1.3 Customer Exits
23
1.4 Klassische Business Add-ins
23
1.5 Business Transaction Events
24
1.6 Enhancement Framework
25
1.6.1 Explizite Erweiterungspunkte
26
1.6.2 Explizite Erweiterungssektionen
26
1.6.3 Implizite Erweiterungspunkte
27
1.6.4 Neue Business Add-ins
28
1.6.5 Switch Framework
28
1.7 Abgleich von Erweiterungen
29
1.8 Vererbung und Redefinition von Klassen
29
1.9 CDS Views erweitern
30
1.10 Geschäftsobjekte erweitern
31
1.11 ABAP Managed Database Procedures erweitern
31
1.12 OData-Services erweitern
32
1.13 Fiori-Apps erweitern
33
1.14 BAPI-Funktionsbausteine erweitern
34
1.15 IDocs erweitern
35
1.16 Zusammenfassung
35
TEIL I Klassische Erweiterungstechniken
37
2 Erweiterung des ABAP Dictionarys
39
2.1 Strukturerweiterungen
39
2.2 Suchhilfenerweiterungen
42
2.3 Indexerweiterungen
47
2.4 Einzelwerterweiterung
48
2.5 Zusammenfassung
50
3 Modifikationen
51
3.1 Modifikationen am Quelltext
52
3.2 Modifikationen an ABAP-Dictionary-Objekten
56
3.3 User Exits
60
3.4 Abgleich von Modifikationen und Erweiterungen
64
3.4.1 Abgleich von ABAP-Dictionary Objekten mit Transaktion SPDD
64
3.4.2 Abgleich von Entwicklungsobjekten mit Transaktion SPAU
69
3.5 Zusammenfassung
73
4 Customer Exits
75
4.1 Customer Exits implementieren
75
4.2 Funktions-Exits finden
85
4.3 Menüerweiterungen
89
4.3.1 Funktionscode und Status der Menüerweiterung finden
90
4.3.2 Menüerweiterungen implementieren
94
4.3.3 Menüerweiterungen finden
97
4.4 Screenerweiterungen
98
4.4.1 Screenerweiterungen implementieren
100
4.4.2 Screenerweiterungen finden
111
4.5 Zusammenfassung
112
5 Klassische Business Add-ins
113
5.1 Ein klassisches BAdI implementieren
114
5.2 Aufruf eines klassischen BAdIs
119
5.3 Klassische BAdIs finden
121
5.4 Filtersteuerung
123
5.5 Menüerweiterungen
126
5.5.1 Funktionscode und GUI-Status der Menüerweiterung finden
127
5.5.2 Menüerweiterungen implementieren
130
5.5.3 Menüerweiterungen finden
133
5.6 Screenerweiterung
135
5.6.1 Screenerweiterungen implementieren
138
5.6.2 Screenerweiterungen finden
151
5.7 Zusammenfassung
153
6 Business Transaction Events
155
6.1 Einführung
155
6.2 Ein BTE implementieren
160
6.2.1 Musterfunktionsbaustein kopieren und implementieren
161
6.2.2 Kundenprodukt anlegen
163
6.2.3 Den Funktionsbaustein registrieren
164
6.3 BTEs finden
167
6.4 Zusammenfassung
169
7 Vererbung von Klassen
171
7.1 Vererbung
171
7.2 Redefinition
179
7.3 Zusammenfassung
182
TEIL II Erweiterungstechniken des Enhancement Frameworks
183
8 Das Enhancement Framework
185
8.1 Architektur des Enhancement Frameworks
185
8.2 Mit dem Enhancement Framework arbeiten
189
8.3 Zusammenfassung
193
9 Implizite Erweiterungspunkte
195
9.1 Erweiterungen am Kopf und Fuß von Entwicklungsobjekten
196
9.2 Erweiterungen von globalen Klassen
200
9.3 Erweiterung von Methoden
201
9.4 Erweiterung von lokalen Klassen
203
9.5 Funktionsbausteinerweiterungen
204
9.6 Debugging impliziter Erweiterungspunkte
206
9.7 Zusammenfassung
208
10 Explizite Erweiterungsoptionen
209
10.1 Erweiterungspunkte
209
10.2 Erweiterungssektionen
212
10.3 Explizite Erweiterungsoptionen finden
215
10.4 Zusammenfassung
218
11 Neue Business Add-ins
219
11.1 Quelltexterweiterungen
221
11.1.1 Ein neues BAdI implementieren
225
11.1.2 Aufruf eines neuen BAdIs
231
11.1.3 Quelltext-BAdIs finden
232
11.2 Filtersteuerung
234
11.3 Menüerweiterungen
239
11.3.1 Menüerweiterungen implementieren
242
11.3.2 Menüerweiterungen finden
244
11.4 Screenerweiterungen
246
11.4.1 Screenerweiterungen implementieren
248
11.4.2 Screenerweiterungen finden
259
11.5 Migration klassischer BAdIs
261
11.5.1 Partielle Migration
261
11.5.2 Vollständige Migration
265
11.6 Mehrfachverwendung von BAdIs
267
11.7 Zusammenfassung
269
12 Das Switch Framework
271
12.1 Architektur des Switch Frameworks
272
12.2 Mit dem Switch Framework arbeiten
276
12.2.1 Einen Schalter anlegen
278
12.2.2 Schalter Entwicklungsobjekten zuordnen
280
12.2.3 Business Function anlegen
283
12.2.4 Business Function aktivieren und deaktivieren
285
12.3 Zusammenfassung
287
13 Erweiterungen mit Transaktion SPAU_ENH abgleichen
289
13.1 Abgleich durchführen
290
13.2 Zusammenfassung
296
TEIL III Erweiterbarkeit neuer Entwicklungstechnologien
297
14 Erweiterung von CDS Views
299
14.1 CDS-View-Erweiterungen
300
14.1.1 CDS-View-Erweiterung implementieren
302
14.1.2 Der Zusatz GROUP BY
307
14.1.3 Erweiterungen mit UNION
309
14.2 Indirekte Erweiterung mit Extension Include Views
311
14.3 CDS-Metadatenerweiterungen
314
14.4 Zusammenfassung
317
15 Erweiterung von ABAP Managed Database Procedures
319
15.1 Ein AMDP-BAdI implementieren
319
15.2 Aufruf einer AMDP-BAdI-Methode
322
15.3 Zusammenfassung
324
16 Erweiterung von Geschäftsobjekten
325
16.1 Klassische Möglichkeiten der Erweiterung
326
16.1.1 Knotenattribute erweitern
327
16.1.2 Logik in implementierenden Klassen erweitern
331
16.2 Erweiterungsobjekt anlegen
333
16.3 Zusätzlichen Unterknoten anlegen
336
16.3.1 Standardunterknoten hinzufügen
336
16.3.2 Darstellungsknoten für Geschäftsobjekte hinzufügen
339
16.4 Knotenfunktionen erweitern
341
16.5 Zusammenfassung
349
17 Erweiterung von OData-Services
351
17.1 OData-Services überdefinieren
352
17.2 Standardfall: Entitätstyp mit Struktur
359
17.2.1 Entitätstyp erweitern
360
17.2.2 Laufzeitartefakte generieren
362
17.2.3 CRUDQ-Methoden implementieren
365
17.3 Sonderfall: Entitätstyp ohne Struktur
374
17.3.1 Implementieren der CRUDQ-Methoden
375
17.3.2 Fehlerbehebung
380
17.4 Erweiterten Service testen
382
17.5 Zusammenfassung
384
18 Erweiterung von SAP-Fiori-Apps
385
18.1 In-App-Erweiterungen mit webbasierten Werkzeugen
386
18.1.1 Benutzerdefinierte Felder und Logik
387
18.1.2 Übernahme von bestehenden Erweiterungsfeldern
393
18.1.3 Benutzerdefinierte Business-Objekte
395
18.2 Programmatische Erweiterung
400
18.2.1 Erweiterungsprojekt anlegen
404
18.2.2 Einen View erweitern
408
18.2.3 Erweiterung über den Erweiterungs-Wizard anlegen
410
18.3 Zusammenfassung
412
TEIL IV Weiterführende Themen
415
19 Erweiterungen in eigenen Anwendungen bereitstellen
417
19.1 Explizite Erweiterungspunkte bereitstellen
418
19.2 Erweiterungssektionen bereitstellen
421
19.3 Erweiterungsspot verwalten
423
19.4 Neue Business Add-ins bereitstellen
425
19.4.1 BAdI anlegen
425
19.4.2 BAdIs für Quellcodeerweiterungen
428
19.4.3 Fallback- und BeispielkKlassen verwenden
431
19.4.4 Filter bereitstellen
435
19.4.5 Implementierung einer Filterklasse
439
19.5 Menüerweiterungen ermöglichen
443
19.6 Screenerweiterungen ermöglichen
448
19.7 AMDP-BAdI anlegen
454
19.8 Zusammenfassung
461
20 Erweiterung von Web-Dynpro-Anwendungen
463
20.1 Erweiterungsimplementierung anlegen
464
20.2 Controller erweitern
466
20.3 Views erweitern
470
20.4 Windows erweitern
474
20.5 Eine Web-Dynpro-Komponente erweitern
476
20.5.1 Erweiterungsimplementierung anlegen
480
20.5.2 Neuen View anlegen
480
20.5.3 Anwendungslogik implementieren
486
20.5.4 Originalen View erweitern
489
20.5.5 Navigation im Window ausprägen
490
20.6 Zusammenfassung
495
21 Erweiterung des Code Inspectors
497
21.1 Einführung in den Code Inspector
498
21.2 Code Inspector um eigene Prüfungen erweitern
500
21.2.1 Das Beispielszenario
500
21.2.2 Neue Prüfkategorie anlegen
503
21.2.3 Neue Prüfung anlegen
507
21.2.4 Prüflogik programmieren
510
21.3 Zusammenfassung
515
22 Erweiterung von BAPIs
517
22.1 Übergabe kundeneigener Felder mit EXTENSIONIN
518
22.2 Auslesen kundeneigener Felder mit EXTENSIONOUT
525
22.3 Zusammenfassung
526
23 Erweiterung des Einführungsleitfadens
527
23.1 Eigenen Einführungsleitfaden anlegen
528
23.2 Eine Erweiterung des Standardeinführungsleitfadens anlegen
534
23.3 Zusammenfassung
538
24 Erweiterung von IDocs
539
24.1 Erweiterung für ein IDoc anlegen
540
24.2 IDoc-Erweiterung testen
548
24.3 Zusammenfassung
555
Anhang
557
A Beschaffung von Daten: Arbeitsspeicher
559
B Beschaffung von Daten: Dirty Assign
563
C Mögliche Konfliktfälle beim Abgleich von Erweiterungen in Transaktion SPAU_ENH
567
D Fragen und Antworten zum Verständnis dieses Buches
573
E Der Autor
583
Index
585