Fr. 114.00

ABAP RESTful Application Programming Model

English · Hardback

New edition in preparation, currently unavailable

Description

Read more

The ABAP RESTful application programming model (RAP) is the cornerstone of modern development for SAP-get on the cutting edge with this guide! Develop applications from the ground up, from data modeling with CDS to interface generation with SAP Fiori elements. Walk through concrete use cases, including managed and unmanaged scenarios, and then adapt your applications to the SAP BTP, ABAP environment. You're on your way to working with RAP!

In this book, you'll learn about:

a. The Programming Model
Master the building blocks of the model. Understand REST architecture, work with CDS view entities, implement behaviors, and more. Learn about new features such as the business object interface and extensibility.

b. End-to-End Application Development
Develop applications for SAP S/4HANA and SAP BTP, step by step. Start by building your data model, and then create behavior definitions, implement functions, define business services, and generate your user interface.

c. Practical Scenarios
Apply RAP to suit your development needs. Create an application in a custom managed scenario, and then see how to integrate standard SAP functions. If you want to reuse source code, learn to adapt legacy applications for RAP in an unmanaged scenario.

Highlights include:
1) Application development
2) Managed and unmanaged scenarios
3) Core data services (CDS)
4) Behavior definition
5) Entity manipulation language (EML)
6) Behavior implementation
7) Business services
8) Business object extensibility
9) SAP Fiori elements
10) SAP BTP, ABAP environment

List of contents

... Foreword ... 17

... Preface ... 19

... Acknowledgments ... 22

PART I ... Basic Concepts and Technical Components ... 23

1 ... Introduction to the ABAP RESTful Application Programming Model ... 25

1.1 ... What Is the ABAP RESTful Application Programming Model? ... 26

1.2 ... Architecture and Concepts of the ABAP RESTful Application Programming Model ... 42

1.3 ... Development Objects of the ABAP RESTful Application Programming Model ... 48

1.4 ... ABAP Development Tools as a Development Tool ... 52

1.5 ... Quality Attributes of the ABAP RESTful Application Programming Model ... 54

1.6 ... Availability of the ABAP RESTful Application Programming Model ... 57

1.7 ... The Role of RAP in the ABAP Cloud Development Model ... 60

2 ... Core Data Services: Data Modeling ... 65

2.1 ... What Are Core Data Services? ... 66

2.2 ... Structure and Syntax of CDS ... 69

2.3 ... Associations ... 83

2.4 ... Annotations ... 86

2.5 ... Access Controls ... 91

2.6 ... Extensibility of CDS Entities ... 96

2.7 ... Additional CDS Functionality ... 103

2.8 ... Virtual Data Model ... 110

2.9 ... CDS Language Elements for Modeling Business Objects ... 114

3 ... Behavior Definition ... 119

3.1 ... What Is a Behavior Definition? ... 119

3.2 ... Editing a Behavior Definition in ABAP Development Tools ... 131

3.3 ... Implementation Types ... 139

3.4 ... Strict Mode ... 144

3.5 ... Entity Behavior Definition ... 145

3.6 ... Defining a Behavior Pool ... 146

3.7 ... Numbering Assignment ... 148

3.8 ... Field Properties ... 152

3.9 ... Field Mappings ... 155

3.10 ... Standard Operations for a CDS Entity ... 157

3.11 ... Specific Operations for a CDS Entity ... 160

3.12 ... Concurrency and Locking Behavior ... 173

3.13 ... Internal Business Logic ... 177

3.14 ... Authorization Checks ... 187

3.15 ... Draft Handling ... 192

3.16 ... Events ... 204

3.17 ... Overarching Concepts ... 207

4 ... Entity Manipulation Language: Accessing Business Logic ... 215

4.1 ... Data Types ... 216

4.2 ... EML Operations ... 219

4.3 ... Using the EML Outside of Behavior Implementations ... 229

4.4 ... Concrete Use Cases ... 232

5 ... Behavior Implementation ... 239

5.1 ... Business Object Provider API ... 239

5.2 ... Runtime Behavior of the ABAP RESTful Application Programming Model ... 240

5.3 ... Interfaces for the Interaction Handler and the Save Handler ... 243

5.4 ... Interaction Handler ... 244

5.5 ... Save Handler ... 265

5.6 ... Events ... 274

6 ... Business Services ... 281

6.1 ... Projection Layer ... 282

6.2 ... Service Definition ... 285

6.3 ... Service Binding ... 285

6.4 ... Testing Business Services in SAP Gateway Client ... 289

6.5 ... Testing UI Services Using the SAP Fiori Elements Preview ... 292

6.6 ... Business Object Interfaces ... 293

7 ... Extensibility of Business Objects ... 301

7.1 ... Introduction to the Extensibility Concept ... 301

7.2 ... Extension Options ... 305

7.3 ... Extending a Standard Business Object ... 320

