ABAP RESTful Application Programming Model
Información
- Editorial: SAP PRESS
- Autores: Lutz Baumbusch, Matthias Jäger, Michael Lensch
- Año: 2025
- Edición: 2
- Páginas: 576
- Idioma: Inglés
Descripción
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!
- Develop ABAP applications for SAP S/4HANA and SAP BTP
- Use key tools and technologies, including core data services and SAP Fiori
- Get step-by-step guidance for modeling data, implementing behaviors, developing user interfaces, and more
Aspectos Destacados
- Application development
- Managed and unmanaged scenarios
- Core data services (CDS)
- Behavior definition
- Entity manipulation language (EML)
- Behavior implementation
- Business services
- Business object extensibility
- SAP Fiori elements
- SAP BTP, ABAP environment
Aprenderás sobre
- 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.
- 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.
- 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.
Tabla de Contenidos
- PART I Basic Concepts and Technical Components
- 1 Introduction to the ABAP RESTful Application Programming Model
- 1.1 What Is the ABAP RESTful Application Programming Model?
- 1.1.1 The Purpose of the Programming Model
- 1.1.2 The REST Architectural Style
- 1.1.3 OData
- 1.1.4 Technological Innovations with SAP S/4HANA
- 1.1.5 Evolution of ABAP-Based Programming Models
- 1.2 Architecture and Concepts of the ABAP RESTful Application Programming Model
- 1.2.1 RAP Transaction Model
- 1.2.2 Implementation Types
- 1.2.3 Entity Manipulation Language
- 1.2.4 Technical Context of a RAP Application and RAP Runtime Environment
- 1.3 Development Objects of the ABAP RESTful Application Programming Model
- 1.3.1 Data Modeling with Core Data Services
- 1.3.2 Behavior Definition
- 1.3.3 Behavior Implementation
- 1.3.4 Projection Layer
- 1.3.5 Business Services
- 1.3.6 Interaction of the Artifacts
- 1.4 ABAP Development Tools as a Development Tool
- 1.5 Quality Attributes of the ABAP RESTful Application Programming Model
- 1.5.1 Evolution Capability
- 1.5.2 Development Efficiency
- 1.5.3 Testability
- 1.5.4 Separation of Business and Technology
- 1.6 Availability of the ABAP RESTful Application Programming Model
- 1.6.1 SAP BTP ABAP Environment
- 1.6.2 SAP S/4HANA Cloud ABAP Environment
- 1.6.3 ABAP Platform for On-Premise SAP S/4HANA
- 1.7 The Role of RAP in the ABAP Cloud Development Model
- 2 Core Data Services: Data Modeling
- 2.1 What Are Core Data Services?
- 2.2 Structure and Syntax of CDS
- 2.2.1 Creating a Basic Interface View
- 2.2.2 Analyzing the Data Model
- 2.2.3 Using CDS Views
- 2.2.4 Extending the Data Model
- 2.3 Associations
- 2.4 Annotations
- 2.5 Access Controls
- 2.6 Extensibility of CDS Entities
- 2.6.1 CDS View Extensions
- 2.6.2 CDS Metadata Extensions
- 2.7 Additional CDS Functionality
- 2.7.1 Virtual Elements
- 2.7.2 CDS Custom Entities
- 2.8 Virtual Data Model
- 2.9 CDS Language Elements for Modeling Business Objects
- 3 Behavior Definition
- 3.1 What Is a Behavior Definition?
- 3.1.1 Context and Structure of a Behavior Definition
- 3.1.2 Syntax of a Behavior Definition
- 3.1.3 Possible Behavior
- 3.2 Editing a Behavior Definition in ABAP Development Tools
- 3.2.1 Creating a Behavior Definition
- 3.2.2 Changing and Activating a Behavior Definition
- 3.2.3 Finding and Opening a Behavior Definition
- 3.2.4 Documenting Behavior Definitions and Relationships
- 3.3 Implementation Types
- 3.3.1 Managed Scenario
- 3.3.2 Unmanaged Scenario
- 3.4 Strict Mode
- 3.5 Entity Behavior Definition
- 3.6 Defining a Behavior Pool
- 3.6.1 Behavior Pool for Behavior Definition
- 3.6.2 Behavior Pool for the CDS Entity
- 3.6.3 Behavior Pool for the Implementation Group
- 3.7 Numbering Assignment
- 3.7.1 Early, External Numbering Assignment
- 3.7.2 Early, Internal Numbering
- 3.7.3 Late Numbering
- 3.8 Field Properties
- 3.8.1 Mandatory Fields
- 3.8.2 Protection Against Write Access
- 3.8.3 Combination: Mandatory Field for Creation and Write Protection for Updates
- 3.9 Field Mappings
- 3.10 Standard Operations for a CDS Entity
- 3.10.1 Create, Read, Update, and Delete
- 3.10.2 Create and Read Operations by Association
- 3.11 Specific Operations for a CDS Entity
- 3.11.1 Actions
- 3.11.2 Functions
- 3.11.3 Functions for Defaulting
- 3.12 Concurrency and Locking Behavior
- 3.12.1 Pessimistic Locking
- 3.12.2 Optimistic Locking
- 3.13 Internal Business Logic
- 3.13.1 Determinations
- 3.13.2 Validations
- 3.13.3 Calling Determinations or Validations via an Action
- 3.14 Authorization Checks
- 3.14.1 Authorization Master
- 3.14.2 Authorization-Dependent
- 3.14.3 Delegating Authorization Checks
- 3.15 Draft Handling
- 3.15.1 Enabling Draft Handling
- 3.15.2 Draft Handling in the Business Object Composition Tree
- 3.15.3 Draft Lifecycle and Draft Actions
- 3.15.4 Side Effects
- 3.16 Events
- 3.16.1 Manually Triggered Events
- 3.16.2 Derived Events
- 3.17 Overarching Concepts
- 3.17.1 Dynamic Feature Control
- 3.17.2 Preliminary Checks of Operations
- 3.17.3 Internal Visibility of Operations
- 4 Entity Manipulation Language: Accessing Business Logic
- 4.1 Data Types
- 4.1.1 Derived Data Types
- 4.1.2 Implicit Return Parameters
- 4.2 EML Operations
- 4.2.1 READ ENTITIES
- 4.2.2 MODIFY ENTITIES
- 4.2.3 GET PERMISSIONS
- 4.2.4 SET LOCKS
- 4.2.5 COMMIT ENTITIES
- 4.2.6 ROLLBACK ENTITIES
- 4.3 Using the EML Outside of Behavior Implementations
- 4.3.1 Use in the Context of an ABAP Report
- 4.3.2 Implementation in the Context of a Test Class
- 4.4 Concrete Use Cases
- 5 Behavior Implementation
- 5.1 Business Object Provider API
- 5.2 Runtime Behavior of the ABAP RESTful Application Programming Model
- 5.2.1 Interaction Phase and Transactional Buffer
- 5.2.2 Save Sequence
- 5.3 Interfaces for the Interaction Handler and the Save Handler
- 5.4 Interaction Handler
- 5.4.1 FOR MODIFY
- 5.4.2 FOR INSTANCE AUTHORIZATION
- 5.4.3 FOR GLOBAL AUTHORIZATION
- 5.4.4 FOR FEATURES
- 5.4.5 FOR GLOBAL FEATURES
- 5.4.6 FOR LOCK
- 5.4.7 FOR READ
- 5.4.8 FOR READ by Association
- 5.4.9 FOR DETERMINE
- 5.4.10 FOR VALIDATE
- 5.4.11 FOR NUMBERING
- 5.4.12 FOR PRECHECK
- 5.5 Save Handler
- 5.5.1 FINALIZE
- 5.5.2 CHECK_BEFORE_SAVE
- 5.5.3 ADJUST_NUMBERS
- 5.5.4 SAVE
- 5.5.5 CLEANUP
- 5.5.6 CLEANUP_FINALIZE
- 5.6 Events
- 5.6.1 Triggering Events
- 5.6.2 Consumption of Events
- 6 Business Services
- 6.1 Projection Layer
- 6.1.1 CDS Projection View
- 6.1.2 Projection Behavior Definition
- 6.2 Service Definition
- 6.3 Service Binding
- 6.4 Testing Business Services in SAP Gateway Client
- 6.5 Testing UI Services Using the SAP Fiori Elements Preview
- 6.6 Business Object Interfaces
- 6.6.1 Structure of a Business Object Interface
- 6.6.2 Using Business Object Interfaces
- 6.6.3 Using Business Object Interfaces as New BAPIs
- 7 Extensibility of Business Objects
- 7.1 Introduction to the Extensibility Concept
- 7.2 Extension Options
- 7.2.1 Extensions to the Data Model
- 7.2.2 Extensions to the Behavior
- 7.2.3 Extensibility with Additional CDS Entities
- 7.3 Extending a Standard Business Object
- 7.3.1 Description of the Use Case
- 7.3.2 Extending the Data Model
- 7.3.3 Extending the Behavior
- 7.3.4 Derived Events
- 8 Application Interfaces and SAP Fiori Elements
- 8.1 Development Tools
- 8.1.1 SAP Business Application Studio
- 8.1.2 Visual Studio Code
- 8.2 SAP Fiori Elements UIs for RAP Applications
- 8.2.1 Floorplans in SAP Fiori Elements
- 8.2.2 Selected UI Annotations
- 8.2.3 Defining UI Annotations in a CDS View
- 8.2.4 Generating Annotations via the Service Modeler
- PART II Practical Application Development
- 9 Use Cases
- 9.1 Areas of Use for the ABAP RESTful Application Programming Model
- 9.2 Implementation Types
- 9.3 Decision Criteria for Selecting the Implementation Type
- 10 Managed Scenario: Developing an Application with SAP Fiori Elements
- 10.1 Description of the Use Case
- 10.2 Building the Data Model
- 10.2.1 Database Tables
- 10.2.2 CDS Modeling
- 10.3 Creating Behavior Definitions
- 10.3.1 Creating Behavior Definitions for Certificate Management
- 10.3.2 Enabling Draft Handling
- 10.4 Defining a Business Service
- 10.4.1 Creating a Service Definition
- 10.4.2 Creating the Service Binding
- 10.5 Creating an SAP Fiori Elements User Interface
- 10.6 Enrichment with a Determination
- 10.7 Enrichment with a Validation
- 10.8 Enrichment with an Action
- 10.9 Generation and Deployment of the App
- 10.10 File Upload
- 11 Managed Scenario with Unmanaged Save: Integrating an Existing Application
- 11.1 Description of the Use Case
- 11.2 Building the Data Model
- 11.2.1 Overview of the Logical Data Model
- 11.2.2 Database Tables
- 11.2.3 CDS Modeling
- 11.3 Creating a Behavior Definition
- 11.4 Implementing the Create Purchase Order Function
- 11.4.1 Declaring Managed Numbering
- 11.4.2 Setting Field Properties
- 11.4.3 Creating the Behavior Pool
- 11.4.4 Implementing Determinations
- 11.4.5 Save Sequence: Implementing Creation via the Business Object Interface
- 11.4.6 Implementing Validations
- 11.5 Implementing the Delete Purchase Order Function
- 11.5.1 Save Sequence: Implementing Deletion via the Business Object Interface
- 11.5.2 Implementing a Validation
- 11.6 Defining Business Services
- 11.6.1 Setting Up the Projection Layer for the My Purchase Orders App
- 11.6.2 Creating a Service Definition
- 11.6.3 Creating a Service Binding
- 11.7 Implementing Authorization Checks
- 11.7.1 Access Controls for Read Access
- 11.7.2 Access Controls for Write Access
- 11.8 Creating an SAP Fiori Elements User Interface
- 11.8.1 Creating a Metadata Extension
- 11.8.2 Generating and Deploying the Application
- 12 Unmanaged Scenario: Reusing Existing Source Code
- 12.1 Description of the Use Case
- 12.2 Description of the Existing Application
- 12.2.1 Database Tables
- 12.2.2 Source Code of the Existing Application
- 12.3 Extending the Data Model
- 12.4 Creating a Behavior Definition
- 12.5 Creating a Behavior Implementation
- 12.5.1 Implementing the Interaction Phase
- 12.5.2 Implementing the Save Sequence
- 12.6 Defining a Business Service
- 13 Special Features in the Cloud Environment
- 13.1 Basic Technical Principles
- 13.1.1 ABAP for Cloud Development
- 13.1.2 Technical Infrastructure Components
- 13.1.3 Migrating Legacy Code
- 13.2 Identity and Access Management
- 13.3 Deploying SAP Fiori Apps and Assigning Authorizations
- 13.3.1 Creating an IAM App and Business Catalog
- 13.3.2 Creating an IAM Business Role
- 13.3.3 Integration in SAP Fiori Launchpad
- 13.4 Consuming Business Services
Descargo de responsabilidad
SAP, otros productos SAP y servicios mencionados aquí así como sus respectivos logos son marca registrada de SAP SE (o una compañía afiliada de SAP) en Alemania y otros países. Nuestra compañía no está afiliada con SAP SE ni con ninguna de sus compañías afiliadas incluyendo pero no limitada a: Sybase, Business Objects, Hybris, Ariba y SuccessFactors. Todos los otros nombres, marcas, logos, etc. son marcas o servicios registrados de sus respectivos propietarios.