1.Why I’ve created the plug-in?
I was always missing a small functionality in Eclipse - a Favourite SAP T-Codes which we all know form SAP Menu. I know to you can call SMEN transaction using Alt+F8 but it does not fill the simplicity requirement. That's why I started to ask about the possibility to have favourite T-Codes view somewhere in ADT in Eclipse. I rather thought that Thomas, the product owner of ADT would say that they will implement this in one of next releases, but instead he encourage me to do it myself.
At first glance it was like WOW I hate Java, why I should do it myself when for the other it would take only some minutes, but then after few minutes I thought that this could be a really good exercise for myself to try to do something completely new in a language that is not my main programming language, or better said an a language which I don't use if I don't have to.
Thomas gave me some really good starting points by giving links to the blogs from SCN. Additionally I've started to search the web for the eclipse plug-in developments so I could get some more information about it. It was hard time for me, I've stopped this few times until I said, no this cannot be that hard. You're supposed to be a cleaver guy so small plug-in in Java should not be that hard.....
2.How much time did I needed to develop it?
And it was not. Probably experience or junior developer in Java would do it in few minutes. I needed some hours ( more than 10 ) to do so, but finally the first version is alive and I can share it with you.
3.What are the features of the plugin?
The plugin contains two separate views Favorites and Favorties Dev Objects. The difference between then is that in Favorites view you can create two kind of folders and in Favorites Dev Objects view you can only create folders for Development Objects (programs, classes, interfaces, etc.). This distinguish is done because some of persons does want to store this favorites separately. If you don’t want that then it’s enough to use Favorites view.
b.Folder & favorite object types
As mention just before there are two type of folders available:
- Standard one
- For Development Objects
Standard folders can only be created in Favorites view, and they can contain only following objects:
When you double-click on one of this objects then they will be run in new tab of SAP GUI.
Development Objects folder can be created in both Favorites and Favorites Dev Objects views. It can contain following development objects:
- Function Groups
- Function Modules
- Message Classes
When you double-click on one of this objects then they will be opened in new Editor tab.
When you open the views for the first time, you have only one possibility, to press “Add folder” button from the view toolbar.
Depending on the view type you can get one of the two screens:
Folders are containers for your favorites. Beside name and description you can setup a folder to be project independent. This will make that doesn’t matter on which SAP system you have currently active editor/GUI, the folder will be visible. If you’ll make your folder project dependent then it will appear on the list only if your active editor/GUI is linked to the same SAP system.
On the Favorites view you will see also additional checkbox while creating folder, named Development Objects Folder. If you’ll check it then all object which will be added to favorites will be opened in Eclipse editor at double-click. If this will be unchecked at double click the object will be run (F8).
Once you add folder or object to favorites, then you’ll be able to delete it or edit.
At top of both views there if a filter field which you can use to quick search inside your favorites. It’s enough to type some chars there and then directly the favorites tree will be filtered. Filter is checking both name and description for the filter to match. After using it a while with long favorites list this is quite handy .
e.Linking views to editor
Both views can be linked or unlinked to editor. You’ll find standard button in the toolbar to do so. Linked view always opens/runs objects in the SAP system which is currently active (editor or GUI). If the view is unlinked then you’ll find the name of the project to which view is currently linked in the view tab name. Additionally as this can be foreseen, while you’ll double-click on your favorite object, it will be open/run in the linked SAP system, not currently active.
Additionally while the linking is active, each change of active system will refresh the entries of the tree to be able to display entries linked with currently active system and independent folders. If view is not linked to editor, then nothing happens at switch of active system.
f.Exporting / Importing favorites
You can export or import your favorites by using the proper function from view menu. After selection of the function you'll be asked for the path of saving/loading the file.
g.Multilevel folder hierarchy
Since version 1.0.13 multilevel hierarchy of folders is supported. This means you can now create folders inside folders. For standard view this brings now even more power into plugin, as you can store standard folders inside development objects folders and opposite.
h.Manual edit of XML file
As currently there is no possiblity to move folders and favorites between the folders, you have to manually recreate them or you can edit an favorites.xml file which is stored in folder $WORKSPACE/.metadata/.plugins/com.abapblog.favorites/. XML structure is quite easy, so there is no much to explain in here. But for example, if you want to move folder from inside the other, you just need to find the proper <folder> tag and cut & paste it into the destination <folder> tag.
If you want to create manually new folders then please don't care about folderID attribute. It will be added once the XML file will be parsed by the plugin.
Installation of add-on is quite simple. You can do it with Eclipse marketplace -> just search for abap there
or you can use this URL in the “Install new software” function http://abapblog.com/eclipse/plugin/ABAPFavorites/
The whole source code is available on Github under this URL https://github.com/fidley/ABAPFavorites, you’re more than welcome to join the development of the plugin.
You can also check this video describing the functionality of ABAP Favorites Plugin.
Hope to hear from you about the plug-in usage soon.