SAP CLOUD PLATFORM
ABAP ENVIRONMENT
ABAP
SAP HANA
CNA216 – A Technical Deep Dive into the
ABAP RESTful Programming Model
PUBLIC
Speakers 2018
SAP TechEd Las Vegas Marcel Hermanns
October 2–5, 2018
SAP TechEd Barcelona Marcel Hermanns
October 23–25, 2018
SAP TechEd Bangalore Gopalakrishnan Ramachandran
November 28–30, 2018
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 2
Take the session survey.
We want to hear from you!
Be sure to complete the session evaluation
for this session CNA216 on the SAP TechEd
mobile app.
Download the app from
iPhone App Store or Google Play.
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 3
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 4
ABAP Strategy
CNA120
CNA216
Optimize Your Custom ABAP Code
for SAP HANA
CNA319
See the Big Picture of the ABAP
RESTful
Programming Model
CNA215
A Technical Deep Dive into the
ABAP RESTful
Programming Model
CNA216
1 hour lecture
Automated Testing with the ABAP
RESTful Programming Model
CNA317
Custom Code Adaptation for
SAP S/4HANA
CNA302
2 hours hands-on workshop
Build a List Report App with SAP
Fiori and ABAP Programming Model
CNA381
Build a Transactional SAP Fiori App
with the ABAP Programming Model
CNA379
Optimize Your Custom ABAP Code for SAP HANA
1 hour codejam
Custom Code Adaptation for SAP
S/4HANA
CNA364
Build an SAP Fiori App with the
HOW TO MOVE YOUR ABAP SKILLS TO THE CLOUD AND SAP HANA
ABAP Programming Model
CNA654
Troubleshoot Your SAP Fiori App
with ABAP Development Tools for
Eclipse
CNA653
Evolution of the ABAP programming model
ABAP Platform ≤ 7.5 ABAP Platform ≥ 7.51 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
Beaviour Definition
Services BOPF Services
Currently best practice
Dos and Don’ts Future direction
Hands-on session CNA381
Be prepared for the new This session today
Recording from TechEd 2017
programming model Documentation
Documentation
Save investments! Integration planned for 2020
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC * On-premise planned for later releases 6
ABAP Development: Must learn topics
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 modeling with CDS
DATA MODELING & Data modeling with CDS
Behavior definition
BEHAVIOR
Behaviour implementation
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7
Agenda
Creating a Business Object
Implementing a Business Service for Fiori apps
Optional: Remote access of A2X services
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 8
WHAT IS A
BUSINESS OBJECT?
What is a business object (BO)?
BO BEHAVIOUR
CUD,
Actions,
Functions,
Locks,
eTag,
BO STRUCTURE Authorizations,
Feature Control,
R
2 Draft
ROOT
1 3
COMPOSITION BO RUNTIME
INTERACTION PHASE
TX buffer
SAVE SEQUENCE
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 10
ABAP RESTful Programming Model: Development Flow
AUNIT AUNIT
Scenario & integration test Unit test
ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object DCL
QUERY
DATA ACCESS CDS BASED CDS BEHAVIOR ABAP CODE
CONROL DATA MODELL DEFINITION
AUTHORITY-CHECK
Lock object
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11
WHAT IS A
BUSINESS SERVICE?
What is a business service?
Lifecycle
Protocol and use case
Release
OData V2, V4 Versioning
A2X or (SAP Fiori) UI Deprecation
2
3
Service Model 1
R
4 Tool support
UI: SAP Fiori Elements preview
A2X: Documentation preview
Entities to be exposed
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13
ABAP RESTful Programming Model: Development Flow
DEFINE ROLES
Role
SERVICE
BINDING PREVIEW
DEFINE SCENARIO
& PROTOCOL
AUNIT AUNIT
Scenario & integration test Unit test
SERVICE
DEFINITION
DEFINE
SCOPE
ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object DCL
QUERY
DATA ACCESS CDS BASED CDS BEHAVIOR ABAP CODE
CONROL DATA MODELL DEFINITION
AUTHORITY-CHECK
Lock object
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 14
Demo
BO modeling,
BO implementation
BO access via EML in AUNIT
Expose Business Object as (SAP Fiori) UI service with SAP Fiori Elements Preview
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 15
ODATA CONSUMPTION
What is required for a consumption scenario?
Service Proxy API
For OData V2,V4
Service
Consumption Based on service
consumption model
Model
R
2
Local representation 1 3
of the external model Integration into apps
CDS artifacts not SQL-
managed
Data (partly) fetched from
remote
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 17
Demo
Expose Business Object as A2X service (e.g. S/4HANA)
Remote consumption from other system (e.g. SAP Cloud Platform ABAP Environment)
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 18
SAP TechEd online / SAP Community
Access replays of:
§ Keynotes
§ SAP TechEd live interviews
§ Selected lecture sessions
http://sapteched.com/online
Continue your SAP TechEd discussion after
the event within SAP Community:
§ Read and reply to blog posts
§ Ask your questions
§ Join conversations
sap.com/community
See all SAP TechEd blog posts
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 19
Further information
Related SAP TechEd learning journeys
CNA6 – How to Move Your ABAP Skills to the Cloud and SAP HANA
CNA4 – How to get to SAP S/4HANA
Related SAP TechEd sessions
CNA120 – ABAP Strategy
CNA215 – The Big Picture of the ABAP RESTful Programming Model
CNA317 – Automated Testing with the ABAP RESTful Programming Model
CNA319 – Optimize your Custom ABAP Code for SAP HANA
CNA379 – Build a transactional SAP Fiori App with the ABAP Programming Model
CNA381 – Build a List Report App with SAP Fiori and the ABAP Programming Model
CNA654 – Build a SAP Fiori App with the ABAP Programming Model
CNA653 – Troubleshoot Your SAP Fiori App with ABAP Development Tools for Eclipse
Public SAP Web sites
ABAP Development Community: https://www.sap.com/community/topic/abap.html
SAP products: www.sap.com/products
SAP training and certification opportunities
www.sap.com/education
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 20
Thanks for attending this session.
Das Bild kann derzeit nicht angezeigt werden.
Feedback Contact for further topic inquiries
Please complete your session Marcel Hermanns
[email protected] evaluation for CNA216.
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 21
Follow us
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/copyright for additional trademark information and notices.