Download as pdf or txt
Download as pdf or txt
You are on page 1of 91

ABAP Platform in SAP S/4HANA 2021

Overview and Product Highlights


ABAP Platform Product Management, SAP
December 2021

PUBLIC
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.

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 2


Agenda

ABAP PLATFORM OVERVIEW

ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS


ABAP development tools
ABAP language today
SAP HANA-centric optimizations
ABAP RESTful Application Programming Model (RAP)
ABAP code analysis tools
Custom code migration to SAP S/4HANA and SAP BTP ABAP Environment
Integration and connectivity
SAP S/4HANA extensibility
Security

SAP BUSINESS TECHNOLOGY PLATFORM (BTP) ABAP ENVIRONMENT

SUMMARY

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 3


ABAP PLATFORM OVERVIEW
ABAP Platform – Some keys and figures

Optimized for business applications


> 100.000
Rock solid and scalable foundation Installed productive SAP systems based on ABAP
for mission critical business systems
> 20.000
Comprehensive integrated lifecycle 02 Custom ABAP objects per average
management SAP system

Huge partner and


customer community ABAP
PLATFORM
Foundation for a large variety of > 5 MILLION
SAP, partner, and customer
03 Registered ABAP developers
developments

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5


ABAP Platform – Transformation to SAP S/4HANA and SAP BTP

SAP SAP S/4HANA SAP BUSINESS


BUSINESS TECHNOLOGY
SUITE PLATFORM

SAP NetWeaver ABAP Platform ABAP Environment

Node.js, Java

On-premise On-premise and Cloud


Any DB SAP’s strategic (Cloud) ERP SAP’s strategic Cloud platform
Legacy SAP HANA SAP HANA
(maintenance until 2027/2030)
SAP Fiori UX SAP Fiori UX

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 6


ABAP Platform – Versions and consumers

on premise on premise cloud

SAP Business Suite1 SAP S/4HANA On-Premise SAP S/4HANA Cloud ABAP-based SaaS solutions
SAP NetWeaver hubs Extensions for SAP S/4HANA
SAP NetWeaver add-ons Custom cloud apps
Custom applications

SAP NETWEAVER ABAP PLATFORM 2021 ABAP PLATFORM CLOUD 2111 SAP BTP
AS FOR ABAP 7.5x 2 (indirect shipment only) (indirect shipment only) ABAP Environment 2111

PUBLIC INTERFACES
CLASSIC ABA LAYER NEW ABA LAYER NEW ABA LAYER NEW ABA LAYER
ANY DB & SAP HANA SAP HANA ONLY SAP HANA ONLY SAP HANA ONLY

Improvements One common ABAP Platform innovation codeline

1 2
(7.50) (7.50, 7.51 and 7.52)

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC This is the current state of planning and may be changed by SAP at any time. 7
ABAP development: Must learn topics
UX, SAP HANA, state-of-the-art development, cloud

Utilize SAP HANA


Focus on user experience Efficient development Cloud
capabilities

On any device ABAP managed code Secure app development, Enterprise, upgrade-stable
pushdown high code quality cloud extensions
Role based
Agile and test-driven In-app and side-by-side
Device switch and
collaboration Custom code management Cloud-ready apps
Browser based

SAP Fiori and SAPUI5 ABAP SQL, Core Data


ABAP tools, In-app extensibility,
ABAP RESTful application Services and code
development methodology SAP BTP
programming model pushdown in SAP HANA

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 8


ABAP Platform 2021 at a glance

High developer efficiency with enhanced ABAP language and ABAP Development Tools in Eclipse

Easy usage of advanced SAP HANA capabilities

ABAP RESTful Application Programming Model for the efficient development of SAP HANA-optimized
SAP Fiori applications and Web APIs

Advanced quality assurance tools fully supporting custom code migration to SAP S/4HANA and
SAP BTP ABAP Environment

Real-time events, Industrial IoT, WebSocket RFC, M2M communication, MQTT and AMQP support

Enriched security, extensibility, connectivity and integration

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 9


ABAP PLATFORM 2021
PRODUCT HIGHLIGHTS
ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

ABAP DEVELOPMENT TOOLS


IN ECLIPSE
Modern ABAP development in Eclipse

ABAP DEVELOPMENT TOOLS (ADT)


MODERN DEVELOPMENT TOOLSET
Fully eclipse-based
Syntax check, Code completion
Syntax highlighting, Pretty printing
Navigation, Search, Quick Fixes

QUALITY ASSURANCE

Static code checks (CVA, ATC) with


remote and local scenarios
Unit testing incl. isolation frameworks
Test seams and injections

SUPPORTABILITY

Debugging, profiling
Static and dynamic logging
Runtime monitoring and analysis

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 12


Modern ABAP development in Eclipse – ABAP Platform 2021 feature scope
DEVELOPMENT
Enhancements for RAP, ABAP CDS and SAP HANA development
Create a global copy of local ABAP classes or local ABAP interfaces using a quick assist
Create/Edit Application Log objects
ABAP Repository Trees: display inactive objects in Project Explorer
Duplicate a Message class
New Text Element editor
Apply Pretty Printer Formatting to functional method calls
Improvements in documentability capabilities

QUALITY
Editor for ABAP Test Cockpit check variants
Add all objects of a package to a transport request

TROUBLESHOOTING
ABAP Cross Trace for developments using ABAP RESTful Application Programming Model
Share ADT links for ABAP Traces

MISCELLANEOUS
The History view supports a version list for form-based objects
New icons for Identity and Access Management (IAM) editors
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13
ABAP Development Tools in Eclipse (1)

DEVELOPMENT New Text Element editor: create and edit Text Elements

Create a global copy of local ABAP classes or


local ABAP interfaces using a quick assist

Create/Edit Application Log objects

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 14


ABAP Development Tools in Eclipse (2)

Display RAP specific derived types in the Element Info


ENHANCEMENTS
FOR RAP, Adding alias for “Insert All Elements” in CDS code completion preference

ABAP CDS Create service consumption model for RFC


