Sie sind auf Seite 1von 4

Setting up and using the SAP Code Inspector

If we are looking to review development from a quality or standards point of view, either our own code or a peer
review, SAP provides the Code Inspector tool. The Code Inspector is a configurable tool that can be used to check
the quality and consistency of development from a single program up to an entire Package.
There are two main transactions used to access the Code Inspector, SCI and SCII. Transaction SCI can be used to
configure the Code Inspector and perform inspections. Transaction SCII has less functionality than SCI and is limited
to performing inspections. This blog focuses entirely on transaction SCI, but the concepts are relevant for SCII.
The Code Inspector can also be called from the ABAP editor. This runs the inspection on the current program with
the Variant DEFAULT.
The first thing to understand is the concept of Local and Global in the Code Inspector. Local elements are associated
directly with a specific user id and whilst available to all users can only be found if the responsible user id is known.
Global elements are available to all users.

The icon on the push button to the left of the entry field indicates the type, and can be used to switch between the
two. While creating elements as local is beneficial for prototyping, all elements for general use or for use across
multiple systems should be created as global. Remember whenever the transaction is called the default setting is
Local.
The three elements of the code inspector are the Check Variant, the Object Set and the Inspection, defined as
follows;
Check Variant This defines the rules to be applied, which checks are to be made and the settings of those checks.
Object Set This defines the development objects that will be included.
Inspection This defines a combination of Check Variant and Object Set, in other words what checks are to be
applied to which development objects.
Creating a Check Variant
Create a new variant or copy an existing one.

The checks can be activated or deactivated as required

The checks are well documented, so its usually clear what each one is for. My preferred approach is to start with a
large set of checks and review the results of the inspection. Then reduce the number of checks or change the
parameters depending on how useful the results were. The Variant can be transported if it is Global and the
Transportable checkbox is selected.

Create an Object set

The Object set defines the scope of development objects included in the Inspection. The options available on the
main tab strip are;
Select Object Set - This is the most flexible definition of the Object Set, essentially enabling selection from high
level attributes such as Package or Software component down to the lowest level of individual development objects.
Edit Object Set - Object Set definition based on other existing Object Sets, combing based on either the entire
Objects Sets or just the objects common to both.
Object Set fr. Result - Object Set definition based on the results of an existing Inspection result.
Obj. Set from Request - Object Set definition based on the contents of a transport request.
Obj. Collectors - Object set definition based on complex criteria, such as the where-used list for a table or program.
An additional filter can then be applied to the criteria based on Object Type, Name, Package and Person
Responsible.
Consider the potential volume of results from the inspection when defining the Object Set. If the Object Set includes
many objects and the Variant many checks the results from the inspection could become unmanageable. Depending
on the stage of the development different Object Sets will be required. During build a high-level set covering a larger
number of objects is suitable whereas during testing and defect fix or productive operation a transport level set could
be more appropriate.

Create an Inspection

The Inspection combines the Check Variant and the Object set; the checks specified in the Variant are applied to the
development objects defined in the Object set. The Inspection can also be defined against an individual transport or
development object, rather than an Object set.
Note that a new Inspection will be created with a default Deleted on date of two months into the future. If the
Inspection results are to be retained beyond this date it can be changed.
Once the inspection has been defined you need to run it. If the Object Set is fairly small you could just run the
Inspection in the foreground (the regular Execute icon), or otherwise in the background (the Execute icon with some
dots after it).
Reviewing the Inspection
The results of the inspection are displayed in the same hierarchy structure as the Variant.

Each message is grouped by Type (Error/Warning/Information) and message. Each message is repeated once for
each instance where it occurs. The meaning of each message (as well as the tag needed to switch off the check) is
available by clicking the blue i icon. Double-clicking on the message navigates to the development object requiring
attention.

Das könnte Ihnen auch gefallen