- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
If you're developing ABAP applications, you need CDS expertise. This book is your all-in-one guide, updated for SAP S/4HANA 2023! Start by learning to create and edit CDS views. Walk through CDS syntax and see how to define associations and annotations. Further refine your model by implementing access controls, service bindings, and table functions. Understand the CDS-based virtual data model, and then follow step-by-step instructions to model analytical and transactional applications. From modeling to testing to troubleshooting, this is the only book you need!
In this book, you'll learn…mehr
Andere Kunden interessierten sich auch für
- Renzo ColleCore Data Services for ABAP68,99 €
- Lutz BaumbuschABAP RESTful Application Programming Model67,99 €
- Stefan HaasABAP Programming Model for SAP Fiori66,99 €
- Paul HardyABAP to the Future74,99 €
- Rene GlavanovitsFull Stack Development with SAP67,99 €
- Renjith Kumar PalaniswamyOperational Data Provisioning with SAP BW/4HANA74,99 €
- Winfried SchwarzmannTest-Driven Development with ABAP Objects74,99 €
-
-
-
If you're developing ABAP applications, you need CDS expertise. This book is your all-in-one guide, updated for SAP S/4HANA 2023! Start by learning to create and edit CDS views. Walk through CDS syntax and see how to define associations and annotations. Further refine your model by implementing access controls, service bindings, and table functions. Understand the CDS-based virtual data model, and then follow step-by-step instructions to model analytical and transactional applications. From modeling to testing to troubleshooting, this is the only book you need!
In this book, you'll learn about:
a. Creating Data Models
Create data models using CDS! Learn the ins and outs of CDS view syntax, from key fields to joins to data types and beyond. Define associations to establish relationships, use annotations to enrich your logic, implement conditional logic to control access, and more.
b. Modeling Applications
See how CDS views support a new application architecture. Model analytical applications by defining analytical views and queries; then use CDS for transactional applications based on the ABAP RESTful application programming model.
c. Extending, Testing, and Troubleshooting
Put the finishing touches on your CDS data models. Extend and enhance CDS views and transactional models, develop automated tests using the test double framework, and troubleshoot common problems.
Highlights include:
1) Data modeling
2) Application modeling
3) Associations
4) Annotations
5) Access controls
6) Business services
7) SAP HANA functions
8) Virtual data model
9) Analytical and transactional applications
10) Hierarchies
11) Extensibility
12) Testing and troubleshooting
In this book, you'll learn about:
a. Creating Data Models
Create data models using CDS! Learn the ins and outs of CDS view syntax, from key fields to joins to data types and beyond. Define associations to establish relationships, use annotations to enrich your logic, implement conditional logic to control access, and more.
b. Modeling Applications
See how CDS views support a new application architecture. Model analytical applications by defining analytical views and queries; then use CDS for transactional applications based on the ABAP RESTful application programming model.
c. Extending, Testing, and Troubleshooting
Put the finishing touches on your CDS data models. Extend and enhance CDS views and transactional models, develop automated tests using the test double framework, and troubleshoot common problems.
Highlights include:
1) Data modeling
2) Application modeling
3) Associations
4) Annotations
5) Access controls
6) Business services
7) SAP HANA functions
8) Virtual data model
9) Analytical and transactional applications
10) Hierarchies
11) Extensibility
12) Testing and troubleshooting
Produktdetails
- Produktdetails
- SAP PRESS Englisch
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/22376
- 3. Aufl.
- Seitenzahl: 754
- Erscheinungstermin: 6. März 2024
- Englisch
- Abmessung: 259mm x 185mm x 50mm
- Gewicht: 1750g
- ISBN-13: 9781493223763
- ISBN-10: 1493223763
- Artikelnr.: 68546678
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- SAP PRESS Englisch
- Verlag: Rheinwerk Verlag / SAP PRESS
- Artikelnr. des Verlages: 459/22376
- 3. Aufl.
- Seitenzahl: 754
- Erscheinungstermin: 6. März 2024
- Englisch
- Abmessung: 259mm x 185mm x 50mm
- Gewicht: 1750g
- ISBN-13: 9781493223763
- ISBN-10: 1493223763
- Artikelnr.: 68546678
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
Renzo Colle is currently responsible for the end-to-end programming model of SAP S/4HANA in the central architecture group. He studied business mathematics at the Karlsruhe Institute of Technology (https://www.kit.edu/english) and has worked at SAP for more than 25 years in a wide variety of areas and roles. He started his career at SAP as a developer in strategic customer development. In SAP Business ByDesign, he was responsible for logistics and lead architect of the SAP ByDesign platform for cloud applications. As the inventor of the Business Object Processing Framework (BOPF) and lead architect of the ABAP RESTful application programming model, he has worked on model-driven software development and transactional applications for more than 20 years. Further information about Renzo can be found at https://de.linkedin.com/in/renzo-colle-30804ba1/de.
... Preface ... 17
... Structure of the Book ... 19
... Acknowledgments ... 22
1 ... Modeling Your First CDS Views ... 23
1.1 ... Define the Data Model of the Application ... 24
1.2 ... Implement the Data Model of the Application ... 26
1.3 ... Summary ... 52
2 ... Fundamentals of CDS Data Modeling ... 53
2.1 ... Overview of CDS Models ... 54
2.2 ... Overview of CDS View Syntax ... 58
2.3 ... Key Fields ... 61
2.4 ... Cast Operations ... 62
2.5 ... Typed Literals ... 64
2.6 ... Simple Types ... 66
2.7 ... Case Statements ... 68
2.8 ... Session Variables ... 69
2.9 ... Client Handling ... 71
2.10 ... Select Distinct Statements ... 72
2.11 ... Union Views ... 73
2.12 ... Intersect and Except Statements ... 79
2.13 ... Joins ... 81
2.14 ... SQL Aggregation Functions ... 87
2.15 ... Projection Fields ... 89
2.16 ... Parameters ... 91
2.17 ... Reference Fields ... 96
2.18 ... Conversion Functions for Currencies and Quantity Units ... 99
2.19 ... Provider Contracts ... 102
2.20 ... Entity Buffer Definitions ... 104
2.21 ... Summary ... 106
3 ... Associations ... 107
3.1 ... Define Associations ... 108
3.2 ... Expose Associations ... 111
3.3 ... Model Compositional Relations ... 111
3.4 ... Model M:N Relations ... 114
3.5 ... Project Associations ... 117
3.6 ... Use Associations in CDS Views ... 118
3.7 ... Use Associations in ABAP Code ... 129
3.8 ... Summary ... 129
4 ... Annotations ... 131
4.1 ... Annotation Definitions ... 132
4.2 ... Effects of Annotations ... 143
4.3 ... Propagation Logic for Annotations ... 145
4.4 ... Metadata Extensions ... 155
4.5 ... Active Annotations ... 158
4.6 ... Summary ... 160
5 ... Access Controls ... 161
5.1 ... Fundamentals of Access Controls ... 162
5.2 ... Mode of Action of Access Controls ... 166
5.3 ... Implementation Patterns for Access Controls ... 171
5.4 ... Test Access Controls ... 207
5.5 ... Summary ... 210
6 ... Business Services ... 211
6.1 ... Projection Views ... 212
6.2 ... Service Definitions ... 216
6.3 ... Service Bindings ... 221
6.4 ... Testing Business Services ... 230
6.5 ... Summary ... 233
7 ... Native SAP HANA Functions in CDS ... 235
7.1 ... Implementation of a CDS Table Function ... 236
7.2 ... Application Scenarios ... 244
7.3 ... Improve Performance and Avoid Errors ... 245
7.4 ... Summary ... 247
8 ... Modeling Application Data ... 249
8.1 ... Application Architecture in SAP S/4HANA ... 250
8.2 ... Field Labels ... 253
8.3 ... Field Semantics ... 257
8.4 ... Foreign Key Relations ... 262
8.5 ... Text Relations ... 267
8.6 ... Composition Relations ... 270
8.7 ... Time-Dependent Data ... 272
8.8 ... Summary ... 274
9 ... The Virtual Data Model of SAP S/4HANA ... 275
9.1 ... Why a Virtual Data Model? ... 276
9.2 ... SAP Object Types and Object Node Types ... 277
9.3 ... Categories of CDS Entities in the Virtual Data Model ... 280
9.4 ... Naming in the Virtual Data Model ... 285
9.5 ... Basic Interface View for the Sales Order ... 288
9.6 ... Tips for Finding Virtual Data Model Views ... 295
9.7 ... Summary ... 301
10 ... Modeling Analytical Applications ... 303
10.1 ... Analytics in SAP S/4HANA ... 303
10.2 ... Analytical Views ... 305
10.3 ... Analytical Queries ... 325
10.4 ... Analytical Infrastructure ... 356
10.5 ... Summary ... 359
11 ... Modeling Transactional Applications ... 361
11.1 ... Transactional Applications ... 362
11.2 ... Transactional Infrastructure in SAP S/4HANA ... 363
11.3 ... Transactional Object Models ... 366
11.4 ... Behavior Definitions ... 372
11.5 ... Transactional Projection Object Models ... 467
11.6 ... Define Interface Behavior Definition ... 477
11.7 ... Define Projection Behavior Definition ... 484
11.8 ... Runtime Orchestration ... 492
11.9 ... SAP Fiori and OData Consumption ... 498
11.10 ... SAP Event Mesh and Local Event Handlers ... 510
11.11 ... Summary ... 513
12 ... Hierarchies in CDS ... 515
12.1 ... Hierarchy Categories and Basics ... 516
12.2 ... Annotation-Based Parent-Child Hierarchies ... 517
12.3 ... CDS Hierarchies ... 526
12.4 ... Summary ... 548
13 ... CDS-Based Search Functionality ... 549
13.1 ... Modeling Value Helps ... 550
13.2 ... Free-Text Search Functionality in OData Services ... 570
13.3 ... Enterprise Search Functionality ... 578
13.4 ... Summary ... 583
14 ... Lifecycle and Stability ... 585
14.1 ... Stability Contracts ... 586
14.2 ... Lifecycle of Development Objects ... 590
14.3 ... Deprecation of Development Objects ... 592
14.4 ... Use of CDS Models and Supported Capabilities ... 594
14.5 ... Summary ... 598
15 ... Extensions of CDS Views and Other Entities ... 599
15.1 ... Solution Variants and ABAP Language Versions ... 600
15.2 ... Stable CDS Extensions ... 602
15.3 ... Extensions of Transactional Models ... 615
15.4 ... Summary ... 628
16 ... Automated Testing ... 631
16.1 ... Test Logic of Data Selections ... 631
16.2 ... Test Logic of Transactional Applications ... 658
16.3 ... Summary ... 670
17 ... Troubleshooting ... 671
17.1 ... Performance Aspects ... 671
17.2 ... Pitfalls ... 687
17.3 ... Troubleshoot Implementations of CDS Models ... 698
17.4 ... Troubleshoot Activation Issues ... 706
17.5 ... Examine ABAP RESTful Application Programming Model Applications ... 711
17.6 ... Summary ... 714
... Appendices ... 715
A ... CDS Annotation Reference ... 717
B ... Migration to the ABAP RESTful Application Programming Model ... 729
C ... The Authors ... 737
... Index ... 739
... Structure of the Book ... 19
... Acknowledgments ... 22
1 ... Modeling Your First CDS Views ... 23
1.1 ... Define the Data Model of the Application ... 24
1.2 ... Implement the Data Model of the Application ... 26
1.3 ... Summary ... 52
2 ... Fundamentals of CDS Data Modeling ... 53
2.1 ... Overview of CDS Models ... 54
2.2 ... Overview of CDS View Syntax ... 58
2.3 ... Key Fields ... 61
2.4 ... Cast Operations ... 62
2.5 ... Typed Literals ... 64
2.6 ... Simple Types ... 66
2.7 ... Case Statements ... 68
2.8 ... Session Variables ... 69
2.9 ... Client Handling ... 71
2.10 ... Select Distinct Statements ... 72
2.11 ... Union Views ... 73
2.12 ... Intersect and Except Statements ... 79
2.13 ... Joins ... 81
2.14 ... SQL Aggregation Functions ... 87
2.15 ... Projection Fields ... 89
2.16 ... Parameters ... 91
2.17 ... Reference Fields ... 96
2.18 ... Conversion Functions for Currencies and Quantity Units ... 99
2.19 ... Provider Contracts ... 102
2.20 ... Entity Buffer Definitions ... 104
2.21 ... Summary ... 106
3 ... Associations ... 107
3.1 ... Define Associations ... 108
3.2 ... Expose Associations ... 111
3.3 ... Model Compositional Relations ... 111
3.4 ... Model M:N Relations ... 114
3.5 ... Project Associations ... 117
3.6 ... Use Associations in CDS Views ... 118
3.7 ... Use Associations in ABAP Code ... 129
3.8 ... Summary ... 129
4 ... Annotations ... 131
4.1 ... Annotation Definitions ... 132
4.2 ... Effects of Annotations ... 143
4.3 ... Propagation Logic for Annotations ... 145
4.4 ... Metadata Extensions ... 155
4.5 ... Active Annotations ... 158
4.6 ... Summary ... 160
5 ... Access Controls ... 161
5.1 ... Fundamentals of Access Controls ... 162
5.2 ... Mode of Action of Access Controls ... 166
5.3 ... Implementation Patterns for Access Controls ... 171
5.4 ... Test Access Controls ... 207
5.5 ... Summary ... 210
6 ... Business Services ... 211
6.1 ... Projection Views ... 212
6.2 ... Service Definitions ... 216
6.3 ... Service Bindings ... 221
6.4 ... Testing Business Services ... 230
6.5 ... Summary ... 233
7 ... Native SAP HANA Functions in CDS ... 235
7.1 ... Implementation of a CDS Table Function ... 236
7.2 ... Application Scenarios ... 244
7.3 ... Improve Performance and Avoid Errors ... 245
7.4 ... Summary ... 247
8 ... Modeling Application Data ... 249
8.1 ... Application Architecture in SAP S/4HANA ... 250
8.2 ... Field Labels ... 253
8.3 ... Field Semantics ... 257
8.4 ... Foreign Key Relations ... 262
8.5 ... Text Relations ... 267
8.6 ... Composition Relations ... 270
8.7 ... Time-Dependent Data ... 272
8.8 ... Summary ... 274
9 ... The Virtual Data Model of SAP S/4HANA ... 275
9.1 ... Why a Virtual Data Model? ... 276
9.2 ... SAP Object Types and Object Node Types ... 277
9.3 ... Categories of CDS Entities in the Virtual Data Model ... 280
9.4 ... Naming in the Virtual Data Model ... 285
9.5 ... Basic Interface View for the Sales Order ... 288
9.6 ... Tips for Finding Virtual Data Model Views ... 295
9.7 ... Summary ... 301
10 ... Modeling Analytical Applications ... 303
10.1 ... Analytics in SAP S/4HANA ... 303
10.2 ... Analytical Views ... 305
10.3 ... Analytical Queries ... 325
10.4 ... Analytical Infrastructure ... 356
10.5 ... Summary ... 359
11 ... Modeling Transactional Applications ... 361
11.1 ... Transactional Applications ... 362
11.2 ... Transactional Infrastructure in SAP S/4HANA ... 363
11.3 ... Transactional Object Models ... 366
11.4 ... Behavior Definitions ... 372
11.5 ... Transactional Projection Object Models ... 467
11.6 ... Define Interface Behavior Definition ... 477
11.7 ... Define Projection Behavior Definition ... 484
11.8 ... Runtime Orchestration ... 492
11.9 ... SAP Fiori and OData Consumption ... 498
11.10 ... SAP Event Mesh and Local Event Handlers ... 510
11.11 ... Summary ... 513
12 ... Hierarchies in CDS ... 515
12.1 ... Hierarchy Categories and Basics ... 516
12.2 ... Annotation-Based Parent-Child Hierarchies ... 517
12.3 ... CDS Hierarchies ... 526
12.4 ... Summary ... 548
13 ... CDS-Based Search Functionality ... 549
13.1 ... Modeling Value Helps ... 550
13.2 ... Free-Text Search Functionality in OData Services ... 570
13.3 ... Enterprise Search Functionality ... 578
13.4 ... Summary ... 583
14 ... Lifecycle and Stability ... 585
14.1 ... Stability Contracts ... 586
14.2 ... Lifecycle of Development Objects ... 590
14.3 ... Deprecation of Development Objects ... 592
14.4 ... Use of CDS Models and Supported Capabilities ... 594
14.5 ... Summary ... 598
15 ... Extensions of CDS Views and Other Entities ... 599
15.1 ... Solution Variants and ABAP Language Versions ... 600
15.2 ... Stable CDS Extensions ... 602
15.3 ... Extensions of Transactional Models ... 615
15.4 ... Summary ... 628
16 ... Automated Testing ... 631
16.1 ... Test Logic of Data Selections ... 631
16.2 ... Test Logic of Transactional Applications ... 658
16.3 ... Summary ... 670
17 ... Troubleshooting ... 671
17.1 ... Performance Aspects ... 671
17.2 ... Pitfalls ... 687
17.3 ... Troubleshoot Implementations of CDS Models ... 698
17.4 ... Troubleshoot Activation Issues ... 706
17.5 ... Examine ABAP RESTful Application Programming Model Applications ... 711
17.6 ... Summary ... 714
... Appendices ... 715
A ... CDS Annotation Reference ... 717
B ... Migration to the ABAP RESTful Application Programming Model ... 729
C ... The Authors ... 737
... Index ... 739
... Preface ... 17
... Structure of the Book ... 19
... Acknowledgments ... 22
1 ... Modeling Your First CDS Views ... 23
1.1 ... Define the Data Model of the Application ... 24
1.2 ... Implement the Data Model of the Application ... 26
1.3 ... Summary ... 52
2 ... Fundamentals of CDS Data Modeling ... 53
2.1 ... Overview of CDS Models ... 54
2.2 ... Overview of CDS View Syntax ... 58
2.3 ... Key Fields ... 61
2.4 ... Cast Operations ... 62
2.5 ... Typed Literals ... 64
2.6 ... Simple Types ... 66
2.7 ... Case Statements ... 68
2.8 ... Session Variables ... 69
2.9 ... Client Handling ... 71
2.10 ... Select Distinct Statements ... 72
2.11 ... Union Views ... 73
2.12 ... Intersect and Except Statements ... 79
2.13 ... Joins ... 81
2.14 ... SQL Aggregation Functions ... 87
2.15 ... Projection Fields ... 89
2.16 ... Parameters ... 91
2.17 ... Reference Fields ... 96
2.18 ... Conversion Functions for Currencies and Quantity Units ... 99
2.19 ... Provider Contracts ... 102
2.20 ... Entity Buffer Definitions ... 104
2.21 ... Summary ... 106
3 ... Associations ... 107
3.1 ... Define Associations ... 108
3.2 ... Expose Associations ... 111
3.3 ... Model Compositional Relations ... 111
3.4 ... Model M:N Relations ... 114
3.5 ... Project Associations ... 117
3.6 ... Use Associations in CDS Views ... 118
3.7 ... Use Associations in ABAP Code ... 129
3.8 ... Summary ... 129
4 ... Annotations ... 131
4.1 ... Annotation Definitions ... 132
4.2 ... Effects of Annotations ... 143
4.3 ... Propagation Logic for Annotations ... 145
4.4 ... Metadata Extensions ... 155
4.5 ... Active Annotations ... 158
4.6 ... Summary ... 160
5 ... Access Controls ... 161
5.1 ... Fundamentals of Access Controls ... 162
5.2 ... Mode of Action of Access Controls ... 166
5.3 ... Implementation Patterns for Access Controls ... 171
5.4 ... Test Access Controls ... 207
5.5 ... Summary ... 210
6 ... Business Services ... 211
6.1 ... Projection Views ... 212
6.2 ... Service Definitions ... 216
6.3 ... Service Bindings ... 221
6.4 ... Testing Business Services ... 230
6.5 ... Summary ... 233
7 ... Native SAP HANA Functions in CDS ... 235
7.1 ... Implementation of a CDS Table Function ... 236
7.2 ... Application Scenarios ... 244
7.3 ... Improve Performance and Avoid Errors ... 245
7.4 ... Summary ... 247
8 ... Modeling Application Data ... 249
8.1 ... Application Architecture in SAP S/4HANA ... 250
8.2 ... Field Labels ... 253
8.3 ... Field Semantics ... 257
8.4 ... Foreign Key Relations ... 262
8.5 ... Text Relations ... 267
8.6 ... Composition Relations ... 270
8.7 ... Time-Dependent Data ... 272
8.8 ... Summary ... 274
9 ... The Virtual Data Model of SAP S/4HANA ... 275
9.1 ... Why a Virtual Data Model? ... 276
9.2 ... SAP Object Types and Object Node Types ... 277
9.3 ... Categories of CDS Entities in the Virtual Data Model ... 280
9.4 ... Naming in the Virtual Data Model ... 285
9.5 ... Basic Interface View for the Sales Order ... 288
9.6 ... Tips for Finding Virtual Data Model Views ... 295
9.7 ... Summary ... 301
10 ... Modeling Analytical Applications ... 303
10.1 ... Analytics in SAP S/4HANA ... 303
10.2 ... Analytical Views ... 305
10.3 ... Analytical Queries ... 325
10.4 ... Analytical Infrastructure ... 356
10.5 ... Summary ... 359
11 ... Modeling Transactional Applications ... 361
11.1 ... Transactional Applications ... 362
11.2 ... Transactional Infrastructure in SAP S/4HANA ... 363
11.3 ... Transactional Object Models ... 366
11.4 ... Behavior Definitions ... 372
11.5 ... Transactional Projection Object Models ... 467
11.6 ... Define Interface Behavior Definition ... 477
11.7 ... Define Projection Behavior Definition ... 484
11.8 ... Runtime Orchestration ... 492
11.9 ... SAP Fiori and OData Consumption ... 498
11.10 ... SAP Event Mesh and Local Event Handlers ... 510
11.11 ... Summary ... 513
12 ... Hierarchies in CDS ... 515
12.1 ... Hierarchy Categories and Basics ... 516
12.2 ... Annotation-Based Parent-Child Hierarchies ... 517
12.3 ... CDS Hierarchies ... 526
12.4 ... Summary ... 548
13 ... CDS-Based Search Functionality ... 549
13.1 ... Modeling Value Helps ... 550
13.2 ... Free-Text Search Functionality in OData Services ... 570
13.3 ... Enterprise Search Functionality ... 578
13.4 ... Summary ... 583
14 ... Lifecycle and Stability ... 585
14.1 ... Stability Contracts ... 586
14.2 ... Lifecycle of Development Objects ... 590
14.3 ... Deprecation of Development Objects ... 592
14.4 ... Use of CDS Models and Supported Capabilities ... 594
14.5 ... Summary ... 598
15 ... Extensions of CDS Views and Other Entities ... 599
15.1 ... Solution Variants and ABAP Language Versions ... 600
15.2 ... Stable CDS Extensions ... 602
15.3 ... Extensions of Transactional Models ... 615
15.4 ... Summary ... 628
16 ... Automated Testing ... 631
16.1 ... Test Logic of Data Selections ... 631
16.2 ... Test Logic of Transactional Applications ... 658
16.3 ... Summary ... 670
17 ... Troubleshooting ... 671
17.1 ... Performance Aspects ... 671
17.2 ... Pitfalls ... 687
17.3 ... Troubleshoot Implementations of CDS Models ... 698
17.4 ... Troubleshoot Activation Issues ... 706
17.5 ... Examine ABAP RESTful Application Programming Model Applications ... 711
17.6 ... Summary ... 714
... Appendices ... 715
A ... CDS Annotation Reference ... 717
B ... Migration to the ABAP RESTful Application Programming Model ... 729
C ... The Authors ... 737
... Index ... 739
... Structure of the Book ... 19
... Acknowledgments ... 22
1 ... Modeling Your First CDS Views ... 23
1.1 ... Define the Data Model of the Application ... 24
1.2 ... Implement the Data Model of the Application ... 26
1.3 ... Summary ... 52
2 ... Fundamentals of CDS Data Modeling ... 53
2.1 ... Overview of CDS Models ... 54
2.2 ... Overview of CDS View Syntax ... 58
2.3 ... Key Fields ... 61
2.4 ... Cast Operations ... 62
2.5 ... Typed Literals ... 64
2.6 ... Simple Types ... 66
2.7 ... Case Statements ... 68
2.8 ... Session Variables ... 69
2.9 ... Client Handling ... 71
2.10 ... Select Distinct Statements ... 72
2.11 ... Union Views ... 73
2.12 ... Intersect and Except Statements ... 79
2.13 ... Joins ... 81
2.14 ... SQL Aggregation Functions ... 87
2.15 ... Projection Fields ... 89
2.16 ... Parameters ... 91
2.17 ... Reference Fields ... 96
2.18 ... Conversion Functions for Currencies and Quantity Units ... 99
2.19 ... Provider Contracts ... 102
2.20 ... Entity Buffer Definitions ... 104
2.21 ... Summary ... 106
3 ... Associations ... 107
3.1 ... Define Associations ... 108
3.2 ... Expose Associations ... 111
3.3 ... Model Compositional Relations ... 111
3.4 ... Model M:N Relations ... 114
3.5 ... Project Associations ... 117
3.6 ... Use Associations in CDS Views ... 118
3.7 ... Use Associations in ABAP Code ... 129
3.8 ... Summary ... 129
4 ... Annotations ... 131
4.1 ... Annotation Definitions ... 132
4.2 ... Effects of Annotations ... 143
4.3 ... Propagation Logic for Annotations ... 145
4.4 ... Metadata Extensions ... 155
4.5 ... Active Annotations ... 158
4.6 ... Summary ... 160
5 ... Access Controls ... 161
5.1 ... Fundamentals of Access Controls ... 162
5.2 ... Mode of Action of Access Controls ... 166
5.3 ... Implementation Patterns for Access Controls ... 171
5.4 ... Test Access Controls ... 207
5.5 ... Summary ... 210
6 ... Business Services ... 211
6.1 ... Projection Views ... 212
6.2 ... Service Definitions ... 216
6.3 ... Service Bindings ... 221
6.4 ... Testing Business Services ... 230
6.5 ... Summary ... 233
7 ... Native SAP HANA Functions in CDS ... 235
7.1 ... Implementation of a CDS Table Function ... 236
7.2 ... Application Scenarios ... 244
7.3 ... Improve Performance and Avoid Errors ... 245
7.4 ... Summary ... 247
8 ... Modeling Application Data ... 249
8.1 ... Application Architecture in SAP S/4HANA ... 250
8.2 ... Field Labels ... 253
8.3 ... Field Semantics ... 257
8.4 ... Foreign Key Relations ... 262
8.5 ... Text Relations ... 267
8.6 ... Composition Relations ... 270
8.7 ... Time-Dependent Data ... 272
8.8 ... Summary ... 274
9 ... The Virtual Data Model of SAP S/4HANA ... 275
9.1 ... Why a Virtual Data Model? ... 276
9.2 ... SAP Object Types and Object Node Types ... 277
9.3 ... Categories of CDS Entities in the Virtual Data Model ... 280
9.4 ... Naming in the Virtual Data Model ... 285
9.5 ... Basic Interface View for the Sales Order ... 288
9.6 ... Tips for Finding Virtual Data Model Views ... 295
9.7 ... Summary ... 301
10 ... Modeling Analytical Applications ... 303
10.1 ... Analytics in SAP S/4HANA ... 303
10.2 ... Analytical Views ... 305
10.3 ... Analytical Queries ... 325
10.4 ... Analytical Infrastructure ... 356
10.5 ... Summary ... 359
11 ... Modeling Transactional Applications ... 361
11.1 ... Transactional Applications ... 362
11.2 ... Transactional Infrastructure in SAP S/4HANA ... 363
11.3 ... Transactional Object Models ... 366
11.4 ... Behavior Definitions ... 372
11.5 ... Transactional Projection Object Models ... 467
11.6 ... Define Interface Behavior Definition ... 477
11.7 ... Define Projection Behavior Definition ... 484
11.8 ... Runtime Orchestration ... 492
11.9 ... SAP Fiori and OData Consumption ... 498
11.10 ... SAP Event Mesh and Local Event Handlers ... 510
11.11 ... Summary ... 513
12 ... Hierarchies in CDS ... 515
12.1 ... Hierarchy Categories and Basics ... 516
12.2 ... Annotation-Based Parent-Child Hierarchies ... 517
12.3 ... CDS Hierarchies ... 526
12.4 ... Summary ... 548
13 ... CDS-Based Search Functionality ... 549
13.1 ... Modeling Value Helps ... 550
13.2 ... Free-Text Search Functionality in OData Services ... 570
13.3 ... Enterprise Search Functionality ... 578
13.4 ... Summary ... 583
14 ... Lifecycle and Stability ... 585
14.1 ... Stability Contracts ... 586
14.2 ... Lifecycle of Development Objects ... 590
14.3 ... Deprecation of Development Objects ... 592
14.4 ... Use of CDS Models and Supported Capabilities ... 594
14.5 ... Summary ... 598
15 ... Extensions of CDS Views and Other Entities ... 599
15.1 ... Solution Variants and ABAP Language Versions ... 600
15.2 ... Stable CDS Extensions ... 602
15.3 ... Extensions of Transactional Models ... 615
15.4 ... Summary ... 628
16 ... Automated Testing ... 631
16.1 ... Test Logic of Data Selections ... 631
16.2 ... Test Logic of Transactional Applications ... 658
16.3 ... Summary ... 670
17 ... Troubleshooting ... 671
17.1 ... Performance Aspects ... 671
17.2 ... Pitfalls ... 687
17.3 ... Troubleshoot Implementations of CDS Models ... 698
17.4 ... Troubleshoot Activation Issues ... 706
17.5 ... Examine ABAP RESTful Application Programming Model Applications ... 711
17.6 ... Summary ... 714
... Appendices ... 715
A ... CDS Annotation Reference ... 717
B ... Migration to the ABAP RESTful Application Programming Model ... 729
C ... The Authors ... 737
... Index ... 739