ABAP Tools - Arbeiten mit Eclipse (Feed Reader)
In diesem Artikel schauen wir uns die Analysemöglichkeiten in den ADTs an und wie du Dumps und andere Informationen vom System findest.
Inhaltsverzeichnis
Ein wichtiger Bestandteil der Entwicklerarbeit ist die Analyse der Dumps, des Kommunikations-Logs und anderer Transaktionen im System, wenn es mal zu Fehlern gekommen ist. Hierbei muss man auch immer aktiv in die Transaktionen schauen, um Informationen zu erhalten. In diesem Artikel erfährst du mehr über die verschiedenen Möglichkeiten, die durch die ABAP Development Tools zur Verfügung gestellt werden.
Einleitung
In Eclipse gibt es keine Transaktionen mehr, wie kommst du also an alle nötigen Informationen, die du für die Entwicklung benötigst? Dazu gibt es den View "Feed Reader", dieser wird von Eclipse zur Verfügung gestellt und kann von dir konfiguriert werden, wie du ihn brauchst. Den Feed Reader findest du über die entsprechende Ikone unter den Tools.
Sollte der View nicht verfügbar sein, so kannst du ihn über das Menü unter "Window -> Show View -> Other ..." einblenden. Dort musst du ihn aus der Liste wählen oder über das Suchfeld die Menge an Treffern einschränken.
View
Wie ist der View nun eigentlich aufgebaut? Schauen wir uns diesen dazu einmal genauer an, hierbei handelt es sich um ein Beispiel mit einem aktiven System. Grundsätzlich findest du hier alle aktiven Systeme in der Liste.
Der Aufbau sieht nun wie folgt aus:
- Linke Seite - Alle eingebundenen und offenen Systeme. Nach dem Aufklappen eines Systems werden alle konfigurierten Feeds angezeigt. Ein Feed beschreibt eine Art von Meldungen im System. In den Spalten findest du weitere Informationen zur Aktualisierung, dem User und der Anzahl von Meldungen.
- Rechte Seite - Detailinformationen zum gewählten Feed oder der Meldung, wenn du im Detail eine gewählt hast.
- Toolbar - Hier findest du weitere Aktionen, wie Aktualisieren oder einen neuen Feed einbinden.
Über das Kontextmenü kannst du mit einem Rechts-Klick auf das System einen neuen Feed erstellen und auf dem Feed selbst, Einstellungen vornehmen, um die Informationen anzupassen, die du im Feed siehst und die selektiert werden.
Verfügbarkeit
Welche Feeds in den ABAP Development Tools zur Verfügung stehen, kommt auf das Backend System an, für welches du den Feed erstellt. Das Release bestimmt die angebotenen Features und welche Feeds du abonnieren kannst. Schauen wir uns dazu einmal die Feeds des ABAP Environment an, welches immer auf dem aktuellsten Release ist:
Dazu stellen wir nun gegenüber ein R/3 System auf dem aktuellsten SP, welches es für R/3 noch gibt. Die Anzahl der verfügbaren Feeds hat bereits abgenommen:
Hinweis: Wichtig für die Entwicklung und die Analyse sind vor allem die ABAP-Laufzeitfehler und der Gateway Log.
Konfiguration
Über das Kontextmenü kannst du den Feed entsprechend anpassen, schauen wir uns dazu einmal die Möglichkeiten bei den Laufzeitfehlern an:
Neben dem Titel im oberen Teil, können wir auch noch definieren, ob wir Benachrichtigungen haben möchten, wenn neue Fehler erzeugt wurden und alle wieviel Minuten Eclipse auf dem Backend System nach neuen Abbrüchen schauen soll. Zusätzlich kannst du noch festlegen, wie viele Dumps auf einmal angezeigt werden sollen. Im unteren Bereich können dann noch Filter angewandt werden, wenn dich zum Beispiel nur die eigenen Fehler interessieren oder Fehler aus gewissen Paketen, Komponenten, etc. Mit diesen Einstellungen kannst du die erhaltenen Meldungen noch einmal einschränken und auf dich zuschneiden.
Push Benachrichtigung
Erzeugen wir im nächsten Schritt einmal einen Dump im System und schauen, wie sich der Feed Reader verhält, dabei setzen wir auf die gezeigten Einstellungen vom vorhergehenden Abschnitt. Um einen Dump im System zu erzeugen, stehen verschiedene Möglichkeiten zur Verfügung. Einfachsten Beispiel wäre wahrscheinlich einfach durch Null zu teilen und die Ausnahme nicht abzufangen. Wir lösen aber in einer ausführbaren Klasse eine Ausnahme aus und behandeln diese nicht:
CLASS zcl_bs_demo_dump DEFINITION
PUBLIC
FINAL
CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
ENDCLASS.
CLASS zcl_bs_demo_dump IMPLEMENTATION.
METHOD if_oo_adt_classrun~main.
RAISE SHORTDUMP NEW zcx_test_error( textid = zcx_test_error=>cs_err_type ).
ENDMETHOD.
ENDCLASS.
Es wird im System beim Ausführen ein Dump erzeugt und entsprechend in der ST22 protokolliert. Sobald die Aktualisierung in Eclipse durchgeführt wird, erhältst du im rechten unteren Teil der Anwendung ein Popup:
Im Feed Reader siehst du nun den Abbruch und kannst dir die aufbereiteten Informationen dazu ansehen, wenn du den Eintrag im Feed anklickst:
Im oberen Bereich der Detailansicht findest du den Link "Show in Runtime Error Viewer", über diesen kannst du den Fehler noch einmal in einem separaten View öffnen und die Details analysieren.
Fazit
Der Feed Reader bietet dir verschiedene Möglichkeiten auf die bekannten Logs im Backend zuzugreifen, diese auszuwerten und die Sichten noch einmal auf dich anzupassen. Weiterhin bekommst du die Informationen als Push Benachrichtigung und musst nicht aktiv im System nachschauen, ein klarer Vorteil gegenüber der SAP GUI.