AND Adding conditions to AMDP breakpoints
SAP HANA Preview Analytical Queries app
DEVELOPMENT

Using Service Binding Editor for OData V4 Service

Quick Fixes for creating behavior implementations

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 15


ABAP Development Tools in Eclipse (3)

IMPROVEMENTS IN ADT Basics Tutorial for beginners and Tips and Tricks to make your daily work easier
DOCUMENTABILITY Linking to development objects within Knowledge Transfer documents
CAPABILITIES Linking objects in ABAP Doc Export

Find and filter development objects by their documentation status

Display documentation of BAdI definitions.

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 16


ABAP Development Tools in Eclipse (4)

ABAP CROSS Root cause analysis for RAP related ABAP


developments incl. developments of
TRACE
OData services
Provides insights into the RAP runtime
framework incl. processing of OData
requests

Check out the documentation


Working with ABAP Cross Trace

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 17


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

ABAP LANGUAGE TODAY


Declarative and expression-oriented ABAP language

MODERN Simple and concise ABAP code through new language


ABAP features like inline declarations, constructor expressions

Extensively expression-oriented syntax

Advanced table operations like CORRESPONDING( )


operator, grouping and filtering

Entity Manipulation Language (EML) to control the


transactional business object behavior in the RAP context

JSON support in sXML library

Inline code documentation with ABAP Doc

ABAP Unit Testing with test doubles and test seams More in the ABAP Keyword
Documentation

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 19


Understanding the Entity Manipulation Language (EML)

EXTENSION OF THE ABAP LANGUAGE CONTROL THE TRANSACTIONAL BO DIRECT API-BASED ACCESS TO RAP BOs
with an SQL-like syntax BEHAVIOR IN RAP CONTEXT

STANDARD EML API GENERIC EML API DATA CONSISTENCY ENSURED BY


for type-safe read and modifying access to for generic integration of RAP BOs into DATABASE LUW
RAP BOs other frameworks COMMIT operation required to persist changes

More in this blog

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 20


ABAP Language – ABAP Platform 2021 feature scope

MORE POWERFUL AND PERFORMANT PERL COMPATIBLE REGULAR EXPRESSIONS (PCRE)


Look-behind assertions now available alongside look-ahead assertions
Non-greedy behavior in PCRE regular expressions now supported by placing a question mark (?) behind
quantifiers as for example the wildcard character asterisk (*)
More in this blog

SUPPORT OF XPATH AND XSD REGULAR EXPRESSIONS


Well-equipped for breaking down XML/HTML into meaningful parts and parsing them easily
No need to know the pattern of the data in advance – unlike PCRE and POSIX regular expressions
Special short hand character classes \i and \c to ease the matching of XML names
New methods CREATE_XPATH2 and CREATE_XSD provided for the purpose in system class CL_ABAP_REGEX
New argument xpath available in some built-in string functions to pass an XPath regular expression

WORKING WITH GENERIC REFERENCES


Object component selector -> can now be used to dynamically access components and attributes
Dereferencing operator ->* can now be used for generically typed data reference variables in almost
all operand positions
More in this blog

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 21


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

SAP HANA-CENTRIC
OPTIMIZATIONS
ABAP development for SAP HANA – Mainstream and code breakouts

MAINSTREAM
ABAP managed code pushdown

ABAP Core Data Services (CDS)


ABAP SQL

ABAP Managed Database Procedures


and Functions (AMDP)
CDS Table Functions and Hierarchies
SAP HANA BREAKOUTS

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 23


Evolution of ABAP CDS and Open/ABAP SQL
CLASSIC OPTIMIZED ACCESS OPTIMIZED and SPECIALIZED ACCESS
ACCESS for SAP HANA for SAP HANA
CLOUD QUALITIES

Key User & Developer


Extensibility
CDS / OPEN SQL CDS / OPEN SQL CDS / ABAP SQL
Allowlisting-support for
CDS & AMDP
DB Administration
BREAKOUTS 1 BREAKOUTS 1
Supportability
ABAP RESTful Application
Programming Model support

SQL SQL SQL SQLScript SQL SQL Extensions Specialized Engines SQLScript
Windowing Hierarchies Graph
CTE GEO Spatial Support
DB Tuning Objects
(view caches)

ANYDB ANYDB SAP HANA SAP HANA

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 1*CDS Table Functions and ABAP Managed Database Procedures (AMDP) 24
ABAP CDS – Next generation data modeling and access

Semantically rich
Declarative
Close to conceptual thinking
COMMON
DATA
MODEL

For all application domains


Rich set of built-in functions
IMPROVED Code pushdown capabilities
PROGRAMMING
Declarative access control
MODEL

CORE CAPTURE Reduced complexity


BUSINESS
DATA INTENT Extending SQL

SERVICES
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 25
ABAP CDS – Overview of supported CDS entity types

CATEGORY CDS ENTITY TYPE ABAP CDS STATEMENT

Standard view building CDS View Entity DEFINE VIEW ENTITY


CDS Projection View DEFINE VIEW ENTITY AS PROJECTION
CDS DDIC-based View DEFINE VIEW

Transactional behaviour definition of business CDS Behavior Definition DEFINE BEHAVIOR


objects within the ABAP RESTful Application CDS Behavior Projection
Programming Model (RAP)

Modification-free extension CDS Metadata Extension ANNOTATE VIEW


CDS View Extension EXTEND VIEW
CDS View Entity Extension EXTEND VIEW ENTITY
CDS Abstract Entity Extension EXTEND ABSTRACT ENTITY *

SAP HANA breakout CDS Table Function DEFINE TABLE FUNCTION


CDS Hierarchy DEFINE HIERARCHY

External implementation CDS Custom Entity DEFINE CUSTOM ENTITY


CDS Abstract Entity DEFINE ABSTRACT ENTITY

Access control CDS Access Control DEFINE ROLE

* Available starting with ABAP Platform 2021


© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 26
ABAP CDS – ABAP Platform 2021 feature scope (1)

