ABAP Tipp - Suche im Quellcode
Manchmal ist die Suche über verschiedene Quellcode in einem System nötig. Wir zeigen dir wie es in der SAP GUI und in Eclipse funktioniert.
Inhaltsverzeichnis
Für jeden Entwickler steht das Schreiben von Quellcode im Fokus, da es den meisten Spaß macht und Kreativ ist. Doch auch Recherche und das Verstehen von Quelltext, ist ein wichtiger Bestandteil der täglichen Arbeit als Entwickler. Wir möchten dir heute zeigen, wie du Quellcode im System durchsuchst, einmal für die SAP GUI und einmal als Beispiel in Eclipse, als neue Entwicklungsumgebung.
Klassische Suche
Die klassische Suche in der SAP GUI funktioniert über den Report RS_ABAP_SOURCE_SCAN, dieser bietet verschiedene Möglichkeiten den Quellcode zu durchsuchen und die Suchmenge weiter einzuschränken, in dem die zu durchsuchenden Pakete gewählt werden.
Aus Sicht Performance ist diese Einschränkung auch nötig, da die Laufzeit des Reports teilweise etwas länger dauern kann, bis alle Ressourcen zusammengesucht wurden.
Für unser Beipsiel suchen wir nach einem ##TODO Pragma, welches wir im Quellcode hinterlegt haben, da wir an dieser Stelle später noch etwas erledigen wollen. Solche TODOs werden meist verwendet, wenn man später noch gewisse Punkte erledigen will, die man bei der Implementierung nicht geschafft hat oder in einem ersten Prototypen nicht benötigt. Hier wäre zum Beispiel ein sauberes Exception Handling zu erwähnen.
Der Report liefert am Ende die entsprechenden Suchergebnisse und mit einem Klick auf den entsprechenden Eintrag wird man zum Quelltext navigiert.
Eclipse
Die Suche in Eclipse ist etwas einfacher, da man hier keinen eigenen Report benötigt, sondern direkt mit der Suchfunktion arbeiten kann. Der Aufruf geschieht über die Tastenkombination STRG + H oder direkt in der Menüleiste. Dann erhaltet ihr im Anschluss ein Popup mit verschiedenen Suchen. Die verfügbaren Suchen können sich unterscheiden, da man diese individuell über den "Customize ..." aktivieren und deaktivieren kann.
In diesem Fall ist die "File Search", also die Suche über Dateien ausreichend und liefert das gewünschte Ergebnis. Um die Menge einzuschränken, suchen wir nur in alle Z* und LZ* Objekten nach dem Suchtext.
TODO Pragma
Die Verwendung des ##TODO Pragma hat in Eclipse noch andere Vorteile. Auch wenn es dieses Pragma im System nicht gibt, kann es verwendet werden. In Eclipse erhält man dadurch eine entsprechende Markierung im Quellcode und in der Übersicht, was das Wiederfinden leicht macht.
Dies funktioniert auch für FIXIT und XXX, wenn man den Vorschlägen der SAP folgt und den Code mit einheitlichen Kommentaren versieht.
Fazit
Die Suche über beliebige Objekte funktioniert in der neuen und der alten Welt, nur etwas anders. Für welche der Suchen du dich am Ende entscheidest ist dir überlassen, wir empfehlen aber die Suche in Eclipse, da sie etwas performanter und einfacher ist.