Week 4: Dealing with Existing Code Unit 1: The Business ...

52
Week 4: Dealing with Existing Code Unit 1: The Business Scenario

Transcript of Week 4: Dealing with Existing Code Unit 1: The Business ...

Week 4: Dealing with Existing Code

Unit 1: The Business Scenario

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

The Business Scenario

Topics

Week 4

01

02

03

04

The Business Scenario

Creating the CDS Data Model

Defining and Implementing the Business Object Behavior

Creating the Business Object Projection

05 Building and Previewing the OData UI Service

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

The Business Scenario

Simplified flight data model for this openSAP course

Main business entities in current scenario

Secondary business entities in current scenario

TRAVEL

AGENCY FLIGHT

CUSTOMER

BOOKING

Travel

A Travel entity defines general travel data, such as the

agency ID or customer ID, status of the travel booking,

and the price of travel. The travel data is stored in the

database table /DMO/I_TRAVEL.

Booking

The booking data is stored in the database

table /DMO/BOOKING. The flight data model defines a

1:n cardinality between the Travel and the Booking entity.

Agency

An Agency entity defines travel agency data, such as the

address and contact data. The corresponding data is stored in the database table /DMO/AGENCY. The flight

data model defines a 1:n cardinality between Agency and

Travel.

Flight

The concrete flight data for each connection is stored in the database table /DMO/FLIGHT. The flight data model

defines a 1:n cardinality between the Connection and the

Flight entity.

Customer

A Customer entity provides a detailed description of a

flight customer (passenger) such as the name, the

address, and contact data. The corresponding data is stored in the database table /DMO/CUSTOMER. The flight

data model defines a 1:n cardinality between Customer

and Travel

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

The Business Scenario

The unmanaged scenario

BUSINESS DATA

NEW IMPEMENTATION

for transactional app

EXISTING LEGACY

BUSINESS LOGIC

WEB API SAP FIORI UI Other client or

consumer(Web Service, IDOC, …)

LEGACY UI

(Web Dynpro, SAP GUI)

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

The Business Scenario

Resulting SAP Fiori elements app

Transactional List Report Travel App Search

Object Page

Create

Delete

Save

Update

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

The Business Scenario

Dev flow – Unmanaged scenarios

CDS BEHAVIOR

DEFINITION

ADD

BEHAVIOR

IMPLEMENT

BEHAVIOR

ABAP CODE

Authority object

AUTHORITY CHECK

Lock object

CDS roleQUERY

DATA ACCESS

CONTROL

CDS-BASED

DATA MODEL

DEFINE SCOPE

SERVICE

DEFINITION

BIND TO SCENARIO

AND PROTOCOL

SERVICE

BINDING PREVIEW

BEHAVIOR

PROJECTION

ADD

BEHAVIOR

DATA MODEL

PROJECTION

PROJECT ELEMENTS & ENRICH PROJECT BEHAVIOR

APPLICATION DATA

DATABASE TABLES

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

The Business Scenario

Unmanaged BO runtime implementation

SAP HANA

SAVE

SEQUENCE

checkBeforeSave

adjustNumbers

save

Application code

Already available for interaction phase, transactional buffer, and

save sequence

Existing code decoupled from UI and protocol technologies

Developers fully in charge of BO runtime, i.e. CRUD operations

Adapters needed to integrate the existing code

Examples

Sales Order, Purchase Order

Adapter for existing

application code

finalize

MO

DIF

Y

RE

AD

INTERACTION

PHASELO

CK

UNMANAGED RUNTIME

(APPLICATION CODE)

Transactional

Buffer

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

The Business Scenario

Unmanaged BO runtime implementation – Adapter for existing application code

METHOD create.

DATA messages TYPE /dmo/t_message.DATA legacy_entity_in TYPE /dmo/travel.DATA legacy_entity_out TYPE /dmo/travel.LOOP AT entities ASSIGNING FIELD-SYMBOL(<entity>).

legacy_entity_in = CORRESPONDING #( <entity> MAPPING FROM ENTITY USING CONTROL ).CALL FUNCTION '/DMO/FLIGHT_TRAVEL_CREATE'

EXPORTINGis_travel = CORRESPONDING /dmo/s_travel_in( legacy_entity_in )

IMPORTINGes_travel = legacy_entity_outet_messages = messages.

IF messages IS INITIAL.APPEND VALUE #( %cid = <entity>-%cid travelid = legacy_entity_out-travel_id )

TO mapped-travel.ELSE.

“error handling…

ENDIF.ENDLOOP.

ENDMETHOD.

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

The Business Scenario

Wrap-up

IN THIS UNIT, YOU LEARNED

