0% found this document useful (0 votes)
116 views26 pages

CDS - Roadmap

The document discusses the ABAP programming model for building new SAP Fiori applications. It introduces SAPUI5 and OData as the technologies for developing the user interface and data access layer. It also highlights Core Data Services (CDS) as the common data modeling technology that allows exploiting SAP HANA capabilities and efficient application development on the ABAP platform.

Uploaded by

mariusrenard
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views26 pages

CDS - Roadmap

The document discusses the ABAP programming model for building new SAP Fiori applications. It introduces SAPUI5 and OData as the technologies for developing the user interface and data access layer. It also highlights Core Data Services (CDS) as the common data modeling technology that allows exploiting SAP HANA capabilities and efficient application development on the ABAP platform.

Uploaded by

mariusrenard
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

The ABAP Programming Model for SAP Fiori

Carine Tchoutouo Djomo, ABAP Platform Product Management, SAP SE


November 12, 2018

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.

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


Agenda

Introduction

Building new SAP Fiori apps


Read-only apps
Transactional Apps

Summary & Outlook

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


IN T R OD U C TION
ABAP platform – The evolution
Innovations driven by SAP HANA and SAP S/4HANA

SAP NW AS for ABAP 7.5 / SAP NW AS for ABAP 7.51 SAP NW AS for ABAP 7.52 ABAP Platform 1809
SAP NW AS for ABAP 7.4
7.6x packages for cloud / 7.6x packages for cloud / 7.7x packages for cloud / 7.7x packages for cloud

SAP Business Suite EHP 7 SAP Business Suite EHP 8 SAP NetWeaver AS for SAP NetWeaver AS for SAP S/4HANA 1809
ABAP 7.51 ABAP 7.52
SAP NetWeaver 7.4 SAP NetWeaver 7.5 SAP S/4HANA Cloud
SAP S/4HANA 1610 SAP S/4HANA 1709
SAP S/4HANA Finance
SAP S/4HANA Cloud SAP S/4HANA Cloud
SAP S/4HANA 1511
SAP S/4HANA Cloud

2014 2015 2016 2017 2018

SAP S/4HANA
SAP Fiori UX ABAP platform 1809: Indirect shipment as
Cloud component of SAP S/4HANA 1809 on
September 21th, 2018

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


Modern application development with ABAP 7.5x

Focus on User Utilize SAP HANA


Efficient development Cloud
Experience capabilities

On any device ABAP-managed code Secure app development, Extensibility


pushdown high code quality
Role based
Agile & Test-driven
Device switch and
collaboration Customer code adaptation
Browser based New restful application
programming model

SQL, Core Data Services


ABAP Tools, In-App extensibility,
SAP Fiori and SAPUI5 and SAP HANA code
Development methodology SAP Cloud Platform
breakouts

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


Development of SAP HANA-optimized apps in SAP S/4HANA

SAP
Fiori
Efficient development of
state-of-the-art, web-based
apps
SAP Fiori user experience on OData

all devices drives the model


Combining transactions,
search and analytics Core Data
Services

Optimized for SAP HANA


Built-in common cloud
qualities (e.g. Extensibility) SAP
HANA

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


B U IL D IN G N EW
SA P F IOR I A PPS
ABAP Programming Model for SAP Fiori
The big picture

Freestyle or template-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 (CDS-based BOPF)
ABAP platform
One common data modelling technology for all scenarios
Core Data Services (CDS) SQL

Exploit SAP HANA features and performance


SAP HANA
ABAP Managed Database Procedures and CDS Table Functions

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


ABAP CDS – Advanced data modelling and access
Combine the best of two worlds

VIEW BUILDING
SQL views with restricted feature
set for SAP HANA capabilities
VIEW BUILDING
ABAP AS Advanced SQL view building
LIFECYCLE MANAGEMENT
leveraging DDIC semantics
ABAP lifecycle management e.g.
transports Code pushdown with various built-in
SQL functions and expressions
ABAP type system
Code breakouts to utilize native
SAP HANA features and capabilities

VIEW BUILDING
+
Specialized views (analytical
views, attribute views, calculated LIFECYCLE MANAGEMENT
views, …)
ABAP CDS
Proven and consistent ABAP lifecycle
management e.g. transports
LIFECYCLE MANAGEMENT SAP HANA ABAP type system
Non ABAP lifecycle Consumption in Open SQL and ABAP
management e.g. transports frameworks
Non ABAP type system

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


ABAP CDS – Example view with domain-specific annotations

Access Control

Enablement for UI semantics

Search enablement

Transactional enablement

OData exposure

CDS metadata extension


for UI semantics

CDS view
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11
ABAP CDS – Virtual Data Model in SAP S/4HANA selection
Transactional Views Analytical Views association
Consumption

External API
Z_C_SalesOrder Z_A_SalesOrder
Z_C_SalesOrderTP
ItemQuery Item
Composite

Z_I_SalesOrder
Z_I_SalesOrderTP
ItemCube
Basic

Z_I_SalesOrder Z_I_SalesOrderItem I_Material I_MaterialText


Tables

Z_SO Z_SOI Z_MAT Z_MATT

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


ABAP CDS in the end-2-end programming model for read-only apps

UI rendering

APP Default sorting, filtering, search


and paging

OData CDS VIEWS


GET

UI ANNOTATIONS (CDS MDE)

ABAP COMMON
APPLICATION CDS-BASED
SERVER DATA MODELL

SQL

CDS ROLES
Database artefacts

Grouping and aggregation for free

