This is the 2nd blog from the DEV201@TechEd 2014 blog series which is compiling the demo-rich session DEV201 (Overview of ABAP 7.4 Development for SAP HANA) that was held at SAP TechEd && d-code 2014 in Las Vegas and Berlin. I’m also using this opportunity to refer you to some interesting blogs and documents available on the topic.
The blog series comprises three posts:
- DEV201@TechEd 2014 Part 1: Introduction into ABAP 7.4 Development for SAP HANA
- DEV201@TechEd 2014 Part 2: Detect custom ABAP code to be adapted (current blog)
- DEV201@TechEd 2014 Part 3: Optimize your custom ABAP code
Let’s go ahead…
Detect ABAP custom code to be adapted
“Will my custom ABAP code still work on SAP HANA?“ is one of the major customer questions in the context of the migration of their existing ABAP-based software (e.g. SAP Business Suite or SAP Business Warehouse) to SAP HANA. The question mainly relates to two areas in which code corrections and adaptations may be required before the migration in order to avoid regressions:
- Functional correctness
- (SQL) Performance.
Before going ahead, I would like to draw your attention to the fact that a migration to SAP HANA is JUST a database migration. The different problematics are common to all databases, but their solutions may be database-specific. Therefore, there is nothing really new here! 🙂 .
What should be detected?
tasks before a migration as a functional regression is a total no-go for running businesses.
– Although DB hints are DB-specific, they generally do not need to be adapted in the context of a HANA migration
– ORDER BY clause or ABAP SORT must be expilicitly specified for code relying on data sorting order
– Pool and cluster tables are converted into transparent tables during a SAP HANA migration
– Indices are not generated after a SAP HANA migration in most cases
The performance plays an important role during the whole software lifecycle – as regressions should be constantly avoided, thus the detection of tunable code is a task that is relevant before and after the migration in order to fully exploit the power of SAP HANA (refer to the classical and the adjusted SQL Performance rules).
But don’t forget that you – as customer – are the one deciding how performant your application should be and so defining the scope of detection and optimization activities to be performed.
Which support do I get from SAP?
To assist you in your different detection activities, SAP NetWeaver AS ABAP 7.4 provides advanced quality assurance tooling. Three major tools can be named:
ABAP Test Cockpit
The ABAP Test Cockpit (ATC) is the standard tool for running static code checks on ABAP development objects. The different findings (functional, performance, security, bugs, …) are reported in a prioritized list. The ATC framework enhances the well-known Code Inspector with new quality assurance processes such as quality gates, exemption approval process and periodic regression tests in a quality system. ATC is fully integrated in the standard development environments (with eclipse-based UI in ADT) and transport tools. Read more (general info)…
ATC is the basis for a smooth SAP HANA migration of custom ABAP code. It assists you in detecting potential functional and performance issues during the transition. As already mentioned. For this purpose, new checks and global check variants (FUNCTIONAL_DB and PERFORMANCE_DB) are provided. Read more (HANA specific)…
Remote static ABAP code checks can be performed on lower SAP NetWeaver releases where neither the check infrastructure or the new code checks are not available (refer to SAP Note 2011106).
SQL Monitor is the recommended standard performance analysis tool when it comes to the runtime monitoring of productive systems without impacting the running business processes. It allows the collection of an extensive set of runtime information (e.g. entry points, elapsed time, records read, …) for each and every executed SQL statement and thus provides a transparent SQL profile of productive systems. The collected monitoring data are linked to their related ABAP processes (transaction, report name, …) and different aggregation and drill-down options to the related DB operations are provided. The integration of the SQL Trace (ST05) allows a more detailed investigation of given ABAP processes.
SQL Monitor supports you in identifying promising candidates for performance optimization with a high ratio performance improvement and optimization efforts. the tool is part of the standard delivery as of AS ABAP 7.02 SP14 and also available as ST-PI add-on (ST-PI 2008_1_700 SP8) for lower releases (ABAP 7.0 and beyond). Read more …
SQL Performance Tuning Worklist
SQL Performance Tuning Worklist offers the possibility to combine the results from the static code checks and the runtime analysis, hence providing a more comprehensive view of the different results. The tool is quite helpful for beginners and advanced users while weighting the reported static check results. The typical approach is to start the identification of performance hotspots with the combined list and then to switch to the more powerful SQL Monitor to deepen the analysis of the root cause – as it provides more insights. The experience shows that experts will find their way directly into the SQL Monitor. Watch this video…
Guides and Best Practices
In addition to the advanced analysis tooling and the standard documentation in SAP Help portal, guides and best practices written by our experts are provided:
- Best Practice Guide – Considerations for Custom ABAP Code During a Migration to SAP HANA
- Optimizing Custom ABAP Code for SAP HANA – The New ABAP SQL Monitor
- Performance Guidelines for ABAP Development on the SAP HANA Database
As next step I’ll provide a compact overview of the different programming capabilities delivered with AS ABAP 7.4 which can be used for writing ABAP code optimized for HANA.
Looking for the next and last post of the series? Here you go: DEV201@TechEd 2014 Part 3: Optimize your custom ABAP code