▪ How the unmanaged implementation scenario for this week

differs from the scenarios from the last units

▪ How RAP supports this new scenario

NEXT UNIT

▪ Week 4 – Unit 2

Creating the CDS Data Model

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

The Business Scenario

Further readingAdditional Materiali

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 4)

Thank you.

Contact information:

[email protected]

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

www.sap.com/contactsap

Follow all of SAP

Week 4: Dealing with Existing Code

Unit 2: Creating the CDS Data Model

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

Creating the CDS Data Model

Topics

Week 4

01

02

03

04

The Business Scenario

Creating the CDS Data Model

Defining and Implementing the Business Object Behavior

Creating the Business Object Projection

05 Building and Previewing the OData UI Service

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

Creating the CDS Data Model

Dev flow – Where we are

DEFINE SCOPE

SERVICE

DEFINITION

BIND TO SCENARIO

AND PROTOCOL

SERVICE

BINDING PREVIEW

Authority object

AUTHORITY CHECK

Lock object

CDS roleQUERY

DATA ACCESS

CONTROL

CDS-BASED

DATA MODEL

DATA MODEL

PROJECTION

PROJECT ELEMENTS & ENRICH

ADD

BEHAVIOR

CDS BEHAVIOR

DEFINITION

IMPLEMENT

BEHAVIOR

ABAP CODE

PROJECT BEHAVIOR

ADD

BEHAVIOR

BEHAVIOR

PROJECTION

APPLICATION DATA

DATABASE TABLES

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

Creating the CDS Data Model

What we will achieve in this unit

Root

key word

Composition

Associations

Field list

with aliases

Data

preview (F8)

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

Creating the CDS Data Model

Demo

1. Define the BO composition tree for the Travel and Booking entities

2. Preview the existing data

Creating the CDS Data Model

DEMO

HANDS ON

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

Creating the CDS Data Model

Wrap-up

IN THIS UNIT, YOU LEARNED

▪ What a BO composition tree is and how you

define it

NEXT UNIT

▪ Week 4 – Unit 3

Defining and Implementing the Business Object

Behavior

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

Creating the CDS Data Model

Further readingAdditional Materiali

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 4)

Thank you.

Contact information:

[email protected]

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

www.sap.com/contactsap

Follow all of SAP

Week 4: Dealing with Existing Code

Unit 3: Defining and Implementing the Business

Object Behavior

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

Defining and Implementing the Business Object Behavior

Topics

Week 4

01

02

03

04

The Business Scenario

Creating the CDS Data Model

Defining and Implementing the Business Object Behavior

Creating the Business Object Projection

05 Building and Previewing the OData UI Service

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

Defining and Implementing the Business Object Behavior

What we will achieve in this unit – Behavior Definition

Implementation

type unmanaged

Behaviour

implementation

classes

Standard

operations:

create, update

and delete

Specify fields that

are mandatory or

read-only

central mapping

for legacy

business logic

Create enabled

association

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

Defining and Implementing the Business Object Behavior

What we will achieve in this unit – Behavior Implementation

Local handler

class for buffer

access

Implementation of

standard

operations create,

update and delete

Create by

association

Local saver class

to save data to

database tables

Implementation

for read from

buffer

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

Defining and Implementing the Business Object Behavior

Dev flow – Where we are

DEFINE SCOPE

SERVICE

DEFINITION

BIND TO SCENARIO

AND PROTOCOL

SERVICE

BINDING PREVIEW

Authority object

AUTHORITY CHECK

Lock object

CDS roleQUERY

DATA ACCESS

CONTROL

CDS-BASED

DATA MODEL

DATA MODEL

PROJECTION

PROJECT ELEMENTS & ENRICH

ADD

BEHAVIOR

CDS BEHAVIOR

DEFINITION

IMPLEMENT

BEHAVIOR

ABAP CODE

PROJECT BEHAVIOR

ADD

BEHAVIOR

BEHAVIOR

PROJECTION

APPLICATION DATA

DATABASE TABLES

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

Defining and Implementing the Business Object Behavior

Demo

1. Create and define BO behavior definition for the Travel and Booking entities

2. Implement the BO behavior for the Travel and Booking entities

3. Create a unit test to test the BO implementation via EML

Create and implement the transactional BO behavior

DEMO

HANDS ON

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

Defining and Implementing the Business Object Behavior

Wrap-up

IN THIS UNIT, YOU LEARNED

▪ How to define the BO behavior definition for the Travel and

Booking entities and how to implement it

NEXT UNIT

▪ Week 4 – Unit 4

Creating the Business Object Projection

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

Defining and Implementing the Business Object Behavior

Further readingAdditional Materiali

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 4)

Thank you.

