4. 4
INTERNAL – SAP and Partners Only 4
Public
… is the ABAP development model to build cloud-ready
business apps, services or extensions
… compliant with clean core principles
… comes with SAP BTP and SAP S/4HANA
… works with public or private cloud, and even on-premise
ABAP Cloud
5. 5
INTERNAL – SAP and Partners Only 5
Public
ABAP Cloud
2015 09/10.2022
The evolution to ABAP Cloud
2018
➢
➢
➢
➢
2012
* SAP Business Technology Platform
6. 6
INTERNAL – SAP and Partners Only 6
Public
BUILT-IN QUALITIES
LIFECYCLE MANAGEMENT
TOOLS
REUSE SERVICES AND LIBRARIES
CONTAINING
ABAP Cloud – What’s in?
ABAP Cloud
DEVELOPMENT
MODEL
TRANSACTIONAL
ANALYTICAL
INTEGRATION
DEVELOPMENT SCENARIOS
7. 7
INTERNAL – SAP and Partners Only 7
Public
ABAP Cloud map
DOMAIN-SPECIFIC MODELS
CDS2 entity, RAP3 Business Object, CDS analytical provider
DOMAIN-SPECIFIC LOGIC
ABAP, CDS
INTEGRATION SERVICES
for process and data integration
(OData, business events, HTTP, SOAP, RFC, SQL)
BUSINESS
SERVICE
EXPOSURE
UI SERVICES
for SAP Fiori and analytical clients
(OData and InA1)
DOMAIN-SPECIFIC
IMPLEMENTATION
INTEGRATION SERVICES
for process and data integration
(OData, business events, HTTP, SOAP,
RFC, SQL)
BUSINESS
SERVICE
CONSUMPTION
SAP HANA
(SQL and SQLScript)
DATABASE
REUSE
SERVICES
AND
LIBRARIES
Output
management,
jobs.,
XCO,
...
BUILT-IN
QUALITIES
Cloud-readiness,
IAM
4
,
BC
5
,
extensibility,
security,
...
LIFECYCLE
MANAGEMENT
Git
based
transport
management
with
gCTS
and
abapGit
TOOLS
ADT
6
,
BAS
7
,
key
user
&
monitoring
tools
3 ABAP RESTful application programming model
4 Identity & Access Management
5 Business Configuration
6 ABAP Development Tools
1 Information access
2 Core Data Services
7 Business Application Studio
APP
SAP FIORI APPS
ANALYTICAL APPS
8. 8
INTERNAL – SAP and Partners Only 8
Public
ABAP Cloud – IDE and API examples for on-stack developer extensibility
Custom ABAP on
SAP S/4HANA Cloud
ABAP development tools in Eclipse
Cloud-optimized ABAP language
Proven ABAP transport management
Access to public SAP APIs ONLY
– otherwise, syntax error!
No access to old Dynpro APIs
No direct select on SAP table MARA
Local APIs from SAP S/4HANA
SELECT products from
SAP S/4HANA tables using the public
I_Product CDS view
9. 9
INTERNAL – SAP and Partners Only 9
Public
ABAP Cloud – One development model for SAP S/4HANA and SAP BTP
SAP S/4HANA
any premise 1
SAP S/4HANA Cloud
Private Edition 1
SAP S/4HANA Cloud
Public Edition 2
SAP BTP,
ABAP Environment
1 SAP S/4HANA any premise or SAP S/4HANA Cloud Private Edition release ≥ 2022
2 SAP S/4HANA Cloud Public Edition release ≥ 2208, 3-system landscape required
ABAP Cloud development model
to build cloud-ready business apps, services, and extensions
Classic ABAP development model
11. 11
INTERNAL – SAP and Partners Only 11
Public
The key players in RAP
ABAP DEVELOPMENT TOOLS IN ECLIPSE for all development tasks
Easy developer onboarding
End-to-end development flow
LANGUAGES: ABAP AND CORE DATA SERVICES (CDS)
Standard implementation tasks via typed APIs supporting
static code checks, auto-completion, element info
POWERFUL FRAMEWORKS
Take over technical implementation tasks
Business logic added in code exits on protocol-agnostic layers
12. 12
INTERNAL – SAP and Partners Only 12
Public
Debugging, profiling, tracing
Static and dynamic logging
Runtime monitoring and analysis
Static code checks (ATC, CVA) with
remote and local scenarios
Unit testing incl. isolation frameworks
Test seams and injections
Fully eclipse-based
Syntax check, code completion
Navigation, search, quick fixes
Full support for the ABAP RESTful
Application Programming Model and CDS
Efficient ABAP development for Eclipse
MODERN DEVELOPMENT TOOLSET
QUALITY ASSURANCE
SUPPORTABILITY
HIGH DEVELOPER PRODUCTIVITY ON-PREMISE AND IN THE CLOUD
13. 13
INTERNAL – SAP and Partners Only 13
Public
JSON support in sXML library
Simple and concise ABAP code through new language
features such as inline declarations, constructor expressions
Extensively expression-oriented syntax
Advanced table operations such as CORRESPONDING( )
operator, grouping, and filtering
Entity Manipulation Language (EML) to control the
transactional business object behavior in the RAP context
and raising RAP events
Cloud-optimized ABAP language version available for
cloud-ready development in the cloud and on-premise
Inline code documentation with ABAP Doc, Development
object documentation with knowledge transfer objects
Unit testing with ABAP Unit using test doubles and test seams
Declarative and expression-oriented ABAP language
More information in the ABAP Keyword Documentation
14. 14
INTERNAL – SAP and Partners Only 14
Public
The Entity Manipulation Language (EML) at a glance
EXTENSION OF THE ABAP LANGUAGE
with an SQL-like syntax
CONTROL THE TRANSACTIONAL BO
BEHAVIOR IN RAP CONTEXT
DIRECT API-BASED ACCESS TO RAP BOs
GENERIC EML API
generic framework integration of RAP BOs
STANDARD EML API
for type-safe read and modifying access to RAP BOs
DATA CONSISTENCY ENSURED BY DATABASE LUW
COMMIT operation required to persist changes
More information in this blog post
Entity Manipulation Language
15. 15
INTERNAL – SAP and Partners Only 15
Public
Next generation data modeling and access with ABAP CDS
For all application domains
Rich set of built-in functions
Code pushdown capabilities
Declarative access control
Reduced complexity
Extending SQL
Semantically rich
Declarative
Close to conceptual thinking
COMMON DATA MODEL
IMPROVED PROGRAMMING MODEL
CAPTURE BUSINESS INTENT
ABAP
CORE
DATA
SERVICES
Learn more about ABAP CDS
16. 16
INTERNAL – SAP and Partners Only 16
Public
Category ABAP CDS Entity Type ABAP CDS Statement
Standard view building CDS View Entity
CDS Projection View
CDS Projection View – Analytical Query
CDS DDIC-based View (deprecated)
DEFINE VIEW ENTITY
DEFINE VIEW ENTITY AS PROJECTION ON
DEFINE TRANSIENT VIEW ENTITY AS PROJECTION ON
DEFINE VIEW (deprecated)
Advanced view building – External implementation CDS Custom Entity
CDS Abstract Entity
DEFINE CUSTOM ENTITY
DEFINE ABSTRACT ENTITY
Advanced view building – SAP HANA breakout CDS Table Function
CDS Hierarchy
CDS Scalar Function
2
DEFINE TABLE FUNCTION
DEFINE HIERARCHY
DEFINE SCALAR FUNCTION
Type definition CDS Simple Type
2
CDS Enumerated Type
2
DEFINE SIMPLE TYPE
DEFINE TYPE ENUM
Transactional behavior definition of business objects built
with the ABAP RESTful Application Programming Model
CDS Behavior Definition (and Projection) DEFINE BEHAVIOR
Modification-free extension CDS View Entity Extension
CDS Custom Entity Extension
CDS Abstract Entity Extension
CDS DDIC-based View Extension (deprecated)
CDS Metadata Extension
CDS Behavior Extension
EXTEND VIEW ENTITY
EXTEND CUSTOM ENTITY
EXTEND ABSTRACT ENTITY
EXTEND VIEW (deprecated)
ANNOTATE VIEW
EXTEND BEHAVIOR
Access control definition CDS Access Control DEFINE ROLE
Overview of supported ABAP CDS entity types1
1 Status from Q2/2024 | 2 Available on-prem starting with Release 2023
17. 17
INTERNAL – SAP and Partners Only 17
Public
Next generation data modeling and access with ABAP CDS – Example
Selection
Data source
Element annotations
Associations
ABAP Flight Reference Scenario -
Example available in package /DMO/FLIGHT_DRAFT
View definition
View annotations
19. 19
INTERNAL – SAP and Partners Only 19
Public
Evolution of the ABAP programming model
ABAP PLATFORM ≤ 7.5
CLASSIC ABAP
PROGRAMMING
Best practice freestyle ABAP
programming, (Web) Dynpro,
CDS1
ABAP PLATFORM ≥ 7.5
ABAP PROGRAMMING
MODEL FOR
SAP FIORI
CDS, CDS-based BOPF, SEGW
/ @OData annotation with
Referenced Data Source,
SAP Fiori, SAPUI5
SAP BTP
ABAP ENVIRONMENT
SAP S/4HANA CLOUD
SAP S/4HANA ≥ 1909
ABAP RESTful
APPLICATION
PROGRAMMING
MODEL (RAP)
CDS, Behavior Definition &
Implementation, Business
Services, SAP Fiori, SAPUI5
1 starting with release 7.4 SPS 05
Safe investments!
20. 20
INTERNAL – SAP and Partners Only 20
Public
SAP BTP ABAP Environment
SAP S/4HANA, cloud and on-premise editions
CONCEPTS
TOOLS
LANGUAGES
FRAMEWORKS
BEST PRACTISES
RAP – FOR EFFICIENT ENTERPRISE
GRADE APPLICATION DEVELOPMENT
AVAILABLE IN THE CLOUD AND ON-PREMISE
ABAP RESTful Application Programming Model (RAP)
Greenfield development
Brownfield development
UNIVERSALLY USABLE PROGRAMMING MODEL
SAP Fiori UI services
Web APIs and local APIs
Events
SERVICE DEVELOPMENT
21. 21
INTERNAL – SAP and Partners Only 21
Public
SERVICE BINDING
Service Definition, Service Projection, Event Binding
ABAP RESTful Application Programming Model (RAP) – The big picture
DOMAIN-SPECIFIC MODELS
CDS1 entity, RAP2 Business Object
DOMAIN-SPECIFIC LOGIC
ABAP, CDS
INTEGRATION SERVICES
for process and data integration
(OData based Web API, business events)
BUSINESS
SERVICE
EXPOSURE
UI SERVICES
for SAP Fiori and analytical clients
(OData)
DOMAIN-SPECIFIC
IMPLEMENTATION
SAP HANA
(SQL and SQLScript)
DATABASE
1 Core Data Services
2 ABAP RESTful application
programming model
APP SAP FIORI APPS
23. 23
INTERNAL – SAP and Partners Only 23
Public
Business object
BUSINESS OBJECT
DATA MODEL BEHAVIOUR RUNTIME IMPLEMENTATION
COMPOSITION TREE
root,
parent, and
child nodes
CRUD,
actions, functions,
locks, eTag, authorizations,
feature control, draft
CDS: data modeling BDEF: behavior definition ABAP: Behavior implementation
24. 24
INTERNAL – SAP and Partners Only 24
Public
BUSINESS OBJECT (BO) RUNTIME
SAP HANA
finalize
SAVE
SEQUENCE
MODIFY
READ
INTERACTION
PHASE
check_before_save
adjust_numbers
save
Transactional
buffer
LOCK
Business object runtime implementation types
UNMANAGED
For brownfield developments with available application code for
interaction phase, transactional buffer, and save sequence
➔ Developers in charge of BO runtime: CRUD operations
➔ Adapters needed to integrate the existing code
MANAGED
For greenfield developments with standard implementation
(opt. unmanaged application components: e.g., DB tables, lock/PFCG objects,
update task function modules)
➔ Standard CRUD operations work out of the box
➔ Developers add BO specific business logic
25. 25
INTERNAL – SAP and Partners Only 25
Public
Business service
BUSINESS SERVICE
SERVICE SCOPE SERVICE BINDING
Service Definition: which entities? Protocol:
OData V2, OData V4, InA, SQL
Behavior Projection: which behavior?
BO Projection View: which elements?
Scenario:
Web API, UI, Analytics, …
WEB API LIFECYCLE
Release
Deprecation
Versioning
TOOL SUPPORT
UI Scenarios:
SAP Fiori elements preview
Web API:
Swagger UI preview *
* planned
26. 26
INTERNAL – SAP and Partners Only 26
Public
SAP Fiori UI and Web API consumption
Web API
SAP FIORI UI
UI annotation exposure Not applicable
Required
Value help Not applicable
Required
Dynamic feature control Not applicable
Required
Draft Not applicable
Required
Content IDs for complex
$batch requests
Required
Not applicable
Release, versioning, and
deprecation
Required
Not applicable
27. 27
INTERNAL – SAP and Partners Only 27
Public
Development flow
CDS BEHAVIOR
DEFINITION
ADD
BEHAVIOR
IMPLEMENT
BEHAVIOR
ABAP CODE
DEFINE SCOPE
SERVICE
DEFINITION
BIND TO SCENARIO
AND PROTOCOL
PREVIEW
Authority object
AUTHORITY-CHECK
Role
DEFINE ROLES
Lock object
CDS role
QUERY
DATA ACCESS
CONTROL
AUNIT
Scenario and integration test
CDS BASED
DATA MODEL
AUNIT
Unit test
BEHAVIOR
PROJECTION
ADD
BEHAVIOR
DATA MODEL
PROJECTION
PROJECT ELEMENTS
AND ENRICH PROJECT BEHAVIOR
APPLICATION DATA
DATABASE TABLES
SERVICE
BINDING
ADT wizard available for the generation
of all required RAP artifacts of a service
based on a database table
29. 31
INTERNAL – SAP and Partners Only 31
Public
Draft handling – RESTful architecture and draft
ENABLERS FOR CLOUD AND MODERN UX
Modern user experience requires multi device support and data loss prevention without
connection timeouts
Draft persists the state device independently in a non-process-relevant way
RESTful makes the draft available as an addressable resource
Cloud environment expects high availability, continuous delivery, and low TCO
RESTful avoids problematic server stickiness by introducing a stateless communication
Draft fills the gap between stateless communication and stateful application
Guiding principle
Draft is the persisted transactional buffer as an addressable resource
30. 32
INTERNAL – SAP and Partners Only 32
Public
No feedback (such as messages, feature control)
until SAVE is triggered
Draft-enabled apps
Early feedback comes from calculations and validations in
the back end, including feature control
Draft automatically supports data loss prevention, continuous
work, and device switch
Stateless transactional apps (without draft)
Draft handling – stateful applications with stateless communication protocol
IMPACT
for end users
IMPACT
Perceived
transaction
Back-end
execution
SAVE ALL
SAVE
SAVE
EDIT
IMPACT
for end users
Perceived
transaction
Back-end
execution
SAVE
EDIT
32. 34
INTERNAL – SAP and Partners Only 34
Public
Modification-free extension of RAP BOs
and business services
RAP extension points possible for …
❖ Data model extension
❖ BO behavior extension
❖ BO node extension
❖ Service definition extension
Exposed in RAP based UI services and
Web APIs
Learn more in the RAP Extensibility Guide
RAP extensibility options
SAP HANA
database, stored procedures and functions, etc.
DATA
ACCESS
BUSINESS
SERVICE
EXPOSURE
SERVICE BINDING
SERVICE DEFINITION
SERVICE PROJECTION
BO projection view
Behavior projection
RAP BO INTERFACE
BO projection view
Behavior projection
DOMAIN-SPECIFIC
IMPLEMENTATION
RAP BUSINESS OBJECT
Data model
Behavior definition
EXTENSION
EXTENSION
EXTENSION
34. 36
INTERNAL – SAP and Partners Only 36
Public
AVAILABLE TODAY
➢ ABAP TDF
➢ CDS TDF
➢ ABAP SQL TDF
➢ Function Modules TDF
➢ RAP BO TDF (link)
➢ Authority Helper
➢ ABAP Test Seams
➢ OData Local Client Proxy
➢ Test Relations
➢ OData V4 test class generator in
the cloud
➢ Official RAP Test Guide (link)
PLANNED
➢ BDEF test class generator
Testability options
BUSINESS
SERVICE
EXPOSURE
SERVICE BINDING
SERVICE DEFINITION
SERVICE PROJECTION
CDS - BO projection view
BDEF - Behavior projection
ABAP - Behavior implementation
DOMAIN-SPECIFIC
IMPLEMENTATION
RAP BUSINESS OBJECT
CDS - Data model
BDEF - Behavior definition
ABAP - Behavior implementation
Service Tests
AUNIT & LOCAL CLIENT PROXY
BO Tests
AUNIT & ABAP / EML
Unit Tests
AUNIT & ABAP
AUNIT: ABAP-Unit
TDF: Test Double Framework
This presentation and SAP‘s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice.
36. 38
INTERNAL – SAP and Partners Only 38
Public
ABAP CROSS
TRACE
ADT troubleshooting tools & browser developer tools
ADT
FEED READER
ABAP RUNTIME
ERROR LOG
GATEWAY
ERROR LOG
ABAP DEBUGGER
ABAP
PROFILING
DYNAMIC
LOGPOINTS *
CDS TOOLS
BROWSER
DEVELOPER
TOOLS
*only on-premise
Learn more about RAP troubleshooting tools
37. 39
INTERNAL – SAP and Partners Only 39
Public
ADT troubleshooting tools for CDS
DATA PREVIEW
ANNOTATION
PROPAGATION
ACTIVATION
GRAPH
DICTIONARY
LOG
ACTIVE
ANNOTATIONS
Learn more about ABAP CDS tools
39. 41
INTERNAL – SAP and Partners Only 41
Public
Summary – key takeaways
ABAP Cloud is the development model provided to build cloud-ready enterprise services, apps, and extensions on
SAP BTP ABAP environment and all editions1 of SAP S/4HANA, in the cloud and on-premises
Development that is done with ABAP Cloud adheres to the clean core principles
The ABAP RESTful application programming model (RAP) is at the heart of ABAP Cloud for efficiently building
transactional OData-based services and SAP Fiori apps with built-in cloud qualities
RAP best support SAP HANA and SAP Fiori elements
The ABAP Cloud (incl. RAP) feature set is enhanced quarterly in SAP BTP ABAP environment, twice a year in
SAP S/4HANA Cloud Public Edition, and every two years in SAP S/4HANA Cloud Private Edition and SAP S/4HANA
See the ABAP Cloud Release Notes and the ABAP Cloud Roadmap Information
RAP is available on SAP BTP ABAP Environment, SAP S/4HANA Cloud, and SAP S/4HANA as of edition 1909
1 SAP S/4HANA any premise or SAP S/4HANA Cloud, private edition release ≥ 2022
SAP S/4HANA Cloud, public edition release ≥ 2208, 3-system landscape required
40. 42
INTERNAL – SAP and Partners Only 42
Public
Demonstrate how to use different
RAP capabilities concretely
Based on a simple to use and
understand data model: SFLIGHT
reloaded
Feature scope regularly enhanced
Downloadable from GitHub
Step-by-step description of scenarios
available in the RAP documentation as
development guides
Sample implementations with the ABAP Flight Reference Scenario
Find more information in the RAP documentation: Cloud | SAP S/4HANA
41. 43
INTERNAL – SAP and Partners Only 43
Public
SAP Fiori elements feature showcase app for RAP and ABAP CDS
Learn more about SAP Fiori elements Feature Showcase App with RAP
42. 44
INTERNAL – SAP and Partners Only 44
Public
Become an ABAP Cloud certified developer
SAP Learning journeys valid for all SAP S/4HANA editions
👩🏫 SAP Learning Journey: Practicing Clean Core Extensibility for SAP S/4HANA Cloud
🥇 Become an SAP Certified Associate – ABAP Cloud Back-End Developer
43. 45
INTERNAL – SAP and Partners Only 45
Public
Further information
ABAP Cloud Development Guide
ABAP RESTful Application Programming Model (RAP)
What’s New in ABAP RAP?
ABAP Roadmap Information | For ABAP-based Products and ABAP Cloud
SAP Fiori elements Feature Showcase App with RAP and ABAP CDS
Acquire Core ABAP Skills | Practicing Clean Core Extensibility for SAP S/4HANA Cloud | SAP Learning Journeys
ABAP Cloud sessions at SAP’s Devtoberfest in 2023 | ABAP Cloud sessions at SAP TechEd 2023
SAP BTP Developer’s Guide
Public SAP Web sites
ABAP Development Community: www.sap.com/community/topic/abap.html
SAP BTP ABAP Environment Community: https://community.sap.com/topics/btp-abap-environment
SAP S/4HANA Cloud ABAP Environment Community: https://community.sap.com/topics/s4hana-cloud-abap-environment
ABAP Testing and Analysis Community: https://community.sap.com/topics/abap-testing-analysis
SAP products: www.sap.com/products
SAP training and certification opportunities
www.sap.com/education – e.g. trainings S4D400, S4D430, S4D437, and HA400.
https://learning.sap.com/ – e.g., search for ABAP or ABAP Cloud
SAP Certified Associate – ABAP Cloud Back-End Developer
44. 46
INTERNAL – SAP and Partners Only 46
Public
Important ABAP Cloud related guides
Further information and blog posts linked at https://community.sap.com/topics/s4hana-cloud-abap-environment and https://community.sap.com/topics/abap
Overview, comparison of
extensibility options, introduction
to ABAP Cloud and 3-tier
extensibility model.
How to leverage tier 2 of the
3-tier extensibility model.
How the old, tier 3 / classic ABAP
world maps to the new, tier 1 /
ABAP Cloud world.
How to check compliance
with the ABAP Cloud and
3-tier extensibility model