ENHANCED CDS VIEW ENTITIES


UNION clause and DISTINCT addition for SELECT statements
Typed literals for built-in ABAP Dictionary data types in SELECT list
Reuse of expressions defined in the SELECT list via syntax $projection.reuse_exp
New set operators EXCEPT and INTERSECT
New conversion functions GET_NUMERIC_VALUE and CURR_TO_DECFLOAT_AMOUNT
Arithmetic and case expressions now supported as operands in WHERE clause, HAVING clauses, and searched
case expressions
Special handling of amounts and quantities – incl. new type for result of calculations: the CDS calculated quantity
Definition of analytical data models with dimensions, cubes, and queries

MIGRATION SUPPORT FOR CDS DDIC-BASED VIEWS


ABAP program RUTDDLS_MIGRATION_CANDIDATES for evaluating whether a migration from
a CDS DDIC-based view to a CDS view entity is possible
ABAP program RUTDDLSV2MIGRATION for migrating CDS DDIC-based views to CDS view entities

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 27


ABAP CDS – ABAP Platform 2021 feature scope (2)

ENHANCED CDS PROJECTION VIEWS


Redefinition of CDS associations from the projected entity in the header part
Specification of provider contract for scenario-specific features

ENHANCEMENTS FOR CDS ABSTRACT ENTITIES


Definition of to-parent association without ON condition when target is a CDS abstract entity
Modification-free enhancement of element list using CDS abstract entity extensions (statement EXTEND
ABSTRACT ENTITY)

CACHING POLICY FOR CDS HIERARCHY


New addition CACHE ON|OFF|FORCE for the hierarchy generator DEFINE HIERARCHY to specify
the caching policy for a generated hierarchy

VARIOUS ENHANCEMENTS FOR CDS ACCESS CONTROL


Like new/enhanced quantifier operators (EXISTS, BYPASS WHEN), additional filtering of self-defined aspect usage,
condition replacement for role-based inheritance, and generic element replacement
for condition inheritance

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 28


ABAP SQL – ABAP Platform 2021 feature scope

EXPRESSIONS OR AGGREGATIONS IN ORDER BY CLAUSE


Simple expressions or aggregate functions, like count(*), can now be written in
the ORDER BY clause

SUPPORT FOR PCRE REGULAR EXPRESSIONS


ABAP SQL and ABAP CDS now support the PCRE syntax with built-in functions

EXTENDED LOAD UNIT IN THE ABAP DICTIONARY FOR THE SAP HANA DATABASE
New load unit settings available for SAP HANA: Column Preferred, Page Preferred, Column Enforced, and
Page Enforced

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 29


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

ABAP RESTful APPLICATION


PROGRAMMING MODEL (RAP)
Evolution of the ABAP programming model

ABAP PLATFORM ≤ 7.5 ABAP PLATFORM ≥ 7.5 SAP BTP


ABAP Environment
SAP S/4HANA ≥ 1909

CLASSIC ABAP ABAP ABAP RESTful


PROGRAMMING PROGRAMMING APPLICATION
MODEL FOR PROGRAMMING
SAP FIORI MODEL (RAP)

CDS, CDS-based BOPF,


SEGW / @OData annotation CDS, Behavior Definition &
Best practice freestyle ABAP with Referenced Data Source, Implementation, Business
programming, (Web) Dynpro SAP Fiori, UI5 Services, SAP Fiori, UI5

Safe investments!

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 31


ABAP RESTful Application Programming Model (RAP) – In a nutshell

The ABAP RESTful APPLICATION


PROGRAMMING MODEL consists of …

SAP Fiori UI services


CONCEPTS Service development
Web APIs

TOOLS
Greenfield developments
Universally usable
FRAMEWORKS
programming model
Brownfield developments

LANGUAGES
SAP S/4HANA, cloud and
Available in the cloud on-premise editions
BEST PRACTISES
and on-premise SAP BTP
ABAP environment

… for the efficient development of


ENTERPRISE GRADE APPLICATIONS

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 32


RAP – The key players

ABAP Development Tools in Eclipse for all development tasks


Easy developer onboarding
End-to-end development flow

Languages: ABAP and 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

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 33


RAP – The big picture for service consumption scenarios
DATA INTEGRATION* WEB APIs SAP FIORI UIs SAP ANALYTICS CLOUD*
Consume SQL based Consume OData Consume OData Consume InA based UI services
services based services based UI services for live data access
CONSUMPTION

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed

BUSINESS OBJECT PROJECTION ANALYTICAL PROJECTION


CDS: BO projection views CDS: Analytical projection views

BUSINESS BDEF: Behavior projection


SERVICE ABAP: Behavior implementation
PROVISIONING

CDS ENTITIES BUSINESS OBJECTS ANALYTICAL MODEL


CDS: Data modeling CDS: Data modeling CDS: Analytical cubes
BDEF: Behavior definition CDS: Analytical dimensions
DATA MODELING ABAP: Behavior implementation
& BEHAVIOR
* Scenarios currently only supported on SAP BTP ABAP Environment
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 34
RAP – What is a business object?

Behaviour
CRUD, Actions, Functions
Locks, eTag
Authorizations, Feature Control
Data Model Draft

R
2

COMPOSITION 1 3
TREE Runtime Implementation
(root, parent and child nodes)
INTERACTION PHASE

TX buffer

SAVE SEQUENCE

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 35


RAP – Business Object (BO) runtime implementation types

INTERACTION SAVE
PHASE SEQUENCE UNMANAGED
For brownfield developments with available application code for
finalize interaction phase, transactional buffer, and save sequence
➔ Developers in charge of BO runtime: CRUD operations
check_before_save
➔ Adapters needed to integrate the existing code
MODIFY

adjust_numbers
READ

LOCK

save
MANAGED
For greenfield developments with standard implementation
Transactional (opt. unmanaged appl. components: DB tables, lock/PFCG object, update task FM)
buffer ➔ Standard CRUD operations work out-of-the-box
SAP HANA ➔ Developers add BO-specific business logic
BUSINESS OBJECT RUNTIME

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 36


