Let's see what this ADT stuff is capable of!
In my first blog about ABAP Development Tools(ADT) I wrote down some information about how to get started. Now I found some time to jump into the development platform and to compare it with the current ABAP Workbench. For this I used a small report which I created by using the ABAP Development Tools with the Netweaver 7.31 Trial. For me it was the proof, that you can easily create new reports within Eclipse :-). At first I thought the ADT is maybe optimized to work with classes at best, but I think I was wrong. It’s also very good in creating the good old ABAP reports.
What’s the difference?
Compared to the ABAP Workbench, Eclipse tools are quite good and offering a lot of stuff for general coding, like creating and editing reports and classes.
Creating a report and activating it
The creation of a new report is fairly easy and can be done without touching SAP-GUI at all. This means you can create the report by a chosen name in the customer name space, add it to a package and create or choose an existing transport request.
Also the activation of the report works like in the ABAP-Workbench. The Eclipse platform does the syntax checks and confirms the activation with a small message in the lower left corner.
I’m someone who uses the ABAP-Docu quite often to get the syntax right and it was one of the first feautres I tried to use. I was very surprised how good this fits into the Eclipse workbench. By pressing F1 while your cursor is on a ABAP-Keyword, the ABAP-Docu will be opened in a new tab. And here comes the magic trick! Eclipse supports to split the view and so you can open the ABAP-Docu in a view on the right and have simultaneously opened the ABAP-syntax in a separate view on the left. This is really a nice feature!
The keyboard shortcuts are almost the same in Eclipse as they are in the ABAP-Workbench. This means if you’re used to the keyboard shortcuts in the old workbench, you can get quick started with Eclipse.
Code completion is a really cool feature, which was enhanced with Netweaver 7.02 to support code completion for workbench and dictionary objects. As you can see in the screenshots below, it’s also working under Eclipse almost the same as it works under the ABAP-Workbench.
In the ABAP-Workbench you can use the code-completion by hitting Strg + Space and then select the variables, methods, functions modules etc., you need. This works similar within the ADT.
One thing I’m missing here is the possibility to filter the results. This is something that can be very useful and I found no way to do this with Eclipse.
You can use code completion to find the needed fields within a structure.
E.g. Type „sflight-„ and then press Strg + Space to see which fields are included in the structure.
With Shift + Enter you can also create templates for method or function calls. Just type the full method name (or use the code completion) like in the first screenshot below and then press Shift + Enter to add the template.
The syntax check can be started by the corresponding icon in the upper toolbar. It shows all messages in the middle lower view. Like in the workbench you can navigate to the error in the coding by double-clicking the message.
This one really differs from the ABAP-Workbench. In the ABAP-Workbench you can navigate by double-clicking methods, variables, structures and so on. In Eclipse this will lead you to nothing. But it’s not completely missing, only the way to get there is different. You have to use the keyboard shortcut or the context menu when clicking on e.g. a structure or holding the STRG-Key and single click on the object (Thanks to Michael Schneider :-) ). With the menu point „Open declaration“ the declaration will be opened in a new tab. If you use this on a dictionary object, an integrated SAP-GUI will be opened in a new tab and the ABAP-Dictionary (SE11) gets started and shows you the requested object. Also here the split view can be useful. Just drag the tab to the left or right side of the window and drop it there. Then you can have a look on the dictionary object while you’re coding.
The creation / selection of transport requests is no problem within the eclipse environment. You can choose a request or create a new one like in the SAP-GUI. One thing I'm currently missing is the possibilty to release a task / transport request.
Running the report
One thing I was very curious about to see, was how the execution of a report is implemented in the ADT.
If you run your report, a new tab gets opened and the report will be started within an integrated SAP-GUI. For the small example I have coded (including ALV-Output) it was a good possibility to execute and test my coding.
What is currently not supported
With the Netweaver trial version there is no debugging support within the Eclipse environment. But this will be added with future versions of Netweaver 7.31, so don’t worry about this one. Currently you can do the debugging with the SAP-GUI, which works also very good.
At the moment it seems that only creating programs (reports) and classes / interfaces are nativly supported. For all other objects a tab with an integrated SAP GUI will be opened. But I'm quite sure, that there will be support for more object types in the future.
For example: If you create a structure, you can enter the name of that structure in an Eclipse window and if you click finish, a tab with the transaction SE11 will be started. (Same as above with the „Open declaration“ example)
One of the cool things I already mentioned above is the possibility to split views. This is very useful. Not only to show 2 different codings side by side, also to have the docu opened.
ABAP Doc View
The ABAP Doc View shows you the information which you can also see in the tooltips, for example the template of a method.
The outline is comparable to repository browser when you have opened a class or a report. It shows you the variables, methods, etc of the current development object. For classes you can filter to see only the public methods of a class. This is very helpful if you want to use a framework and only need to use the public methods of the framework interface (For example the ALV-Classes).
Search Objects and Where Used-List
The search for objects returns you the results for your search term, but the search includes all objects and not only a specified one.
In the left view you can see the full SAP repository on package level. So you can browse through all objects and even add packages to your favorite list, which is always the first entry in your project.
All in all I think the ABAP Development Tools are easy to use, even if you’re a long time ABAP-Workbench developer. I think the way of SAP is very clear and so I hope the missing features will be added soon. Hopefully then there will follow a new trial to learn about all the new stuff. I haven't mentioned all features of the ADT because I wanted to try out the basics, and this is in my opinion the creation of ABAP-coding.
At this point I will thank for the trial of the netweaver 7.31 and the ADT. It is very helpful to get hands on new technologies, even if you don’t have the landscape to use this at your company. I really appreciate the developer center here on SDN and I hope the ABAP Development Tools will get an own home place in the future :-)
Thank you for reading!