Classic custom ABAP Code
What is the issue?
Classic Extensibility: Classic Custom ABAP Code In On-Premise
All SAP objects can be used No interface between SAP code
in custom code and extension code
SAP software changes lead to high test
SAP objects can be modified
PROS and adaptation efforts
No restriction for extensions CONS SAP upgrade effort increases
Extremely flexible and powerful Agility/innovation speed decreases
Public
Public 2
2
New rules for extensions to support smooth SAP software updates
THERE IS NO CUSTOMER
SPECIFIC UPGRADE PROJECT
In the public cloud, SAP software updates run automated and for all tenants in parallel
RULE FOR SMOOTH SOFTWARE UPDATES
Only stable public SAP APIs and SAP extension
No modifications to SAP objects allowed
points can be used
MANDATORY IN PUBLIC CLOUD Recommended in private cloud and on-premise
Public
Public 3
3
SAP S/4HANA Cloud Extensibility Patterns
ON-STACK SIDE-BY-SIDE
EXTEND AN SAP APP NEW APP ON STACK NEW APP SIDE-BY-SIDE
TIGHTLY coupled TIGHTLY coupled LOOSELY coupled
such as to an SAP app such as to SAP data to SAP data, transaction, app
or transaction
Extend SAP code, data structure,
Local API call, SQL join Remote API call, consume events
user interface
public extension point public local API public remote API
SAP S/4HANA Cloud application
SAP S/4HANA Cloud SAP Business Technology Platform
Public
Public 4
4
ABAP Cloud
ABAP Cloud
… is the ABAP development model to build
cloud-ready business apps, services, or
extensions
… is compliant with the clean core principles
… comes with SAP BTP and SAP S/4HANA
… works with public or private cloud, and even
on-premise
INTERNAL - SAP and Partners Only 6
ABAP Cloud on SAP BTP and on SAP S/4HANA
ABAP CLOUD ABAP CLOUD
DEVELOPMENT DEVELOPMENT
SAP
ON SAP S/4HANA ON SAP BTP
public interfaces
S/4HANA
(CLOUD) ABAP Cloud
❖ Public SAP APIs and extensions
remote API points
❖ Cloud-optimized ABAP language
public interfaces ❖ ABAP Development Tools
public interfaces
❖ ABAP RESTful Application
Programming Model
SAP S/4HANA CLOUD ABAP SAP BUSINESS TECHNOLOGY PLATFORM
ENVIRONMENT / ABAP PLATFORM ABAP ENVIRONMENT
Availability of ABAP Cloud
ABAP CLOUD
DEVELOPMENT
ON SAP S/4HANA
SAP S/4HANA
CLOUD
ABAP CLOUD
DEVELOPMENT
ON SAP BTP
public i nterfac es
remot e A PI
public i nterfaces public i nterfaces
SAP S/4HANA CLOUD ABAP ENVIRONMENT SAP BTP ABAP ENVIRONMENT
ABAP CLOUD IS AVAILABLE IN THE FOLLOWING PRODUCTS
PRODUCT RELEASE ABAP Cloud versus classic ABAP
SAP BTP ABAP Environment All Only ABAP Cloud is available
SAP S/4HANA Cloud Public Edition ≥ 2208 (new customers) Only ABAP Cloud is available
SAP S/4HANA Cloud Private Edition and SAP S/4HANA on- ABAP Cloud is recommended
≥ 2022
premise Classic ABAP can still be used
INTERNAL - SAP and Partners Only 8
ABAP Cloud – High-level abstraction model
UI SERVICES INTEGRATION SERVICES
Output Management, Jobs, SAP Workflow Mgmt, XCO,...
BUSINESS
Git based code management with gCTS and abapGit
SERVICE OData and SAP Information Access (InA) OData, Events, HTTP, RFC, SQL
for SAP Fiori and analytical clients for application and data integration
REUSE SERVICES AND LIBRARIES
EXPOSURE
Cloud-readiness, IAM3, BC4, extensibility,...
ADT5, BAS6, Key User & Monitoring Tools
LIFECYCLE MANAGEMENT
BUILT-IN QUALITIES
DOMAIN-SPECIFIC MODELS
CDS1 entity, RAP2 Business Object, CDS analytical provider
TOOLS
DOMAIN-SPECIFIC
IMPLEMENTATION
DOMAIN-SPECIFIC LOGIC
ABAP, CDS
BUSINESS INTEGRATION SERVICES
DATABASE SAP HANA
SERVICE OData, SOAP, Events, HTTP,
SQL and SQLScript CONSUMPTION RFC for application integration
1 Core 3 Identity 5 ABAP
Data Services & Access Management Development Tools
2 ABAP RESTful application programming model 4 6
Business Configuration SAP Business Application Studio
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 the MARA table
from SAP
Local APIs from SAP S/4HANA
SELECT products from
SAP S/4HANA tables using the public
I_Product CDS view
Main principles of development with the ABAP cloud development model
Use only RELEASED EXTENSION POINTS
Use only RELEASED APIs from ABAP Utilize SAP HANA by using CDS, AMDP and
(e.g. BAdIs, RAP extensions) to extend SAP
Platform and SAP S/4HANA solution ABAP SQL
objects
Use of RELEASED APIs is checked by ABAP
Use ABAP TEST COCKPIT
compiler Create CUSTOM APIs (controlled by ATC
to adopt ABAP cloud and
(ABAP FOR CLOUD DEVELOPMENT checks) for not released SAP APIs
make legacy custom code cloud-ready
language version)
ABAP RESTful Application Programming
Model (RAP) ABAP DEVELOPMENT TOOLS for ECLIPSE
and ABAP analytics with as IDE
SAP Fiori elements
Public
Public 12
12
ABAP Cloud – One development model for SAP S/4HANA and SAP BTP
SAP S/4HANA SAP S/4HANA Cloud, SAP S/4HANA Cloud, SAP BTP,
any premise 1 private edition 1 public edition 2 ABAP Environment
ABAP Cloud development model
to build cloud-ready business apps, services, and extensions
Classic ABAP development model
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
Clean core rules for extensions to support smoother SAP software updates
SAP S/4HANA Cloud private edition,
and on-premise
Expectation management – no magic!
Upgrade projects will not go away
This is not the public cloud
❖ Easier frequent upgrades
GOAL
❖ Future-safe extensions
RULE FOR SMOOTH SOFTWARE UPDATES
Extensions must be clearly separated form SAP code
Only stable public SAP APIs and SAP
Follow the public cloud extensibility rules No modifications to SAP objects allowed
extension points can be used
whenever possible (clean core approach)
MANDATORY IN PUBLIC CLOUD Recommended in private cloud
and on-premise
3-tier extensibility model for SAP S/4HANA private cloud and on-premise
TIER 1 – Cloud extensibility model
SAP S/4HANA SAP Business Technology
Platform Cloud-ready and upgrade-stable development of new
applications and extensions. ABAP Cloud is mandatory –
no classic ABAP in tier 1
TIER 1 ON-STACK TIER 1 SIDE-BY-SIDE
Cloud development Same extensibility model as used in SAP S/4HANA Cloud,
ABAP Cloud public edition
(Java / Node.js / ABAP Cloud)
Default for new extensions and custom apps
TIER 2 TIER 2 – Cloud API enablement
Cloud API enablement
RENOVATE OR Extends and enables tier 1 for private cloud and on-premise
INNOVATE
Mitigates missing public SAP APIs or extension points:
Develop custom wrapper objects for not released SAP
objects to be used in tier 1
Retire wrapper once a released SAP API is available
TIER 3
Classical ABAP development
TIER 3 – Classic ABAP extensions
Legacy/existing custom ABAP code or new on-stack
ADAPT extensions code that cannot follow the rules of tier 1 and 2
RETIRE
Avoid and reduce the content in tier 3
ON-STACK - tightly coupled SIDE-BY-SIDE - loosely coupled
SAP S/4HANA, private cloud edition and on-premise
ABAP Cloud development – ABAP language version and public SAP APIs
HOW TO USE ABAP CLOUD IN THE PRIVATE CLOUD AND ON-PREMISE EDITIONS?
Switch on the strict ABAP Cloud syntax check Use public APIs released by SAP
for selected custom ABAP objects for ABAP Cloud development