8 ... Application Interfaces and SAP Fiori Elements ... 347

8.1 ... Development Tools ... 347

8.2 ... SAP Fiori Elements UIs for RAP Applications ... 351

PART II ... Practical Application Development ... 383

9 ... Use Cases ... 385

9.1 ... Areas of Use for the ABAP RESTful Application Programming Model ... 385

9.2 ... Implementation Types ... 386

9.3 ... Decision Criteria for Selecting the Implementation Type ... 387

10 ... Managed Scenario: Developing an Application with SAP Fiori Elements ... 391

10.1 ... Description of the Use Case ... 392

10.2 ... Building the Data Model ... 392

10.3 ... Creating Behavior Definitions ... 405

10.4 ... Defining a Business Service ... 411

10.5 ... Creating an SAP Fiori Elements User Interface ... 416

10.6 ... Enrichment with a Determination ... 424

10.7 ... Enrichment with a Validation ... 428

10.8 ... Enrichment with an Action ... 432

10.9 ... Generation and Deployment of the App ... 434

10.10 ... File Upload ... 442

11 ... Managed Scenario with Unmanaged Save: Integrating an Existing Application ... 445

11.1 ... Description of the Use Case ... 446

11.2 ... Building the Data Model ... 449

11.3 ... Creating a Behavior Definition ... 460

11.4 ... Implementing the Create Purchase Order Function ... 463

11.5 ... Implementing the Delete Purchase Order Function ... 487

11.6 ... Defining Business Services ... 492

11.7 ... Implementing Authorization Checks ... 495

11.8 ... Creating an SAP Fiori Elements User Interface ... 500

12 ... Unmanaged Scenario: Reusing Existing Source Code ... 505

12.1 ... Description of the Use Case ... 505

12.2 ... Description of the Existing Application ... 507

12.3 ... Extending the Data Model ... 513

12.4 ... Creating a Behavior Definition ... 519

12.5 ... Creating a Behavior Implementation ... 523

12.6 ... Defining a Business Service ... 537

13 ... Special Features in the Cloud Environment ... 541

13.1 ... Basic Technical Principles ... 542

13.2 ... Identity and Access Management ... 548

13.3 ... Deploying SAP Fiori Apps and Assigning Authorizations ... 551

13.4 ... Consuming Business Services ... 558

... Bibliography ... 563

... The Authors ... 565

... Index ... 567

About the author

Lutz Baumbusch has worked as an SAP developer since 2000 and has been responsible for international SAP projects in various roles and areas. At All for One Group SE, he prepares current developer topics for internal and external training in the ABAP Cloud Development team. He studied at the Karlsruhe Institute of Technology.Matthias Jäger is a freelance full-stack ABAP developer, architect, and trainer (erp-developer.com). Previously, he worked for many years at All for One Group SE in the Solution Development team, where he developed ABAP-based software products. He has extensive experience in software development, creatively leveraging the ABAP platform, including combining it with non-SAP technologies. He began his career in 2004 as an SAP developer and developer of a Java-based software product and subsequently worked on various SAP implementation projects. Since 2011, he has been a regular guest lecturer at DHBW Stuttgart. He studied business informatics in Heidenheim as part of a dual degree program.Michael Lensch leads a team of SAP developers at All for One Group SE. As development manager, he is responsible for development in SAP S/4HANA implementation projects in Germany and abroad. Since 2023, he has been a guest lecturer at DHBW Heilbronn, specializing in the ABAP RESTful application programming model. He studied computer science at Trier University of Applied Sciences.

Summary

The ABAP RESTful application programming model (RAP) is the cornerstone of modern development for SAP—get on the cutting edge with this guide! Develop applications from the ground up, from data modeling with CDS to interface generation with SAP Fiori elements. Walk through concrete use cases, including managed and unmanaged scenarios, and then adapt your applications to the SAP BTP, ABAP environment. You’re on your way to working with RAP!

In this book, you’ll learn about:

a. The Programming Model
Master the building blocks of the model. Understand REST architecture, work with CDS view entities, implement behaviors, and more. Learn about new features such as the business object interface and extensibility.

b. End-to-End Application Development
Develop applications for SAP S/4HANA and SAP BTP, step by step. Start by building your data model, and then create behavior definitions, implement functions, define business services, and generate your user interface.

c. Practical Scenarios
Apply RAP to suit your development needs. Create an application in a custom managed scenario, and then see how to integrate standard SAP functions. If you want to reuse source code, learn to adapt legacy applications for RAP in an unmanaged scenario.

Highlights include:
1) Application development
2) Managed and unmanaged scenarios
3) Core data services (CDS)
4) Behavior definition
5) Entity manipulation language (EML)
6) Behavior implementation
7) Business services
8) Business object extensibility
9) SAP Fiori elements
10) SAP BTP, ABAP environment

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.