Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Einleitung
15
1 Schritt für Schritt zu Ihren ersten CDS-Views
21
1.1 Datenmodell der Anwendung definieren
22
1.2 Datenmodell der Anwendung implementieren
25
1.2.1 Datenbanktabellen anlegen
26
1.2.2 CDS-View anlegen
30
1.2.3 Änderungen am CDS-View vornehmen
38
1.2.4 CDS-View-Stack aufbauen
41
2 Grundlagen der CDS-Datenmodellierung
53
2.1 Überblick über die CDS-Syntax
54
2.2 Schlüsselfelder
57
2.3 Cast-Anweisungen
59
2.4 Case-Anweisungen
61
2.5 CDS-Sitzungsvariablen
62
2.6 Mandantenbehandlung
63
2.7 Union-Views
66
2.8 Join-Verknüpfungen
73
2.9 SQL-Aggregationsfunktionen
78
2.10 Assoziationen
82
2.10.1 Assoziationsdefinitionen
82
2.10.2 Exponierung von Assoziationen
85
2.10.3 Modellierung von m:n-Beziehungen
86
2.10.4 Verwendung von Assoziationen in CDS-Views
89
2.10.5 Verwendung von Assoziationen in ABAP-Implementierungen
100
2.11 Parameter
101
2.12 Konvertierungsfunktionen für Währungen und Mengeneinheiten
106
3 CDS-Annotationen
111
3.1 Annotationsdefinitionen
112
3.1.1 Annotationsnamen
114
3.1.2 Typisierungen
117
3.1.3 Wertelisten
118
3.1.4 Default-Werte
119
3.1.5 Geltungsbereiche der Annotationen
120
3.2 Auswirkungen der Annotationen
121
3.3 Propagationslogik für Elementannotationen
124
3.3.1 Grundlagen der Propagationslogik
125
3.3.2 Konsistenzaspekte der Propagationslogik
129
3.4 CDS-Metadatenerweiterungen
131
3.5 Aktive Annotationen
135
4 CDS-Zugriffskontrollen
137
4.1 Grundlagen der CDS-Zugriffskontrollen
138
4.2 Wirkungsweise der CDS-Zugriffskontrollen
140
4.3 Implementierungs-Pattern für CDS-Zugriffskontrollen
145
4.3.1 Implementierung von CDS-Zugriffskontrollen erben
146
4.3.2 Implementierung von CDS-Zugriffskontrollen mit Pfadausdrücken
148
4.3.3 CDS-Zugriffskontrollen ohne Verwendung von Berechtigungsobjekten implementieren
152
4.3.4 CDS-Zugriffskontrollen für analytische Queries implementieren
155
4.3.5 CDS-Zugriffskontrollen auf Feldebene implementieren
156
4.3.6 Berechtigungsschutz der von SAP ausgelieferten CDS-Modelle verändern
156
4.3.7 Standarddatenselektion blockieren
158
4.3.8 CDS-Zugriffskontrollen von Benutzereingaben entkoppeln
159
4.4 CDS-Zugriffskontrollen testen
160
5 Native SAP-HANA-Funktionen in CDS
163
5.1 Implementierung einer CDS-Tabellenfunktion
164
5.2 Anwendungsfälle
170
5.3 Hierauf müssen Sie achten
171
6 CDS-Modelle für Anwendungsdaten
173
6.1 Anwendungsarchitektur in SAP S/4HANA
174
6.2 Feldbezeichner
178
6.2.1 Ermittlung eines Feldbezeichners
178
6.2.2 Welche Feldbezeichnerlänge?
180
6.3 Semantik von Feldern
182
6.3.1 Mengen und Beträge
182
6.3.2 Aggregationsverhalten
183
6.3.3 Systemzeiten
185
6.3.4 Texte und Sprachen
186
6.3.5 Informationen zum Geschäftsjahr
187
6.4 Fremdschlüsselbeziehungen
188
6.5 Textbeziehungen
193
6.6 Kompositionsbeziehungen
195
6.7 Zeitabhängige Daten
198
6.8 Hierarchien
200
6.8.1 Stufenhierarchien und Vater-Kind-Hierarchien
200
6.8.2 Beispiel einer Vater-Kind-Hierarchie
203
6.8.3 Bestimmung einer Hierarchie
206
6.8.4 Testen einer Hierarchie
208
7 Das virtuelle Datenmodell in SAP S/4HANA
211
7.1 Warum ein virtuelles Datenmodell?
212
7.2 Struktur des virtuellen Datenmodells
213
7.2.1 Basic-Interface-Views
214
7.2.2 Composite-Interface-Views
217
7.2.3 Consumption-Views
218
7.2.4 Weitere Typen von Views
219
7.3 Namensgebung im virtuellen Datenmodell
221
7.3.1 Feldnamen
221
7.3.2 Namen von VDM-Views
223
7.3.3 Parameternamen
225
7.3.4 Assoziationsnamen
225
7.4 Der Basic-Interface-View für den Kundenauftrag
226
7.4.1 View-Annotationen
226
7.4.2 Aufbau des Views
228
7.4.3 Spezialisierung
229
7.4.4 Feldannotationen
231
7.5 Tipps zum Finden von VDM-Views
232
7.5.1 View-Browser
232
7.5.2 Suche in Eclipse
234
7.5.3 Suche von Views mit bestimmten Annotationen
237
7.5.4 ABAP-Verwendungsnachweis
238
8 Modellierung analytischer Anwendungen
241
8.1 Analysen in SAP S/4HANA
242
8.2 Analytische Views
243
8.2.1 Erster analytischer Cube-View
243
8.2.2 Testumgebung für analytische Views
245
8.2.3 Analytische Cube-Views
248
8.2.4 Analytische Dimensions-Views
251
8.2.5 Analytisches Modell in der Testumgebung
258
8.2.6 Konsistenz des analytischen Modells
261
8.3 Analytische Queries
263
8.3.1 Definition einer analytischen Query
264
8.3.2 Initiales Layout einer Query
266
8.3.3 Filter, Selektionsoptionen, Parameter
269
8.3.4 Berechnung von Kennzahlen
275
8.3.5 Eingeschränkte Kennzahlen
279
8.3.6 Ausnahmeaggregation
280
8.3.7 Queries auf Dimensions-Views
286
8.4 Analytische Infrastruktur
287
9 Modellierung transaktionaler Anwendungen
291
9.1 Transaktionale Anwendungen
292
9.2 Transaktionale Infrastruktur in SAP S/4HANA
293
9.3 Transaktionale Objektmodelle
297
9.3.1 Objektmodelle definieren
297
9.3.2 Transaktionale Objektmodelle definieren
301
9.3.3 Statische Eigenschaften definieren
307
9.3.4 Sperren setzen und prüfen
313
9.3.5 Datenermittlungen und Datenprüfungen implementieren
315
9.3.6 Aktionen modellieren und implementieren
323
9.3.7 Eigenschaften dynamisch steuern
326
9.3.8 Berechtigungsprüfungen implementieren
329
9.3.9 Berechnete Felder definieren
333
9.4 Transaktionale Servicemodelle
335
9.4.1 Transaktionale Servicemodelle definieren
335
9.4.2 OData-Service generieren
340
9.4.3 Berechnete Felder definieren
342
9.4.4 SAP-Fiori-Anwendung definieren
344
10 CDS-basierte Suchfunktionen
351
10.1 Wertehilfen modellieren
351
10.2 Freitext-Suchfunktionen in OData-Services
358
11 Erweiterungen von CDS-Views
365
11.1 Erweiterungsarten und freigegebene CDS-Views
365
11.1.1 Key-User-Erweiterungen
366
11.1.2 Erweiterungen bei einer On-Premise-Installation
366
11.1.3 Freigegebene CDS-Views
367
11.2 CDS-View-Erweiterungen mit eigenen Feldern
368
11.2.1 Erweiterungsfeld
369
11.2.2 View-Stack
371
11.2.3 Indirekte CDS-View-Erweiterungen
373
11.2.4 Erweiterung des Extension-Include-Views
374
11.2.5 Erweiterungsassoziation
377
11.2.6 Upgrade-Stabilität von indirekten CDS-View-Erweiterungen
378
11.3 Einsatz von CDS-View-Erweiterungen
378
11.3.1 Fehlende Erweiterungsassoziation
378
11.3.2 Fehlender Extension-Include-View
379
11.3.3 Fehlende Fremdschlüsselfelder
380
11.3.4 Analytische Query-Views
381
11.3.5 Erweiterung mit Standardfeldern
382
11.3.6 Erweiterung von freigegebenen CDS-Views
383
11.3.7 Erweiterung mit berechneten Feldern
385
12 Testautomatisierung
387
12.1 Grundlagen des Test-Double-Frameworks
388
12.2 Testbeispiel
389
12.3 Implementierung der CDS-Views testen
392
12.3.1 ABAP-Unit-Tests implementieren
394
12.3.2 CDS-Zugriffskontrollen testen
399
12.3.3 CDS-Views mit Konvertierungsfunktionen für Währungen und Mengeneinheiten testen
402
12.3.4 Datenquellen mit Null-Werten testen
405
12.4 ABAP-Logik mit SQL-Zugriffen auf CDS-Views testen
406
13 Problembehandlung
411
13.1 Implementierungsprobleme behandeln
411
13.2 Aktivierungsprobleme behandeln
418
A CDS-Annotationsreferenz
425
B Die Autoren
433
Index
435