You are on page 1of 26

Steampunk

Next generation ABAP development

Dietmar Steinbichler
Enterprise Innovation Architect, SAP

Public 1
Disclaimer

The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP.
Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or any other service
or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or any related
document, or to develop or release any functionality mentioned therein.
This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms directions and
functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this
presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentation is provided
without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a
particular purpose, or non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP
assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional or gross
negligence.
All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from
expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates,
and they should not be relied upon in making purchasing decisions.

Public 2
Steampunk

“Steampunk is a subgenre of science fiction that


incorporates retrofuturistic technology and aesthetics inspired
by 19th-century industrial steam-powered machinery.
Steampunk works are often set in an alternative history of
the Victorian era or the American "Wild West", where steam
power remains in mainstream use, or in a fantasy world that
similarly employs steam power.

Steampunk most recognizably


features anachronistic technologies or retrofuturistic
inventions…”

https://en.wikipedia.org/wiki/Steampunk

Public 3
Agenda
ABAP Environment in SAP S/4HANA
Cloud 2208
ERP extensibility
On-premise ERP extensibility today
SAP S/4HANA Cloud extensibility today

ERP extensibility w/2208 Release


SAP S/4HANA Cloud, ABAP environment

Outlook
Vision: One common extensibility model for all
SAP S/4HANA editions

Q&A

Public 4
Extensibility today & challenges
An ERP needs rich extensibility

Add scope Extend reach Optimize Innovate

Public 6
User Interface Layer Application Layer Database Layer
SAP S/4HANA extensibility
Core solution Side-by-side
Extensions Extensions

Developer Refresh & mobilize


Adopt new
user interface Extensibility user experience

Create custom Cloud native for


analytics B2C & B2B

Secured Process
Expose data SAP S/4HANA connectivity
SAP BTP innovation

User Interface
Key user Rules / Workflow Side-by-side
Data marts &
Create forms / extensibility Process / Events extensibility analytics
email templates
Data Replication

Add Data science &


application intelligence
logic
Classic
Add database Extensibility IoT & big data
fields / objects

Public 7
SAP S/4HANA Cloud extensibility - Key user extensibility

EXAMPLE: FIELD EXTENSIBILITY


Create and maintain custom fields that can be used to
In-app extensibility SAP
SAP S/4HANA
S/4HANA enhance applications and APIs
SAP
SAP S/4HANA
S/4HANA
Applications
Applications
Applications
Applications Choose different data types (e.g., Number, Text)
Finance,
Finance, Procure,
procure,
Finance,
Finance,
Produce, procure,
procure,
Sales
produce,
produce, sales Custom fields can be used in applications and their UIs,
produce,sales
sales
KEY-USER Reports, Email templates, Form Templates, OData APIs and
EXTENSIONS other
Low-/No code tools

ABAP Platform Cloud

SAP S/4HANA
CLOUD SYSTEM
SAP HANA

Public 8
Examples for key-user tools

UI adaptation mode – Adaptation mode with Custom fields, SAP Fiori app Custom business logic, SAP Fiori app
drag-and-drop configuration

Custom business objects, SAP Fiori app Custom CDS views, SAP Fiori app Custom analytical queries, SAP Fiori app

Public 9
2208 S/4HANA Cloud - SAP S/4HANA
Cloud ABAP Environment
SAP S/4HANA Cloud extensibility - SAP BTP ABAP Environment

SIDE-BY-SIDE
EXTENSIBILITY
In-app extensibility
SAP
SAP S/4HANA
S/4HANA
SAP
SAP S/4HANA
S/4HANA
Applications
Applications
Applications Custom code
Applications
Finance,
Finance, Procure,
procure,
Finance,
Finance,
Produce, procure,
procure,
Sales
produce,
produce, sales
KEY-USER
produce,sales
sales Partner extension
Remote API CUSTOM
EXTENSIONS
Low-/No ABAP
code tools DEVELOPMENT
(ADT)
Public interfaces

ABAP RESTful
application
programming model
(RAP)
Cloud-optimized
ABAP Platform Cloud ABAP language ABAP
(same codeline) Environment
Released APIs (“Steampunk”)

Further stacks
available
SAP S/4HANA
SAP BTP
CLOUD SYSTEM
SAP HANA SAP HANA ABAP Environment