RAP – What is a business service?

Web API Lifecycle


Service Binding
Release
Protocol: OData V2, OData V4, InA or SQL?
Versioning
Scenario: Web API or UI?
Deprecation

2
3
1 Tool support
UI: SAP Fiori Elements preview
4 Web API: Swagger UI preview

Service Definition: which entities? R

BO Projection View: which elements?

Behavior Projection: which behavior?

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 37


RAP – Development flow
DEFINE ROLES
Role
SERVICE
BINDING PREVIEW

DEFINE SCENARIO and PROTOCOL

SERVICE
AUNIT DEFINITION
Scenario & integration test
DEFINE SCOPE

ADD
BEHAVIOR
AUNIT
Unit test
DATA MODEL BEHAVIOR
PROJECTION PROJECTION

PROJECT ELEMENTS & ENRICH PROJECT BEHAVIOR

ADD IMPLEMENT
CDS BEHAVIOR BEHAVIOR
Authority object
access control QUERY
DATA ACCESS CDS BASED CDS BEHAVIOR
CONTROL DATA MODEL DEFINITION ABAP CODE

AUTHORITY-CHECK DATABASE
TABLES Lock object
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 38
RAP – ABAP Platform 2021 feature scope (1)
SUPPORT FOR ADDITIONAL PROTOCOLS IN THE SERVICE BINDING EDITOR
Analytical scenarios: SAP Information Access (InA) based services for exposing CDS analytical queries with live data connection
Data integration scenarios: SQL-based services for accessing ABAP-managed data (CDS view entities) from external ODBC
based clients

SUPPORT FOR MULTI-INLINE-EDITING ON AN SAP FIORI UI


Implementation of RAP BOs with singleton mechanism to support multi-inline-editing on a Fiori UI

UNMANAGED EARLY NUMBERING


To automatically draw keys during the CREATE operation
Available for unmanaged BOs with draft and managed BOs

ENHANCEMENTS FOR THE PROJECTION LAYER


Specification of provider contract in the data model projection to enable scenario-specific features
Adding actions and functions in a behavior definition projection
Suppression of fields in transactional handling
Flexible association modeling

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 39


RAP – ABAP Platform 2021 feature scope (2)

VARIOUS ENHANCEMENTS FOR DETERMINATIONS, ACTIONS, AND VALIDATIONS


Nested Determinations on modify
Flag always for Determinations/Validations on Sub-entities
Always Flag in Determine Actions
Mapping for Action and Function Parameters
Additional Implementation for Draft Actions
Save actions for managed Bos

ENHANCED FEATURE CONTROL


Global feature control
Field control for modify-enabled fields

ENHANCED AUTHORIZATION CONTROL


Global authorization control
Delegation of authorization checks
Authorization and feature control checks in unmanaged business objects

SPECIFICATION OF STRICT MODE IN BEHAVIOR DEFINITIONS


For the implementation lifecycle-stable and upgrade-safe RAP BOs

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 40


RAP – ABAP Platform 2021 feature scope (3)

UNIT AND CURRENCY TYPES AS BUILT-IN ENTITY SETS


Both built-in entity sets automatically added to service metadata sets of OData V2 services
Unit and currency values are then always displayed correctly and validated regarding decimals on UI

RAP REUSE DATA ELEMENTS


For the administrative fields

ENHANCEMENTS AROUND EML


Harmonization of COMMIT WORK and COMMIT ENTITIES
COMMIT ENTITIES in simulation mode
Using AUTO FILL CID option
Runtime changes for cleanup execution

IDEMPOTENCY FOR ODATA V4 SERVICES


Ensuring that synchronous messages are delivered exactly once

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 41


Guidance for RAP usage in SAP S/4HANA on-premise releases

SAP S/4HANA FIRST RAP DELIVERY WITH LIMITED FEATURE SET


Managed scenario for greenfield development not supported
1909
No draft support for SAP Fiori development
GUIDANCE
Delivery with SAP S/4HANA 1909 ✏︎ Use the ABAP Programming Model for SAP Fiori

SAP S/4HANA BASIC RAP DELIVERY


2020 Incl. managed scenario (with major limitations regarding key layout and numbering)
Draft support for managed or unmanaged BOs to build transactional SAP Fiori apps
OData V4 support for Web APIs and SAP Fiori UIs with FPS01
GUIDANCE
If limitations are crucial ✏︎ Use the ABAP Programming Model for SAP Fiori
If limitations are not critical ✏︎ Use RAP

SAP S/4HANA MASS ADOPTION READY RAP DELIVERY


2021 Managed scenario now supports nearly all key layouts
Late numbering for a managed BO (with or without draft) planned with FSP01*
Enhanced testability, documentability and supportability support
GUIDANCE
✏︎ Exclusively use RAP

* This presentation and SAP‘s strategy and possible future developments are subject to change
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 42
and may be changed by SAP at any time for any reason without notice.
ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

ABAP CODE ANALYSIS TOOLS


ABAP Code Analysis Tools
Advanced quality assurance

ABAP Test Cockpit for static quality checks and unit tests

SQL Monitor for runtime SQL performance analysis in productive


ABAP-based systems

Classic performance monitoring and trace tools


(SQL Trace, ABAP runtime analysis/Profiler…)

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 44


Technical infrastructure for custom code analysis

Central Check System


CENTRAL ATC SYSTEM TO ANALYZE CUSTOM CODE
in whole system landscape ABAP Test Cockpit (ATC)
Simplification
REMOTE stubs return a model from custom code DB
CHECK LOGIC is executed on central system
RFC RFC RFC
RESULT is analyzed in central system
INTEGRATED in development environment
MOST CUSTOM CODE is supported (incl. modifications and
enhancements, Adobe Forms, Smart Forms, SAP Queries)
Checked Checked Checked
SUPPRESS false-positive findings with pseudo-comments System A System B System C
e.g. for MATNR findings (>=7.00) (>=7.00) (>=7.00)
Customer Customer Customer
INSTALL Simplification DB via Note 2241080 Code Code Code
ESSENTIAL for custom code migration to SAP S/4HANA
Remote Stubs

