Tool CubeServ Naming Convention Check (CS-NCC)

Ziel und Hintergrund

Viele SAP-Kunden hatten bisher die Schwierigkeit, die gut vereinbarten Entwicklungsrichtlinien inkl. Namenskonventionen in der Praxis einzusetzen. Es gibt zwar ein paar Standard-Tools wie z.B. den Code Inspector, diese sind aber nur von den Benutzern „freiwillig und soft“ einzusetzen. Und der Einsatz ist in den meisten Fällen schon zu spät, weil die Entwicklung bereits halb fertig ist. Der Korrekturaufwand nachher ist groß.

Das Tool CubeServ Naming Convention Check (CS-NCC) wurde vor ca. 2,5 Jahren für eine interne QM-Initiative entwickelt. Das Ziel des Werkzeugs ist es, Entwickler, Berater und internem Betrieb zu helfen oder sie sogar zu zwingen, Projekte und Applikationen genau nach der vereinbarten Namenskonvention und Objektstruktur zu entwickeln. So kann die Entwicklung mit deutlich weniger Namenskonflikten durchgeführt werden. Durch Erinnerungserleichterung kann die Entwicklung später besser nachvollzogen und gewartet sowie Fehler durch Anpassung falscher Entwicklungsobjekte leichter vermieden werden.

Wann wird was geprüft?

Mithilfe des Tools können grundsätzlich alle Repository-Objekte gegen gecustomizte Namenskonventionen geprüft werden, z.B. Klassen, Methoden, Funktionsbausteine und -gruppen, Programme, Query-Elemente usw., nicht aber nur lokale Objekte wie Methoden- oder Funktionsbausteinparameter oder lokale Variablennamen.

Es wird empfohlen, dass die Prüfung schon bei der Objektanlage durchgeführt wird. Zwar ist es technisch möglich, die Prüfung bei Objektänderung oder Transportauftragfreigabe durchzuführen, aber praktisch sind diese Zeitpunkte schon zu spät, die Entwicklungen noch komplett zu ändern. Nebenbei bietet das Tool auch die Möglichkeit, die Zuordnung von Entwicklungsobjekten an die richtige Paketstruktur bei Objektanlage zu prüfen.

Tuning an zentralen Stellen der Entwicklung

Die Prüfung ist durch Erweiterung zentraler Funktionsbausteine per Enhancement oder BADI implementiert. Wir müssen hier ausdrücklich davor warnen, unerfahrene Anpassungen an solchen Stellen zu machen, weil Syntaxfehler zu einem Produktionsstop am Entwicklungsserver (Overall Dumps) führen können.

Customizing

Man kann für bestimmte SAP-Benutzer oder alle Benutzer (*) sowie für bestimmte Objekttypen und Objekt-Subtypen Namenskonventionsregeln in der Form von Namensmustern pflegen. Der Subtyp hilft, bestimmte Objekttypen weiter einzuschränken, z.B. Query-Elemente.

Wenn die Spalte „BI Name“ gecheckt wird, wird die Beschreibung statt technischem Namen des Objekts gegen das Namensmuster geprüft. Abb.1 zeigt ein Beispiel der gepflegten Namenskonventionen.

Ein neues DSO sollte mit dem Namen YC1TEST und der Beschreibung „Test for NCC“ angelegt werden (Abb.2). Jedoch ist das System so eingestellt, dass nur DSO-Namen nach Mustern wie „++++D“, „+++A“ usw. angelegt werden dürfen.

Auf diese Regeln trifft der Name YC1TEST nicht zu. Der Benutzer bekommt sofort die Fehlermeldung mit der Information, welche Konventionsregeln für den Objekttyp/Subtyp zugelassen sind. Damit ist der Anlegeprozess beendet, und er muss einen passenden Namen auswählen und die Anlage wiederholen. (Abb.3)

Besonders berechtigte User (z.B. Administratoren) können trotz Regelverletzung freigeben. Das ist für bestimmte Ausnahmefälle nötig, z.B. eine von extern entwickelte Software oder Applikation. Es lohnt sich bei kleinen Anpassungen eher wenig, alle internen Regeln für diese Objekte zu prüfen und evtl. neu zu kreieren.

Abb.4 zeigt, dass ein Benutzer mit Admin-Recht den Button „Freigabe (Admin)“ bekommt, so dass er die Anlage trotz Warnung vor Regelverletzungen fortsetzen kann.

Abb.1: Namenskonventionen
Abb.2: Anlegen eines DSO's
Abb.3: Fehlermeldung
Abb.4: Benutzer mit Admin-Rechten

Einsatzgeschichte

Der Naming Convention Check wurde ursprünglich für CubeServ-interne QM-Projekte entwickelt. Mittlerweile sind immer mehr Kunden daran interessiert. Bei einem Kunden war das Tool am Anfang für die Entwicklung auf einem BW-Server eingeführt. Der Einsatz war so erfolgreich, dass es bei vielen weiteren BW- und auch ERP-Servern eingeführt wurde. Dort wurde das Tool auch nach Bedarf des Kunden weiter entwickelt, (z.B. Konventionsregeln mit Regulär-Ausdrücken anstatt einfachem Namensmuster)

Erweiterungsmöglichkeit

CubeServ sieht für die Zukunft auch Erweiterungen des Tools vor. Zum Beispiel sollten NC-Regeln zu Benutzergruppen anstatt nur zu einzelnen Benutzern verbunden werden können. Bestimmte Applikations- oder Projektteams können dann zu Benutzergruppen zugeordnet und damit separat (exklusiv) oder zusätzlich (additiv) NC-Regeln bekommen. Damit ist weniger Pflegeaufwand notwendig und eine feinere NC-Prüfung möglich.

Die Regeln-Struktur und Prüfungslogik kann auch nach Kundenwunsch angepasst oder erweitert werden. Eine weitere nützliche Option ist, Objektnamen gegen ein Parent-Objekt zu prüfen. Damit kann es zusätzliche semantische Verknüpfungen für bestimmte Objekte geben, z.B. ABAP/BW-Objekte gegen Paketnamen (schon realisiert) und BW-Objekte gegen InfoArea oder Applikationskomponenten usw. zu prüfen.

Haben wir Ihr Interesse geweckt?
Dann rufen Sie uns an oder senden uns eine E-Mail. Gerne vereinbaren wir mit Ihnen einen Präsentationstermin und besprechen Ihre individuellen Anforderungen.