Public 11
SAP S/4HANA Cloud extensibility – Add “Embedded Steampunk”
On-stack extensibility Side-by-side extensibility

NOW AVAILABLE:
SAP S/4HANA CUSTOM ABAP
Cloud
DEVELOPMENT
on SAP S/4HANA

public interface
Cloud

KEY-USER
EXTENSIONS remote API

Low-/No code tools

public interface public interface

SAP
BUSINESS CUSTOM
ABAP PLATFORM CLOUD TECHNOLOGY DEVELOPMENT on BTP
ABAP
& PLATFORM
EMBEDDED CLOUD
STEAMPUNK PLATFORM (ABAP, Java, Node.js)

RICH AND FLEXIBLE CLOUD EXTENSIBILITY


Keep the popular In-App extensibility for business users
Use side-by-side extensibility for decoupled extension scenarios
ADD ON-STACK DEVELOPER EXTENSIBILITY WITH ABAP DEVELOPMENT TOOLS (ADT)

Public 12
Key facts of SAP S/4HANA Cloud ABAP Environment (Embedded Steampunk)

ON-STACK EXTENSIONS
ENABLE CUSTOM ABAP DEVELOPMENT
DIRECTLY ON SAP S/4HANA CLOUD STACK
In-app extensibility

Public interfaces
SAP S/4HANA Custom
SAP
SAP S/4HANA
S/4HANA code
SAP S/4HANA
Applications
Applications
MODERN ABAP DEVELOPMENT
Applications
Applications
Finance, Procure, SAP, customers and partners use the same
Finance,
Finance, procure,
procure, Partner
Finance,
Produce, procure,
Sales development model
produce,
produce, sales extension
KEY-USER produce,sales
sales CUSTOM
High developer productivity
EXTENSIONS ABAP
Low-/No code tools DEVELOPMENT ABAP RESTful application programming model
ON SAP S/4HANA
CLOUD SYSTEM Ÿ Development of SAP HANA-optimized apps and
Public interfaces (ADT) services
Ÿ Eclipse-based ABAP development tools
ABAP RESTful application
programming model (RAP) SAP Fiori tools for UI Development
Cloud-optimized ABAP language Proven Lifecycle Management
Released Objects and APIs RULES OF THE GAME
BADIs ABAP Platform
SAP S/4HANA Cloud Ÿ Clear separation between SAP solutions and
Cloud
ABAP Environment extensions
Ÿ Only stable and reliable public interfaces and
released objects from both ABAP platform and SAP
S/4HANA Cloud applications can be used
SAP S/4HANA Ÿ No modifications
CLOUD SYSTEM
SAP HANA

Public 13
Extensibility options for SAP S/4HANA Cloud
Custom development on
Custom development integrated in SAP S/4HANA Cloud
SAP Business Technology Platform

Key User Extensibility Developer Extensibility Side-by-Side Extension

Smaller low-/no-code extensions of Tightly coupled


Scenario SAP solutions extensions and apps
Loosely coupled extensions and apps

Target
Fully integrated in SAP S/4HANA Cloud stack SAP Business Technology Platform
environment

UI field layout, custom forms and


ABAP based …
templates Custom or multitenant applications
custom app development
Custom analytics via CDS views ABAP and non-ABAP (Java, Node.js,) development
Use cases extensions of SAP S/4HANA
Custom Business Objects SaaS solutions developed by partners
Cloud solutions
Custom business logic using Cloud Apps for separate target groups
partner extensions
BADIs

Persona Key user ABAP developer Developer

Development of extensions inside


Fully managed and integrated in the SAP S/4HANA Cloud system
SAP S/4HANA Cloud No remote access and data Decoupled extensions independent of SAP S/4HANA Cloud
Benefits replication operation and lifecycle management
No or only very basic development
skills required Use and extend released
SAP S/4HANA Cloud objects
Public 14
Evolution of the ABAP Programming Model

ABAP Platform 7.4 & 7.5 ABAP Platform 7.51 SP02 SAP Cloud Platform ABAP Environment ≥ 1808 *

ABAP PROGRAMMING MODEL ABAP PROGRAMMING MODEL ABAP RESTful


