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
No comments:
Post a Comment