Finally, the time has come for SAP customers to take a leap in the way their IT infrastructure works. It’s time for SAP HANA, the most sophisticated database till date, to show its magic. While many SAP customers are migrating to SAP HANA database from old classical database system, there will be a need to perform the Impact Analysis post SAP HANA Migration and fix the problems.
One of the best feature of SAP being customizing the applications as per requirement, certainly every SAP customer will have many custom SAP applications and enhancements for the standard SAP applications to satisfy their needs. The biggest impact of SAP HANA database will be the way ABAP code will be written in the future. While the old method of ABAP coding allowed the developers to keep certain SQL queries loose (may be without proper conditions and data sorting), with SAP HANA these loose statements are not accepted. The reason being, to leverage the HANA feature of being most fastest database till date. Hence Performance is the key here.
In this blog let us look on the Impacts of migration to SAP HANA and how to track the effect of those Impacts on your well established SAP Infrastructure.
Following are the major impact post SAP HANA Migration:
- After Migration form classical database to SAP HANA Database, the ‘Pool’ and ‘Cluster’ tables are converted to ‘Transparent’ tables. So, all custom codes, where direct access to these ‘Pool’ tables and ‘Cluster’ tables existed, should be changed that were using Open SQL statements With HANA, the inbuilt index for transparent tables are gone.
- While in classical database, though the ‘ORDER BY’ clause not used in SELECT query, the SQL query used to return the records in the order of Primary Keys with default Primary Index or Secondary Index mentioned. But now, explicit ‘ORDER BY’ clause should be added to select queries if the expected result should be in some sorted sequence. And of course, there will be huge enhancement with performance point of view.
THE ANALYSIS TOOLS
The Critical analysis tool that can be handy is the new ABAP Test Cockpit and an enhanced version of Code Inspector.
ABAP Test Cockpit is available for users from EhP2 for SAP NetWeaver 7.0 support package stack 12 (SAP Basis 7.02, SAP Kernel 7.20) and EhP3 for SAP NetWeaver 7.0 support package stack 5 (SAP Basis 7.31, SAP Kernel 7.20) and onwards. This will be discussed in a different blog.
The improved Code Inspector which can be still accessed via transaction code SCI is provided with following check variants that can be helpful for Migration phase:
- Finding Native SQ
- Database Hints
- Finding ADBC connections (ABAP Database Connectivity)
- Finding non-Robust ABAP code that relies on implicit sorting, where ‘ORDER-BY’ clause is not mentioned in old code. here are two different checks available for finding non-robust ABAP code:
- “Search problematic statement…w/o ORDER BY”
- “Depooling/Declustering: Search for…w/o ORDER BY”
Note: This check is utmost important. An explicit sort of the SQL query must be inserted (ORDER BY clause or ABAP SORT) for those ABAP code sections that contain them.
- Checks potential functional errors and low-performance SQL statements
- Check SQL queries without ‘WHERE’ clause (Like UPDATE and DELETE statements)
- Check for ‘FOR ALL ENTRIES’ clause where, the considered internal table is essentially not empty
- Check DDIC tables for Buffer settings in a consistence manner
- Static Check for performance of ABAP custom code.
OTHER USEFUL TOOLS
- ABAP Test Cockpit (ATC): ABAP check toolset which allows running static checks and unit tests for your ABAP development objects
- Syntax checks: standard syntax check is integrated into the ABAP editor. Extended syntax check (transaction SLIN)
- Dynamic performance checks: performance trace (transaction ST05) for SQL (database access) / SAP enqueue / RFC trace analysis, ABAP runtime trace (transaction SAT or ABAP profiler) for application code
- Performance in a system landscape: global performance analysis (transaction ST30)