Check out Remote code analysis with ATC

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 45


ATC Statistics View for better analysis of findings

USE STATISTICS VIEW with display criteria: ATC Statistics View with Simplification Item information
SAP Note number
Referenced Object
Application component

USE DOUBLE-CLICK NAVIGATION from ATC result


Navigate to SAP Notes, Referenced Objects, ATC
findings

USE SAP S/4HANA SIMPLIFICATION INFORMATION


in ATC result with filtering and sorting capabilities:
SAP Note number incl. title
Referenced object
Application component

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 46


Baseline in ATC – Focus on findings in new or recently changed code

BASELINE CONCEPT Baseline management


Take over individual ATC results into the baseline
Options:
suppress all findings (exclude from the ATC result)
indicate the findings as exempted
assign the low priority to the findings
The baseline is effective as long as the related code sections
remain unchanged

BASELINE ACTIVITIES
Adding/Removing individual check results
Deleting baseline (reset the test system to original state)

Check out Working with Baseline in ATC

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 47


Using ATC as Developer

ABAP TEST COCKPIT (ATC) Run ATC in ABAP Development Tools in Eclipse
Tightly integrated in development (`Run As…` menu)
Browse all ATC check runs of the system (filter by users)
using ATC Result Browser Quick Fixes in the ATC Problems View
For custom code migration to SAP S/4HANA conversion:
Simplification Item information (e.g. SAP Notes, Referenced
Objects)
Integrate checks in your on-going development activities,
e.g. during transport release

AUTOMATIC CODE ADAPTATIONS


Quick Fixes to minimize adaptation efforts
Examples: No Order-Check Quick Fixes in the Source Code Editor

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 48


Performance tuning using SQL Monitor

PERFORMANCE DATA FOR ALL SQLs executed in your productive


system
What are the most expensive and most frequently executed SQLs?
Which SQL reads/writes millions of records?
What is the SQL profile of transaction VA01?

LINK the MONITORED SQLs TO the driving TRANSACTION

AVAILABLE FOR SAP NETWEAVER >= 7.00

SQL MONITOR DOES NOT HARM YOUR BUSINESS PROCESSES


(performance overhead < 3%)

Check out SQL Monitor Guide and Best Practices


© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 49
SQL Monitor – Example
BUSINESS PROCESS LIST RANKED BY TOTAL DB TIME

DRILL DOWN

SQL PROFILE OF REPORT ZSQLM_TEST3 RUNNING AS BATCH JOB (6 SQL STATEMENTS)

CODE

NAVIGATE

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 50


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

CUSTOM CODE MIGRATION TO


SAP S/4HANA AND
SAP BTP ABAP ENVIRONMENT
Transformation to SAP S/4HANA and SAP BTP – Your custom ABAP code

on premise cloud

CUSTOM CODE ADAPTATION

SAP BUSINESS SUITE SAP S/4HANA SAP S/4HANA CLOUD

SAP NETWEAVER
ABAP PLATFORM 2021 ABAP PLATFORM CLOUD 2111
AS FOR ABAP 7.x

extend extend extend SAP BTP supports


SAP S/4HANA and
cloud transformation
JAVA or Node.js APPS & Save harbor for loosely
EXTENSIONS coupled custom
extensions
ABAP APPS & EXTENSIONS

SAP BTP
ABAP ENVIRONMENT 2111

SAP BUSINESS TECHNOLOGY PLATFORM

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 52


SAP S/4HANA system conversion
Custom code related process

Preparation phase Realization phase

System Maintenance Software Update Application specific


Application specific
SI checks Custom code
Custom code preparation
preparation
requirements planner Manager (SUM) follow-up activities
follow-up activities

Custom code Custom code Functional Custom code


scoping analysis adaptation optimization

Usage tracking of custom code Remote ATC to check for Adjust modifications in Performance tuning
in production S/4HANA related changes SPDD/SPAU
Check out Custom Code (SCMON/SUSG or UPL) (Simplification DB)
Code pushdown
ADT for Eclipse
Adaptation process Simplification
Custom Code Migration app Custom Code Migration app Quick Fixes for semi-automated
to detect unused code for efficient custom code custom code adaptation User experience
analysis
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC Remove unused code via SUM 53
Custom code analysis with Custom Code Migration app

SOLUTION OVERVIEW
Available in an SAP S/4HANA >=1809 system or in SAP BTP ABAP Environment
Analysis of custom code for SAP S/4HANA or SAP BTP readiness
Simplified custom code remediation
Obsolete custom code removal based on usage data
Identification of custom code candidates for back-to-standard and redesign
Evaluation of custom code for semi-automated adaptation (Quick Fixes in ADT in Eclipse)
Automated setup and configuration in SAP BTP ABAP Environment

HIGH LEVEL FEATURES:

SCOPING ANALYSIS

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 54


Scoping of custom code for SAP S/4HANA in Custom Code Migration app

Aggregate usage data in SUSG transaction


1. COLLECT usage data for your custom code with ABAP Call
Monitor (transaction SCMON)

2. AGGREGATE usage data in your productive system with


SUSG transaction (without SAP Solution Manager *)

3. UPLOAD usage data to Custom Code Migration app


to define initial custom code migration scope
Scoping in Custom Code Migration app
4. ADJUST custom code migration scope manually (if needed)

5. CREATE deletion transport for unused code

6. REMOVE unused code during the SAP S/4HANA conversion


automatically with SUM or backup it using gCTS

Check out Custom code backup with gCTS

* Custom code evaluation with CCLM/UPL tools of SAP Solution Manager is still possible
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 55
Complexity analysis of custom code in Custom Code Migration app

CLEAN CORE DASHBOARD

Spot the top TCO drivers in your custom code