SAP HANA EXTENSION


Access authorizations VIEWS

Field Extensibility
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13
ABAP CDS in the end-2-end programming model for transactional apps

UI rendering

APP Default sorting, filtering, search


and paging

OData BO (Actions, validations, CDS VIEWS


GET determinations, locks and draft)

UI ANNOTATIONS

ABAP COMMON
APPLICATION CDS-BASED
SERVER DATA MODELL
BUSINESS OBJECT (CDS-BASED BOPF)

SQL

CDS ROLES
Database artefacts

Grouping and aggregation for free

SAP HANA EXTENSION


Access authorizations VIEWS

Field Extensibility
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 14
End-2-end support for transactional apps based on business objects

APP

OData
PUT / POST

BO BEHAVIOUR EXITS BO FRAMEWORK IMPLEMENTS


ABAP
APPLICATION
SERVER
CUSTOM ABAP BUSINESS LOGIC

Write and draft handling


Actions SQL

Lock handling
Validations

Determinations Transaction management


SAP HANA

Persistency handling

Access authorizations

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


Demo

Building a transactional SAP Fiori app

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


SAP Fiori Elements App

Modeling options for UI annotations

Local
Annotations
SAP Web IDE Annotation Modeler (XML)

$metadata Annotations

Service Builder in SEGW (ABAP)

ABAP Development Tools (CDS)

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


S U MMA R Y
& OU T LOOK
Key takeaways

Where to safely invest now?

The ABAP Programming Model for SAP Fiori is available and still evolving
Documentation available on the SAP Help Portal: ABAP Programming model for SAP Fiori

Use ABAP Core Data Services (CDS) – The next generation data modelling and access
Use CDS / BOPF integration and get familiar with BOPF concepts like determinations, validations and actions
Use OData exposure: @OData.publish:true or Referenced Data Source in SEGW for OData V2
Avoid DPC / MPC specific coding

Avoid the use of OData V4 for your business scenario as for now
Go for an implementation based on the new ABAP programming model – It will provide OData V4 soon
If you must use OData V4 now then go for a code-based implementation but use CDS views for read access!

Check the Be-Prepared-Blog on the SAP Community

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


Be prepared for the ABAP Programming Model for SAP Fiori

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 OData calls
(≥ 7.40, Documentation) to DB
*CDS Metadata Extensions for UI Annotations Business logic mixed with technical aspects
(≥ 7.51 SP2, Documentation) (e.g. locks, authority-check, LUW handling, persistency)
*CDS DCL for read/query instance-based authority checks Business logic mixed with protocol specific APIs
( ≥ 7.50, Documentation) (e.g. PBO/PAI, Gateway classes: DPC_EXT)
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 BENEFITS


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

* Best practice Fiori apps, E2E documentation | Info: Check Be-Prepared-blog at SAP Community
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 20
Where the journey is heading to
ABAP platform ≤ 7.4 ABAP platform ≥ 7.5 SAP Cloud Platform ABAP Environment ≥ 1808 *

CLASSIC ABAP ABAP PROGRAMMING MODEL ABAP RESTful


PROGRAMMING FOR SAP FIORI PROGRAMMING MODEL

SEGW @OData Business Service


Reference Data Source

Best practice freestyle


ABAP programming
Core Data CDS based Core Data Behaviour
Services BOPF Services Definition

Dos and Don’ts Current best practice Future direction


Blog: Be prepared for the new Recording from SAP TechEd 2017 Recording from SAP TechEd 2018
programming models Documentation Documentation

Save investments! Integration planned for 2020

* On-premise delivery planned for later releases


*
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 21
ABAP RESTful Programming Model – The mission

… for the development of


SAP Fiori apps and
PROVIDE A PROGRAMMING MODEL …
Cloud APIs / A2X services…

… for customers and partners in SAP Cloud … supporting the product qualities
Platform ABAP Environment (cloud-first approach) User experience: SAP Fiori and SAP HANA
… for SAP internal development in SAP S/4HANA Cloud: scalability, extensibility
… for customers and partners in SAP S/4HANA ABAP assets: non-functional requirements

… offering an end-to-end experience


… and being flexible
standardized development flow
Break-outs for non-standardized implementations
best practices & development guides
Out-of-the-box extensibility & verticalization
high development efficiency
Reuse components / APIs in “freestyle” development
focus on business logic, rather than technical
scenarios
aspects

This is the current state of planning and may be changed by SAP at any time.
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 22
ABAP RESTful Programming Model – The big picture
Cloud-first delivery approach in SAP Cloud Platform ABAP Environment*

SERVICE SAP Fiori UI A2X


CONSUMPTION Consume OData UI services Consume OData A2X services

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

BUSINESS OBJECTS QUERIES


Data modelling with CDS

DATA MODELLING & Behaviour definition Data modelling with CDS


BEHAVIOUR
Behaviour implementation
with ABAP
* On-premise delivery planned for later releases
© 2018 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. 23
Further information

► Getting Started with ABAP Programming Model


► Getting Started with ABAP Core Data Services
► Be Prepared for the new Programming Models
► ABAP channel@Youtube
► ABAP Development Community
► ABAP Platform Developer Center
► SAP Cloud Platform ABAP Environment
► SAP Community Network
► SAP Road Maps

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


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 noninfringement.
Thank you.
Contact information:
Carine Tchoutouo Djomo
Product Management
Technology Core Platform, SAP
[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2018 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/corporate-en/legal/copyright/index.epx for additional trademark information and notices.

You might also like