FOR SAP FIORI with classic API’s FOR SAP FIORI with BOPF (and Draft) PROGRAMMING MODEL

SEGW SEGW
Modelled Data Source (MDS) & Referenced Data Source (RDS) & Service Definition & Service Binding
Referenced Data Source (RDS) OData.publish : true

Classic API’s CDS based


Core Data Core Data Core Data Behavior
(BAPI’s,
Services Services BOPF Services Definition
classes, …)

* RAP is available on-premise starting with SAP S/4HANA 1909

Public 15
ABAP RESTful Programming Model: Big Picture

SERVICE
SAP Fiori UI Web API
CONSUMPTION

SERVICE BINDING
BUSINESS Bind the service to OData protocol
SERVICES
PROVISIONING SERVICE DEFINITION
Define scope to be exposed

BUSINESS OBJECTS QUERIES

Data modeling with CDS


DATA MODELING & Data modeling with CDS
Behavior definition
BEHAVIOR

Behaviour implementation

Public 16
Outlook - SAP S/4HANA Cloud ABAP
Environment
Vision: One common extensibility model for cloud and on premise

On-stack extensibility Side-by-side extensibility

PLANNED:
SAP S/4HANA ABAP CLOUD
(Cloud)
DEVELOPMENT
on SAP S/4HANA

public interface
KEY-USER
EXTENSIONS remote API

Low-/No code tools

public interface public interface

CUSTOM
ABAP PLATFORM (CLOUD) DEVELOPMENT on BTP
ABAP
& PLATFORM
EMBEDDED CLOUD
STEAMPUNK SAP BTP ABAP Environment (ABAP, Java, Node.js)

Public 18
SAP S/4HANA, private cloud and on-premise editions
ABAP language version and public SAP APIs

ABAP cloud development in the private cloud and on-premise editions of SAP S/4HANA
§ Switch ABAP language version for development object or package
§ Inspect the “Release state” for used APIs and objects

Switch from classic ABAP extensibility (standard ABAP) to ABAP cloud (ABAP for SAP released the CDS view for ABAP cloud development
cloud development)

Public 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. 19
Extensibility concept - Embedded Steampunk: The developer perspective

PUBLIC APIS /
RELEASED OBJECTS
Clean core
Modification-free extension
development

FEATURE RICH TOOL SUPPORT


Search and identification of public API by
browsing the application component tree

Public 20
Demo

Public 21
Public 22
Local APIs – Current Status and Future Direction
Available APIs

§ Success of all Extension Projects


depends on a rich set of local APIs 4130 + 101 + 6975
Read APIs Write APIs Other artefacts

Upcoming New APIs

§ SAP continuously delivers § Customers can request APIs


new local APIs with high via dedicated Customer
priority Influence Session
Additional § Shipment of API via
Local APIs Continuous Feature Delivery
(CFD) or with next Release

Public 23
Guidance – Working with Local APIs

New development No API available


Existing Code
you know what you need You can’t find what you are
Investigate what needs to be
and look for what has looking for which needs to
refactored
changed be there

Custom Code Check for SAP Identify local API for S/4HANA Cloud Request API released for Cloud
S/4HANA Cloud via ATC Development from SAP
(see Note 2923223) (see Note 3088062) (see Note 3126893)
- Identifies objects not released for - Work with Released Object Tree of - Use Customer Influence Session to
Cloud Development (e.g. tables, ADT create innovation request
function modules) - Identify Object released for Cloud
- Identifies object types not available Development
for Cloud Development (Screens, - CDS Views (DDLS), RAP Façade
Reports) (BDEF), Enhancement Spot (ENHS)
- Checks ABAP language Version 5 - Find successor Information for not to
combability be released objects (e.g. I_Product
for MARA)
Public 24
Q&A
Public 25
Thank You.
SAP Community Topic Pages link:
SAP S/4HANA: https://community.sap.com/topics/s4hana
ABAP: https://community.sap.com/topics/abap

SAP Community Q&A Tags:


SAP S/4HANA: https://answers.sap.com/tags/73554900100800000266
ABAP Development: https://answers.sap.com/tags/833755570260738661924709785639136

Connect with me:


dietmar.steinbichler@sap.com
@die_ste
https://se.linkedin.com/in/dieste

Public 26

You might also like