Contact information:

[email protected]

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

www.sap.com/contactsap

Follow all of SAP

Week 4: Dealing with Existing Code

Unit 4: Creating the Business Object Projection

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

Creating the Business Object Projection

Topics

Week 4

01

02

03

04

The Business Scenario

Creating the CDS Data Model

Defining and Implementing the Business Object Behavior

Creating the Business Object Projection

05 Building and Previewing the OData UI Service

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

Creating the Business Object Projection

What we will achieve in this unit – Data Model Projection

Enable Search

@Search.searchable:

true

Define value help

@Consumption.

valueHelpDefinition

Define association as

redirected to

composition child

Allow use of

MetaDataExtensions

Define association as

redirected to parent

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

Creating the Business Object Projection

What we will achieve in this unit – Metadata Extension

@UI.presentation

Variant

defines default sort

order

@UI.facet

annotations

@UI.headerInfo

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

Creating the Business Object Projection

What we will achieve in this unit – Behavior Projection

Define which

standard operations

are used

Define that create

enabled association

is used

Define that etag is

used

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

Creating the Business Object Projection

Dev flow – Where we are

DEFINE SCOPE

SERVICE

DEFINITION

BIND TO SCENARIO

AND PROTOCOL

SERVICE

BINDING PREVIEW

Authority object

AUTHORITY CHECK

Lock object

CDS roleQUERY

DATA ACCESS

CONTROL

CDS-BASED

DATA MODEL

DATA MODEL

PROJECTION

PROJECT ELEMENTS & ENRICH

ADD

BEHAVIOR

CDS BEHAVIOR

DEFINITION

IMPLEMENT

BEHAVIOR

ABAP CODE

PROJECT BEHAVIOR

ADD

BEHAVIOR

BEHAVIOR

PROJECTION

APPLICATION DATA

DATABASE TABLES

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

Creating the Business Object Projection

Demo

1. Define the BO data model projection for the Travel and Booking entities

2. Define Metadata Extensions for the BO data model projection

3. Define the BO behavior projection for the Travel and Booking entities

Define the business object BO projection

DEMO

HANDS ON

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

Creating the Business Object Projection

Wrap-up

IN THIS UNIT, YOU LEARNED

▪ How to define the BO data model projection and the

BO behavior projection for the Travel and Booking

entities

NEXT UNIT

▪ Week 4 – Unit 5

Building and Previewing the OData UI Service

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

Creating the Business Object Projection

Further readingAdditional Materiali

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 4)

Thank you.

Contact information:

[email protected]

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

www.sap.com/contactsap

Follow all of SAP

Week 4: Dealing with Existing Code

Unit 5: Building and Previewing the OData UI

Service

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

Building and Previewing the OData UI Service

Topics

Week 4

01

02

03

04

The Business Scenario

Creating the CDS Data Model

Defining and Implementing the Business Object Behavior

Creating the Business Object Projection

05 Building and Previewing the OData UI Service

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

Building and Previewing the OData UI Service

What we will achieve in this unit – Service Definition

Define scope of

service

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

Building and Previewing the OData UI Service

What we will achieve in this unit – Service Definition, Service Binding, Preview

Define scope

of service

Define

binding type

SAP Fiori

Elements

Preview

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

Building and Previewing the OData UI Service

Dev flow – Where we are

DEFINE SCOPE

SERVICE

DEFINITION

BIND TO SCENARIO

AND PROTOCOL

SERVICE

BINDING PREVIEW

Authority object

AUTHORITY CHECK

Lock object

CDS roleQUERY

DATA ACCESS

CONTROL

CDS-BASED

DATA MODEL

DATA MODEL

PROJECTION

PROJECT ELEMENTS & ENRICH

ADD

BEHAVIOR

CDS BEHAVIOR

DEFINITION

IMPLEMENT

BEHAVIOR

ABAP CODE

PROJECT BEHAVIOR

ADD

BEHAVIOR

BEHAVIOR

PROJECTION

APPLICATION DATA

DATABASE TABLES

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

Building and Previewing the OData UI Service

Demo

1. Create the service definition from the data model projection

2. Create the service binding

3. Preview your SAP Fiori elements app

Create and preview the OData UI service

DEMO

HANDS ON

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

Building and Previewing the OData UI Service

Wrap-up

IN THIS UNIT, YOU LEARNED

▪ How to create the service definition from the data

model projection

▪ How to create the service binding and test the service

NEXT UNIT

▪ Week 5

Service Consumption and Web APIs

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

Building and Previewing the OData UI Service

Further readingAdditional Materiali

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 4)

Thank you.

Contact information:

[email protected]

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

www.sap.com/contactsap

Follow all of SAP