Wednesday, December 31, 2025

Possibilities of checking ABAP code quality from HANA DB migration point of view

When migrating SAP NetWeaver based ABAP stack server from any DB to HANA DB there are a few steps to be done prior to the migration with the respect to the ABAP code.

First there are functional modifications to the custom ABAP code to be analyzed. Those are places in the code that leverages specific DB features that need to be adjusted for the HANA DB. As an example, these are Native SQL statements in the ABAP code.

Secondly there is SQL Optimization of the custom ABAP code. To support this part there are a few of the tools available.

To identify the places of the code for both the cases it is possible to leverage Runtime and Static Checks.  Those are two different approaches also to support the code quality assurance and error detection.

Static checks analyze your ABAP code without executing it. They examine the source code itself to identify potential issues, coding standard violations, and best practice deviations. They are performed during development time in the ABAP Editor or through Code Inspector (SCI), no program execution required, checks syntax, adherence to coding guidelines, and potential logical errors.

Tools:

Extended Program Check (t-code SLIN)

Code Inspector (t-code SCI/ATC)

ABAP Test Cockpit (t-code ATC)

SQL Monitor (t-code SQLM or older /SDF/ZQLM)

SQL Performance Tuning Worklist (t-code SWLT or older /SDF/ZQLMD). It combines the SQLM data with the ATC tool results.

 

Runtime checks monitor and validate code behavior during program execution. They detect issues that only become apparent when the program runs with actual data.

They are: activated in t-code SLIN or through specific settings, to monitor memory usage, database operations, and system calls during execution, to impact performance when active, to provides detailed analysis of actual program behavior.

Tools:

Runtime Check Monitor (t-code SRTCM), is used for administrative tasks

Runtime Check Monitor (t-code SRTCMD): Data Display, is used for pure runtime data analysis

The above-mentioned SRTCM tool is solely focused to scan the code for two main issues:

Empty table in case of FOR ALL ENTRIES statement. If the internal table is empty then all data is fetched from DB table.

Missing ORDER BY or SORT statements after SELECT. In case the internal table is not sorted the SELET is slower performing is it could be.

 

More information:

1912445 - ABAP custom code migration for SAP HANA - recommendations and Code Inspector variants for SAP HANA migration

3242700 - ABAP SQL Monitor: Implementation Guide and Best Practices

SQL Performance Monitoring


No comments: