You are on page 1of 71

©

SAP NetWeaver AS for ABAP 7.52


Overview and Product Highlights
Technology Core Platform Product Management, SAP SE
October 2017
Disclaimer

This presentation outlines our general product direction and should not be relied on in making a purchase
decision. This presentation is not subject to your license agreement or any other agreement with SAP. SAP
has no obligation to pursue any course of business outlined in this presentation or to develop or release any
functionality mentioned in this presentation. 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.
This document 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. SAP
assumes no responsibility for errors or omissions in this document, except if such damages were caused by
SAP intentionally or grossly negligent.

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


Agenda

ABAP Platform overview

ABAP 7.52 Product highlights


ABAP development tools
ABAP language today
SAP HANA-centric optimizations
ABAP Programming Model for SAP S/4HANA
ABAP code analysis tools
Custom code adaptation for SAP S/4HANA
Real-time events and Industrial IoT
SAP S/4HANA extensibility

Summary

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


ABAP Platform Overview
ABAP Platform
Product description

SAP NETWEAVER APPLICATION SERVER FOR ROCK SOLID AND SCALABLE SERVER
ABAP IS THE TECHNOLOGY PLATFORM
UNDERLYING SAP’s DIGITAL CORE … built for mission critical business systems

EFFECTIVE PROGRAMMING ENVIRONMENT


SAP Business Suite,
SAP Business Warehouse,
Partner, … built for the complete life cycle of business apps
Custom Code,

SAP NW / ABAP Platform

CONTINUOUSLY EXTENDED
Database

… to serve new business scenarios


© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
ABAP Platform
Major innovations through SAP HANA

SAP SAP
SAP SAP
Business Business
NetWeaver NetWeaver
Suite Suite
7.x 7.4
EHP x EHP 7

SAP NW Application Server SAP NW Application Server


for ABAP 7.x for ABAP 7.4

SAP HANA SAP S/4 HANA


SAP Fiori UX
Any DB and Cloud
Any DB
SAP HANA

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


ABAP Platform: Foundation for SAP S/4HANA 2015

SAP Business
SAP BusinessSuite
Suite code line
Codeline SAP S/4HANA Codeline

SAP
SAP SAP SAP
SAP S/4HANA
Business S/4HANA S/4HANA
NetWeaver on-premise
Suite Finance cloud
7.5 edition
EHP 8 3.0 edition
1511

SAP S/4HANA specific SAP_ABA component

SAP NW Application Server for ABAP 7.5 / 7.6x packages for Cloud

Any DB incl. SAP HANA


SAP HANA ONLY

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7


ABAP Platform: Foundation for SAP S/4HANA 2016

SAP S/4HANA Codeline

SAP
SAP SAP
S/4HANA
NetWeaver S/4HANA
on-premise
AS for cloud
edition
ABAP 7.51 edition
1610

SAP S/4HANA specific SAP_ABA component

SAP NW Application Server for ABAP 7.51 / 7.6x packages for Cloud

Any DB incl. SAP HANA FOCUS OF


SAP HANA ONLY
ABAP PLATFORM
DEVELOPMENT

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


ABAP Platform 7.52: Foundation for SAP S/4HANA Current Innovation

SAP S/4HANA Codeline

SAP
SAP SAP
S/4HANA
NetWeaver S/4HANA
on-premise
AS for cloud
edition
ABAP 7.52 edition
1709

SAP S/4HANA specific SAP_ABA component

SAP NW Application Server for ABAP 7.52 / 7.6x packages for Cloud

Any DB incl. SAP HANA FOCUS OF


SAP HANA ONLY
ABAP PLATFORM
DEVELOPMENT

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


ABAP Platform 7.52: Foundation for SAP S/4HANA Current Innovation
Main investment topics
SAP S/4HANA Codeline

SAP
SAP
Competitive ABAP platform cloud SAP
S/4HANA
NetWeaver S/4HANA
on-premise
AS for cloud
edition
ABAP 7.52 edition
1709

SAP S/4HANA specific SAP_ABA component

ABAP programming model for SAP NW Application Server


SAP HANA optimized SAP Fiori Apps for ABAP 7.52 / 7.6x packages for Cloud

