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

Week 1: Introduction – ABAP RESTful Application Programming Model

Unit 1: The Big Picture


The Big Picture
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

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


The Big Picture
Modern ABAP application development

Focus on Utilize SAP HANA Efficient


Cloud
User Experience capabilities development

Role-based ABAP managed code Secure app development, In-app extensibility


pushdown high code quality (stable cloud extensions)
Browser-based
Code management Side by side
On any device (whitelisted APIs)
Testability
Device switch Stateless cloud-ready apps
Supportability for scalability and elasticity
Documentability

SAP Fiori and SAPUI5, ABAP SQL, Core Data ABAP Development Tools, In-App extensibility,
RESTful protocols Services (CDS), and code development methodology SAP Cloud Platform
pushdown in SAP HANA

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


The Big Picture
The approach
… AS A STRATEGICAL LONG-TERM SOLUTION FOR ABAP DEVELOPMENT

… FOR THE EFFICIENT DEVELOPMENT OF


SAP Fiori apps and Web APIs,
from scratch or by integrating legacy code

… OFFERING AN END-TO-END DEVELOPMENT EXPERIENCE WITH

PROVIDE A standardized development flow


PROGRAMMING best practices & development guides
MODEL … high development efficiency
focus on business logic, rather than technical aspects
native testability, documentability, and supportability
code pushdown to SAP HANA
comfortable support for stateless and stateful environments

… SUPPORTING THE PRODUCT QUALITIES


User Experience: SAP Fiori and SAP HANA
Cloud: scalability
Flexibility: break-outs for non-standardized implementations
Out-of-the-box extensibility and verticalization
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4
The Big Picture
The ABAP RESTful Application Programming Model (RAP)

The ABAP RESTful PROGRAMMING MODEL


consists of …

SAP Fiori UI services


CONCEPTS Service development
Web APIs
TOOLS
Greenfield
Universally usable developments
FRAMEWORKS
programming model Brownfield
developments
LANGUAGES
SAP S/4HANA
Available on-premise
BEST PRACTISES
and in the cloud SAP Cloud Platform,
ABAP environment

… for the efficient development of


ENTERPRISE-GRADE APPLICATIONS

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


The Big Picture
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

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


The Big Picture
RAP at a glance

SAP Fiori elements or SAPUI5 freestyle


SAP Fiori UI Other Clients Service consumption via Web APIs

OData Powerful querying through OData protocol

Powerful service runtime frameworks


First-class support for SAP Fiori and SAP HANA
Unternehmen
Application Out-of-the-box implementations
Infrastructure
Draft support for SAP Fiori UIs
Built-in extensibility capabilities

CDS is our ubiquitous modeling language to declare


Core Data Services (CDS)
domain data models

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


The big picture
Evolution towards the ABAP RESTful Application Programming Model (RAP)

SAP Cloud Platform, ABAP Environment


ABAP Platform ≤ 7.5 ABAP Platform ≥ 7.5
SAP S/4HANA ≥ 1909

CLASSIC ABAP PROGRAMMING MODEL ABAP RESTful APPLICATION


ABAP PROGRAMMING FOR SAP FIORI PROGRAMMING MODEL

SEGW / @OData
Business Service
Referenced Data Source
Best practice freestyle
ABAP programming
Core Data CDS-Based Core Data Behavior Definition
Services (CDS) BOPF Services & Implementation

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


The Big Picture
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ About requirements in modern app development
▪ What the mission of RAP is
▪ That RAP is the strategic long-term solution for ABAP development
▪ Which parts make RAP

NEXT UNIT
▪ Week 1 – Unit 2
Architecture Overview

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


The Big Picture
i Additional Material
Further reading

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below

RAP at openSAP information page (week 1)

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


Thank you.
Contact information:

