The Code Inspector is a tool for checking static ABAP coding and DDIC objects (i.e. generally all objects of the Object Repository) under aspects of functional correctness, performance, security, reliability, and statistical information.
It helps developers to adhere to programming standards and guidelines by creating messages on less-than-optimal coding. The Code Inspector offers various possibilities to define object sets and to combine multiple single checks in so-called "check variants". These functions, and the tool's parallel processing framework, make the Code Inspector a flexible and effective development assistant.The Code Inspector can be used in various scenarios with different types of checks, thus providing insights into the code quality from various angles.
Usage scenarios
1. Single object checks from the Development Workbench
You can check a single object with the Code Inspector from the ABAP Editor (transaction SE38), the Function Builder (transaction SE37), the Class Builder (transaction SE24), or the ABAP Data Dictionary (transaction SE16). To do this, choose object Check Code Inspector from the menu, where object can be a program, function module, class, or table. The respective single objects are then checked with a default check variant.
2. Checks on transport objects from the Transport Organizer
You can invoke the Code Inspector from within the Transport Organizer (transaction SE09) to check objects in a transport request. To do this, choose Request/Task > Complete Check > Objects (Syntax Check).
3. Checks on sets of objects from transaction SCI
The Code Inspector (transaction SCI) itself enables you to create a wide range of object sets using standard selections via package, software and application component, source system, transport layer, responsible, object type, object name and so on.
In addition, special object collectors are available that allow you to read objects from a file, for example.An object set can be combined with a check variant to a so-called "inspection" that can be executed in a single process or in parallel.
Types of checks and check variants
Below is a short extract of the types of checks and functions that are offered by Code Inspector. New checks can be implemented if required, see for example Code Inspector - How to create a new check .
• Syntax
Syntax check; extended program check
• Performance
Analysis of WHERE clauses for SELECT, UPDATE and DELETE ; SELECT statements that bypass the table buffer , low-performance operations on internal tables; table attributes check
• Security
Usage of critical statements; dynamic and cross-client database accesses; use of ADBC-interface
• Robustness
Check of SY-SUBRC handling; suspect conversions; activation check for DDIC objects
• Programming Conventions
Naming conventions
• Search Functions
Search of ABAP tokens; search ABAP statement patterns; search for ABAP statements with regular expressions
• Metrics and Statistics
Program complexity test; statement statistics
You can combine any of these single checks into so-called "check variants", for example to check for the adherence to given programming guidelines.
Best Practices
Developers can use the Code Inspector to support their everyday work. For example, the search functions or metric checks of the tool can be a great help when restructuring the code.The Code Inspector allows developers to define which objects are to be checked and which quality aspect of the code is to be inspected (e.g. performance, security).It is also possible to define global check variants as general programming guidelines, to ensure standardized programming within a development community.
Check variants can prescribe for example naming conventions or other rules. The global check variants 'DEFAULT' and 'TRANSPORT' inspect objects in the development workbench and in transport requests, respectively. These check variants contain SAP-defined settings, but can be modified as needed.
Another global check variant delivered with every SAP system is 'PERFORMANCE_CHECKLIST' which helps to detect less-than-optimal coding with regard to application performance.
RELATED POSTS
ABAP OPTIMIZATION
Master Data Depreciation Areas
Asset Allocation
Information System
Legacy Data Transfer
No comments :
Post a Comment