Sapui5 PDF
Sapui5 PDF
Public
Speakers
This presentation outlines our general product direction and should not be relied on in making a
purchase decision. This presentation is not subject to your license agreement or any other agreement
with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to
develop or release any functionality mentioned in this presentation. 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 non-infringement. SAP assumes no responsibility for errors or omissions in this
document, except if such damages were caused by SAP intentionally or grossly negligent.
SAPUI5 Overview
Improvements in SAPUI5 Development Efficiency
UI Flexibility / Runtime Adaptation for Business Experts & Key Users
Public
What is SAPUI5?
Summary
The UI Development Toolkit for HTML5 (SAPUI5) is an extensible JavaScript-based HTML5 control
rendering library for business applications that run in the browser.
Web Browser
SAP UI5 Runtime Views with Modells
and libraries Views with
sap.m lib (sap.ui.commons
lib
) JSON, XML or
OData
Controllers
OData
Application
JS JS JS JS JS JS JS JS
CSS CSS CSS CSS CSS CSS CSS CSS SAP Backend DB
Public
Efficient Development With Smart SAP Fiori UIs
SAP Fiori UI
Adaptation
Flexibility Efficiency
Developer adaptation
Coding
Hybrid Smart SAP Web IDE
design design
(breakouts) at runtime
Freestyle
design Smart Controls / Smart Templates
SAPUI5 Controls
Public
What did SAPUI5 Application Development mean up to now?
WYSIWYG Editor
The challenge
Figure out the structure and building
blocks (controls, layout) of an SAPUI5
fiori/SAPUI5 app Control Tree
Explore controls properties, events and
data binding information in one place
Standard DOM Tree:
comes a bit cluttered
The solution: UI5 Inspector
Add-On plugin in Chromes DevTools
environment (F12)
Open source (link) and free : get it from
Google WebStore (link)
Provides essential information and allows
for on-the-spot changes
Development, support and debugging
made much easier
Developer adaptation
Coding
SAP Web IDE
Freestyle
design
SAPUI5 Controls
Business data
(Gateway / OData)
This is the current state of planning and
2015 SAP SE or an SAP affiliate company. All rights reserved. may be changed by SAP at any16time.
Public
New Freestyle Templates
Developer adaptation
Development
SAPUI5 Controls
SmartControls
Consume OData annotations like data type, max. length, F4 help, groups, etc. and customize the control
accordingly
Smart FilterBar and Table were introduced with UI5 1.28
Field, Input, Form are available in with UI5 1.30
Smart FilterBar
Smart Table
sap:label
sap:creatable
sap:updatable
sap:deletable
sap:display-format
sap:semantics
sap:field-control
http://scn.sap.com/docs/DOC-44986
2015 SAP SE or an SAP affiliate company. All rights reserved. Public 21
SmartFilterBar with Annotations
Annotations.xml view.xml
<EntityType Name="Item" sap:service-schema-version="1" sap:service-version="1" <smartFilterBar:SmartFilterBar
sap:label="Item" sap:semantics="aggregate" sap:content-version="1">
id="smartFilterBar"
<Property Name="CompanyCode" Type="Edm.String" MaxLength="4" entityType="Item"
sap:text="CompanyName" sap:label="Company Code" sap:creatable="false"
x-persistencyKey=
sap:required-in-filter="true"/>
SmartFilter_Persist"
<Property Name="FiscalYear" Type="Edm.String" MaxLength="4"
/>
sap:label="Fiscal Year" sap:creatable="false" sap:required-in-
filter="true"/>
</EntityType>
<Collection>
<Record Type="com.sap.vocabularies.Common.v1.ValueListParameterInOut">
<PropertyValue Property="LocalDataProperty" PropertyPath="CompanyCode"/>
<PropertyValue Property="ValueListProperty" String="BUKRS"/>
</Record>
<Record Type="com.sap.vocabularies.Common.v1.ValueListParameterDisplayOnly">
<PropertyValue Property="ValueListProperty" String="BUTXT"/>
</Record>
<Record Type="com.sap.vocabularies.Common.v1.ValueListParameterDisplayOnly">
<PropertyValue Property="ValueListProperty" String="ORT01"/>
</Record>
<Record Type="com.sap.vocabularies.Common.v1.ValueListParameterDisplayOnly">
<PropertyValue Property="ValueListProperty" String="WAERS"/>
</Record>
</Collection>
Achievements
Using Smart Controls
reduced the code in (XML-)View-description files up to 90%
(e.g. more than 2500 lines less for Customer Line Items, Vendor Line Items application)
gives the developers a rich set of standard functionality like e.g. Variants, Personalization Dialogs and Export to Excel
reduced the JavaScript controller code (~500 lines per app)
unified the user experience as they provide built-in features instead of having them inside the individual apps
Using Smart Controls indirectly has
improved the readiness for central changes
Improved the code quality
<Annotation
Term="com.sap.vocabularies.UI.v1.Identification">
<Collection>
<Record Type="com.sap.vocabularies.UI.v1.DataField">
<PropertyValue
Property="Label" String="Your customer"/>
<PropertyValue
Property="Value" Path="CustomerAccountName"/>
<sfo:SmartForm editable="true" title="{path:
'meta>com.sap.vocabularies.UI.v1.HeaderInfo/TypeName', formatter: </Record>
'sap.ui.model.odata.AnnotationHelper.format'} <Record Type="com.sap.vocabularies.UI.v1.DataField">
<template:if test="{meta>com.sap.vocabularies.UI.v1.Identification}">
<sfo:Group label="Identification"> <PropertyValue
<template:repeat Property="Label" String="Vendor"/>
list="{meta>com.sap.vocabularies.UI.v1.Identification}">
<sfo:GroupElement label="{path: 'meta>Label', formatter: <PropertyValue
'sap.ui.model.odata.AnnotationHelper.format'}"> Property="Value" Path="CustomerVendorAccount"/>
<sfi:SmartField value="{path: 'meta>Value', formatter:
'sap.ui.model.odata.AnnotationHelper.simplePath'}"/> </Record>
</sfo:GroupElement>
</template:repeat>
</Collection>
</sfo:Group>
</template:if> </Annotation>
</sfo:SmartForm>
WebIDE
Smart Template Application
(incl. Routing, MasterDetail, Custom
Template Views (e.g.
Configuration FullScreen app structures,
XML templating etc.) using XML
templating)
SAPUI5
Smart FilterBar Smart Table
Re-Use Controllers
Annotations
This application which consists of a worklist and an object page is completely based on generic code
and an OData service with annotations
2015 SAP SE or an SAP affiliate company. All rights reserved. Public 29
Annotations
<Annotation Term="UI.HeaderInfo">
Public
UI Flexibility and Runtime Adaption
SAP Fiori UI
User End user personalization
Runtime context: Admin
role, locale, UI(5) Flexibility Partner Key user runtime adaptation
device, variant Industry
Developer adaptation
Development
Wants to make UI adaptations to improve business processes, facilitate access to information, and,
therefore, increase the efficiency of his/her team(s)
End User
Pers Layer Semantic Change
Apply
End-User Personalization
Runtime
Semantic Change On-the-fly merge
to the company model
Test Layer Semantic Change wide-model
Adaptation Mode
Semantic Change
Open App Switch to RTA Change UI Publish and Exit RTA Back to FLP
A A A* A*
A A
Key user Key user is Key user wants Key user saves Key User sees In FLP the app
launches app usually working to make UI UI changes UI changes tile gets visual
via FLP herself with this changes for Key user writes within running hint for
app e.g. optimizing notification app indicating UI
Key user wants her teams message about Team sees UI changes
to switch to workflow UI changes for changes when Launching app
RTA mode for the team relaunching will show
making UI Key user is app notification
changes publishing UI about UI
Key user has changes to the changes on
special access team first screen
rights for
switching to
RTA mode
FLP plugin:
RTA available for applications that are opened by a key user within the FLP
Prerequisite: Authorization role assigned (SAP_UI_FLEX_KEY_USER)
RTA will be available for UI_AddOn v2.0 SP00 for 7.31+ Fiori systems
Visual design
Add further functionality: Add (predefined) groups, Change labels, Reset to default
Future Steps
Public
UI Development Toolkit for HTML5 (SAPUI5)
Summary
SAP UX STRATEGY
CROSS DEVICE consumer-grade UIs
responsive design (e.g. SAP Fiori Apps)
DESKTOP USER
EXPERIENCE Design Principles and Guidelines (link)
MOBILE Smart Templates & Controls
Access replays of keynotes, Demo Jam, SAP TechEd live interviews, select lecture sessions, and more!
Hands-on replays
http://sapteched.com/online
2015
2015
SAP
SAP
SESE
oror
anan
SAP
SAP
affiliate
affiliate
company.
company.
AllAll
rights
rights
reserved.
reserved. Public 4848
Thank you
Contact information:
[email protected]
[email protected]
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.
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. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
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 SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE 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 SEs or its affiliated companies strategy and possible future
developments, products, and/or platform 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, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.