Lars Ludwig
 - 19. Dezember 2019

Eigene Code Inspektor Prüfung erstellen

Wer den Code Inspektor nutzen möchte hat häufig bereits eine sehr detaillierte Vorstellung davon, was genau dieser prüfen soll. Da die Prüfungen allerdings wie bei einem Customizing lediglich an oder ausgeschaltet werden können ist die Ernüchterung häufig vorprogrammiert. Wer sich jetzt denkt: "So eine Prüfung muss ich doch auch selber Programmieren können", der findet in diesem Blogbeitrag ein kleines Howto, anhand eines Beispiels um eine eigene Code Inspektor Prüfung zu erstellen.Wer noch keine Vorstellung davon hat was der Code Inspektor macht und wem die Transaktion SCI nichts sagt, der sollte sich zunächst unseren Artikel SAP Code Inspector – Eine Einführung ansehen.

Fünf Schritte reichen um eine eigene Code Inspektor Prüfung zu erstellen

Mein Beispiel prüft, ob oben im Kopf des Programms in den ersten X Kommentarzeilen der Author und das Ticket vermerkt sind.

Schritt 1: SAP Klasse: CL_CI_TEST_SCAN_TEMPLATE kopieren

Die meisten SAP Klassen zum Thema Code Inspektor beginnen mit dem Kürzel CL_CI an (Class – Code Inspector).

Schritt 2: Konstruktor ausprogrammieren

Dazu müssen Sie zwei kleinere Schritte erledigen:

Angabe von einer Beschreibung, Kategorie und Version sind Pflicht

Über die Kategorie können Sie sich auch in bereits bestehende Prüfungen einklinken. Ich habe meine Prüfung als Unterpunkt der Kategorie Robuste Programmierung eingebaut. Als Name sollten Sie den Namen ihrer in Schritt 1 kopierten Klasse verwenden.

Angaben von allen Nachrichten die Ausgegeben werden können

Im Coding ist es nachher komfortabel möglich auf alle Nachrichten die hier bekannt gemacht werden zuzugreifen. Dafür muss hier allerdings bereits festgelegt werden, welcher Typ und welche Nachricht die Message nachher ausgeben soll, wenn diese Nachricht geworfen wird. um eine Eigene Code Inspektor Prüfung erstellen zu können muss mindestens im Konstruktor die Nachricht bekannt gemacht werden. Das ist ausreichend, solange die GET_MESSAGES Methode nicht redefiniert wird. Wer speziellere Nachrichten absetzen möchte, sollte sich dieses Thema nochmal im Detail anschauen.

Konstruktor der neu kopierten Klasse

Denken Sie bitte daran den Namen ihrer neuen Klasse in der privaten Klassenkonstante C_MY_NAME zu hinterlegen.

Schritt 3: Die Prüfung aktivieren

An dieser Stelle gehen wir in die Transaktion SCI gehen um manuell unter Springen -> Verwaltung von -> Tests als aktive Prüfvariante unsere neu angelegte Variante zu aktivieren.

Die eigene Klasse heraussuchen, links die Checkbox ankreuzen, speichern und fertig. Hier sollte auch der im Konstruktor angegebene eigene Name der eigenen Code Inspektor Prüfung stehen, so wie die Kategorie. Nach der Aktivierung können Sie die Prüfung bereits in ihrem System finden.

Natürlich macht diese noch nichts, denn bisher haben wir keine Logik dazu programmiert.

Schritt 4: Run Methode ausprogrammieren

Diese Logik wird ausgeführt, sobald die Prüfung startet. Insbesondere im Umgang mit ABAP Statements gibt es bereits viele vorgefertigte Methoden.

  • Ref_scan->tables enthält alle Zeilen gruppiert nach dem Typ. Da ich nur Kommentarzeilen benötige ist das in meinem Fall nützlich.
  • Ref_scan->tokens ist der gesamte Quellcode des zu prüfenden Programmes

Dies ist ihr Moment zu scheinen und sich kreativ auszutoben. Dennoch stelle ich ich gerne mein Beispiel zur Verfügung.

Oben findet sich die Prüfung ob REF_SCAN Initial ist. Diese ist Pflicht in jeder Run Methode, sonst kann es sein, dass die Methode vor der Instanziierung des auszuführenden Objekts aufgerufen wird. Die Inform Methode wirft für uns die Nachrichten, die wir zuvor im Konstruktor bekannt gemacht haben.

An dieser Stelle möglicherweise ebenfalls für Sie interessant: Clean Abap Guidelines

E-Book: ABAP Entwicklungsrichtlinien

Richtlinien zur Programmierung und Praxistipps zum Thema APAP-Entwicklung.

Unser E-Book zu den ABAP Entwicklungsrichtlinien

Schritt 5: Der Test

Funktioniert das wirklich oder habe ich Sie 4 Schritte lang an der Nase herumgeführt? Ich gebe zu, die zweite Variante wäre ziemlich verlockend, dennoch ist ersteres korrekt.

Fazit: Eigene Code Inspektor Prüfung erstellen ist kein Ding der Unmöglichkeit und eine gute Option im Kampf um einheitliches Design.

Verwenden Sie bereits eigene Code Inspektor Prüfungen?

Wenn ja, für welche Fälle benötigen Sie diese?

Lars Ludwig

Lars Ludwig

Guten Tag, mein Name ist Lars Ludwig. Ich bin zertifizierter SAP Berater und bei mindsquare im Fachbereich Custom Solutions tätig. Im Zuge dessen beschäftige ich mich größtenteils mit Usability, User Experience und Sap Oberflächentechnologien.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren


Mehr von unseren Partnern


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support