Identify candidates for redesign to save adaptation effort and future maintenance costs
Remove complex development packages from scope
REEVALUATE FUNCTIONALITY
Remove old and orphaned business logic
Evaluate SAP and partner solutions

BACK-TO-STANDARD
Clean up modifications and enhancements
Reset as much as possible to SAP standard

IN-APP EXTENSIBILITY SCOPE


01 Small low-/no-code extensions

SIDE-BY-SIDE EXTENSIBILITY SCOPE


Check out Custom Extensions in SAP Loosely coupled extensions and apps
S/4HANA Implementations - A Practical
Guide for Senior IT Leadership
LIFT AND SHIFT
Tightly coupled extensions and apps
Optimize and modernize
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 56
Analysis of custom code findings in Custom Code Migration app
USE PREDEFINED FILTERS Analysis results
Findings by SAP Note
In which SAP S/4HANA simplification areas you
get the most findings?
Findings by Scope
How many findings are in the custom code you
take over to SAP S/4HANA?
Findings by Priority
What are the most important (urgent) findings?
Findings by Quick Fix Availability
Which findings can be fixed automatically?

AGGREGATION OF FINDINGS Check out SAP Fiori App Custom Code Migration

FOCUS ON USED CUSTOM CODE Findings Burndown chart


FINDINGS BURNDOWN CHART

DETAILED ANALYSIS OF A FINDING

DOWNLOAD OF ANALYSIS RESULTS


(e.g. for SAP Readiness Check 2.0)
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 57
Functional adaptation in ABAP Development Tools (ADT) in Eclipse

Run ATC in ABAP Development Tools in Eclipse

ABAP TEST COCKPIT IN ADT


Tightly integrated in development (“Run As…” menu)
Browse all ATC check runs of the system (filter by users) using
ATC Result Browser
ATC Problems View
Display Simplification Item information (e.g. SAP Notes,
Referenced Objects) incl. navigation
Integrate checks in your on-going development activities, e.g.
during transport release
Change contact person to transfer findings

* Functional adaptation in ABAP Workbench (SE80) still possible with limitations:


no automatic code adaptation, CDS and AMDP not supported
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 58
Semi-automatic custom code adaptation for SAP S/4HANA in ADT in Eclipse

Quick Fixes in the Source Code Editor


QUICK FIXES to minimize adaptation efforts
Order By
MATNR and Amount Field Length Extension
Field length extension of field VBTYP (SD document category) and
elimination of field VBTYP_EXT
Reduce findings for VBRK and VBRP
Data Model Changes, e.g. Mass-enabled Quick Fixes in the ATC Problems View
KONV
VBUK/VBUP
BSEG

MASS-ENABLED Quick Fixes to adapt whole work


packages in one step

Check out Semi-automatic custom code adaptation


© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 59
Analysis of cloud findings in Custom Code Migration app

Custom code analysis for SAP BTP ABAP Environment

Automatic scoping of custom code dependent objects


Detect usage of not supported technologies (e.g. Dynpro)
Detect usage of not released objects
Detect incompatibilities with ABAP Language Version Cloud
Evaluation for automated code adaptation
(Quick Fixes in ADT in Eclipse)

Check out Custom code analysis for cloud


with SAP Fiori App Custom Code Migration

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 60


How to bring your custom code to SAP BTP ABAP Environment

2 PUSH 3 PULL

ABAP Development Tools ABAP custom code

4 ADAPT

ABAP custom code Custom Code Migration app

CLOUD
CONNECTOR
1 ANALYZE
BACKEND SYSTEM
e.g. SAP ERP, SAP S/4HANA,
SAP NetWeaver AS ABAP SAP BTP ABAP ENVIRONMENT

Check out How to bring your ABAP custom code to SAP BTP ABAP Environment
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 61
Semi-automatic code adaptation in ADT for SAP BTP ABAP Environment

Quick Fixes in ATC Problems View of


MASS-ENABLED QUICK FIXES IN ADT IN ECLIPSE TO ABAP Development Tools in Eclipse
MINIMIZE ADAPTATION EFFORTS
Adapt to ABAP Language Version Cloud
Adapt to usage of released objects
API calls instead of direct access to SY fields

EXAMPLES: USE CASES FOR QUICK FIXES


Replace Data Element by
released Data Element (->ABAP_BOOLEAN)
Replace syntax element by new syntax element (e.g. MOVE)

ABAP custom code

Check out Semi-automatic custom code adaptation


© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
for SAP BTP ABAP Environment 62
Custom code analysis options
Custom Code Migration app
Remote ATC with SAP GUI Custom Code Migration app
in SAP BTP

SAP BTP
Required system Central ATC check system 1 Central ATC check system 2
ABAP Environment

System location in customer landscape in customer landscape cloud

Remote connectivity via RFC via RFC via RFC and SAP Cloud Connector

Technical configuration manual manual with CIAS

3
Analyze cloud findings

Analyze SAP S/4HANA findings

Simplification information in ATC


result
Filter results by scope and Quick Fix
availability
Define custom code migration scope
based on usage data
Remove unused code during system
conversion via SUM
1 SAP_BASIS 7.52 2 SAP S/4HANA >=1809
3 Only SAP S/4HANA >=1909
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 63
Custom Code Migration app – ABAP Platform 2021 feature scope

Support for replatforming projects: dependency analysis of custom code with SAP standard for SAP BTP transformation

Calls of SAP application APIs in custom code DB accesses to SAP tables in custom code

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 64


How to get started

SAP Discovery Center Mission Use SAP Fiori Custom Code Migration app to analyze your ABAP custom code for SAP S/4HANA
Custom Code Migration app in SAP BTP ABAP Environment
Automated setup and configuration with CIAS guided workflow
Step-by-step guided custom code analysis

CIAS Workflow for Custom Code Migration app

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 65


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

INTEGRATION AND
CONNECTIVITY
Real-time monitoring and Industrial IoT with ABAP Channels

