Agfa's journey towards an integrated data platform
with "BW on HANA"
Eric Van Kerckhoven – Business Process Analyst @ Agfa
Gunther Van Eyck – BI Consultant @ Cubis
Agenda
What we won’t answer today (a.k.a. things you’ve heard before)
o What is HANA?
o What new objects are available?
o How do the new objects work exactly?
2
What we will answer today (a.k.a. what you want to know)
o How to start with mixed BW-HANA scenario’s?
o What choices did Agfa make along the way, and why?
3
Agenda
Agfa System Setup Architecture Flow (Re)design
4
Parent Company CC and GSS
Agfa-Gevaert GroupBelgian
CompaniesAgfa-Gevaert NV
Agfa Healthcare NVAgfa Graphics NV
GSSAgfa ICSGlobal HR/Purchasing/Logistics
CC = Corporate CenterGSS = Global Shared Services
Technology Optimization: For Graphics, Healthcare and Specialty Products alike, Agfa ICS drives optimization to the
enterprise by aligning our client’s technology and operations strategies. Our professionals endeavor to improve client technological
capacities while cultivating operational efficiency, effective service delivery and optimal cost savings.
World’s first large-area flexible OLED
Graphics HealthCare Specialty Products
HANA @ Agfa
2015 2016 2017 2018
StartSAP HANA ProgramBring all SAP systems to HANA
5
HE BW on HANA
SP & GS BW on HANA
Mixed data flowpreparation- Auth. & Transport- HANA Studio- Team Training
Mixed data flow building
BW on HANA optimizations
SP ECC on HANA
HE ECC on HANA
SYSTEM SETUP
6
First, we made a choice…
• Let’s start with what we know and graduallyincorporate HANA in the modeling strategy– Keep using BW to bring in the data
– Keep using BEx as the data access point (for now)
BW-HANA mixed scenario’s
• Advantages– Leverage historic efforts in BW/BEx
– Authorizations via BW
– Masterdata via BW
7
Step 1: Authorizations
• BW Authorizations for development with HANA Studio (ADT+BWMT)– Involved objects: S_RFC, S_TCODE, S_ADT_RES
– SAP_BC_DWB_WBDISPLAY [OR] SAP_BC_DWB_ABAPDEVELOPER can be used as template, but they contain far too much!
– Don’t forget to add /sap/bw/modeling/* for BWMT
8
Step 1: Authorizations
• BW Authorizations for the new BW Objects
– Added auth.
• Composite Provider – Local S_RS_CPRO (Local & Ad-Hoc)
• Composite Provider – Central S_RS_HCPR (Central – NEW)
• Open ODS View S_RS_ODSV
• Advanced DSO S_RS_ADSO
– Not (yet) added auth.
• Semantically Partitioned Object S_RS_LPOA
• Hybrid Provider S_RS_HYBR
9
Step 1: Authorizations
• HANA Content Authorizations for generated views
– Transaction RS2HANA_ADMIN
– Program RS2HANA_AUTH_RUN is scheduled hourly on all BW systems via a process chain
10
Step 2: Install HANA Studio
• Use a Landscape XML file and SSO to distribute logon-information easily
• Add ADT (ABAP Development Tools) including BWMT (BW Modeling Tools) via https://tools.hana.ondemand.com/
11
Check for updates
regularly!
Step 2: Install HANA Studio
• Perspectives– HANA
• System-based• Package structure• Table, view, procedure, …
– BW• Project-based• InfoArea structure• aDSO, CompositeProvider, …• Attach HANA system
– ABAP • Project-based• Package structure• Programs, CDS, …
12
Step 3: Structuring Content
• Think about naming conventions– New BW Objects– HANA Objects
• Think about the package structure– Packages are an important concept for the HANA authorization setup– A good structure will provide clarity and easy navigation for others– In BW we typically use only 1 package (ZBW, ZBI, Z<SYSID>) because:
• Infoareas are used for structuring data-flow objects• Roles are used for structuring report access
Discuss between Business/BW team/Basis team first, as each might have a different ‘viewing angle’ Cubis templates are available as starting point
13
Step 3: Structuring Content (Agfa)
14
Transportable Content
Modeling
Reporting
Local Content
Generated Views
Testing Ground
InfoAreas
Roles
User-ID’s
Step 4: Transports
• Import/Export
• HANA Native (HALM)
• CTS+ (extension of CTS to allow non-ABAP objects)
– HANA Transport Container (HTC)
– HANA Transport for ABAP (HTA) (possible from 7.4 SP11)
15
Step 4: Transports
HANA Transport for ABAP (HTA)1. Use transaction SCTS_HTA to choose the objects you want to transport2. Business as usual
– Transporting individual objects is possible– No need for a Delivery Unit– No need for a Transport Container
16
ARCHITECTURE
17
LSA(++)
User centric, specific, volatile, flexible
Data centric, general, steady, consistent
18
HANA Impact
Virtual Objects
(comp. provider, calc. views)
Persistent Objects
(aDSO)
19
20
✓ Shorter development timeso Quick changeso No reloadso More freedom w.r.t. types/formats
✓ JOINS are easy and obvious for others✓ Add objects (historically) without
reloading
✓ Data is static/reliable for a chosen period
✓ Very complex business-logic can still beeasier/clearer in ABAP
Calculations depend on ‘time-of-load’
Persistence of the result is mandatory(regulation)Snapshot dataPerformance issues
Calculations depend on ‘time-of-reporting’
Results consume a lot of spaceResults deliver redundant data
Reasonsto use…
Don’t usewhen…
Virtual Persistent
FLOW (RE)DESIGN
21
Flow (re)design
22
HANA HANA
DSO cube multiprovider
aDSO composite provider
Datasource
Flow (re)design
23
HANA HANA
aDSO composite provider
ext HANA view calculation view
Datasource
Flow (re)design
24
HANA HANA
composite provider
calculation view
aDSO
Table/View
Example – Picking Flow
25
HANA HANA
Picking Transport Costs
filters & calculations
join
Example – ABAP translation
26
Lessons Learned
27
SAP GUI > Only shows BW objects1
HANA views convert BW datatypes2
date, time > NVARCHARfloating point > DOUBLE(numeric char > NVARCHAR sometimes)
order of operations?
join > filter | filter > join
function REPLACE_INVALID_CHARS
HANA equivalent?
3
4
Lessons Learned
28
Conversions of objects can’t be reversed7
convert flow > interpret the logic, in stead of literal translation6
Always link HANA-fields back to InfoObjects (when applicable)5
Re-use of MasterdataRe-use of VariablesRe-use of Authorisations
Still some bugs / teething troubles8
A paradigm shift needs a change in mindset
29
Challenge yourself to actively think about ‘other options’2
Look out for opportunities to (re)design1
When (major) changes are requested to existing flowsWith each new business request
Do we need to do this in ABAP?Is this something we want to do virtual or persistent?
…
Questions...
30
31
Thank You
cubis