Customer-specific code adaptation


Any DB incl. SAP HANA FOCUS OF
for SAP HANA andSAPSAP S/4HANA
HANA ONLY
ABAP PLATFORM
DEVELOPMENT

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 10


ABAP Platform 7.52 at a glance

Further simplification and enrichment of the ABAP language

ABAP application development further optimized for SAP HANA

ABAP programming model for SAP Fiori apps in SAP S/4HANA

Increased developer efficiency in Eclipse©

Advanced quality assurance tools and custom code adaptation


for SAP S/4HANA

SAP S/4HANA extensibility

Real-time events and Industrial IoT

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11


ABAP 7.52 Product Highlights
ABAP Development
Tools in Eclipse
ABAP development on the Eclipse platform

Powerful ABAP Development Tools

Advanced source code editing, search & navigation


Full ABAP for SAP HANA support
Tools for Floorplan Manager and Web Dynpro ABAP
Test, Quality Assurance, Troubleshooting
Toolset for Core Data Services development

Eclipse
Tooling
Platform
Various SAP development tools Central Eclipse update site

Increased developer SAPUI5 Easy installation and upgrade


productivity SAP Gateway Selective usage
Power of SAP HANA for SAP Cloud Platform Available in SAP Development Tools site *
ABAP developers SAP BW4/HANA and SAP BW
* https://tools.hana.ondemand.com
Easy integration of
custom or 3rd party tools

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


ABAP Development Tools in Eclipse
AS ABAP 7.52 features overview (1)

New source-based New form-based


Run ABAP program on console
Database Table editor ABAP package editor

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


ABAP Development Tools in Eclipse
AS ABAP 7.52 features overview (2)
Internal Tables in Debugger: change, filter and sort
ADT on the Open Eclipse 4.7 (Oxygen) Platform

CDS enhancements
Ensure quality of CDS code
Hierarchy tests using CDS Test Double Framework
Apply Quick Assist in ABAP Unit class editor
Make easier to write tests for CDS Views
Integration with SAP Translation Hub for language-
dependent CDS annotation values (SAP Note 2473699 )

Debugging enhancements Debugging Dynpro Flow Logic


Improved internal table analysis
Debugging dynpro flow logic
Debugging enhancement implementations

Further developer productivity enhancements

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


ABAP Language Today
Declarative modernization of the ABAP language

Simple and concise ABAP code thru new language features


like inline declarations, constructor expressions

Extensively expression-oriented syntax

Advanced table operations like CORRESPONDING( )


operator, grouping and filtering Modern
ABAP
Test seams and injections for ABAP unit testing

JSON support in sXML library, INT8 support

Inline code documentation with ABAP Doc

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 18


Support of enumerated types

Simple Handy
TYPES: TYPES:
BEGIN OF ENUM colors1, BEGIN OF ENUM colors2 STRUCTURE colors2_values,
black, red,
red, white,
gold, blue,
END OF ENUM colors1. END OF ENUM colors2 STRUCTURE colors2_values.
… …
DATA mycolor1 TYPE colors1. DATA mycolor2 TYPE colors2.
mycolor1 = black. mycolor2 = colors2_values-red.

Full support
TYPES:
BEGIN OF ENUM colors3 STRUCTURE colors3_values BASE TYPE int1,
red VALUE IS INITIAL,
green VALUE 42,
blue VALUE 255,
END OF ENUM colors3 STRUCTURE colors3_values.

DATA mycolor3 TYPE colors3.
mycolor3 = colors3_values-green.

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


Further language enhancements in ABAP 7.52

Implicit message specification in RAISE EXCEPTION MESSAGE Assignment of values

MESSAGE ID 'SABAPDEMOS' TYPE 'S' DATA(mapper) =


NUMBER '888' cl_abap_corresponding=>create_with_value
WITH 'Message'.
TRY. (
RAISE EXCEPTION TYPE cx_demo_dyn_t100 USING MESSAGE. source = struct|itab
CATCH cx_demo_dyn_t100 INTO DATA(oref). destination = struct|itab
cl_demo_output=>display( oref->get_text( ) && `, ` && oref->msgty). mapping = mapping_tab
ENDTRY. discarding_duplicates = flag
).

