CL_CI_TEST_ROOT - Code Inspector: Root-Test-Klasse
Vendor Master (General Section) General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.

Code Inspector: technische Dokumentation
Die Klassenhierarchie des Code Inspectors besteht aus abstrakten Klassen für die Datenzerlegung und -aufbereitung und öffentlichen Klassen 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 unterhalb
der Klasse CL_CI_TEST_ROOT (Paket S_CODE_INSPECTOR) eingeordnet ist. Je nachdem, auf
welchen 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üfvariante erscheint, 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 Methode CONSTRUCTOR ist das Flag
,,has_attributes = 'X'.
zu setzen.
Daneben sind zusätzlich folgende Methoden zu implementieren:
GET_ATTRIBUTESund PUT_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
General Material Data ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 4010 Date: 20250524 Time: 094637 sap01-206 ( 55 ms )