OpenSAP Fiori - Developing and Extending SAP Fiori Elements Apps Week 1 All Slides
OpenSAP Fiori - Developing and Extending SAP Fiori Elements Apps Week 1 All Slides
Creating an Object Accelerating SAP Preparing Your Generating the List Configuring the Adding Custom
Page Fiori App Front-end Report -– Object App Controls and Logic
Development with Development Page App
SAP Fiori Tools Environment
Creating an Enhancing the Creating an Deploying Your Building an SAP Using XML
Analytical List Analytical List Overview Page SAP Fiori Fiori Elements App Annotation LSP for
Page Page Elements App with an External Defining Advanced
OData Service UI Features
Thomas Saueressig
Member of the Executive Board of SAP SE
for SAP Product Engineering
There are measurable business benefits (monetary and human value) in good UX.
Consistency is at the heart of a great user experience – and a key design principle of SAP Fiori.
UX consistency
▪ Increases adoption of your app
▪ Improves business user productivity
▪ Decreases training time
▪ Improves data quality
▪ Enhances user satisfaction
SAPUI5
▪ Enables the SAP Fiori design evolution for a consistent
UX across SAP solutions (and beyond)
▪ Provides built-in support for SAP’s product standards
such as security, accessibility, and internationalization
▪ Allows a single, responsive app implementation for all
browsers, platforms, and devices
▪ Can extend SAP's standard applications and customize
UIs in a code-free way
SAP Fiori elements provides standard floorplans and uses metadata to streamline and
accelerate developing SAPUI5 applications.
SAP S/4HANA development teams use SAP Fiori elements to build most new apps.
Most enterprise use cases involve providing an overview of business-relevant data, working with
lists of business objects, and managing these business objects.
Provide a role-based Work on a list of Manage individual
overview business objects business objects
Design
Freestyle designs requirements
SAP floorplans
Development
Web development knowledge
Annotations
App ownership /
Own coding, own UI logic maintenance
Own annotations, SAP’s UI logic
Total cost of
Higher development and Lower
maintenance
NEXT UNIT
▪ Week 1 – Unit 2
Understanding the architecture
[email protected]
Follow all of SAP
www.sap.com/contactsap
Creating an Object Accelerating SAP Preparing Your Generating the List Configuring the Adding Custom
Page Fiori App Front-end Report – Object App Controls and Logic
Development with Development Page App
SAP Fiori Tools Environment
Creating an Enhancing the Creating an Deploying Your Building an SAP Using XML
Analytical List Analytical List Overview Page SAP Fiori Fiori Elements App Annotation LSP for
Page Page Elements App with an External Defining Advanced
OData Service UI Features
Floorplans
SAP Fiori elements floorplans
▪ Implemented as XML templates
OData service ▪ Incorporate current UX design
Annotations
Floorplans
Behavior
Floorplans “This entity
Consumption hints can be edited”
Which fields allow a
human to identify the
OData service entity?
Which fields are
clickable?
Semantics
Custom code
Floorplans
Annotations
Back-end annotations
Floorplans
Configuration
Custom code
Floorplans
Annotations
Custom Action
Custom
Column
Configuration
The closer you stay to the standard SAP Fiori elements floorplans,
Custom code
the greater the savings in development and maintenance costs
NEXT UNIT
▪ Week 1 – Unit 3
Introducing OData services and annotations
[email protected]
Follow all of SAP
www.sap.com/contactsap
Creating an Object Accelerating SAP Preparing Your Generating the List Configuring the Extending the App
Page Fiori App Front-end Report – Object App with Custom
Development with Development Page App Elements
SAP Fiori Tools Environment
Creating an Enhancing the Creating an Deploying Your Building an SAP Using XML
Analytical List Analytical List Overview Page SAP Fiori Fiori Elements App Annotation LSP for
Page Page Elements App with an External Defining Advanced
OData Service UI Features
Other OData
SAP S/4HANA SAP BW SAP BTP
provider
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 3
Introducing OData services and annotations
OData metadata is a standardized and machine-readable description of the data model
Requesting resources
▪ Get list of people
GET https://.../TripPinServiceRW/People
▪ Get the data of an individual person
GET https://.../TripPinServiceRW/People('russellwhyte’)
▪ Complex queries like ‘Get the first 2 persons in the system who
have registered at least one trip that costs more than 3000, and
only display their first name and last name.’:
GET https://.../TripPinServiceRW/People?$top=2 &
$select=FirstName, LastName &
$filter=Trips/any(d:d/Budget gt 3000)
Creating a resource
▪ POST https://...TripPinServiceRW/People and provide data
like first name, last name etc. in the payload
https://www.odata.org/getting-started/understand-
odata-in-6-steps/
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 5
Introducing OData services and annotations
SAP defined a way to implement a draft pattern using OData
Behavior
“This entity can be edited”
Consumption hints
Which fields allow a human
to identify the entity?
Which fields are clickable?
Semantics
Semantics “This is the currency for the
“These fields shall be amount”
displayed together in a form”
Annotations are additional metadata and provide abstract definitions of data semantics. These abstract
definitions are stored in vocabularies from OData and SAP. SAP Fiori elements understand the annotations
and generates the UI based on them.
Example:
Specify that the field “TotalPrice” has a currency assigned to it. In the measures vocabulary of OData there is
a term ISOCurrency defined for that:
<Annotations Target="SAP__self.TravelType/TotalPrice">
<Annotation Term="SAP__measures.ISOCurrency" Path="CurrencyCode"/>
</Annotations>
SAP Fiori elements can then know that whenever the “TotalPrice” is shown on the UI, the field “CurrencyCode”
comprises its currency and should be shown next to it.
NEXT UNIT
▪ Week 1 – Unit 4
Preparing your ABAP development environment
[email protected]
Follow all of SAP
www.sap.com/contactsap
Creating an Object Accelerating SAP Preparing Your Generating the List Configuring the Extending the App
Page Fiori App Front-end Report – Object App with Custom
Development with Development Page App Elements
SAP Fiori Tools Environment
Creating an Enhancing the Creating an Deploying Your Building an SAP Using XML
Analytical List Analytical List Overview Page SAP Fiori Fiori Elements App Annotation LSP for
Page Page Elements App with an External Defining Advanced
OData Service UI Features
Local annotations
OData Service AND/OR
Back-end annotations
NEXT UNIT
▪ Week 1 – Unit 5
Creating an OData Service using ABAP RESTful Application
Programming Model (RAP)
[email protected]
Follow all of SAP
www.sap.com/contactsap
Creating an Object Accelerating SAP Preparing Your Generating the List Configuring the Extending the App
Page Fiori App Front-end Report – Object App with Custom
Development with Development Page App Elements
SAP Fiori Tools Environment
Creating an Enhancing the Creating an Deploying Your Building an SAP Using XML
Analytical List Analytical List Overview Page SAP Fiori Fiori Elements App Annotation LSP for
Page Page Elements App with an External Defining Advanced
OData Service UI Features
Service
Bind to scenario and protocol binding
Preview
Service
Define scope definition
CDS-based
Define data model data model
Database
Application data tables
NEXT UNIT
▪ Week 1 – Unit 6
Creating a list report
[email protected]
Follow all of SAP
www.sap.com/contactsap
Creating an Object Accelerating SAP Preparing Your Generating the List Configuring the Extending the App
Page Fiori App Front-end Report – Object App with Custom
Development with Development Page App Elements
SAP Fiori Tools Environment
Creating an Enhancing the Creating an Deploying Your Building an SAP Using XML
Analytical List Analytical List Overview Page SAP Fiori Fiori Elements App Annotation LSP for
Page Page Elements App with an External Defining Advanced
OData Service UI Features
The list report offers powerful features for finding and acting on relevant data sets. It is often used
as an entry point for navigating to the item details, which are usually shown on an object page.
Filter bar
▪ Allows users to filter the table based on various
selection fields
Variant management
▪ Allows users to store custom views, such as filter
settings, sorting, or table columns to be displayed
Visibility
▪ Is expanded initially and collapses when the user Check the infographic in our documentation
scrolls in the table
▪ Can be pinned to stay expanded during scrolling Personalization options
▪ Show and hide table columns, specify sorting and
Table toolbar grouping
▪ Contains the table title, personalization and export
options, as well as the standard actions create, edit, Table
delete ▪ Multiple table types are supported, such as responsive
▪ Can also contain app-specific actions table or grid table
© 2021 SAP SE or an SAP affiliate company. All rights reserved. ǀ PUBLIC 4
Creating a list report
We will create UI-related ABAP CDS annotations primarily in the CDS metadata extension
Service
Bind to scenario and protocol binding
Preview
Service
Define scope definition
CDS-based
Define data model data model
Database
Application data tables
NEXT UNIT
▪ Week 2 – Unit 1
Creating an object page
[email protected]
Follow all of SAP
www.sap.com/contactsap