The migration of SAP ECC to the HANA platform is a necessary evolution that will open endless possibilities.
But when it comes to migrating ERPs it's paramount to do it with the right approach to minimize risks and costs as well as to maximize the benefits.
At Techedge, with more than 150 TB of migration experience, including one of the largest SAP HANA migrations worldwide (20 TB), we can share some best practices to ensure you drive your HANA migration to a successful conclusion.
These are the slides from our webinar, during which we shed light on the process to Migrate SAP ECC to HANA discussing both Basis and Application related aspects of the migration.
This material is well suited for both SAP Technology and Application professionals who are planning to migrate to HANA.
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Techedge HANA Webinars - Migration to SAP ECC on HANA - Episode 1
1. Confidential - Do not duplicate or distribute without written permission from Techedge
Techedge Way
Migration to SAP ECC on HANA Demystified
Silvano Ucci
Sergio Ferrari
May 19 𝑡ℎ, 2016
2. On the Line
2
Sergio Ferrari
Partner, Customer Engagement Director
Sergio is a Partner and the Director of the Customer Engagement
Practice at Techedge.
He is a world leading expert with over 25 years of experience in
Enterprise Solutions with a particular focus in the SAP Business
Suite, of which he has an intimate knowledge both at the
technology and process level.
A Partner and the Director of Technology, Silvano has been with
Techedge since the startup of the company.
With 20 years of experience in the industry, he is an advisor to CIOs
and CTOs with whom he collaborates on strategic transformation
projects, focusing on maximizing the adoption of technology
standards and leading edge solutions to provide value to the business.
Silvano Ucci
Partner, Technology Director
3. Agenda
▪ Migration to ECC on HANA:
▪ Basis
▪ Application
▪ Challenges/Lessons Learned
▪ Q&A
3
4. Run1 Run 2 (DEV) Run3 (QAS) Run 4 Run 5 Run 6 (PRD)
Sample Migration Plan
Test upgrade and migration
steps with copy from
production
Create upgrade / migration
cookbook
Execute multiple technical
iterations to familiarize with
process
Establish SAP HANA dev
environment
Upgrade & migration steps
will differ from production
Perform mandatory code
adaptations and simple code
optimizations
Establish SAP HANA QA
environment
Integration Testing
Functional Regression
Testing
Operational Readiness
UAT
Mock cutover
Optimize/verify business
downtime
Finalize cutover plan
Infrastructure testing
Post-cutover operational
performance testing
Final dress rehearsal
Validate business downtime
Validate cutover plan
Execute technical steps as
defined in previous cycles
Execute end-to-end business
downtime precisely as
defined within cutover plan
Utilize downtime-minimized
approach
Establish new SAP HANA
PRD env
4
5. Agenda
▪ Migration to ECC on HANA:
▪ Basis
▪ Application
▪ Challenges/Lessons Learned
▪ Q&A
5
6. The path to Migration
ExecutionPlanning
Strategy
Definition
Architecture
Definition
Sizing
Validation &
Preparation
6
7. Validation & Preparation
▪ ERP 6.0 EHP7 is the minimum release for SAP Suite on HANA
▪ Evaluate if dual-stack split is required:
▪ SAP removed optional dual stacks as useful deployment option
▪ Dual stacks are not supported on SAP HANA
▪ Evaluate if Unicode conversion is required:
▪ Only Unicode systems supported on SAP HANA
▪ Standalone Unicode conversion procedure similar to system copy offered by software provisioning
manager
▪ Can optionally be combined with other procedures (update, migration, or DMO), but requires
preparatory activities (including transformation of custom code)
▪ OS and database versions
▪ >= Oracle 11.2 (Note 2161396)
▪ >= SUSE Linux 11 SP1
▪ Archiving:
▪ it is recommended to archive obsolete data in order to reduce the size of the database
7
8. Sizing (1/2)
▪ Memory:
▪ The SAP report /SDF/HDB_SIZING gives an estimate of the required memory for SAP HANA
calculating the overall database tables footprint for both row store and column store
▪ Processor:
▪ CPU resources for SAP HANA are implicitly defined by the certified hardware platforms that satisfy
the memory requirements and are available from your hardware vendor
▪ According to SAP, the average resource requirement is of 0.2 cores per active user
8
10. Architecture
Application Servers & Frontends:
▪ Re-use of available application servers
▪ Sizing of current application servers remains valid
▪ No change of frontends
10
11. Architecture: Appliance vs TDI
SAP Appliance:
▪ Solution validation done by SAP and partner
▪ Pre-installed software
▪ Pre-configured hardware set-up
▪ Support fully provided by SAP
Tailored Datacenter Integration (TDI):
▪ More flexibility + reduced HW and operation costs
▪ Installation and validation needs to be done by customer
SAP Appliance vs Tailored Datacenter Integration
Source: SAP
11
12. Architecture: Appliance vs TDI
▪ Common scenario:
▪ Use of Appliance for Production environment
▪ Use of TDI for Development and Quality systems in order to reduce costs
SAP Appliance vs Tailored Datacenter Integration
12
13. Strategy: HANA Migration options
Option A: New Installation
▪ Install new system on SAP HANA
▪ Either without changing existing solutions
(greenfield)
▪ Or for transforming existing solution to SAP HANA by
performing (selective) data migration
Option B: Classical Migration
▪ Perform update/upgrade (if required) to bring
original system on release supported by SAP HANA
▪ Then, migrate the database to SAP HANA
Option C: One Step Upgrade + Migration with DMO
▪ Use of the database migration option (DMO) of SUM
that combines upgrade and database migration in
one step
1
2
Source: SAP
New
installationA
Classical
MigrationB
One Step
Upgrade +
Migration
with DMO
C
Any
DB
install
HANAMigrate data
Selectively
2 HANAMigrate
1
Any
DB
Upgrade
Any
DB
1 HANAUpgrade +
Migrate
13
14. Strategy: HANA Migration options
Option C: One step upgrade + migration with DMO
Source: SAP
HANA
Any
DB
14
15. What’s new for SAP Basis
HANA Studio is the graphical tool for the administration of the HANA database
15
16. What’s new for SAP Basis
hdblcmgui is the tool for updating the version of the HANA database and for installing/updating
add-on on HANA
16
17. What’s new for SAP Basis
DBACOCKPIT for monitoring HANA
17
18. What’s new for SAP Basis
Database Maintenance
lower administration: no need to extend database, no need to rebuild indexes, no need to
reorganize the database
HANA skills
It is recommended to create HANA skills before the go-live. The SAP course “HA200 SAP
HANA Operations & Administration” covers the most important tasks for working with
HANA (HANA concept & architecture, administrative tools, performance analysis,
operations)
18
19. Real Life Feedback
▪ Techedge has performed a migration to HANA of an ECC landscape using Option B
(Classical Migration) and the main figures are:
▪ Classical Migration with Export/Import:
▪ Parallel export/import
▪ Table splitting
▪ Custom indexes on Oracle DB
▪ Use of the HANA stand-by DB server for R3load processes of export/import
SOURCE TARGET
DB Version Oracle 11.2.0.4 HANA 1.00.097.00.1434028111
DB Size 18TB 3900GB HANA Used Memory
Server HP ProLiant DL980 G7 SGI UV 300H
CPU 40 Xeon E7-4870 2.4 Ghz 180 Intel(R) Xeon(R) CPU E7-8890 v2 2.80 GHz
RAM 200GB 9TB
19
20. Real Life Feedback
▪ We performed several runs in order to improve the performance
▪ Performance Tests: no performance degradation, in some cases better
performance:
▪ Tuning of HANA parameters required
▪ Custom code adjustments required
Export
[hours]
Import
[hours]
Action
Run 1 120 45 ---
Run 2 42 39 Storage change
Run 3 25 37 Indexes creation on Oracle; table splitting tuning; use of the stand by server
Run 4 27 37 table splitting tuning; tuning of export table order
Go-live 25 37 ---
20
21. Agenda
▪ Migration to ECC on HANA:
▪ Basis
▪ Application
▪ Challenges/Lessons Learned
▪ Q&A
21
22. What’s happened and what to do (in a nutshell)
Code pushdown means delegating data intense calculations to the database layer
Paradigm Shift
Calculation
Calculation
AS ABAP
SAP HANA
Database
22
23. What’s happened and what to do (in a nutshell)
SAP Business Suite
SAP Standard Code
Custom CodeP
Main Challenges of the App Team
Functional: Adjust ABAP custom
code to behave as before
Performances: performance
improvements are welcome but at
least no degradation is accepted.
ABAP custom code is to be verified
and in case improved to run at
least as fast as beforeHANA DB
F
To Be
Optimized
23
24. Tools - ABAP Test Cockpit (ATC)
The Powerful enterprise-ready tool to perform
static program analysis of Custom ABAP Code
(based on Code Inspector).
Superior integration with ABAP
Workbench (even ABAP in Eclipse) and
Software Lifecycle (Change Request)
Landscape awareness that support result
distribution from QAS to DEV
Superior User Interface that supports
filters and statistics
Powerful out-of-the box exemptions
workflow (“4 eyes”) that helps
conveniently suppressing “false-positives”
findings
Ten time faster scanning engine thanks to
the ABAP Parallel Processing
24
25. Tools - ABAP Test Cockpit (ATC)
Two Variants: FUNCTIONAL_DB and PERFORMANCE_DB
25
26. Tools - ABAP Test Cockpit (ATC)
ATC – This check highlights
nested reading so the program
should be corrected normally
with a Join statement. This
makes a significant difference
when reading a lot of records.
Local Nested Reading DB
PERFORMANCE_DB
26
27. Tools - ABAP Test Cockpit (ATC)
Reading just once the DB
Inner Join - In HANA it is much faster to use
Select Inner Join, accessing the DB just once.
Perform all the calculations in the select
statement, for example SUM, group by and all
filters.
In this example the select was inside a loop
(nested DB loop).
Example: Open SQL – Inner JOIN PERFORMANCE_DB
27
28. Tools - ABAP Test Cockpit (ATC)
ATC – This check says which fields
are used. So the program should
be corrected, selecting just used
fields instead *(all of them). This
makes a significant difference
when reading a lot of data.
28
Select-Statement can be transformed. ...% of fields used PERFORMANCE_DB
29. Tools - ABAP Test Cockpit (ATC)
29
Example: Select * - Select just used fields instead
of all them
Before HANAWith HANA
PERFORMANCE_DB
30. Tools - ABAP Test Cockpit (ATC)
FAE – For all entries is much
faster in HANA, still better
using HDB hint for EQUI-JOIN
30
Example: FAE – For all entries
31. Tools - SQL Monitor
3131
Business process list ranked by total DB time
Drill down to the SQL profile of report ZSQLM_TEST
Navigate to the code
New SQL Monitor allows to get performance data for each and every OPEN SQL executed in production...
32. Tools - SQL Performance Tuning Worklist
3232
SWLT
Very flexible tool to evaluate
ATC and SQL Monitor results
33. Tools - SQL Performance Tuning Worklist
SWLT – Result List – In order to decide which correction should be done, we do a match between
SQLM and ATC and follow the suggestion of the ATC
33
How this program was called.
Example transaction ZISR_INVOICE_DELIVR
ATC – Suggestion from ATC,here is saying that
there is a “Local Nested Reading DB OP (..) found”.
34. Optimization Methodology
ATC - ABAP Test Cockpit
SQLM - SQL Monitor
SWLT – SQL Performance
Worklist List(Intersection
between ATC and SQLM)
34
Problematic
ABAP statements
SQL Monitor
(relevant ABAP
SQL statements)
ATC SQLM
SWLT
Minimum 5 minutes per day
Wrong Used
35. Optimization Methodology
35
Evaluate
SWLT
Top N Critical
Object
Execute ATC
With variant
FUNCTIONAL_DB
Execute SQLM
for 3 weeks
Production
Execute ATC
With variant
PERFORMANCE_DB
Development
Development
Object To Be
ADJUSTED
36. Optimization Methodology
36
Evaluate
SWLT
Top N Critical
Object
Execute ATC
With variant
FUNCTIONAL_DB
Top N Critical
Object To Be
OPTIMIZED
Execute SQLM
for 3 weeks
Production
Execute ATC
With variant
PERFORMANCE_DB
Development
Evaluate the
Degradation
Coefficient K
Sand Box
Development
Object To Be
ADJUSTED
37. Optimization Methodology
37
Approach Description Prerequisites Accuracy Planning
Standard Best-Practice To evaluate thought the SWLT the
40 most critical statements to be
adjusted
• Run the SQL
Monitor on PRD (for
3 weeks or more)
Low Before NRT
Standard Best-Practice with
Empirical Degradtion
Coefficients
To evaluate thought the SWLT the
40 most critical statements to be
adjusted and calculate the
degradation with empirical
coefficients
• Run the SQL
Monitor on PRD (for
3 weeks or more)
Medium Before NRT
Standard Best-Practice with
the test sys. performance
data
To evaluate thought the SWLT the
most critical statements
comparing the performance data
(obtained with SQLM) of Sandbox
and Production systems
• Run the SQL
Monitor on PRD (for
3 weeks or more)
• Run the SQL
Monitor on QAS
during the NRT
phase
High After NRT
38. Real Life Feedback - System and Size
As is: SAP ECC EhP7 on ORACLE
Uncompressed DB Size 15TB in Oracle
38
39. Real Life Feedback - Standard Optimized Object
39
OSS note 1761546 - SAP ERP powered by SAP HANA - Optimizations
40. Real Life Feedback - Program RFBNUM10
The prog. RFBNUM10
(Duplicate Invoices)
was optimized
replacing “Local Nested
Reading DB OP” with
Inner join BSEG, BKPF,
KNA1, including all the
where condition in a
unique select.
40
With HANABefore HANA
41. Real Life Feedback - Program RFBNUM10
With SAP HANA, now
it´s possible to do a
inner join and read
billions of records from
BSEG/BKPF in few
seconds.
Avoid accessing the DB
many times.
Use Select Single.
41
With HANABefore HANA
43. Real Life Feedback - ABAP Development Tools
Example:
Standard CDS View
43
Eclipse
44. Real Life Feedback - Friends of ABAP Custom Code
Goodbye to secondary indexes
It’s possible to test the performance when
browsing the huge table BSEG by a field that
is not a key. It takes few seconds. In Oracle it
will never finish.
161.000.000 records
44
45. Real Life Feedback - Friends of ABAP in HANA
Friends of ABAP Custom Code in HANA
Reading DB table without worrying about index/sec-index
CDS VIEWs in Eclipse
INNER JOIN - New Open SQL Syntax - Inner join with Millions of records
read in few seconds, can be done also for BSEG/BKPF
FAE – For all entries much faster in HANA – OSS note 1662726 -
Optimization of selection with FOR ALL ENTRIES on SAP HANA database –
DB HINT for Equal-join
45
46. Real Life Feedback - Enemies of ABAP in HANA
Enemies of ABAP Custom Code in HANA
Search problematic SELECT * statements
SELECT *
Nested Reading
SELECT … FROM MKPF or loop at
SELECT … FROM MSEG
Select single inside a loop/do/Select/Endselect
46
47. Agenda
▪ Migration to ECC on HANA:
▪ Basis
▪ Application
▪ Challenges/Lessons Learned
▪ Q&A
47
48. SAP Basis
▪ Match required downtime with maximum allowed downtime can be extremely
time consuming and might require several dry run / mock cycles
▪ The coexistence of AMS and Project Landscapes require well defined processes
for change management; in this case, Solution Manager ChaRM and Retrofit
provided the change management framework required.
▪ Similarly the integration with other systems (e.g. BW, PI, EWM, CRM, SRM)
introduces an additional level of complexity both in terms of architectural
design and end to end test governance.
48
49. Main Challenges of the Dev & App Team
▪ Functional: Adjust ABAP custom code to behave as before
▪ Performances: performance improvements are welcome but at least no
degradation is accepted. ABAP custom code is to be verified and in case
improved to run at least as fast as before
49
50. Methodology and tools - PERFORMANCE_DB Findings
▪ Forecast computation tool
Check Message Total DB Execution Time [ms] Days running Total DB Execution Time [MINUTES] Delta K After HANA
Local Nested Reading DB OP (..) found 3.695.457,63 10 6,15909605 10 61,59096
Delta K: Based on performance tests made in SANDBOX, we found that “Local Nested Reading DB OP
(..) found” can be slower by 10 or more times in HANA.
We limit adjustments to objects with a forecasted degradation of more than 5 minutes per day.
50
51. Methodology and tools - FUNCTIONAL_DB Findings
▪ Fixes have been implemented only when really required
▪ Exemptions have been created for “False positives”
▪ In order to manage “False positives” we used Exemptions instead of pseudo-
comments (E.g.EC CI_HINTS) to reduce the number of objects changed
Example
ORDER BY PRIMARY KEY – The table does not come sorted by the primary key if it is not
informed with this command
51
52. Methodology and tools - PERFORMANCE_DB Findings
▪ Fixes have been performed only when truly relevant as indicated by our
forecast computation tool
▪ Exemptions do not work in SWLT and we managed exemptions in a shared
project spreadsheet
▪ Many performance tests were done in Sand Box (copy of production)
52
53. Agenda
▪ Migration to ECC on HANA:
▪ Basis
▪ Application
▪ Challenges/Lessons Learned
▪ Q&A
53