planning applications kit - in memory planning in action...presentation. this presentation and...
TRANSCRIPT
Planning Applications Kit - In Memory Planning
in Action
Dr. Gerd Schöffl / CSA Technology
© 2012 SAP AG. All rights reserved. 2
Legal disclaimer
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.
© 2012 SAP AG. All rights reserved. 3
Agenda
In Memory Planning in SAP NetWeaver BW
Runtime Comparison Planning Applications Kit against BW-IP
Demo
Restrictions for Planning Applications Kit
Implementation Recommendations
© 2012 SAP AG. All rights reserved. 4
SA
P H
AN
A
SA
P N
W B
W
SA
P N
W B
W
SA
P N
W B
W
In-Memory Database Classic Database
In-Memory Planning The Technological Change
xD
B
SA
P N
W B
W
Presentation
Orchestration
Calculation
Data
Presentation
Orchestration
Calculation
Data
• Authorization
• Locking
• Hierarchies
• Input Enablement
• Planning Functions
• MultiProvider Handling
• Conversions
• Aggregation
User
Interface
Layer
Database
Layer
Application
Layer
© 2012 SAP AG. All rights reserved. 5
SAP NetWeaver BW 7.30 In-Memory Planning - Simple Disaggregation Example
Traditional Approach
1. Determine the delta +50
2. Disaggregate (in appl. server)
per week (52)
per branch (500)
26000 combinations / values
3. Send 26000 values to DB to save
HANA-Based Approach
1. Determine the delta +50
2. Send 1 value to DB
+ instruction to disaggregate and
how
3. Disaggregate (in DB engine)
per week (52)
per branch (500)
create + save 26000 values
user changes
a plan value
© 2012 SAP AG. All rights reserved. 6
SAP NetWeaver BW 7.30 In-Memory Planning - Simple Disaggregation Example
Traditional Approach
1. Determine the delta +50
2. Disaggregate (in application server)
per week (52)
per branch (500)
26000 combinations / values
3. Send 26000 values to DB to save
HANA-Based Approach
1. Determine the delta +50
2. Send 1 value to HANA database
+ instruction to disaggregate and
how
3. Disaggregate (in HANA engine)
per week (52)
per branch (500)
create + save 26000 values
user changes
a plan value
© 2012 SAP AG. All rights reserved. 7
Current Planning Architecture
Database
Layer
Application
Layer
User Interface
Layer Presentation
BEx Query
Plan Session
Data
Metadata
Delta Buffer Local Cache
Constraints
Logic
Save
Aggregation
Engine
Small data
flow
Large data flow
© 2012 SAP AG. All rights reserved. 8
Database
Layer
Application
Layer
In-Memory Planning Architecture
User interface
Layer Presentation
BEx Query
Plan Session
Data Index
Metadata
Delta Buffer
Constraints
Logic
Save
Metadata Aggregation
Engine
Small data
flow
Large data flow
© 2012 SAP AG. All rights reserved. 9
SAP BW powered by HANA Deployment options for planning (SAP BW 7.30 SP5)
Classic DB
Database (SQL)
HANA
Database (SQL)
Calculation engine
Planning engine
HANA
Database (SQL)
Calculation engine
Planning engine
SAP BW
Integr. planning
Standard without in-memory Standard with in-memory Deep in-memory integration
SAP BW
Integr. planning
SAP BW
ABAP planning applications
kit
User interface User interface User interface
BEX AO BEX AO BEX AO
A B C
Database migration Toggle switch
(see SAP Note 1637199)
… + in-memory acceleration of reads… … + in-memory acceleration of core
functions
Full compatibility…
$ $ $
$ $
$
© 2012 SAP AG. All rights reserved. 10
In-Memory Planning Value Proposition
runtime
Data volume
BW-IP (on any DB)
Planning applications kit (on HANA)
Improved plan quality
(better response times allow more simulations cycles)
Improved user experience
(better response time)
Improved plan accuracy
(higher data volume can processed in same time)
© 2012 SAP AG. All rights reserved. 11
In-Memory Planning
runtime
Data volume
BW-IP (on any DB)
Planning applications kit (on HANA)
Medium volume
complex calculations 1 – 2x
High volume,
simple calculations 5 – 10x
Benefit is scenario specific
(fix costs might dominate low volume scenarios)
© 2012 SAP AG. All rights reserved. 12
Demo
Web Demo
© 2012 SAP AG. All rights reserved. 13
ABAP Planning Applications Kit Features Executed In-Memory
Features executed in In-Memory calculation engine
Query execution for reading and writing the data
Disaggregation in queries
Characteristic Relationships type Attribute, DSO
Planning functions:
FOX (with some restrictions, see next slides)
Distribution by reference data
Copy
Delete
Revaluate
Repost
Set Value
© 2012 SAP AG. All rights reserved. 14
ABAP Planning Applications Kit Features using ABAP Calculations (see Note 1637199)
Features executed in ABAP calc. engine, data is transported to ABAP layer –
for this step only (!)
Planning functions:
Custom defined (ABAP Exit)
Distribution with Keys
Unit Conversion/Currency Conversion
With more than one condition
Disaggregation in Query in certain cases
Query based on MultiProvider on top of aggregation level
Reference key figure is a formula itself
Key figure is restricted to multiple values (multiple single values, interval, hierarchy node)
© 2012 SAP AG. All rights reserved. 15
ABAP Planning Applications Kit Features NOT Supported in ABAP Planning Appl. Kit (see Note 1637199)
Entire planning model is executed in ABAP:
Characteristic Relationships:
Type Exit
Type Hierarchy
Key figures
Type TIMS and DATS (time and date)
With other aggregation than SUM
Data Slices (all kinds)
Logging BAdI
Commands in Fox formulas:
CURC (currency conversion)
CP, CO, CA, CS (string operations)
Call Function (calling ABAP function module)
Transient master data; virtual key figures and characteristics
© 2012 SAP AG. All rights reserved. 16
Implementation Recommendations 1
Fox rules
Use Fox formulas instead of ABAP exists
Think Big
Think of new scenarios
Use few large planning functions instead of several small ones
Enlarge filters to reduce planning functions and complexity
=
© 2012 SAP AG. All rights reserved. 17
Implementation Recommendations 2
Avoid shifts between In-Memory and ABAP execution of planning functions
If ABAP (custom-defined) planning functions are necessary, try to pool them
Reduce complexity
Disaggregation in query can make additional aggregation levels unnecessary
Be up-to-date regarding which features are supported by PAK
See SAP Note 1637199
Thank you
Contact information:
Dr. Gerd Schöffl
Expert, CSA Technology
Dietmar Hopp Allee 16, 69190 Walldorf, Deutschland
+49 6227 7-62034