Why I like to code ABAP in Eclipse?
I was receiving this question very often in the past, but I really thought that most of the developers who can use AiE, are using it. But seems that I was wrong. Still a lot of you use SE80. I don’t mind it, I also use it myself in some circumstances, but sooner or later you’ll need to switch to AiE, for example when you work with HANA.
That’s why I’ve decided to write about why I use AiE. What I like in it and what I dislike. AiE is not perfect (yet) but there are some advantages which you should consider.
1. My first touch with ABAP in Eclipse
It was not the love from the first sight. Although I liked very much the idea of using Eclipse for developing in ABAP. When I’ve read about it, I said – “Finally, a proper development environment for ABAP”. But the reality at least for me was not that bright at the moment. Eclipse was working quite slow at the time or at least at the system installation I was using. I’ve been trying Eclipse Juno at that time, and after 2-3 days I gave up.
I’ve return to Eclipse after month or two, when Kepler release was out together with new version of AiE. I’ve said at the time: “I’ll try to work with Eclipse for one month, if it will not convince me, then I’ll not try it at least to the next Eclipse version (they appear regularly each year)”.
But after one week of working with Eclipse and ABAP OO, I was sure that this is the correct way of working, although there were still some improvements to do.
3. AiE Support and development
Before I will write about the tool itself, I’d like to mention whole AiE development team with Thomas Fiedler on the top of it. Whole team is doing really good job and they are really open on all suggestions and remarks. It happened not once that after a suggestion on SCN or Twitter some new option was added. And when you face a bug in Eclipse, they are also there to help and solve the issue.
Cannot say more than BRAVO!
4. Cons and Pros of current version
And now let’s go end see what are the most important cons and pros of AiE (according to me of course):
i. Syntax check while writing the code
– one of the most important functions. With it you feel like writing in other development languages ( VB, C#, Java ). You don’t have to press Ctrl+F2 all the time. Whenever you write something, syntax is checked and errors are visible in then Problem View
ii. Many source codes open at the same time – no limits ( at least I haven’t found any ) for opening tabs for code. When you imagine your 5-7 gui screens and navigation between the objects in code then you’re in heaven. In eclipse once you want to jump to method or function definition or implementation, you don’t have to save your current work and move to other, you just Ctrl + Click, and the code is opening in new tab, from which you can easily go back to previous place of coding by back arrow or shortcut.
iii. Occurrence markers – when you enable this option, once you put your cursor into variable or method name, directly all occurrences of it will be marked on the side of editor, so you don’t need to use where used list inside the object or program and you can quickly jump to the place of occurrence by clicking the marker.
iv. Signature preview on F2
– yes, that’s really helpful function. In SE80 you need to open the object or FM in the same or separate window to see the signature of it. In Eclipse you can just press F2 on any element ( method, class, FM, variable, table, type, etc. ) and all information about it will be fetched and shown in a pop-up. You can easily copy the types of FM parameters or preview the ABAPDoc and standard documentation
v. Refactoring – well, this function is really one of the nicest, select variable or method, Ctrl+1 , choose rename option and everywhere in your code is done in the same time. No more Ctrl+H.
vi. ABAPDoc – this function is really nice also, you can easily describe your methods and magic Ctrl+1 allows you to adjust quickly all parameters .You can use some basic HTML there also.
vii. ABAP Keywords colors – since few versions of AiE you can color as you want the keywords, making for example select, insert, delete, modify or method more visible. Just a simple thing but changes that much!
viii. Going out of the brackets – when you write something in a brackets and you are at the end, it’s enough to press TAB to go outside the bracket. No more moving cursor with arrow or mouse.
ix. High resolution can be used – in SE80 or even in whole SAP screens which have resolution 2560x1440 are too big for GUI, you can make the screen wider but all elements, like grid or subscreen will remain smaller. And if you use 4K resolution this is more than waste of space. With Eclipse you don’t have that problem. You can use whole available space to set up your perspective ( layout )
x. Additional Views – since you can select and put any available view on the screen, you can really easily put everything you want on the screen, like history of code, object properties, transport requests, tasks, problems, feed reader or outline. When you have 4K resolution screen then you can setup all possible views on the screen without need of switching even perspective to debug.
xi. Perspectives – even if you don’t have 4K screen then you can easily set up a lot of perspectives (layouts of views) for many purposes, like debugging, standard view, full screen view, Full HD view, etc. It’s only your imagination which is stopping you to create new one
xii. It’s not closing when the connection is broken – I guess everyone faced it, you’re in the middle of writing something and the connection gets broken. GUI close itself and your code is lost (until you haven’t jus saved it). With Eclipse you don’t lose anything. Once the connection is back , the changes are synchronized !
xiii. You can use eclipse for other languages as well – JAVA, PHP, C#, HTML ( yes, I know HTML is not programming language ).
xiv. It gives you warnings about not catched exception classes – you’ll notice it on the right side of the editor
xv. One place to rule them all – you can be connected to many systems at once (each system has own project) and you can have code open on each of them in separate tabs. It’s also really easy and fast to do comparison of code at different systems.
I could write of course more pros, but these are most important to me!
b. Cons – Yes there are some
i. Debugging – the most irritating thing in AiE when you’re working on slow connections. Seems like AiE is fetching all the data which you preview or may have preview at each step you do. When you work at slow connection then you’ll notice it. That’s why the speed of GUI debugger is really winning here. Personally when I debug standard program then I use GUI, when my own then AiE.
ii. SFP transaction hangs in Eclipse – although you can open Adobe LiveCycle Designer in separate window then it still hangs
iii. Even if the updates are frequent, then not all AiE features are available for all version of SAP. Unfortunatelly there are no SP's to be able to use them
That would be all from cons and pros for me, but I do not work with HANA so I cannot tell how does it look in the places where you have to use AiE and you have no choice.
Hope I will convince someone to ABAP in Eclipse.
Cheers to ABAP in Eclipse aka ABAP Development Tools for SAP Netweaver Team!