SENSORS /
ABAP PUSH CHANNELS – CONNECTING THE WORLD USER INTERFACE MACHINES
Direct communication with sensors/machines
Push sensor data directly to UIs or to the Cloud
Extended protocol support:
WebSocket
native TCP/IP protocols (AS ABAP 7.50)
MQTT (ABAP Platform 1809) ABAP Push Direct TCP/IP
Channel communication

ABAP MESSAGING CHANNEL – COLLABORATION


Transport sensor data across ABAP sessions ABAP Messaging
User session Channel (pub/sub) User session
Publish sensor data to bound WebSocket connections immediately

Application Application
Server Server
Check out ABAP Connectivity ABAP SYSTEM

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 67


Supportability and security for ABAP Channels

TCP log
SUPPORTABILITY
Standard ABAP supportability tools for debugging, runtime analysis
and performance, kernel trace
Transaction SMWS shows active WebSocket, TCP Socket and
MQTT subscriptions on each app server
Supportability tools integrated into SAPC, SMWS transactions
TCP log

SECURITY
SMWS
Virus scan profile for messages, authorization for involved
addresses and domains
Secure communication using SSL (TCPS for TCP Sockets and
WSS for WebSockets)

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 68


ABAP Daemons
Always available ABAP sessions to handle real-time events

Implement a daemon application


FEATURES
Daemon session with event handling capabilities
Similar to Windows Services or Linux cron jobs
Long-lived: once started, there is no limit for the lifetime
Robust against errors (E/A/X messages)
Event-driven programming model (ABAP Channels like)
Monitoring & Supportability

USAGE EXAMPLES
Events scheduling Monitor active daemons with SMDAEMON
Tracing & Logging
Health Check, clean up of resources, synchronization
of caches and error handling
Proxy-Session for external communication

Check out ABAP Daemons


© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 69
WebSocket RFC

RFC IS READY FOR INTERNET USE


WebSocket RFC uses standard HTTP infrastructure: Reverse WebSocket RFC
proxies, HTTP routers, etc. instead of proprietary SAP router
VPN tunneling no longer needed for RFC connections across
business networks
Same CALL FUNCTION statement for RFC over WebSocket and
CPIC
Use new destination type “W” for RFC calls via WebSocket
Security: HTTPS enforced and UCON protection for WebSocket
RFC with dedicated allowlist to make Function Modules
accessible from the internet.
Limitations by WebSocket RFC: RFC callbacks
and calling function modules that open SAP GUI-based user
interfaces not supported

Check out WebSocket RFC

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 70


AMQP support
AMQP-based message exchange via a broker

AMQP SUPPORT IN ABAP


API to implement AMQP Clients (AMQP specification 1.0)
Communication
Point-to-point or publish-and-subscribe (via a message broker)
ABAP to ABAP, ABAP to non-ABAP
Based on ABAP Push Channel technology
Connection types: WebSocket and TCP Socket
Event-driven programming model (ABAP Channels like)
APC Security and Supportability
System-internal RFC function module

SYSTEM-INTERNAL RFC FUNCTION MODULES


Develop RFC function modules for purely system-internal use

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 71


Integration and connectivity – ABAP Platform 2021 feature scope

HTTP SERVICE
Create and activate an HTTP service based on the ABAP Internet Communication Framework
HTTP Service editor in ABAP Development Tools in Eclipse

OAuth AUTHENTIFICATION FOR SOAP, HTTP


New option in SOAMANAGER to select OAuth as the login method in the logical port
Option in SM59 to refer to an OAuth configuration

SERVICE CONSUMPTION MODEL FOR SOAP AND RFC


Create and consume proxies to trigger operations on remote SOAP and RFC services
Service Consumption Model editor in ABAP Development Tools in Eclipse

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 72


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

SECURITY
Security – ABAP Platform 2021 feature scope

SECURE BY DEFAULT FOR SAP S/4HANA 2021


See the list of new secure by default settings and configurations

LOGGING & AUDITING


Custom Metadata Extensions for RAL app
to log access to specific fields of a CDS view for audit
Display Security Audit Log app to display information about security events (for audit)
Display Static System Audit app to get quick overview of static system information
Read Access Logging: support for the eDocuments channel

MISCELLANEOUS
Interface enhancement for global user ID (SAP Note 3003462)
SU22: new value “App is deprecated ”
OAuth: support of mTLS for secure client authentication
Activation of start authorization check for Web Dynpro applications (SAP Note 3064888)

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 74


ABAP PLATFORM 2021 PRODUCT HIGHLIGHTS

SAP S/4HANA EXTENSIBILITY


SAP S/4HANA extensibility today - Status
In-app extensibility Side-by-side extensibility

SAP S/4HANA
(Cloud)

KEY-USER
remote API
EXTENSIONS
Low-/No code tools

Public interface CUSTOM


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

PRO
Clear interface between SAP code and extension ✏︎ Cloud-ready and upgrade-stable extensions
CON
✏︎ Restricted flexibility and richness especially for tightly-coupled extension scenarios
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 76
SAP S/4HANA Extensibility
In-app extensibility and side-by-side extensibility

SAP Business
Key user can do
Technology Platform
easy changes directly
for side-by-side extensions
in the app
and cloud integration
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 77
SAP S/4HANA Extensibility
In-app extensibility

Custom fields

Custom user interface


SAP S/4HANA (Cloud)
Custom Business Objects
UI
In-app Custom business logic
Application
extensions
Database Custom reports / queries

Custom forms / reports

Extensibility cockpit

Extensibility inventory

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 78


In-app Extensibility – ABAP Platform 2021 feature scope

KEY USER UI ADAPTATION


With the UI adaptation mode, key users can now change existing views, create new views, and manage available views
for other users in their organization
See Adapt user interfaces

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 79


Main usage scenarios for side-by-side extensibility

FOR CUSTOMERS FOR PARTNERS FOR SAP