Virtual sorting of internal tables

cl_abap_itab_utilities=>virtual_sort(im_virtual_source = VALUE #(
( source = REF #( from_city_tab ) components = VALUE #( ( name = 'latitude' )( name = 'longitude' ) ) )
( source = REF #( to_city_tab ) components = VALUE #( ( name = 'latitude' )( name = 'longitude' ) ) )
( source = REF #( flight_tab ) components = VALUE #( ( name = 'carrid' ) ( name = 'connid' ) ) )
) )

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


SAP HANA-centric
Optimizations
ABAP optimizations for SAP HANA
Overview

MORE Exploit
SAP HANA native
features
ABAP managed
database procedures
Advanced SQL CDS table functions
programming
Effort for Quick wins with
reuse components Open SQL
code enhancements
pushdown ALV with integrated
Out-of-the-box data access Advanced view
transparent building with Core
Enhanced search help Data Services (CDS)
optimizations
Fast Data Access
For all entries
LESS

LOW Utilization of SAP HANA capabilities HIGH

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 22


ABAP optimizations for SAP HANA
Mainstream and code breakouts

MAINSTREAM
ABAP-managed code pushdown

ABAP Core Data Services (CDS)


Open SQL

ABAP Managed Database


Procedures
CDS Table Functions
CODE BREAKOUTS

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


Next generation data modelling and access with CDS

Capture Common Improved


business data programming
intend model model

Reduced complexity Semantically rich For all application domains


Extending SQL Declarative Rich set of build-in functions
Close to conceptual Code pushdown capabilities
thinking

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 24


CDS integration into the ABAP platform

ABAP platform
01 Leverage DDIC semantics
Open SQL

Lifecycle management
02 Highly reusable and extensible CDS artefacts ABAP CDS

03 Fully integrated into the ABAP infrastructure

04 Proven and consistent ABAP lifecycle management (S)QL engine

Database
05 Consumption in Open SQL and Gateway/SADL
SAP HANA

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 25


Built-in SQL functions and expressions in ABAP CDS

ARITHMETIC STRING

GENERIC /
AGGREGATION CONVERSION DATE / TIME

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 26


CDS associations FROM
CLAUSE

Capturing the relationships between entities in the


data model
INNER
JOIN
Used (!) associations are implicitly translated into
SQL joins

Reuse of generated joins when semantically WHERE PROJECTION HAVING GROUP BY


CLAUSE LIST CLAUSE CLAUSE
identical

Can be queried in CDS views and Open SQL


Navigate thru entity using path expressions

LEFT
OUTER
JOIN

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


Hierarchy of views and extensibility

Consumer Consumer Consumer Extensions


C1 C2 C3
Hierarchical view-on-view concept

Optimized result sets with minimum data


transfer
View on View View on View &
V1 V2
Append additional columns, arithmetic
expressions or literals to result set

Basic View

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


CDS annotations for domain-specific frameworks

Enrich meta model with consumer-specific


vocabularies
Analytics Planning OData
Reusable and unified view model for all use
CDS cases
ANNOTATION
Enabling flexible usage in different contexts
DOMAINS
Separation of concern using CDS metadata
extensions for UI-specific annotations
Business
BI-Tools Search
Logic Vital part of new SAP Fiori programming
model

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


CDS metadata extensions (MDE)

Keep view definition distinct


from UI-specific annotations Change UI-specific annotations
without modifying underlying
Use one view definition with
Separation of Simplified CDS view
various layers of metadata
(e.g. SAP, partner, customer concerns change No need to change original (SAP)
or industry specific) views when metadata changes
management
Simplified mass activation /
activation chain

Build
CDS in
SQL
METADATA
EXTENSIONS Wizard for extracting
functions Tool support existing metadata from CDS
view to CDS MDE

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 30


Declarative access control with CDS roles

PFCG PFCG
Declarative approach instead of
<Code> coded approach
<Code>
Thru CDS Data Control Language
CDS role
Based on CDS entities and PFCG
SQL data
Full access rules and roles inheritance
Authorization supported
SQL &
check
Authorizations pushed down to the
database
<Code> <Code>
CDS view
Defined once and automatically
used everywhere

Classical approach Declarative approach

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


CDS feature overview in AS ABAP 7.52

Various access control enhancements


Like roles for CDS table functions and higher
expressiveness in access conditions

Integration of CDS extensions


into the switch framework

Enhanced supportability with


transaction CDS_REPAIR
Easily find and repair inconsistencies
in CDS views

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


Broad SQL standard coverage

SQL-92 Standard

Higher expressiveness in Open SQL statements


Enhanced
Code pushdown support thru new language features Open SQL
(≥ ABAP 7.51)
Reduction of existing limitations Enhanced
Open SQL
(≥ ABAP 7.5)
Enhanced
Flexible consumption of CDS modelling entities and roles Open SQL Incl. CDS
Open SQL (≥ ABAP 7.4) Associations
(before
ABAP 7.4)

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


Advanced Open SQL capabilities

Extended Various SQL


UNION CDS
JOIN functions &
(ALL) consumption
support expressions

Increased Access to Access to


Common
number of Global cached
Table
allowed sub- Temporary views in
Expressions
queries Tables SAP HANA

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 34


Common Table Expression (CTE) in Open SQL

New WITH statement for defining one or


more common table expressions
Name of CTE begins with +
Comma-separated list
UNION supported

Each CTE is a kind of subquery


producing a tabular result

Can be used as a data source in


the same WITH statement
in all subsequent queries
in the main query

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


Open SQL feature overview in AS ABAP 7.52

New statement SELECT FROM @ITAB


With better semantics than FOR ALL ENTRIES
New and enhanced SQL
expressions and functions
BETWEEN, >, <, ≥, ≤, LIKE,
ESCAPE, BINTOHEX, HEXTOBIN

More flexible handling for Limitation of results of subqueries


CDS entities thru filter ORDER BY, UP TO n ROWS, OFFSET in
specification in paths subqueries

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


Why code breakouts make sense …

Unleash the full potential of your Restrictions


SAP HANA database

Some scenarios require Database specific


selective measure
SAP HANA only
Highest performance requirements
e.g. with complex calculations No automatic fallback for any-db

Use of database / analytical engine


specific functions required
Open SQL and CDS views are not
sufficient to solve problem efficiently

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


ABAP managed database procedures (AMDP)

Utilize Easy access to SAP


Integrated in
native SAP HANA advanced
ABAP
HANA engines / libraries
infrastructure
entities

Stored procedures and Development, runtime error Like predictive analysis, financials,
database functions analysis, enhancement, text mining, calculation engine
supported transport
Complex logic with SQLScript coding embedded
if / else… in ABAP classes
Parameterized requests Seamless integration with
and multiple result sets CDS

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 38


Seamless AMDP integration into CDS

CDS Table function definition Runtime for table function


Parameter list Runs stored SQLScript procedure
Return Parameter generated from AMDP on database
tables
Reference to implementing method

AMDP
class
SAP HANA
DDL Database
Source

AMDP function
Implementation
Includes SQLScript based
database function body
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 39
AMDP feature overview in AS ABAP 7.52

More flexibility in leveraging SAP HANA-


specific features within CDS data models
Arbitrary nesting of CDS views and CDS
table functions allowed

Improved interoperability
between CDS and AMDP
AMDP support for CDS views using
client handling algorithm
#SESSION_VARIABLE

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


Programming Model for
SAP S/4HANA
New types of apps intrinsically optimized for SAP HANA

SAP
Fiori
Development of state-of-
the-art web based apps
SAP Fiori user experience
on all devices drives the Gateway

model
Combining transactions,
search and analytics Core Data
Services
Optimized for SAP HANA
Common cloud qualities
(e.g. extensibility) SAP
HANA

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 42


Develop SAP HANA optimized SAP Fiori apps
The new ABAP programming model

Freestyle or templates based UI development


SAPUI5
SAPUI5 / SAP Fiori Elements

OData protocol infrastructure OData


SAP Gateway

SAP Gateway
Effective and efficient application development
Modern ABAP language and development tools
ABAP Application Core Data
Development Frameworks Services
Transaction, error and event handling services
Business Object Processing Framework (BOPF)
SAP NetWeaver
One common data modelling technology for all scenarios
Core Data Services (CDS) SQL

Exploit SAP HANA features and performance


SAP HANA
AMDP and CDS Table Functions

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 43


ABAP programming model for SAP S/4HANA apps
Major components and responsibilities

Client
REST
OData OData protocol implementation
ABAP platform Authorization, metering, …

SAP Gateway
Request dispatching
Query pushdown
Common data modelling SADL

Database artefacts CDS Write and draft handling


UI semantics Locking
BOPF
Authorization
Business logic exits

Open SQL
BOPF: Business Object Processing Framework
CDS: Core Data Services
SAP HANA REST: Representational State Transfer
SADL: Service Adaptation Description Language

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


Where to invest now to be prepared for the SAP S/4HANA programming model?

YOU SHOULD DO NOT


Follow the programming model and best practices and use… Implement things that are already solved
*Core Data Services (CDS) for database artefacts Manual implementation of read-only calls to DB
(≥ 7.40, Documentation)
Business logic mixed with technical aspects
*CDS Metadata Extensions for UI Annotations (e.g. locks, authority-check, LUW handling, persistency)
(≥ 7.51 SP2, Documentation)
Business logic mixed with protocol specific APIs
*DCL for read/query instance-based authority checks (e.g. PBO/PAI, Gateway classes: DPC_EXT)
( ≥ 7.50, Documentation)

BOPF stand-alone
(≥ 7.40, Documentation, newer releases: CDS/BOPF integration)

*BOPF and CDS integration including draft


(≥ 7.51 SP2, Documentation)

Gateway integration of CDS or BOPF


(= 7.40, Documentation, newer releases: OData Exposure) BENEFITS
*OData Exposure of CDS / BOPF for Reuse / prepare your skillset and coding for the future
SAP Fiori and future development
(≥ 7.50 SP5, Documentation) Reuse CDS and DCL in SAP S/4HANA
Floorplan-Manager integration of CDS and BOPF Lower TCD for the future: Minimal investment on
(≥ 7.40, Documentation) technical protocol level

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC *: best practice Fiori apps, E2E documentation 45
ABAP Code Analysis
Tools
ABAP Code Analysis Tools
Advanced quality assurance

ABAP Test Cockpit for static quality checks and


unit tests on ABAP objects

SQL Monitor for runtime SQL performance


analysis in productive ABAP-based systems

Classic performance monitoring


and trace tools (SQL Trace, ABAP runtime
analysis/Profiler…)

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


ABAP Code Analysis Tools
ABAP Test Cockpit - One tool for all quality aspects

Standard Code Inspector checks incl. SLIN


Central infrastructure for functional,
performance and security code checks Security Checks (CVA)
Extensible infrastructure for customer specific ABAP
checks Test
ABAP Unit Tests
Cockpit
Uniform quality criteria for your whole system
(ATC)
landscape
based on SAP HANA Checks
New quality assurance processes minimize Code
Inspector
errors in productive systems (SCI)

Smooth migration of ABAP code to SAP HANA SAP S/4HANA Checks


and SAP S/4HANA
Customer specific checks

More about: ATC Introduction

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


ABAP Code Analysis Tools
Remote code analysis with ATC

Central Check System (SAP_BASIS ≥ 7.51)


One central ATC system (SAP_BASIS ≥ 7.51) for all static
checks in your system landscape ABAP Test Cockpit (ATC)
Remote stubs return a model from custom code
Check logic is executed on central system
Check variant is maintained in central system RFC

New checks are installed on central system


Exemptions are stored on central system
Integrated in the development system
Checked Checked Checked
System A System B System C
Minimized administration efforts (≥ 7.00) (≥ 7.00) (≥ 7.00)

Customer Customer Customer


One quality standard for your whole system landscape Code Code Code

Remote Stubs

More about Remote Code Analysis in ATC

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 49


ABAP Code Analysis Tools
Baseline in ATC – Focus on findings in new or recently changed code

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

Baseline activities Batman

Adding/Removing individual check results


Deleting baseline (reset the test system to original
state)

More about Working with Baseline in ATC

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


ABAP Code Analysis Tools
Local developer scenario for remote code analysis with ATC

Central Check System (SAP_BASIS ≥ 7.51)

All Remote Code Analysis activities during development ABAP Test Cockpit (ATC)
occur in the local development system
Execute ATC checks
View ATC checks results RFC

Check transports before release


Correct findings
Request exemptions
Checked Checked Checked
System A System B System C
(≥ 7.00) (≥ 7.00) (≥ 7.00)

Customer Customer Customer


Code Code Code

Remote Stubs
More about Remote Code Analysis in ATC for Developers

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 51


ABAP Code Analysis Tools
Performance tuning using SQL Monitor
Batman
SQL Monitor allows to get performance data for all SQLs Batman

executed in your productive system Batman

What are the most expensive and most frequently executed


SQLs?
dummy01

Which SQL reads/writes millions of records? dummy02

What is the SQL profile of my transaction VA01?

SQL Monitor allows to link the monitored SQL to the driving


business process

Available for SAP NetWeaver ≥ 7.00

SQL Monitor does not harm your business processes


(performance overhead < 3%)

More about SQL Monitor Guide and Best Practices

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


ABAP Code Analysis Tools
AS ABAP 7.52 features overview

ABAP Test Cockpit ATC findings in Modifications

Improve coverage of checked source code


Scan all custom code in enhancements,
modifications, customer EXITs, Smart Form
Ignore findings in SAP Includes, generated code
Additional information in ATC result list with filtering
and sorting capabilities
Display of simplification item information in ATC
result list, e.g. OSS note

SQL Monitor
Support for CDS entities and AMDPs
New default settings for Time Series

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 53


Custom code
adaptation for
SAP S/4HANA
SAP S/4HANA system conversion
Custom code related process

Prepare phase Realization phase

System Maintenance Simplification Custom Code Software Update Application specific


requirements planner Item-checks Migration Worklist Manager (SUM) follow-up activities

Unicode conversion Database migration

SIMPLIFICATION LIST Software update


SAP S/4HANA on premise edition Code conversion

SCOPING ANALYSIS ADAPTATION OPTIMIZATION

More about
Custom Code
Adaptation
process

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 55


ANALYSIS
Custom code adaptation for SAP S/4HANA
Setup the remote ATC checks for SAP S/4HANA

I. Setup remote ATC in central system and implement


Central Check System (SAP_BASIS >=7.51)
the SAP Note 2436688

II. Download the newest version of the Simplification ABAP Test Cockpit (ATC)
Database from SAP Service Marketplace
(SAP Note 2241080)
Simplification RFC
database
III. Install the Simplification Database on the central
check system (transaction SYCM)

IV. Run ATC with check variant


Checked Checked Checked
S4HANA_READINESS_REMOTE System A System B System C
(≥ 7.00) (≥ 7.00) (≥ 7.00)
V. Analyze the ATC result list Customer Customer Customer
Code Code Code

Remote Stubs

More about Technical setup of remote ATC

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 56


Custom code adaptation for SAP S/4HANA
SAP S/4HANA readiness checks in AS ABAP 7.51/7.52

Simplification use cases SAP S/4HANA checks


Functionality not available anymore
Data model changes
Data type changes

SAP HANA use cases


Usage of DB vendor specifics (native SQL)
DB operations on pool / cluster tables SAP HANA checks
SELECT / OPEN CURSOR statements without
ORDER BY

Use check variant


S4HANA_READINESS_REMOTE

Check variant S4HANA_READINESS_REMOTE


includes SAP S/4HANA and SAP HANA checks

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 57


What you can do today in your SAP Business Suite landscape
Get your custom code prepared for SAP S/4HANA

YOU SHOULD YOU COULD

Collect productive usage and SQL execution data Start to adapt your code in your dev system
Switch on SCMON Convert to Unicode
Switch on SQL Monitor Fix SAP HANA ATC findings (e.g. NO ORDER)
Optimize performance critical SQLs found in SQL Monitor
Create new code already SAP S/4HANA ready
Setup remote ATC Estimate custom code adaptation efforts
Use SAP S/4HANA ATC checks in your dev system Run SAP S/4HANA ATC checks for all custom code

Educate your developers to be SAP S/4HANA ready


Gain practical skills in ADT in Eclipse
Get familiar with SAP S/4HANA must-have technologies
(e.g. SQL, CDS, BOPF, OData)

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 58


Real-time events and
Industrial IoT
Real-time events and Industrial IoT

Real-time user experience


Always up-to-date data on UI
Immediate reaction to events

ABAP Channels
ABAP Push Channel (APC)
ABAP Messaging Channel (AMC)
Collaboration, Industrial IoT scenarios
Recommended for productive use cases with
SAP NetWeaver AS ABAP 7.4 SP08

ABAP Daemons
Always available ABAP sessions to handle events
General availability: SAP NetWeaver AS ABAP 7.52

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


ABAP Channels
No polling. Collaboration. Industrial IoT.
SENSORS /
ABAP Push Channel – No polling USER INTERFACE MACHINES
WebSockets in ABAP
UI automatically updates when data changes

ABAP Messaging Channel – Collaboration


Pub/sub infrastructure to exchange messages ABAP Push Direct TCP/IP
between sessions Channel communication

Data changes are published to subscribed clients


immediately

ABAP Messaging
Industrial IoT User session Channel (pub/sub) User session
Direct communication with sensors/machines
Support native TCP/IP protocols
Application Application
Server Server
ABAP SYSTEM

More about: Introduction to ABAP Channels

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 61


ABAP Daemons in AS ABAP 7.52
Always available ABAP sessions to handle real-time events

Implement a daemon application


Features
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 programing model, similar to ABAP
Channels

Supportability and Security


Monitor ABAP Daemons (SMDAEMON), standard
ABAP supportability tools for debugging, runtime
analysis (SAT), kernel statistical records (STAD,
STATS)
Monitor active daemons with SMDAEMON
Only client-specific and inside of an ABAP system,
daemon user account must have S_RFC authority
rights
More about ABAP Daemons

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 62


SAP S/4HANA
Extensibility
SAP S/4HANA Extensibility
In-app extensibility and side by side extensibility

Key user can do SAP Cloud Platform


easy changes directly for side by side extensions
in the app and cloud integration

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


SAP S/4HANA Extensibility
In-app extensibility

Custom fields

Custom user interface


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

Custom forms / reports

Extensibility cockpit *

Extensibility inventory *

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC * new with release 1708 65
SAP S/4HANA Extensibility
Side by side extensibility using SAP Cloud Platform
Building new applications
General IoT services and industry use-case support Partner services

Extending SAP solutions


Support additional SAP SuccessFactors modules, extensions for SAP Ariba
Build Extend
Try, explore and run SAP Fiori applications in the cloud
Extensions to SAP S/4HANA
SAP
Running applications CP

Enhanced monitoring
Improvements for business continuity and scalability
Platform APIs Run Enjoy

Developer experience
Deepen commitment to open source communities
Support additional runtimes and infrastructure services
Developer Portal / API Marketplace

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 66


Summary
Key takeaways
First class development experience in Eclipse using
01 enriched ABAP language

Common data model with CDS and various SAP HANA


optimizations

03 Efficient programming model for SAP Fiori applications

Best quality assurance with code analysis tools,


03 efficient custom code adaptation for SAP S/4HANA
SAP NetWeaver
Application Server for
ABAP 7.52 Extensible to the cloud with SAP Cloud Platform

Real-time events with ABAP Channels and ABAP


03 Daemons, and Industrial IoT support
© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 68
Further Information

SAP Community
 Links collection about AS ABAP 7.52
 https://go.sap.com/community/topic/abap.html – ABAP Development Community
 https://go.sap.com/community/topic/abap-connectivity.html – ABAP Connectivity Community
 https://go.sap.com/community/topic/abap-extensibility.html – ABAP Extensibility Community
 https://go.sap.com/community/topic/abap-testing-and-analysis.html – ABAP Testing and Analysis Community

Developer on sap.com
 https://www.sap.com/developer/topics/abap-platform.html

SAP Help Portal


 https://help.sap.com/viewer/p/SAP_NETWEAVER_AS_ABAP_752

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 69


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
© 2017 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 docume nt 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 platform 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 trade marks 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 companie s.
See http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.

You might also like