CL_CI_TEST_ROOT - Code Inspector: Root-Test-Klasse
General Material Data ABAP Short ReferenceDiese 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:
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:
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 )






