Kundenindividueller Object Collector für den SAP/ABAP Code Inspector

Die Objekt-Selektion des Code-Inspectors kann durch einen eigenen Object Collector erweitert werden. Der Standard bietet zwar viele Selektionsmöglichkeiten, manchmal reichen dies aber einfach nicht aus.

ci_own_collector_1

Die notwendige Erweiterung gestaltet sich relativ einfach. Es muss lediglich eine Klasse mit dem Interface IF_CI_COLLECTOR implementiert werden. Üblicherweise wird die Super-Klasse CL_CI_COLLECTOR_ROOT vererbt. Das Interface verfügt über folgende Methoden:

Interface IF_CI_COLLECTOR Methoden

  • COLLECT In dieser Methode ist die Objekt-Selektion auszuprogrammieren und dem Export-Parameter P_OBJSLIST zu übergeben. Anwender können den Objekt-Collector mit Filterwerten starten, diese Werte stehen in den Parametern P_CONFINE_* zur Verfügung.
  • QUERY_ATTRIBUTES In dieser Methode werden Attribute wie der Titel der Selektion bzw. die Select-Options/Parameter definiert. Als Vorlage bei der Implementierung kann man sich die Implementierung der Klasse CL_CI_COLLECTOR_ST22 ansehen.
  • GET_ATTRIBUTES/SET_ATTRIBUTES Die Methoden dienen der Kommunkation zwischen Code Inspector Framework und dier implementierten Klasse. Mittels EXPORT/IMPORT from MEMORY werden die Attribute übergeben. Auch hier kann die Klasse CL_CI_COLLECTOR_ST22 als Vorlage verwendet werden.
  • DISPLAY_DOCUMENTATION Wenn der Collector über eine Dokumentation verfügt, kann hier die Anzeige der Dokumentation gestartet werden.

Interface IF_CI_COLLECTOR Attribute

Das Interface verfügt über einige Steuerparameter welche als globale Attribute umgesetzt wurden. Hier die wichtigsten Attribute:

  • DESCRIPTION Kurzbeschreibung des Object Collector.
  • NAME Name des Object Collectors
  • HAS_DOCUMENTATION ABAP_TRUE bzw. ABAP_FALSE je nachdem, ob der Collector über eine Dokumentation verfügt. Wenn ABAP_TRUE ist im Popup der Button für die Dokumentation aktiv. (siehe Methode DISPLAY_DOCUMENTATION)
  • HAS_ATTRIBUTES ABAP_TRUE/ABAP_FALSE je nachdem, ob der Collector über Attribute verfügt. Wenn ABAP_TRUE ist im Popup der Button für die Parameter aktiv.

Meine Empfehlung

Am Einfachsten und Schnellsten gestaltet sich die Implementierung, wenn man die vorhandenen Code Inspector Collectoren (CL_CI_COLLECTOR*) der SAP als Vorlage verwendet.

Über Johann Fößleitner

Der SAP Virus hat mich vor bald 30 Jahren erfasst. Mein erster Arbeitgeber fragte mich damals, ob mir die Begriffe SAP oder ABAP was sagen. "Nein, nie davon gehört", war meine Antwort. Er meint: "Passt, Sie sind eingestellt". Seit damals verbringe ich einen Großteil meiner Zeit in der SE80 bzw. in den ABAP Development Tools. Wie wäre mein Leben verlaufen, wenn mir SAP schon bekannt gewesen wäre? Keine Ahnung, aber sicher nicht so spannend!

  • Posted by Johann Fößleitner
  • On November 2, 2015
Tags: Code Inspector

0 Comments