Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications...

23
www.saphana.com/startupfocus Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer August, 2016

Transcript of Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications...

Page 1: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

www.saphana.com/startupfocus

Building Custom Fiori Applications with

Native HANA

Aron MacDonald

SAP HANA Distinguished Engineer Architect / Solution Designer

August, 2016

Page 2: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 2

Agenda

Application Overview and Technical Landscape

Utilizing real-time ECC Data

Managing inbound and outbound interfaces with BODS

Building the Application Data storage layer

Using calculation views for complex application logic

Finalizing the Application UX utilizing HANA XS, OData and Fiori

Page 3: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

Application Overview and Technical Landscape

Page 4: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 4

Application Overview: Old vs New

Old Process (mix of MS Excel and Access)

New Custom Fiori Applications

Legacy Issues

Manual Effort

Data Timeliness

Data Security

Performance

SLT

Page 5: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 5

Fiori Launch Pad and User Preferences

Page 6: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 6

Smart Filters & Smart Tables

Page 7: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 7

Detail Screen Enabling Updates

Updates

Save

Page 8: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 8

Technical Landscape

SLT

SPS08 -> SPS10: Scale out 24Tb (16 x 1.5 Tb)

ECC Replication

Custom Application

/ Custom Data

Staging

HANA XS

OD

ATA

BW Extractors

Page 9: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 9

Application Stats

ECC Tables Used (read only) 50

Largest ECC Table used in Joins KONV

5.5 Billion rows / 325 Gb

Custom Application Tables 60

Largest Application Table Staging of Enhanced ECC Movements

105 Million rows / 16 Gb

Calculation Views 200

Procedures 40

Fiori Apps (SAPUI5) 11

Lines of Code (SQL & Javascipt) < 12,000

Number of Users 100 (application)

to 500 (reporting)

Payback after covering Project Costs 3 Months after Go-Live

Page 10: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

Utilizing real-time ECC Data&Managing inbound and outbound interfaces with BODS

Page 11: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 11

Example: Enhanced Material Movement Views

Real-time OR Staged (controlled via reporting variable)

Staging

Real-time

Core ECC TablesMovements

MSEG

MSEGO2 (UoM)

Sales

VBAK/VBAP

Purchases

EKKO/EKPO

Sales Contracts

VBFA/VBAK / VBAP/KONV

Purchase Contracts

EKKO / EKPO

Challenge:

1-2 min Runtimes

Solution:

Custom Staging

<1 Sec response

Custom Table:

Enhanced ECC Movements

U

Page 12: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 12

BODS

BODS Jobs call procedures to log events

Custom Application

/ Custom Data

Staging

Tips:

Minimize BODS

Logic

Encapsulate as

much logic in Hana

Procedures

Event Logs useful

for tracking status

in Fiori Launch Pad

Event

Logs

P

P

P

P

OD

ATA

*

*

P*

Page 13: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

Building the Application Data storage layer&Using calculation views for complex application logic

Page 14: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 14

Building the Application Data storage layer

Created a Custom Schema with 60 Custom Tables

- Master Data (sourced from Non-SAP systems)

- Master Data unique to Application

- Mapping Tables

- Data Staging tables (for longer running views)

- Transaction tables

- Event/Action Log Tables

Used ‘.hdbtable’ artifact to create [in future projects will move to CDS]

No major issues - though Primary Key & Column Sequence changes need careful attention

Tips:

Minimize Data

Staging

Don’t be afraid to

have complex

business logic

determined on the

fly in Calculation

views

Page 15: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 15

Virtual Data Filtering, Mapping & Aggregation

Enhanced ECC Movements

Business Scenario

Data FiltersJ

Challenge:

1 - 15 min

Runtimes

Solution:

Custom Staging

<30 Sec response

JBusiness Mappings

J

J

J

J

….

U

Mapped Aggregation

P

Page 16: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 16

Virtual Allocations

Duration (Start / End Date), Year and Monthly Values (from Sources without Dates) needed to be Allocated to Valid Dates within a Validity period by business rules, such as Daily, Weekly, Monthly or other custom logic

E.g. A monthly value of 300, might be split into 30 days of value 10

Tip:

Using Calculation

Views for

Allocations makes

unit testing much

easier than SQL

embedded within a

procedure

Date level distributions

External Sources ECC Tables

P

U

Page 17: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 17

Virtual UoM Conversion, Complex Calculated Measures & Delta Processing

Tip:

Use the power of

Hana to virtualise

complex logic in

Calculation Views

Keep Procedure

logic as small as

possible

Transaction TableRow format with a base UoM

(Weight and Volume)

Sent Data

xsjs

U

Column Format

(Target UOM)

P

Delta

Difference

Calculated

UoM

Conv

Calc

BAV

Page 18: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

Finalizing the Application UX utilizing HANA XS, OData and Fiori

Page 19: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 19

High level UX

• Utilised SAP UX Team

• Used whiteboard / post-it notes & interactivity PPT

• Next project may use SAP Splash

Check out

https://www.exper

iencesplash.com

https://experience

.sap.com/fiori-

design/

Page 20: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 20

Typical ODATA usage

Read: Utilised Calculation Views for Display (Binding)

Write: Tables & Exit Procedures

Tip:

Use

Calculation

Views to add

Descriptions

and Virtual

Calculations

Transaction Table

OD

ATA

P

Page 21: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 21

Main SAPUI5 Issue

• On Premise Native Hana SPS10 SAPUI5 Library Version 1.28

• Smart Filter & Smart Table has some bugs resolved >= 1.36.10

Solution: FLP uses On Prem SAPUI5 ‘Smart’ Apps use Public HCP SAPUI5

1.28 1.36.10

Next Steps:

• PoC of HCP for Front End build (should unify SAPUI5 versions, improving experience)

Tip:

Create your own

template(s) and

use as basis for

building Apps

Page 22: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

© 2013 SAP AG or an SAP affiliate company. All rights reserved. 22

Questions?

Page 23: Building Custom Fiori Applications with Native · PDF file Building Custom Fiori Applications with Native HANA Aron MacDonald SAP HANA Distinguished Engineer Architect / Solution Designer

Thank you.

Aron MacDonaldhttp://scn.sap.com/people/s0000716522/contenthttps://www.linkedin.com/pub/aron-macdonald/14/796/10