Develop and run loosely coupled Develop and run multitenancy- SAP products running on SAP BTP,
side-by-side extensions for core enabled SaaS applications for their ABAP environment such as
applications such as SAP S/4HANA customers SAP Market Communication for Utilities
Keep the core clean and follow an Client-based multitenancy to reduce SAP Master Data Governance, cloud
own release cycle costs edition
Separate new user groups from the Add-on-based tools for software Sales Solutions by Vistex
core application lifecycle management
Consume the newest technology Support of application management
features

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 80


SAP BUSINESS TECHNOLOGY PLATFORM (BTP),
ABAP ENVIRONMENT
Vital parts of SAP Business Technology Platform (BTP), ABAP environment

SAP Business Technology Platform, SAP BTP


ABAP environment services
SAP BTP cockpit
SAP Integration suite

SAP Launchpad service


ABAP RESTful application
programming model SAP Workflow service Cloud
Cloud-optimized ABAP language
Analytics
Released APIs
SAP Fiori tools …

WEB
WEB API
API
WEB
WEBAPI
API
Cloud

ABAP development Connectivity


tools in Eclipse

SAP HANA
SAP system
SAP Business
Git code Technology Platform SAP Cloud On premise Non-SAP system
Connector
management

© 2021 SAP SE or an SAP affiliate company. All rights reserved. 82


Extension scenario 1: Cloud ERP
Extend SAP S/4HANA Cloud or other SAP cloud offerings with cloud extensions

SAP BTP ABAP ENVIRONMENT SAP BTP


Services

ABAP EXTENSION IoT


Use SAP BTP ABAP Environment to extend
ML
SAP S/4HANA Cloud or other SAP cloud
… solutions
connectivity Analytics
SAP Cloud solutions like SAP S/4HANA Cloud
provide in-app extensibility to extend SAP apps
SAP HANA and processes, but there is no support for
classic custom ABAP development on top of
SAP BTP SAP S/4HANA Cloud
SAP BTP is the foundation to develop and run
custom cloud extensions and the ABAP
environment shall be used for ABAP based
cloud extensions

CLOUD

© 2021 SAP SE or an SAP affiliate company. All rights reserved. 83


Extension scenario 2: Innovation Platform
Develop and run innovative ABAP apps on a PaaS in the Cloud

SAP BTP ABAP ENVIRONMENT SAP BTP


Services

ABAP EXTENSION IoT

ML
Benefit from the newest ABAP Platform and

SAP HANA database technologies independent
connectivity Analytics from your existing on-premise system
landscape
Build your Fiori apps with the new future proof
SAP HANA ABAP RESTful Application Programming Model
Utilize SAP BTP services like IoT, machine
SAP BTP learning etc. in your cloud extension
Delegate operation of the ABAP PaaS and new
SAP CLOUD technologies to SAP
CONNECTOR

ON PREMISE ERP

© 2021 SAP SE or an SAP affiliate company. All rights reserved. 84


Extension scenario 3: Hub-like usage
Decouple ABAP implementations from your core business systems

SAP BTP ABAP ENVIRONMENT SAP BTP


Services

ABAP EXTENSION IoT

ML
EXTERNAL USER GROUP
… Make your cloud app available to a broader audience that does
not have access to your core business systems (e.g. consumer
connectivity Analytics apps)
INTEGRATION HUB
Integrate in your cloud extension multiple cloud/on-premise
SAP HANA
systems with SAP/non-SAP cloud services
DATA INTEGRATION
Collect data from multiple sources in your cloud extension for
SAP BTP further processing and analysis
DECOUPLED EXTENSION
Cloud extensions use only well defined (remote) APIs of the
SAP CLOUD Business system. This reduces the risk and effort for business
CONNECTOR system upgrades.

SAP S/4HANA
WEB
WEB API
API
SAP System WEB
WEBAPI
API
ON PREMISE Non SAP System CLOUD

© 2021 SAP SE or an SAP affiliate company. All rights reserved. 85


Recent innovations

Documentation of delivered features through release notes in

SAP BTP What’s New section Regular blog posts

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 86


SUMMARY
Summary – Key takeaways
First class development experience in Eclipse using enriched
01 ABAP language and tools

Enhanced ABAP CDS and ABAP SQL for advanced data


01 modelling and access on SAP HANA

Enhanced feature scope of the ABAP RESTful Application


03 Programming Model (RAP) – incl. support for early numbering
and additional protocols

High quality assurance with code analysis tools, efficient custom


03 code migration support for SAP S/4HANA and SAP BTP ABAP
Environment
ABAP Platform 2021
Real-time events with ABAP Channels and ABAP Daemons,
01 Industrial IoT, and M2M communication, WebSocket RFC,
MQTT and AMQP support

03 Enhanced extensibility, security, integration and connectivity

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 88


Further Information

SAP HELP PORTAL


What‘s New in ABAP Platform in SAP S/4HANA 2021

SAP COMMUNITY
ABAP Development
https://community.sap.com/topics/abap
ABAP Testing and Analysis
https://community.sap.com/topics/abap-testing-and-analysis
ABAP Connectivity
https://community.sap.com/topics/abap-connectivity
ABAP Extensibility
https://community.sap.com/topics/abap-extensibility
SAP BTP ABAP Environment
https://community.sap.com/topics/btp-abap-environment

DEVELOPERS ON SAP.COM
ABAP Platform: https://developers.sap.com/topics/abap-platform.html
Tutorials: https://developers.sap.com/tutorial-navigator.html?search=abap

© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 89


Thank you.
Contact information:
Carine Tchoutouo Djomo
Product Management
Technology Core Platform, SAP SE
carine.tchoutouo.djomo@sap.com

Olga Dolinskaja
Product Management
Technology Core Platform, SAP SE
olga.dolinskaja@sap.com
Follow us

www.sap.com/contactsap

© 2021 SAP SE or an SAP affiliate company. All rights reserved.


No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of
SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its
distributors contain proprietary software components of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or
warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials.
The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty
statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or
any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation,
and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platforms, directions, and
functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason
without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or
functionality. 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, and they
should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names
mentioned are the trademarks of their respective companies.
See www.sap.com/copyright for additional trademark information and notices.

You might also like