abap programming model in sap s/4hana involved technologies · pdf fileabap programming model...
TRANSCRIPT
ABAP Programming Model in SAP S/4HANA
Involved technologies
Marcel Hermanns, Jens Weiler & Thomas Gauweiler, SAP
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 2Public
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.
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 3Public
The new programming modelInvolved technologies
SAPUI5
SAP HANA
SAP NetWeaver
SAP Gateway
SQL
OData
ABAP
Development
Core Data
Services
Application
Frameworks
One common data modelling technology for all scenarios
Core Data Services (CDS)
OData protocol infrastructure
SAP Gateway
Transaction, error and event handling services
Business object processing framework (BOPF)
Effective and efficient application development
Modern ABAP language and development tools
Freestyle or templates based UI development
SAPUI5 / SAP Fiori Elements
Exploit SAP HANA features and performance
AMDP and CDS Table Functions
Public
DEMO –
BUILDING AN
APPLICATION FROM
SCRATCH
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 5Public
BUILDING AN APP FROM SCRATCHGet the idea
We want to create a sales order overview with analytics, search and
transactional capabilities.
INTERACTIVE
TRANSACTIONAL
SAP FIORI APP
INCLUDING LIST
REPORTING
Public
DETAILS: DEVELOPMENT
FLOW, ARTEFACTS AND
RUNTIME STACK
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 7Public
ABAP programming model for SAP Fiori and SAP S/4HANADevelopment process for transactional and ‘batch input’ applications
Expose service
Model and implement
business object
Design persistency
Create user interface SAPUI5 with SAP Fiori Elements
CDS consumption views with DCL
Gateway services with authorizations
CDS business model and DCL
Business logic and authorizations
Data Dictionary (DDIC) tables
[1..1]
[1..1]
[1..n]
UI
developer
Backend
developer
Web IDE
ABAP
development
tools
PLANNED
INNOVATION
Handle redundancy:
Decouple service
from business object
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 8Public
ABAP programming model for SAP Fiori and SAP S/4HANADevelopment process for ‘read only’ applications
SAPUI5 with smart elements
Gateway services and authorizations
CDS views and DCL based on
external tables
Data Dictionary (DDIC) tables
[n..m]
[1..1]
[1..n]
UI
developer
Backend
developer
Expose service
Perform view building
Consume existing persistency
Create user interface Web IDE
ABAP
development
tools
PLANNED
INNOVATION
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 9Public
ABAP programming model for SAP Fiori and SAP S/4HANARuntime stack - Overview
SAP HANA
REST
OData
Open SQL
ABAP platform
Client
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 10Public
ABAP programming model for SAP Fiori and SAP S/4HANARuntime stack – Components and responsibilities
SAP HANA
REST
OData
Open SQL
ABAP platform
Client
CDS
OData protocol implementation
Authorization, metering, …
Persistency handling
Locking
Authorization
Business logic exits
BOPF
SAP Gateway
SADLCommon data modelling
Database artefacts
UI semantics
Request dispatching
Query pushdown
PLANNED
INNOVATION
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 11Public
ABAP programming model for SAP Fiori and SAP S/4HANARuntime stack – Exits
SAP HANA
REST
OData
Open SQL
ABAP platform
Client
CDS
Gateway breakout
BO exits
Static action implementation
Action implementation
Determination validation impl.
Field control implementation
BOPF
SAP Gateway
SADL
Query Refinement
Filter modification
Sort order modification
Result refinement
PBO transient fields
Field control refinement
CDS table functions
PLANNED
INNOVATION
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 12Public
Advanced data model definition and access ABAP Core Data Services (CDS)
03
Improved programming
model
For all application domains
Rich set of build-in functions
Code pushdown capabilities
Common data model
Semantically rich
Declarative
Close to conceptual thinking
0201
Capture business intent
Reduced complexity
Extending SQL
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 13Public
Contributions to SAP S/4HANA SAP S/4HANA applications – Example CDS view with annotations
Access Control
OData
Search
UI
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 14Public
Advanced data model definition and accessAccess control in CDS
Declarative approach instead of coded
Based on CDS entities and PFCG data
Authorizations pushed down to database
by extending the SQL statement
Defined once and automatically used everywhere
Open SQL, Analytical Engine, SADL,
Enterprise Search, …
DCL approach
&
Classical approach
PFCG
<Code>
Open SQL
<Code>
PFCG
DCL
CDS
ViewAuthorization
Check
<Code>
Open SQL
<Code>
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 15Public
Enables model-based and standardized
development approach
Manages transactional data of draft and
active instances within one business
object
CRUDE
Locking
Authorization
Orchestrates business logic in well
defined exits like
actions
determinations
validations
draft handling
Role of BOPF in programming model
© 2017 SAP SE or an SAP affiliate company. All rights reserved. 16Public
SummaryKey message
Availability of app types
Read-only ABAP 7.50
’Batch input’ ABAP 7.51
Interactive /
Draft
New programming model
New programming model
available but still evolving
Documentation available
Search for
‘ABAP Programming model Fiori’ Planned for ABAP 7.51 SP02