BOD310 EN Col06 FV Show
BOD310 EN Col06 FV Show
BOD310 EN Col06 FV Show
Collection: 06
Material Number: 50130503
General Description Course participants will be enabled to build applications with SAP
BusinessObjects Design Studio
Duration 3 days
Unit 4
Unit 1
Create advanced applications
Positioning & Architecture
using scripting techniques
Unit 5
Unit 2
Optimize applications for
Create script free applications
mobile devices
Unit 3
Define the layout of the application
Lesson 1
Tool Positioning
Lesson 2
Architecture
SAP BusinessObjects Design Studio enables application designers to create analysis applications and dashboards –
based on SAP NetWeaver BW, SAP HANA and universe data sources – for browsers and mobile devices.
It is the product of choice when full support for SAP NetWeaver BW and SAP HANA data models and engine capabilities is
required.
Personalized Online Composition
Drag & Drop Powerful Visualizations and
for End-Users
Controls: Tables, Charts, Geo Map, Filters etc.
Interoperability
Design Studio
Interoperability
Analysis for OLAP
Analysis Office
Office EPM Add-in
Analysis Office
Integration Live Office
BEx Analyzer
Crystal Reports
Crystal Reports
Reporting Web Intelligence
Desktop Intelligence
Web Intelligence
© 2015 SAP SE or an SAP affiliate company. All rights reserved * Functional convergence, not legal successors
How IT and Business use Design Studio
IT
LOB
Corporate
Create & Deploy
Design Studio Analytic
Custom Apps Corporate
Applications Corporate
Analytic
Analytic
Applications
Personal Views
Modify (optional) Applications
Corporate
Corporate
Ready-To-Run Analytic
Corporate Analytic
Self-Service
Templates
Deploy Applications
AnalyticApps
Standard Applications
Dashboards
for Analysis, Exploration &
Self-Service Dashboards Applications
(out-of-the-box)
Lesson 1
Tool Positioning
Lesson 2
Architecture
To address reported customer issues around a clear platform strategy and supported
features on different platforms, and to accelerate delivery of new product capabilities, SAP
decided to streamline the platform strategy for Design Studio
Going forward, SAP will focus Design Studio investments on the BI Platform
deployment, and recommends all customers to deploy Design Studio on the BI
Platform
NetWeaver and HANA deployments only support a minimal feature scope, and new
investments are not planned
This is the current state of planning and may be changed by SAP at any time.
You can switch the startup mode in the Design Studio client.
In the default setting, the Design Studio starts in Local Mode after installation.
To maintain the startup mode choose: Tools > Preferences
Changing the startup mode requires a restart of the design studio client.
Note:
In the "Logon to SAP BusinessObjects BI Platform" dialog
box and in the “Logon to SAP NetWeaver” dialog box, you
can still decide to log on locally by clicking Skip, even if the
startup mode is set to Connect to BI Platform or to SAP
NetWeaver. The design tool starts in local mode.
Lesson 4
Lesson 1
Using data bound component
Create a First Application
properties
Lesson 2 Lesson 5
Create script free applications Create highly formatted tables
using analysis components using a scorecard component
Lesson 3
Lesson 6
Create script free applications
Understanding the interoperability
using container components
between the BI clients
and change the look and feel
4. Choose Create
4
Design Studio has the following main screen elements + additional views that can be added
Components Additional Properties
Outline Script Problems
Layout Search Results
Properties Error Log
Layout
Properties
Components
Outline
Data Source
Right-click Data Sources in the Outline tab of the design tool and click New....
Use „Copy and Paste“ from another Design Studio Application or within an Application
The Initial View dialog box allows you to modify the initial state of any data source.
You can change the following data in the initial state of a data source:
Dimensions in the rows/columns and the order of dimensions
Measures displayed in the result set
Dimensions in the background filter
For each measure you can change:
The number of decimal places displayed
The scaling factor used
How totals are calculated
The sorting order
For each dimension you can change:
The additional result set attributes displayed
The active hierarchy (if available) and its initial expansion level
The member to be filtered
The filter by input string
The member presentation (text, key, text/key, key/text)
The totals display mode (show, hide, hide if only one member)
Top Margin
Height
Component
Bottom Margin
Borders
Hints: Begin to define the properties with the two „auto“ values
Use the „Maximize Component“ button to define width/height as „auto“ and the margins as „0“
Lesson 4
Lesson 1
Using data bound component
Create a First Application
properties
Lesson 2 Lesson 5
Create script free applications Create highly formatted tables
using analysis components using a scorecard component
Lesson 3
Lesson 6
Create script free applications
Understanding the interoperability
using container components
between the BI clients
and change the look and feel
Application designer can choose to enable/disable navigation functions like hierarchical navigation,
sorting and column resizing function
Exceptions defined in SAP BW backend or in Analysis Office can be activated in crosstab setting
The width of each column within a crosstab can be adjusted individually
Context Menu available and can be adjusted
Report-to-Report Interface supported
The technical component Context Menu enables the application user to navigate and analyse data at
runtime. Additionally for each Crosstab you can decide if you want to have a Context Menu or not.
Navigation Panel
New component to let end-users navigate
data via drag and drop (dimensions and
measures)
Measures can be shown separately
Simplified view (as a dimension list)
The order of dimensions can be determined
in design time
Quick access to dimensions and measures
via search bar
Option to pause refresh
Hint:
Drag & Drop from Navigation Panel to
Crosstab has to be enabled in Application
Property
The Filter Panel Component can be used for Filtering and Navigation
Application Designer can decide to enable „Filter only“, „Navigation only“ or „Filter and Navigation“
To filter values the user can use the direct input option or the member selector option. This depends on
the spot the user clicks in Application Runtime.
Filter Panel with direct input option Filter Panel Filter Panel with member
selector option
Filter Line
Horizontal filter area
End-users can easily select filter criteria and
filter values
Application designers can configure whether key
figures should be included in filter line
Configuration by properties, no scripting effort is
required
In the Prompts dialog box, application designers and application users set values for
prompts. For SAP NetWeaver BW data sources, prompts are defined as variables.
Design Studio generates a generic prompt screen if prompts are defined as mandatory and do
not have a valid default value in the Data Source or the Application is set to “Force prompts on
Startup”.
Lesson 4
Lesson 1
Using data bound component
Create a First Application
properties
Lesson 2 Lesson 5
Create script free applications Create highly formatted tables
using analysis components using a scorecard component
Lesson 3
Lesson 6
Create script free applications
Understanding the interoperability
using container components
between the BI clients
and change the look and feel
You use the grid layout component to group and order the content of your application
in a grid that is not displayed at runtime.
Designtime:
Runtime:
The Pagebook component enables the user to switch between the different views of an
application.
You group the components and contents of a view on a separate page.
The Pagebook only shows one page at time.
Page Indicator
for iOS like visualization
You use the Tabstrip component to group and order the content of your application in tabs.
You can also use it to enable user interaction within the application. To do this you add a
script to the tabstrip On select property. The script is triggered when the user selects one of
the tabs on the tabstrip in the application.
You use the Panel component to group other components in your application. The panel
component is a very simple container component. The components nested in the Panel
are positioned relative to the Panel and not to the Application borders.
With the use of the CSS Style Property you can visually group the nested components
together e.g. with a border.
Application Outline
The popup component helps users to quickly enter information, perform configurations or
make selections. In addition, popups can also be useful for displaying more specific data for
a selected item displayed on the main page of the application. As the popup is a container
component, you can put any other component into the popup (for example, crosstab, button
or checkbox).
Using the image component, you can enhance applications by adding images. Depending on
the Deployment Type the images are stored in different places.
Images can be changed dynamically via scripting to be able to “react” on various elements like
for example active filters.
Settings
Rectangular or circular shape
Select icon and background colors
Scaling factor
You use the Text component to add text to The Formatted Text View component enables
your application. Text can be formatted with you to apply text formatting within one control.
the Style-Property. This will use one of the The Formatted Text View editor appears in the
predefined styles out of the selected theme Additional Properties panel.
of the application.
Lesson 4
Lesson 1
Using data bound component
Create a First Application
properties
Lesson 2 Lesson 5
Create script free applications Create highly formatted tables
using analysis components using a scorecard component
Lesson 3
Lesson 6
Create script free applications
Understanding the interoperability
using container components
between the BI clients
and change the look and feel
You can easily display the value of a single cell in a Text component with the data
bound properties
Lesson 4
Lesson 1
Using data bound component
Create a First Application
properties
Lesson 2 Lesson 5
Create script free applications Create highly formatted tables
using analysis components using a scorecard component
Lesson 3
Lesson 6
Create script free applications
Understanding the interoperability
using container components
between the BI clients
and change the look and feel
Rule-based Highlighting
Shows exceptions from BW Query as
Trend/Status Icons, colored text or background
Shows conditional formats in smart copied
Analysis Office Views
Micro Charts
Variance and trend charts
Pay attention that the Auto Generation has only a “show case” character to speed up the initial creation.
2. assign a Datasource
The definition of the “Row Scope” property defines how many / how detailed your
data is presented in the Scorecard
Lets assume your Datasource shows the following drilldown
All dimensions that are not part of the Row Scope can be used to create content within the colums
Example: If you take „Region“ into the Row Scope you get 2 Rows and can create columns on Divisons or Product level
e.g. a Bar Chart for each Division.
Lesson 4
Lesson 1
Using data bound component
Create a First Application
properties
Lesson 2 Lesson 5
Create script free applications Create highly formatted tables
using analysis components using a scorecard component
Lesson 3
Lesson 6
Create script free applications
Understanding the interoperability
using container components
between the BI clients
and change the look and feel
Analysis Office
Mobile
Design Studio
Export to Lumira
End-user / analyst can export Crosstab
data as a Lumira file (.lums)
Lumira file can be opened in SAP Lumira
desktop for further data manipulation,
exploration and visualization
Lesson 1
Using standard & custom created
templates
Lesson 2
Working with themes and the
embedded CSS editor
Provided templates
Various pre-built apps that can
be used out-of-the-box or as
customizable templates
Supports rapid roll-out of self
service scenarios on BW &
HANA online data
Supporting Universe data
sources
Can be further enhanced,
customized or simply used as
blueprints by designers
Interoperability with Standard
Analysis App
Includes Menu
Settings for charts
Menu Filter Area
Filter Area
Navigation Area
Setting Area for chart
Data Area with different
views
Action Area
Improvements
Simplified Layout
New Info Charts and
Feeding Component
Drag & Drop Navigation Panel Action Area
Custom Measures and Top N Filters
Global Filters
Menu
Smart Objects
Includes
Basic Layout Template
Basic Analysis Layout Template
Planning Layout Template
Menu
Filter Area
Spreadsheet
/Crosstab /Chart View
Navigation Panel
© 2015 SAP SE or an SAP affiliate company. All rights reserved
Templates: Create custom templates
Lesson 1
Using standard & custom created
templates
Lesson 2
Working with themes and the
embedded CSS editor
Many components offer a CSS Style attribute. With that you can precisely define the
design of the component.
2.
3.
Note: If you use this function, keep in mind that SAP does not guarantee that custom CSS stylesheet will work properly.
© 2015 SAP SE or an SAP affiliate company. All rights reserved
Unit 4:
Create advanced applications
using scripting techniques
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
Flexible definition of
interactions between
components
JavaScript based command editor
Easy-to-use scripting wizard
Intuitive content assistance via
CRTL+SPACE
Display live data for selection
Build-in documentation for script API
Automatic check for the correctness
of the scripting
Why JavaScript?
Can be executed both, on Browser and on Server.
Relatively easy to learn
Sufficiently powerful
Why a subset?
Full JavaScript is quite complex
No type support (see later)
Some constructs can be dangerous (e.g. endless loops)
Design Studio can validate all scripts
The scripts are executed on the Analysis Application Design Service (unlike JavaScript
that is executed in the Web browser)
Statement Types
conditional
Assignment
call statements execution
Statement
statements
e.g. change the Chart Type of a chart IF xxx THEN xxx ELSE Define a new variable or assign
or set a filter for a dimension a value to an existing one
Basic syntax: var <variable> = <expression>;
<Component>.<Method>(<Arguments>); or
<variable> = <expression>;
<Component>.<Method>(<Arguments>);
Which element should be What should be done with the Which details are needed to
influenced? element? do it?
DS_1 setFilter Dimension = 0Division
Filter Value = 01
APPLICATION openPromptDialog Width = 300
Height = 500
TABSTRIP_1 setSelectedTabIndex TabIndex = 1
• BI Types:
– Dimension, Member, Filter, MemberPresentation, ChartType, …
(example: CHART_1.setChartType(ChartType.PIE);)
DS_1.SetFilter(<dimension>, <filterselection>);
Each script is validated before it is executed. If an error is found, for example, in the
syntax, the script is not executed. Instead a log entry and a message are created and
displayed.
The log entry in the Error Log view contains detailed error messages for the script.
At runtime, the end user will see a message in the message view stating that there is a
problem in the script.
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
Buttons enable the user to interact within the application. To do this you add a script to
the button's OnClick property.
The script is triggered when the user clicks the button in the application. You can insert any
text for the button label and add an icon.
Icon Text
Dropdown box
List box
Checkbox group
What the end user will see… What the Application Designer defines…
Option A: this can be done manually as direct input into the list
Option C: this can be done via scripting e.g. with the Datasource.getMemberList command
Example Codings:
DROPDOWN_1.setItems(DS_1.
getMemberList("0DIVISION", MemberPresentation.INTERNAL_KEY, MemberDisplay.TEXT, 20, "ALL"));
Checkboxes enable the user to interact within the application. To do this you add a script to
the On Click property of the checkbox component. The script is triggered when the user
activates the checkbox in the application. You can use any text for the checkbox.
The date field component enables the user to select a date. To activate user interaction with
the date field, you need to add a script to the On Select property. The script is triggered when
the user picks a date in the date field or when the user enters a date manually at runtime.
The input field enables the user to write user-specific content in the input field at runtime.
The most frequently used commands are the conditional execution statements
You can use the context sensitive help function to get the basic syntax created in your script.
Technically this is done via a scripting template. These templates can be maintained via
Tools > Preferences
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
Script variables store expression results. They are useful, for example, for storing
intermediate results that are used repeatedly in a script.
Local script variables are script variables that can only be used in the script in which they
were defined, and not in any other scripts. To define a local script variable, open a script with
the Script Editor and add a line with the following format:
The type of the script variable is automatically determined by the type of the expression.
var <variable> = <expression>;
Example Code:
//use local variable for storing Incoming Orders EUR for the country Germany
var int_IntOrd = DS_1.getData("GUID", {"T_SOLD_TO__0COUNTRY": "DE"}).value);
The script editor offers the Math Object with the following methods:
abs log
acos max
asin min
atan pow
atan2 random
ceil round
cos sin
exp sqrt
floor tan
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
read value
of a measure
Example Code:
TEXT_1.setText(APPLICATION.getInfo().name);
This shows you how to read a single value of your data source. Keep in mind that only
values that are within the view of the data source can be read.
Example Code:
TEXT_1.setText(DS_1.getData(“GUID", {"T_SOLD_TO__0COUNTRY": "DE"}).formattedValue);
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
When you execute the Application you specify the URL parameter by adding
e.g. http://<<applicationURL>>&Xcurrency=USD
URL Parameters can for example be used to start other BI documents with predefined
filter or variable settings via the open document syntax.
http://........&Xmode=display
http://........&Xmode=navigation
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
Each script function has a configurable return type and can have any number of typed input
parameters.
When you use data bound properties you can additionally use formatter funtions.
These are always part of a global script object.
Lets assume you write the value of a cell in a text component. The typical output would be
„22.147 EUR“
To change the standard output you can use a formatter function to get an output like that:
„The value is: 22.147 Euro“
Lesson 1 Lesson 5
Introducing the Script Editor Using global scripting variables
Lesson 2 Lesson 6
Define the navigation behavior of Using global script objects and
basic components with scripting formatter functions
Lesson 3
Lesson 7
Using local variables in script
Other scripting scenarios
functions
Lesson 4
Reading Data in Script
Enables the user to specify and export a crosstab from the SAP BusinessObjects
Design Studio into Microsoft Excel.
The following export file formats are
supported:
CSV
Microsoft Excel 2004 (.xls)
Microsoft Excel 2007 (.xlsx)
Example Code:
APPLICATION.export(ExportType.EXCEL_xlsx, [CROSSTAB_1]);
Export to PDF
This feature is only available on BIP, NetWeaver and local mode, not HANA
© 2015 SAP SE or an SAP affiliate company. All rights reserved
Exporting to PDF overview
Exporting to PDF
PDF as technical object needs to be added in the design time
With this new technical Object you can now refer to the PDF export
script as follows:
– PDF.exportApplicationScreen(); // WYSIWYG application
– PDF.exportPanelScreen(Panel); // WYSIWYG Panel
– PDF.exportApplication(); // PDF Export report style
Personalization
The personalization feature is available at runtime
only
Personalization allows user to save his/her own view
about the Design Studio application
Personalization is always user specific and cant be
transferred from one user to another
Every time personalization is set, that particular
analysis application state is overwritten by the last
personalization saved
There is no scripting method to load personalization
The following script methods apply to
personalization:
– State.setPersonalization();
– State.deletePersonalization();
Lesson 1
Accessing applications on mobile
devices
Lesson 2
Optimizing applications for mobile
devices
Before users can access analysis applications on a mobile device using the SAP BusinessObjects Mobile
solution, you need to assign the analysis applications to the “mobile” category on the BI platform.
1. In the BI launch pad, go to the folder that contains the analysis application that you want to assign to the
mobile category.
2. Select the analysis application, and click on the Categories in the context menu
The "Categories" dialog box appears.
3. Choose the “Mobile” category.
4. Click OK.
Lesson 1
Accessing applications on mobile
devices
Lesson 2
Optimizing applications for mobile
devices
scrolling is row-based
not „mobile-like“
scrolling is Pixel-based
„mobile-like“
not suitable for large data
sets
Data is cropped after
specified number of rows or
columns
Desktop Style for Popup = false Desktop Style for Popup = true
Keep the datavolume that needs to be transfered „as small as possible“ to ensure
an acceptable loading behaviour. Especially when using a mobile network connection.
• Keep the applications simple and do not use too many components.
• Only create applications based on the predefined templates for
iPhones (do not use the blank template for iPhones).
• Do not use crosstab components for iPhone applications as this is not
supported by SAP.
• Only design iPhone applications in portrait format.
Landscape orientation is not supported when running the application
in the SAP BusinessObjects Mobile solution.
)* For data sources other than BW, scorecard conditional formatting is limited to single values, value ranges are not yet supported. It is planned to lift those limitations in a
future release and allow the definition of more sophisticated rules within Design Studio. The same is true for the Info Chart (including support for HANA, UNX and CSV).
)** Supported with new, http-based HANA connector (single Top N Filter on flat dimensions)
)*** Data Entry / Copy & Paste only available in planning applications with BW-IP / BPC 10.1
Info Chart x x
Chart x -
Filter Line x - (planned)*
Split Cell Container x - (planned)*
Popup x - (planned)*
Action Sheet - x
Self-Service Templates x - (planned)**
Right-to-Left Support - x
)* Equivalent components planned in Fiori Library for: Filter Line, Split Cell Container (enabling Online Composition), Popup
)** It is planned to provide equivalent Fiori Library versions of the Templates for Standard Analysis, Data Exploration and Online Composition (self-service templates)
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die
ausdrückliche schriftliche Genehmigung durch SAP SE oder ein SAP-Konzernunternehmen nicht gestattet.
SAP und andere in diesem Dokument erwähnte Produkte und Dienstleistungen von SAP sowie die dazugehörigen Logos sind Marken oder
eingetragene Marken der SAP SE (oder von einem SAP-Konzernunternehmen) in Deutschland und verschiedenen anderen Ländern weltweit.
Weitere Hinweise und Informationen zum Markenrecht finden Sie unter http://global.sap.com/corporate-de/legal/copyright/index.epx.
Die von SAP SE oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten.
Die vorliegenden Unterlagen werden von der SAP SE oder einem SAP-Konzernunternehmen bereitgestellt und dienen ausschließlich zu Informations-
zwecken. Die SAP SE oder ihre Konzernunternehmen übernehmen keinerlei Haftung oder Gewährleistung für Fehler oder Unvollständigkeiten in
dieser Publikation. Die SAP SE oder ein SAP-Konzernunternehmen steht lediglich für Produkte und Dienstleistungen nach der Maßgabe ein, die in der
Vereinbarung über die jeweiligen Produkte und Dienstleistungen ausdrücklich geregelt ist. Keine der hierin enthaltenen Informationen ist als zusätzliche
Garantie zu interpretieren.
Insbesondere sind die SAP SE oder ihre Konzernunternehmen in keiner Weise verpflichtet, in dieser Publikation oder einer zugehörigen Präsentation
dargestellte Geschäftsabläufe zu verfolgen oder hierin wiedergegebene Funktionen zu entwickeln oder zu veröffentlichen. Diese Publikation oder
eine zugehörige Präsentation, die Strategie und etwaige künftige Entwicklungen, Produkte und/oder Plattformen der SAP SE oder ihrer Konzern-
unternehmen können von der SAP SE oder ihren Konzernunternehmen jederzeit und ohne Angabe von Gründen unangekündigt geändert werden.
Die in dieser Publikation enthaltenen Informationen stellen keine Zusage, kein Versprechen und keine rechtliche Verpflichtung zur Lieferung von
Material, Code oder Funktionen dar. Sämtliche vorausschauenden Aussagen unterliegen unterschiedlichen Risiken und Unsicherheiten, durch die
die tatsächlichen Ergebnisse von den Erwartungen abweichen können. Die vorausschauenden Aussagen geben die Sicht zu dem Zeitpunkt wieder,
zu dem sie getätigt wurden. Dem Leser wird empfohlen, diesen Aussagen kein übertriebenes Vertrauen zu schenken und sich bei Kaufentscheidungen
nicht auf sie zu stützen.
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 SE’s 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.