[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2020 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.
Week 1: Introduction – ABAP RESTful Application Programming Model
Unit 2: Architecture Overview
Architecture Overview
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

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


Architecture Overview
The big picture

SERVICE SAP FIORI UI WEB API


CONSUMPTION Consume OData UI services Consume OData Web APIs

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed


BUSINESS
SERVICES BUSINESS OBJECT PROJECTION
PROVISIONING
CDS: Projection views

BDEF: Behavior projection


ABAP: Behavior implementation

BUSINESS OBJECTS QUERIES


DATA MODELING CDS: Data modeling CDS: Data modeling
& BEHAVIOR
BDEF: Behavior definition

ABAP: Behavior implementation

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


BUSINESS
OBJECTS

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Architecture Overview
What is a business object?

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

R 2

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

TX buffer

SAVE SEQUENCE

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


Architecture Overview
Business object 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

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


Architecture Overview
Development flow

AUNIT
Scenario & integration test

AUNIT
Unit test

ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object CDS role
QUERY
DATA CDS-BASED CDS BEHAVIOR
ACCESS DATA MODEL DEFINITION ABAP CODE
CONTROL
AUTHORITY CHECK
Lock object
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 7
BUSINESS
SERVICES

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


Architecture Overview
What is a business service?

Service Binding Web API Lifecycle


Protocol: OData V2 or OData V4? Release
Scenario: Web API or UI? Versioning
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?

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


Architecture Overview
SAP Fiori UI and Web API consumption

SAP FIORI UI Web API

UI annotation exposure Required Not required

Value help Required Not required

Dynamic feature control Required Not required

Draft Required Not required

Content IDs for complex


Not required Required
$batch requests

Release, versioning, and


Not required Required
deprecation

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


Architecture Overview
Development flow
DEFINE ROLES
Role
SERVICE
BINDING PREVIEW

BIND TO SCENARIO
AND PROTOCOL

SERVICE
AUNIT DEFINITION
Scenario & integration test
DEFINE SCOPE

ADD
BEHAVIOR AUNIT
DATA MODEL BEHAVIOR Unit test
PROJECTION PROJECTION
PROJECT ELEMENTS & ENRICH PROJECT BEHAVIOR

ADD IMPLEMENT
BEHAVIOR BEHAVIOR
Authority object CDS role
QUERY
DATA CDS-BASED CDS BEHAVIOR
ACCESS DATA MODEL DEFINITION ABAP CODE
CONTROL
AUTHORITY CHECK
Lock object
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11
Architecture Overview
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ About the architecture of the ABAP RESTful Application Programming
Model
▪ What the vital parts of RAP are
▪ How business objects and business service fit in the picture
▪ About development types and development flow for RAP apps

NEXT UNIT
▪ Week 1 – Unit 3
Involved Technologies

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


Architecture Overview
Further reading
i Additional Material

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below Update Slide

RAP at openSAP information page (week 1)

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13


Thank you.
Contact information:

[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2020 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.
Week 1: Introduction – ABAP RESTful Application Programming Model
Unit 3: Involved Technologies
Involved Technologies
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

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


Involved Technologies
ABAP development for SAP HANA

KEY TECHNOLOGY ASPECTS OF SAP HANA KEY IMPACTS ON ABAP APP DEVELOPMENT

IN-MEMORY COMPUTING CODE PUSHDOWN


Allowing OLTP and OLAP in real time Delegation of data computing to the DB

ROW AND COLUMN-BASED DATA STORE NO AGGREGATES


Very fast aggregation and search On-the-fly data models without duplicates

HIGH DATA COMPRESSION FEWER INDICES


Make use of real-life / sparse fill of tables Flexible and fast retrieval of the dataset

MULTICORE ARCHITECTURE SUPPORT FEWER CODE LINES


Benefit from massive parallelization Less complexity in data models and code

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


Involved Technologies
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

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Involved Technologies
ABAP Core Data Services (CDS) – Next-generation data modeling

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 Access control
MODEL

CORE CAPTURE Reduced complexity


BUSINESS
DATA INTENT
Extending SQL

SERVICES
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
Involved Technologies
ABAP Core Data Services (CDS) – Combine the best of both worlds

VIEW BUILDING
SQL views with restricted feature
set for SAP HANA capabilities
VIEW BUILDING
ABAP AS
LIFECYCLE MANAGEMENT Advanced data modeling
ABAP lifecycle management Code pushdown with various built-in
e.g. transports SQL functions and expressions
ABAP type system Code breakouts to utilize native
SAP HANA features and capabilities
(CDS table functions)
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 ABAP SQL and ABAP
management, e.g. transports frameworks
Non-ABAP type system

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


Involved Technologies
ABAP Core Data Services (CDS) – Overview of supported CDS modelling 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 RAP BO behaviour definition CDS Behavior Definition DEFINE BEHAVIOR

Modification-free extension CDS Metadata Extension ANNOTATE VIEW


CDS Views (Entity) Extension EXTEND VIEW (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 Role DEFINE ROLE

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


Involved Technologies
CDS in the ABAP RESTful Application Programming Model

SERVICE SAP FIORI UI WEB API


CONSUMPTION Consume OData UI services Consume OData Web APIs

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed


BUSINESS
SERVICES BUSINESS OBJECT PROJECTION
PROVISIONING
CDS: Projection views

BDEF: Behavior projection


ABAP: Behavior implementation

BUSINESS OBJECTS QUERIES


DATA MODELING CDS: Data modeling CDS: Data modeling
& BEHAVIOR
BDEF: Behavior definition

ABAP: Behavior implementation

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


Involved Technologies
Declarative and expression-oriented ABAP language

MODERN Simple and concise ABAP code through new language


features like inline declarations, constructor expressions
ABAP
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

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


Involved Technologies
Modern ABAP & EML in the ABAP RESTful Application Programming Model

SERVICE SAP FIORI UI WEB API


CONSUMPTION Consume OData UI services Consume OData Web APIs

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed


BUSINESS
SERVICES BUSINESS OBJECT PROJECTION
PROVISIONING
CDS: Projection views

BDEF: Behavior projection


ABAP: Behavior implementation

BUSINESS OBJECTS QUERIES


DATA MODELING CDS: Data modeling CDS: Data modeling
& BEHAVIOR
BDEF: Behavior definition

ABAP: Behavior implementation

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


Involved Technologies
The Open Data Protocol (OData) as service protocol for simplified access to SAP data

ODATA MAKES DATA FROM BACKEND SYSTEMS AVAILABLE


to engaging user interfaces and Web APIs in a standardized way

ODATA IS USED IN
SAP Fiori & SAP Fiori elements
ODATA IS EXTENSIBLE SAPUI5
SAP S/4HANA
Allows addition of features required when
building easy-to-use applications, both mobile SAP Cloud Platform
and browser-based SAP Mobile Platform 3.0
SAP Gateway

ODATA IS BASED ON INDUSTRY STANDARDS


HTTP, XML, Atom, JSON
REST-based architecture
Driven by Microsoft, SAP, and IBM
OASIS standard (OData V.4 and OData JSON Format 4.0)
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 11
Involved Technologies
OData protocol in the ABAP RESTful Application Programming Model

SERVICE SAP FIORI UI WEB API


CONSUMPTION Consume OData UI services Consume OData Web APIs

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed


BUSINESS
SERVICES BUSINESS OBJECT PROJECTION
PROVISIONING
CDS: Projection views

BDEF: Behavior projection


ABAP: Behavior implementation

BUSINESS OBJECTS QUERIES


DATA MODELING CDS: Data modeling CDS: Data modeling
& BEHAVIOR
BDEF: Behavior definition

ABAP: Behavior implementation

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


Involved Technologies
SAP Fiori user experience (UX) for the Intelligent Suite
Coherent

Adaptive
DESIGN
PRINCIPLES Simple
Role-based
Delightful

UI TECHNOLOGIES SAPUI5 iOS Android Other technologies

SAP Fiori tools


Productivity tools to make
developers more efficient

APP DEVELOPMENT SAP Fiori elements


Templates for low-code Freestyle SAPUI5 or
development with SAPUI5
native mobile apps
Custom apps developed for
customers and partners
© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 13
Involved Technologies
SAP Fiori in the ABAP RESTful Application Programming Model

SERVICE SAP FIORI UI WEB API


CONSUMPTION Consume OData UI services Consume OData Web APIs

SERVICE BINDING – Bind to protocol version and scenario

SERVICE DEFINITION – Define scope to be exposed


BUSINESS
SERVICES BUSINESS OBJECT PROJECTION
PROVISIONING
CDS: Projection views

BDEF: Behavior projection


ABAP: Behavior implementation

BUSINESS OBJECTS QUERIES


DATA MODELING CDS: Data modeling CDS: Data modeling
& BEHAVIOR
BDEF: Behavior definition

ABAP: Behavior implementation

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


Involved Technologies
Modern ABAP development in Eclipse

HIGH DEVELOPER PRODUCTIVITY WITH


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 (ATC, CVA) 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

ATC: ABAP Test Cockpit


© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC
CVA: Code Vulnerability Analyzer 15
Involved Technologies
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ About the vital technologies that make the
ABAP RESTful Application Programming Model
and how these technologies work together

NEXT UNIT
▪ Week 1 Unit 4
Introducing SAP Cloud Platform, ABAP Environment ​

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


Involved Technologies
Further reading
i Additional Material

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below Update Slide

RAP at openSAP information page (week 1)

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


Thank you.
Contact information:

[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2020 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.
Week 1: Introduction – ABAP RESTful Application Programming Model
Unit 4: Introducing SAP Cloud Platform,
ABAP Environment
Introducing SAP Cloud Platform, ABAP Environment
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

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


Introducing SAP Cloud Platform, ABAP Environment
Motivation

Customer Base Enterprise Readiness Transition to Cloud

Huge customer and partner base ABAP as proven environment for Growing market adoption of
running ABAP-based solutions with enterprise-ready business SAP S/4HANA Cloud with
custom code applications with competitive cost tailored extensibility for customers
of development and partners

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


Introducing SAP Cloud Platform, ABAP Environment
The vital parts

SAP CLOUD PLATFORM ABAP SAP Cloud


ENVIRONMENT Platform
Services
SAP S/4HANA
ABAP PLATFORM AS A SERVICE
IoT
CLOUD
COCKPIT HTTP SERVICES User Mgmt
AND ABAP RESTful CLOUD
PROGRAMMING MODEL …
utilizing
Analytics
Core Data Services

ABAP Cloud-optimized ABAP WEB API


WEB
WEB API
DEVELOPMENT language WEBAPIAPI
TOOLS IN ECLIPSE
CLOUD
connectivity

SAP S/4HANA
GIT CODE SAP HANA SAP System
MANAGEMENT SAP CLOUD
CLOUD ON-PREMISE Non-SAP System
PLATFORM
CONNECTOR

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Introducing SAP Cloud Platform, ABAP Environment
Extension scenario 1: Cloud ERP

SAP CLOUD PLATFORM SAP Cloud


ABAP ENVIRONMENT Platform
Services
ABAP EXTENSION
IoT Use SAP Cloud Platform ABAP Environment
ML to extend 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
SAP CLOUD classic custom ABAP development on top of
PLATFORM SAP S/4HANA Cloud
SAP Cloud Platform is the foundation to develop
and run custom cloud extensions and the ABAP
environment shall be used for ABAP based
cloud extensions
SAP S/4HANA

CLOUD

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


Introducing SAP Cloud Platform, ABAP Environment
Extension scenario 2: Innovation Platform

SAP CLOUD PLATFORM SAP Cloud


ABAP ENVIRONMENT Platform
Services
ABAP EXTENSION
IoT Develop and run innovative ABAP apps
ML on a PaaS in the Cloud

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

ON PREMISE SAP ERP

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


Introducing SAP Cloud Platform, ABAP Environment
Extension scenario 3: Hub-like usage

SAP CLOUD PLATFORM SAP Cloud


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

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


Introducing SAP Cloud Platform, ABAP Environment
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ About SAP Cloud Platform, ABAP environment
▪ What the vital parts are
▪ What the advantages are
▪ What the main scenarios are

NEXT UNIT
▪ Week 1 Unit 5
Preparing Your ABAP Development Environment

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


Introducing SAP Cloud Platform, ABAP Environment
Further reading
i Additional Material

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below Update Slide

RAP at openSAP information page (week 1)

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


Thank you.
Contact information:

[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2020 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.
Week 1: Introduction – ABAP RESTful Application Programming Model
Unit 5: Preparing Your ABAP Development
Environment
Preparing Your ABAP Development Environment
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

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


Preparing Your ABAP Development Environment
Getting an SAP Cloud Platform, ABAP environment trial account

Access to trial system


Free of charge
Via SAP Cloud Platform trial access
https://cockpit.hanatrial.ondemand.com/
Trial account expires after 30 days, but can be extended
to a maximum of 90 days
System lifetime is 4 months

Rules of the game


For educational purposes only
No service-level agreement with
regard to platform availability
Shared
Trial Trial users share the same
Offering backend system

No content separation between


different users

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


Preparing Your ABAP Development Environment
Installing and connecting ADT to the ABAP environment trial system

Access to ABAP tools


Instructions about the local installation of Eclipse and ADT
available on the central update site for all Eclipse-based
SAP development tools

https://tools.hana.ondemand.com/#abap

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Preparing Your ABAP Development Environment
Demo

HANDS ON

DEMO

PREPARING YOUR ABAP DEVELOPMENT ENVIRONMENT

1. Onboarding to the SAP Cloud Platform, ABAP environment trial

2. Local installation of Eclipse platform and ABAP Development Tools

3. Connection to the trial system

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


Preparing Your ABAP Development Environment
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ About setting up your development environment
▪ How to get access to the SAP Cloud Platform trial account
▪ How to install ABAP Development Tools
▪ How to connect to the trial system

NEXT UNIT
▪ Week 1 – Unit 6
Creating Your First ABAP Cloud Console App

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


Preparing Your ABAP Development Environment
Further reading
i Additional Material

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below Update Slide

RAP at openSAP information page (week 1)

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


Thank you.
Contact information:

[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2020 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.
Week 1: Introduction – ABAP RESTful Application Programming Model
Unit 6: Creating Your First ABAP Cloud Console App
Creating Your First ABAP Cloud Console App
Topics

01 The Big Picture

02 Architecture Overview

03 Involved Technologies

04 Introducing SAP Cloud Platform, ABAP Environment

05 Preparing Your ABAP Development Environment

Week 1 06 Creating Your First ABAP Cloud Console App

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


Creating Your First ABAP Cloud Console App
Getting started

Package structure
in the Project Explorer

ABAP class

Class definition and


implementation

ABAP Console:
The most famous
result of an ABAP app
ever ☺

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


Creating Your First ABAP Cloud Console App
Getting started

HANDS ON

DEMO

CREATE YOUR FIRST ’HELLO WORLD!’ CONSOLE APP

1. Create your course ABAP package

2. Create a HelloWorld ABAP class

3. Activate and run your first console app

© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4


Creating Your First ABAP Cloud Console App
Wrap-up

IN THIS UNIT, YOU LEARNED


▪ How to create an ABAP ‘Hello World!’ console app
▪ How to use ABAP Development Tools
▪ How to create ABAP packages and classes
▪ How to activate and run a program in ABAP

NEXT UNIT
▪ Week 2
Developing a Read-Only List Report App

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


Creating Your First ABAP Cloud Console App
Further reading
i Additional Material

ABAP RESTful APPLICATION PROGRAMMING MODEL


INFORMATION PAGE

For more information, links to documentation, tutorials, and more, please


visit the RAP at openSAP information page by following the link below Update Slide

RAP at openSAP information page (week 1)

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


Thank you.
Contact information:

[email protected]
Follow all of SAP

www.sap.com/contactsap

© 2020 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