ABAP 752 Overview Part2 4 20170919

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

SAP NetWeaver AS ABAP 7.

52
Overview and Product Highlights (Part 2/4)
Early Knowledge Transfer
September 2017

CUSTOMER
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. ǀ CUSTOMER 2


Objectives

After completing this learning module, you will be able to

• Outline the key capabilities of SAP NetWeaver AS ABAP 7.52


• Understand the new ABAP programming model for building analytical, transactional and
search SAP Fiori applications
• List the new modern ABAP language capabilities
• List the major enhancements in ABAP Development Tools in Eclipse
• Explain the purpose of ABAP Channels and ABAP Daemons
• Explain the process of ABAP custom code adaptation for SAP S/4HANA
• Explain the role of ABAP code analysis tools in the context of SAP S/4HANA conversion
• List ABAP extensibility use cases

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


Agenda

ABAP Platform overview

ABAP 7.52 Product highlights


• ABAP development tools
• ABAP language today
• Database-centric optimizations
• RESTful 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. ǀ CUSTOMER 4


ABAP 7.52 Product Highlights
Database-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. ǀ CUSTOMER 7


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. ǀ CUSTOMER 8


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. ǀ CUSTOMER 9


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. ǀ CUSTOMER 10


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. ǀ CUSTOMER 11


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. ǀ CUSTOMER 12


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. ǀ CUSTOMER 13


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. ǀ CUSTOMER 14


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. ǀ CUSTOMER 15


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. ǀ CUSTOMER 16


CDS feature overview in AS ABAP 7.52

Various access control enhancements


Like roles for CDS table functions and higher
expressiveness in access conditions
Joining inherited roles with conditions using
logical AND

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. ǀ CUSTOMER 17


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. ǀ CUSTOMER 18


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. ǀ CUSTOMER 19


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. ǀ CUSTOMER 20


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. ǀ CUSTOMER 21


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. ǀ CUSTOMER 22


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. ǀ CUSTOMER 23


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. ǀ CUSTOMER 24
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. ǀ CUSTOMER 25


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. ǀ CUSTOMER 27


Develop SAP HANA optimized SAP Fiori apps
The new 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. ǀ CUSTOMER 28


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. ǀ CUSTOMER 29


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 is availble in help portal)
• Business logic mixed with technical aspects
• *CDS Metadata Extensions for UI Annotations (e.g. locks, authority-check, LUW handling, persistency)
(≥ 7.51 SP2, Documentation is availble in help portal)
• 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 is availble in help portal )

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

• *BOPF and CDS integration including draft


(≥ 7.51 SP2, Documentation is availble in help portal )

• Gateway integration of CDS or BOPF


(= 7.40, Documentation is availble, 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 is available) • 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, Blog post in SAP Community) technical protocol level

© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ CUSTOMER *: best practice Fiori apps, E2E Documentation 30
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 Real-time events with ABAP Channels and ABAP
Daemons, and Industrial IoT support

03 Extensible to the cloud with SAP Cloud Platform

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


© 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 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 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 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 http://global.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy