CL_CI_TEST_ROOT - Code Inspector: Root-Test-Klasse

General Material Data   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Code Inspector: technische Dokumentation

Die Klassenhierarchie des CodeInspectors besteht aus abstrakten Klassen für die Datenzerlegung und -aufbereitung und öffentlichenKlassen für die konkreten Prüfungen. Diese Klassen sind in einer einzigen Hierarchie angeordnet.

Die Ergebnisse von Datenzerlegungen werden als statische Attribute (interne Tabellen oder Referenzen auf Klassen außerhalb der Code Inspector Hierarchie) in der Hierarchie weitervererbt.

Jede Prüfung ist eine öffentliche globale Klasse, die in der Klassenhierarchie unterhalbder Klasse CL_CI_TEST_ROOT (Paket S_CODE_INSPECTOR) eingeordnet ist. Je nachdem, aufwelchen Daten sie aufsetzt, erweitert die neue Prüfklasse eine der abstrakten Klassen der bestehenden Hierarchie.
Beispiel: Eine Prüfung, die auf dem Befehl SCAN ABAP-SOURCE aufsetzt, also auf dem bereits in Token zerlegten Source-Code, erbt von/erweitert die Klasse CL_CI_TEST_SCAN.
Durch die Einordnung in eine Testhierarchie steht dem Checkautor die benötigte Aufbereitung in seiner 'Umgebung' als statisches Attribut zur Verfügung.

In einer Prüfklasse müssen folgende Methoden implementiert werden:

CONSTRUCTOR

RUN

(RUN_END)

GET_ERROR_TEXT

Für die korrekte Zuordnug der Ergebnisse muss in jeder Klasse eine private statische Konstante 'MY_NAME' existieren, die als Wert den Namen der Klasse hat.
Damit eine Prüfung im Baum der Prüfvarianteerscheint, muß sie in die Tabelle SCITESTS eingetragen werden.

------------------------------------

Prüfung mit (Benutzer-)parameter

Soll eine Prüfung parametrisierbar sein, müssen die gewünschten Parameter der Prüfklasse als öffentliche Instanzattribute hinzugefügt werden. In der MethodeCONSTRUCTOR ist das Flag

,,has_attributes = 'X'.

zu setzen.

Daneben sind zusätzlich folgende Methoden zu implementieren:

GET_ATTRIBUTESundPUT_ATTRIBUTES sowie

QUERY_ATTRIBUTES des Interfaces IF_CI_TESTS

-------------------------------------------

Neue Datenaufbereitungsklasse

Für eine neue Datenzerlegung bzw. -aufbereitung sollte eine abstrakte Klasse angelegt werden,die eine der bestehenden Klassen der Code Inspector Hierarchie erweitert, je nach dem auf welchen Attributen aufgesetzt werden soll. In dieser neuen Klasse müssen folgende Methoden implementiert werden:

GET

CLEAR

Beziehungen

Beispiel

Hinweise

Weiterführende Informationen



Fill RESBD Structure from EBP Component Structure   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.


Length: 4080 Date: 20120527 Time: 135511     triton ( 154 ms )