Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
15
Einleitung
19
1 Was kommt mit SAP S/4HANA auf Sie zu?
23
1.1 SAP S/4HANA im Vergleich zur klassischen SAP Business Suite
25
1.1.1 Der neue Geschäftspartner
26
1.1.2 Das Universal Journal
27
1.1.3 SAP Credit Management
28
1.1.4 Embedded Analytics
28
1.1.5 Die neue Materialbedarfsplanung
29
1.1.6 Die neue Produktions- und Feinplanung
30
1.1.7 SAP Fiori
30
1.1.8 Das neue Erweiterungskonzept
32
1.1.9 Intelligente Technologien
33
1.1.10 SAP S/4HANA Cloud
34
1.2 Transformationsszenarien
34
1.2.1 Custom-Code-Migration im Rahmen einer Neuimplementierung
37
1.2.2 Custom-Code-Migration im Rahmen einer Systemkonvertierung
40
1.2.3 Custom-Code-Migration im Rahmen einer Landschaftstransformation
43
1.3 Zusammenfassung
44
2 Das Konvertierungsprojekt im Überblick
45
2.1 Ablauf eines Konvertierungsprojekts
45
2.2 Beispiel für einen groben Projektplan
51
2.3 Welche Änderungen am Anwendungscode sind erforderlich?
54
2.3.1 Die Vereinfachungsdatenbank
54
2.3.2 Kompatibilitäts-Views
56
2.3.3 Die Top 10 der Simplification Items
64
2.4 Die wichtigsten Vorbereitungen für die Konvertierung
83
2.4.1 SAP Readiness Check
85
2.4.2 SAP Business Scenario Recommendations
86
2.4.3 SAP Fiori Apps Recommendations
87
2.4.4 Maintenance Planner
88
2.4.5 SAP Activate
89
2.4.6 SAP Transformation Navigator
90
2.4.7 Aktuelle Systemlandschaftskarte und Schnittstellenübersicht
91
2.4.8 Stilllegung nicht mehr benötigter Eigenentwicklungen
92
2.4.9 Custom Code Check: Anpassungen in SAP ERP
94
2.4.10 Systemkopien von Produktiv- und Qualitätssicherungssystem
94
2.4.11 Simplification Item Check
95
2.4.12 Datenbereinigung und Datenarchivierung
96
2.5 Zusammenfassung
97
3 Umfang der Custom-Code-Migration bestimmen
99
3.1 Welcher Code muss migriert werden?
99
3.1.1 Welche Objekte werden nach der Migration nicht mehr benötigt?
100
3.1.2 Welche Objekte werden bereits nicht mehr verwendet?
101
3.2 Verwendungsprotokollierung
102
3.2.1 Usage and Procedure Logging
102
3.2.2 ABAP Call Monitor
106
3.2.3 SQL-Monitor
112
3.2.4 Coverage Analyzer
113
3.2.5 Eigene Tools zur Verwendungsprotokollierung
115
3.3 Custom Code Lifecycle Management im SAP Solution Manager
116
3.3.1 Analyse anlegen
117
3.3.2 Objektliste auswerten
120
3.3.3 Ausschlussliste verwenden
121
3.3.4 Vormerkung zur Löschung
124
3.4 Die App »Custom Code Migration«
124
3.4.1 Aktivieren der App auf der SAP Cloud Platform
125
3.4.2 Verwendungsprotokollierung auswerten
126
3.5 Manuelle Auswertung der Verwendung kundeneigener Objekte
128
3.5.1 Priorisierung der zu löschenden Objekte
129
3.5.2 Bestimmung indirekter Verwendungen
131
3.5.3 Archivierung einer Kopie der zu löschenden Objekte
134
3.5.4 Löschen von Objekten
137
3.6 Zusammenfassung
138
4 Analyse der erforderlichen Anpassungen
141
4.1 Welche Tools helfen bei der Analyse?
141
4.2 ABAP Test Cockpit
144
4.2.1 Vorbereitungen zur Nutzung des ABAP Test Cockpits
144
4.2.2 ATC-Prüfsystem einrichten
146
4.2.3 Prüfläufe einplanen
148
4.2.4 Darstellung der Befunde im ATC-Ergebnis-Browser
150
4.2.5 Steuerung und Darstellung der Prüfresultate im SAP-ERP-System
154
4.3 Standardprüfvarianten
156
4.3.1 SAP-HANA-Datenbank-Prüfungen
156
4.3.2 SAP-S/4HANA-Prüfungen
159
4.3.3 Default-Prüfvarianten
166
4.4 Prüfung fremder Namensräume
168
4.5 Prüfungen von SAP-Fiori-Apps aus SAP ERP
170
4.6 Prüfungen mit der App »Custom Code Migration«
173
4.6.1 Aktivieren der App in SAP S/4HANA on premise
174
4.6.2 Migrationsprojekt einrichten
175
4.6.3 Analyse und Darstellung der Befunde
176
4.6.4 Transportauftrag erstellen
180
4.6.5 Ausblick: Geplante Neuerungen
181
4.7 Dateibasierte Werkzeuge
182
4.7.1 Custom Code Migration Worklist
183
4.7.2 Extraktbasierte Prüfungen im Code Inspector
185
4.8 Weitere Prüfungen und Aktivitäten im Rahmen der Systemkonvertierung
188
4.9 Zusammenfassung
193
5 Custom-Code-Anpassung für SAP HANA
195
5.1 Technische Grundlagen zur Custom-Code-Anpassung für SAP HANA
196
5.1.1 Implizite Sortierung
198
5.1.2 Natives SQL
199
5.1.3 Datenbank-Hints
200
5.1.4 Pool- und Cluster-Tabellen
202
5.1.5 Prüffehler
204
5.2 Beispiele für Prüffehler
206
5.2.1 Prüfung kann wegen fehlender Voraussetzungen nicht durchgeführt werden
206
5.2.2 Sonstige Prüffehler
207
5.3 Beispiele für den Prüftitel »Voraussetzungen für den Test«
209
5.3.1 Verwendetes Objekt existiert nicht
209
5.3.2 Syntaxfehler
210
5.4 Beispiele für den Prüftitel »Kritische Anweisungen«
212
5.4.1 Verwendung von nativen SQL-Anweisungen
212
5.4.2 Verwendung eines Datenbank-Hints
214
5.5 Beispiele für den Prüftitel »Problematische Anweisungen«
215
5.5.1 SELECT ... FOR-Cluster-Tabelle ohne ORDER BY
216
5.5.2 DELETE ADJACENT DUPLICATES
217
5.5.3 LOOP AT itab AT ... ENDAT
219
5.5.4 Leere SELECT ... ENDSELECT-Anweisung
220
5.5.5 READ ... BINARY SEARCH
222
5.5.6 READ TABLE ... INDEX 1
225
5.5.7 SELECT SINGLE möglicherweise nicht eindeutig
226
5.6 Beispiele für den Prüftitel »DB-Operationen in Pool-/Cluster-Tabellen suchen«
229
5.6.1 Datenbankoperation SELECT für Tabellen-Cluster RFBLG
229
5.6.2 Datenbankoperation SELECT für Tabellen-Pool UTAB
232
5.7 Beispiele für den Prüftitel »Verwendung der ADBC-Schnittstelle«
235
5.7.1 Verwendung der ADBC-Klasse CL_SQL_STATEMENT
235
5.7.2 Verwendung der ADBC-Klasse CL_SQL_CONNECTION
237
5.8 Suche von ABAP-Anweisungsmustern
239
5.8.1 Aufruf des Funktionsbausteins DB_EXISTS_INDEX
240
5.8.2 Aufruf des Funktionsbausteins DD_INDEX_NAME
244
5.9 Zusammenfassung
246
6 Custom-Code-Anpassung für SAP S/4HANA
247
6.1 Technische Grundlagen zur Custom-Code-Anpassung für SAP S/4HANA
248
6.1.1 Direkte Tabellenzugriffe
249
6.1.2 Literale im Code
250
6.1.3 ABAP-Dictionary-Objekte zu abgekündigten Lösungen
252
6.1.4 Zeitpunkt der Codeanpassungen
253
6.1.5 Intention und Ziel von Eigenentwicklungen
254
6.1.6 Testen von APIs
255
6.2 Versionen der SAP-S/4HANA-Prüfvarianten
257
6.3 Beispiele für den Prüftitel »S/4HANA: Feldlängenerweiterungen«
258
6.3.1 Vergleich-Längenkonflikt (Domäne MATNR)
259
6.3.2 Strukturkomponenten-Typkonflikt (Domäne MATNR)
262
6.3.3 Alter Konkatenieren-Längenkonflikt (Domäne MATNR)
264
6.3.4 CALL FUNCTION: Generischer Parameter (Domäne MATNR)
267
6.3.5 Typkonflikt (Datenelement FWSTEV)
270
6.4 Beispiele für den Prüftitel »S/4HANA: Nach ABAP-Dictionary-Erweiterungen suchen«
274
6.4.1 Append erweitert ein vereinfachtes Artefakt (Tabelle MARC)
274
6.4.2 Append erweitert ein vereinfachtes Artefakt (Tabelle COEP)
279
6.5 Beispiele für den Prüftitel »S/4HANA: Nach Basistabellen der ABAP-Dictionary-Views suchen«
281
6.5.1 View, basierend auf einem ersetzten Artefakt (Tabelle KONV)
282
6.5.2 View, basierend auf einem Artefakt mit einem Ersetzungsobjekt (Tabelle MKPF)
284
6.6 Beispiele für den Prüftitel »S/4HANA: Suche nach Datenbankoperationen«
288
6.6.1 DB-Operation UPDATE wurde gefunden (Tabelle LFA1)
288
6.6.2 DB-Operation SELECT wurde gefunden (Tabelle KONV)
291
6.7 Beispiele für den Prüftitel »S/4HANA: Suche nach Verwendungen der vereinfachten Objekte«
293
6.7.1 Syntaktisch nicht kompatible Änderung der vorhandenen Funktion (Datenelement VBTYP)
293
6.7.2 Semantisch nicht kompatible Änderung der vorhandenen Funktion (Transaktion XD02)
295
6.7.3 Verwendung eines nicht mehr verfügbaren Entwicklungsobjekts (Funktionsbaustein GET_WEEK_INFO_BASED_ON_DATE)
297
6.7.4 Funktion nicht verfügbar: funktionales Äquivalent verfügbar (Datenelement /BEV3/CHOBJBEZ)
300
6.7.5 Funktion nicht verfügbar: gleichwertige Funktion auf Roadmap (Datenelement CHAR02)
302
6.8 Beispiele für den Prüftitel »S/4HANA: Readiness Check für SAP Queries«
305
6.8.1 InfoSet verwendet simplifizierte Tabellen (Tabelle KONV)
306
6.8.2 InfoSet inkonsistent
308
6.9 Zusammenfassung
309
7 Quick Fixes
311
7.1 Systemvoraussetzungen
311
7.2 Funktionsumfang der SAP-S/4HANA-Quick-Fixes
313
7.2.1 Quick Fixes für verschiedene Anwendungsfälle
314
7.2.2 Übersicht in der App »Custom Code Migration«
315
7.2.3 Automatische Generierung von Kommentaren
316
7.3 Quick Fixes in den ABAP Development Tools verwenden
316
7.3.1 Installation und Konfiguration der ABAP Development Tools
316
7.3.2 Objektprüfung durchführen
318
7.3.3 Quick Fixes anwenden
320
7.4 Eigene Quick Fixes anlegen
325
7.5 Zusammenfassung
329
8 Custom-Code-Optimierung nach der Migration
331
8.1 Optimierungswerkzeuge
333
8.1.1 SQL-Monitor
334
8.1.2 Arbeitsvorrat für die SQL-Performanceoptimierung
337
8.1.3 ATC-Checks zur Performanceoptimierung für SAP HANA
341
8.1.4 Laufzeitprüfungsmonitor
342
8.2 Optimierung der Datenbankzugriffe
344
8.2.1 Code-Pushdown-Prinzip
344
8.2.2 Core Data Services
347
8.2.3 ABAP Managed Database Procedures
353
8.2.4 Die 5 goldenen Regeln
355
8.3 Neue Sprachelemente und Programmierobjekte
356
8.3.1 Wichtige Neuerungen in Open SQL
357
8.3.2 Wichtige Neuerungen in ABAP
359
8.3.3 Metadaten und Annotationen
365
8.3.4 ABAP-RESTful-Programmiermodell
366
8.3.5 SAP List Viewer mit integriertem Datenzugriff
370
8.4 Umbau des Custom Codes auf neue Objekte
371
8.5 Erweiterungskonzepte und Clean Core
372
8.5.1 Klassische Erweiterbarkeit
375
8.5.2 In-App-Erweiterbarkeit
376
8.5.3 Side-by-Side-Erweiterbarkeit
379
8.5.4 Clean Core und SAP S/4HANA Cloud
381
8.6 Zusammenfassung
382
9 Best Practices für Transformationsprojekte
385
9.1 Typische Herausforderungen und Fallstricke
385
9.1.1 Organisatorische Herausforderungen und Fallstricke
385
9.1.2 Technische Herausforderungen und Fallstricke
391
9.2 Spezielle Lösungsansätze und zusätzliche Tools
400
9.2.1 Umgang mit gelöschten SAP-ERP-Datentypen
400
9.2.2 Selektive Migration von Objekten
405
9.2.3 Programmmengenverarbeitung mit Transaktion SAMT
407
9.2.4 Prüfung von Bedingungen und Formeln in SD
409
9.2.5 Nutzung der Korrektur-Workbench
410
9.3 Partnertools und -services
416
9.3.1 SNP
417
9.3.2 All for One Group SE
418
9.3.3 Swisscom SAP Services
419
9.3.4 smartShift
419
9.4 Zusammenfassung
420
Anhang
423
A Wichtige Transaktionen
425
B Checkliste zur Vorbereitung der Custom-Code-Migration
429
C Das Autorenteam
431
Index
433