Personal Insights
Eclipse ADT vs SAP GUI Editor
Edit – removed personal references. Instead, I make this a conversation and between Boris.
A discussion has sprung up on the relative merits of ADT vs the SAP GUI editor at the end of a question.
Since it’s at the end of a post concerning enhancements in ADT, I thought it should be a blog. I did suggest this to Boris who posted the argument that SAP GUI Editor is superior. But he didn’t want to.
Before going further, I recommend this excellent blog from Jelena Perfiljeva – (spookily prophetic about washing your hands, since the blog was posted november 2019… ).
So, I now present the discussion so far, in the hope of attracting a wider community discussion.
Boris
After so many years still we have to use SAP GUI and SAP GUI still looks more polished than the ADT. I don’t understand why SAP needed ADT and wanted to kill GUI. Sometimes I feel SAP like the smart geek who has lost self confidence because of the bullies. ADT because others use it, the new college goers use it… It can not be a valid excuse when your own tool or the IDE is million times superior to the Eclipse ADT. SAP GUI is million times ahead of any comparable UI platform as well. SAP u need to have more belief just dont join the so called cool guys gals group have self belief you are the coolest dude. Either make ADT feature complete or just start investing back in GUI. I don’t see a single merit of using ADT except for the fact that SAP on purpose has locked down certain activities at GUI side.
Really you should write a blog.
Advantages of ADT (in no particular order)
1. A widely known development environment, so the learning curve for many is vastly reduced.
2. Local versioning (every time you save, a local version is cut). This is very useful when you realise that you’ve gone the wrong way and want to revert to what you save at 10 this morning. Within SAP GUI, you’d have to manually create a temporary version each create.
3. When your network connection goes down, you don’t lose your work. Important for remote workers!
4. Code completion is vastly superior.
5. You can have many windows open at a time.
6. You can compare entire classes/interfaces between local version, transport versions, and system – even systems that aren’t connected to each other.
7. Unit testing is superior to that in SAP GUI
8. It’s a modern IDE – SAP GUI manifestly isn’t
9. It’s easier to enhance than SAP Gui (you can even write your own plugins)
10. Errors in coding are flagged up immediately
I switched from SAP GUI to Eclipse years ago. Frankly I’m baffled as to why there is so much resistance. I’ve been developing ABAP for over 20 years (SAP GUI and Eclipse), and I think I’m qualified to say that any disadvantages are utterly outweighed by the advantages. I find development faster and easier. SAP GUI is clunky. Although I’ll concede the debugger is more powerful.
Boris
Matthew Billingham Good idea but no thanks. Glad that you love ADT good for you. But IMO any person who writes code on a daily basis will agree with me. Long loading time, freezes and feature incomplete. As I said already just for the sake of familarity SAP doesn’t not have to kills something that is superior. I am from Computer Engineering background and I know Eclipse is good , I wrote Java code; but for ABAP SAP GUI is perfect and everytime you have to open the embedded GUI – I hope will remind you as I said ADT is crap.
I am not offering any resistance I am using Eclipse ADT since 2017. And I still find it feature incomplete. I repeat feature incomplete. Error come up immediately really, I find it too hard to read in the cumbersome manner it is displayed.
It’s a modern IDE – SAP GUI manifestly isn’t – So that was exactly the kind of ideology I personally dislike and that was the point of my initial comment that you ignored. Just something is modern is not better. ABAP is 39 years old then let’s dump ABAP now. Eclipse has been around for too long as well. Make ADT better simple that is what I wish for. The VS -ABAP plugins is a great example.
You can have many windows open at a time.- Well when you need it the most the IDE freezes 🙂
Code completion is vastly superior.- Depends how you see it but still all the pros you counted does not weigh heavily on the cons and that is the burden of evidence against the Eclipse ADT.
Again I have no resistance to anything- I do not belong to that camp so please do not target me, nor I am what you guys like to call the kind of people who do not like to upgrade ABAPsaurs or things like that I have been 3 decades + a couple of years on this beautiful planet and I love to learn but because my time is limited and I want to finish my work fast go home and have fun with family I wish for good working tools and that is what my complaint is. Have a great day and I just tried to make a point I ofcourse have not seen the world or amassed so much experience like you.. I just have been writing ABAP since 2007 🙂 Thank you Sir have a gr8 day
There are lots of people who write code on a daily basis and who prefer ADT, sorry. Why do you need to say that something is either good or crap. Why not describing what is good, what is perfectible. There are some big advantages, big drawbacks, in ADT, like in SAP GUI. Just use ADT for tasks with big advantages like refactoring, unit testing, and SAP GUI for tasks with big advantages like some tasks in debugging, SAP GUI screen debugging, etc.
Sandra – What about BOPF tools, SEGW tools what about the ease of accessing any transaction, what about the need to open GUI for many cases where the ADT can not open the data browser. What about the endless transactions not supported. I don’t know about you but I have to unfortunately write a lot of code that is more than writing classes and I find it very disturbing so do my numerous colleagues. Even something as mundane as debugging, debugger scripting is so much easily done in the GUI. What about the fact that Eclipse ADT freezes, has a much more loading time, What about the fact that even for RAP UI the test scope is limited I can not go and check all associations etc in the UI preview. It would be a long list. yes there are some nice cool things as well like you said refactoring yes, something as simple as delete unused variables and so much but can it replace GUI – NO as on 23-06-222 it has not managed to do it yet and the embedded GUI is still there.
Also I guess you did not get my point- I am against the point that SAP has to change it’s own inhouse things just to attract people from the outside. If your product is good, people will learn it you don’t have to make a JAVA version of ABAP to attract new talent. Eclipse is good but ADT lacks features,. What is the problem in accepting that or let some one speak if s/he does not like it? In any case SAP is not going to roll back, right so just chill and ignore my comments if you don’t like I am just venting my frustration after a day when I spent so much time looking and doing different things on 2 different IDEs.
As a developer I don’t appreciate using 2 tools it’s annoying, impacts my workflow and that too when the company claims the one I find superior is on the way out. Please do not take it personally but I have a conclusion that some people have a psychology that everything SAP had like tools the language is so “not cool” and let’s be cool like Java or something else. Again kindly do not take it personally I just took the opportunity to share what I feel.
Thank you!!
The discussion continues below…
Edit: Another contender?
@ Boris
I guess the flipside of that must be that everytime you want to use something you can only do in Eclipse, you'll be reminder that SAP GUI isn't very good.
But comparing like for like - where both environments have the same functionality - the only thing that is better in SAP GUI is the debugger and Data Dictionary. It's definitely more powerful.
If you're regularly getting freezes, then I can only assume there is an issue with your computer or your network. I have no problems at all in that direction. But maybe installing a lean version of Eclipse would improve things for you: https://blogs.sap.com/?p=828393
I find developing in ADT faster and more convenient. I don't have an issue with having SAP GUI open for certain tasks. I've experienced many IDEs since I started working in IT 35 years ago - Eclipse isn't the best, but in my view for coding, it's better than the SAP GUI ABAP Editor.
Dear Matthew Billingham - I have a state of the art PC provided by the 150 year old employer and a corporate network connection. I am not even talking about my personal machine or internet ,as I gave up doing SAP stuffs on personal time at least 2 years back except for reading some SCN and SAP press stuffs. Some good men started the VS plugin exactly because they faced numerous issues with the ADT, so what do you think about the efforts of those folks who dared to challenge the ADT, the round pegs in the square holes ?
I stared working 15 years back fresh from college, and being from Computer Engineering background I learnt and used a few languages(C, C++, Symbian C++, Visual C++, C#, Java, J2ME, RPGILE ) and I have used Eclipse and a few other IDEs for many many years... My experience is less than you of course but in my own experience- Eclipse is good for Java but for SAP development SAP GUI is more refined. In my view the best I have used is the SAP GUI Workbench. It was just wow a true 4G language IDE. That is my personal choice and my advise to anyone who comes to me is get accustomed to ADT and use it but when you need more power and functionality dont waste time impressing people switch to GUI.
Your flip side is not really a flip for me because I feel it is hilarious that who persuaded SAP and what happened to the management that they created a tool ADT i.e. feature incomplete and did not add these features to the GUI that was and is still so awesome in 2022 🙂 At least it's 2022 now give us a feature complete IDE be it ADT or whatever new SAP likes but make this feature complete, is that a mistake to ask for Matthew Billingham 🙂
*** Removed by Moderation ***
Kind regards,
Prasenjit Singh Bist
I'm no fan of SAP particulary. Although they have enabled me to earn a reasonable wage for a long time - I'm also in it for the money.
I'm also "just" a programmer. I've been in management, but switched to being a programmer again - and I intend to work until I can't anymore as a programmer. It's what I like doing. SAP aren't going to suddenly start investing in SE80. In (IIRC) 7.31 Enhancement pack 2, there was a fully functioning proper rename tool like in Eclipse - But 7.4 was build on 7.31 Enhancement pack 1, and so it simply isn't there.
This means SAP GUI will never be feature complete. But ADT could be. Kicking against the goads ain't going to help (VHS beat Betamax), especially as many experienced ABAP developers find the ADT experience better.
VS is better than Eclipse - overall. Eclipse is better than SAP GUI - overall. Eclipse does some things better than VS, SAP GUI does some things (where-used, data dictionary and debugging) better than Eclipse.
That's my view. I use both Eclipse and SAP GUI. I don't find it onerous to switch.
You missed the point 🙂 Make ADT feature complete at least the tool you are investing on make that complete in 2022 if SAP still can not make the tool complete then when will they do it 🙂
Let's make ADT complete the best *** Removed by Moderation *** 🙂
Visual Studio is the best on the planet period.
At client side when I have to debug those standard programs the only thing that saves me is the SAP GUI. For any new team member in my team I have personally experienced GUI and the hand holding approach is far better. Not many are so good that they will remember all OOP syntax and the DDIC new annotations . I come from a services company and we have numerous kind of people. When doing Fiori dev... open Web IDE, open Eclipse, open GUI and it is a fixed deadline on my head no body cares I work till 3 am or leave by 6 pm they want it done 😀 Now what do you suggest?
Eclipse is not for ABAP and will never be just trying to fit something won't work- lets see how far it goes may be someday someone from SAP will say enough now stop just like Web IDE and BAS something may happen else Long live Eclipse for SAP 🙂
VS is the best? Well, it's better than Eclipse. But the best? Sure. If you like.
As for SAP making ADT feature complete. If you can't do it in ADT you can do it in SAP GUI. So we use both. Except for Steampunk of course. And this is the point. You can do everything you want in Steampunk via ADT.
ADT will never replace SAP GUI where SAP GUI is needed. It's not going to replace BASIS functions. It's a tool for developers to get the job done. I find that ADT makes my jobs easier and more productive for most of my day to day task. As do many others going by the comments on this thread and the Jelena's I linked to in the blog - although you imply were just SAP Fans. Your experience is clearly different. Why that should be, I've no idea.
I wholeheartedly agree with Matt's statements.
I find myself using SE80 for things like DDIC work, some really rare and special features that don't work (well) in Eclipse (enhancements and modifications, rare as they are), and very often for error analysis and debugging.
On the other hand, when actually editing code, it's always Eclipse. I would not want to miss all the time-saving features like code completion and assisted refactoring (automatic extraction of methods or easy renaming, to just mention two). I also find unit tests easier to write in ADT.
But then... anybody remember how the ABAP editor looked like in R/3 2.2? Haven't we come a long way...
Yes. I do. Usually at 3am, when I wake up in a cold sweat. All the complexity of vi with the functionality of notepad.
I have a similar opinion as Rainer. Enhancements and Modifications don't work for me in Eclipse (don't like how the enhancements are shown in a separate popup), and for SAP customer developers (as opposed to SAP-internal or third party developers) this is a substantial part of the work.
I always use Eclipse when I write new code, and for the tasks that are great to do in Eclipse like class editing, version compare of classes, getting an overview where a variable is used (one of my favorite features; I hope that comes to CDS editing as well).
For the rest (debugging, support, small research topics) I stay in SAPGUI.
As Matthew mentioned vi: I love to have vrapper (VIM emulator plugin) available in Eclipse, mostly for search and replace :.,+4s/old/new/g
+1 for vrapper 🙂
I will never ever ever ever go back to SAPGUI. Just my 2€ct (+30 years of ABAP development)
I'm now so much faster than before and more important: I'm creating better code and less errors.
(and if you think ADT is too slow and erroneous: you or your company may try to invest in better hardware - especialy memory)
Any java based application is inherently slow and takes time to load i.e. the design of the JRE.
I have 16 GB of RAM 512 GB SSD on my work laptop do we need more let me know I will raise a request with the project manager and see if it makes the performance better. And since it is a office laptop there are no other apps except corporate ones - MS OUTLOOK, Chrome, GUI and ECLIPSE
Thank you!!!
You know that SWT (which the UI of ADT incorporates) is designed specifically to speed up the UI experience by using native OS calls?
Just out of interest, if you google "Why java is better than python" and "why python is better than java", you'll find some interesting arguments.
I haven't found in at least the past few years that Eclipse being Java based is a slow experience. If you're having a slow experience - despite your super powerful laptop and 150 year old network (did I get that right?) - it ain't 'cos it's java. (Well, it might, I'm using an XPS 15 9500, with 32.0GB, and an i7-107050H CPU at 2.60GHz). Maybe use SapMachine as your JVM? Did you try my suggestion of installing lean eclipse as outlined in my blog?
Good news. A 512GB SSD is plenty.
*** Removed by Moderation ***
**** Removed by Moderation ****
I only use ADT when SAP does not leave me another option. And happily go back to SAP Gui when finished.
I still find it strange me why people would choose ADT over SE80. Only good for people who never worked with a good IDE spend their life with java or js and don't want to learn new things but repeating the same errors again.
I am developing ABAP since 2001 and use ADT since Eclipse Juno (~2014?)
Eclipse is not perfect and I would prefer to use ADT in VSC, but made ABAP development faster and easier. I would never go back to SE38/SE80 and use these SAPGUI tools only for ABAP/4 legacy code with function modules, screens and other relics from the 90s that are not supported in ADT anymore
You are also welcome to have your conversation here if you like.
Can't speak for everyone but it's "thanks but no, thanks" for me. I don't like the "groups" in principle. For some reason it requires to have a profile "set up" especially for it and opens a weird parallel universe for the discussions that we just used to be able to have right here, on SDN/SCN.
We already had SAP Jam, SAP channels on Slack, on Discord. Then there is a myriad of different SAP sites like Learning Hub and product-specific "communities" that march to their own drums. Proliferating platforms / sites doesn't bring people closer, it has the opposite effect.
Groups is ok, but I find it hard to get to new content. I guess I'm just an ADT using dinosaur. Not hip and up with cool kids who are using SAP GUI.
Oh... wait... 😁
*** Removed by Moderation ***
That's temporary as we ramp up the environment, within the next couple of months your SAP Profile will be the primary item and viewable there.
The difference is the conversation format, Q&A as many told us is not conducive to a conversation - hence Matthew bringing his blog post over here to continue - the discussion area is simply a tool that actually enables a dialog format where although the blog kind of does it has limitations.
That additional environment like Q&A and Blogs is there to support certain actions, like events which has a more robust interface than we had here before.
There are some great resources over there from Enterprise Architecture to Women in Tech and a whole host of local city ones going to be starting up. For our SuccessFactors folks there current groups are all in the process to migrate over there as well (reducing the multiple platforms)
I just wanted to be sure the choice was known.
I'm glad you have.
I think one of the main reasons is steampunk, where GUI simply isn't an option.
The others might be that they're moving everything out of GUI anyway, and turning SE80 in a state-of-the-art IDE is a massive job.
Personally I like ADT way better tnan SE80, but find it clunky enough to write my own plugin and migrate on vscode. I mostly do RFC functions and webservices, so I ahrdly ever need the GUI
how do you deploy the code for RAP from ADT on your machine to cloud and how would have that been too different from a SAP GUI based IDE that we use. The difference is in restricted syntax, the choice of UI, etc.
How would you deploy the code from SAP GUI? How would you have SAP GUI connectivity to the system on the cloud, technically?
I'm interested.
Of course you have worked on Fiori model with BOPF and all right how do you deploy the code in those projects ? In Web IDE projects how do you access ODATA projects in the cloud editor to configure with the Fiori Floor Plan templates ?
To reiterate. ADT is generally better for programming tasks. I.e. Writing ABAP code. You contend otherwise, since you can't use it to create a DB table. Or an odata service.
Where SAP GUI is mandated or better - SE11, debugging, etc. - we use that. But we don't claim SAP GUI overall is terrible because the ABAP editor on SAP GUI isn't very good.
*** Removed by Moderation ***
***** Removed by Moderation *****
Not sure I understand your question. You can't log in to steampunk with sapgui, you can edit in place with eclipse or vscode
*** Removed by Moderation ***
Exactly. Improving ADT is relatively cheap - open source, transferable skills. Furthermore, we can extend it ourselves. To an extent. (I do wish the ADT team would put enhancement points into their plugins).
Thanks for the mention, Matthew! My opinion hasn't changed since my blog post. It's not a zero-sum game and I think developers should be able to chose any IDE they like (if technology stack supports it, of course).
I still use SAP GUI because I've used it for over a decade, it's what I know well and what makes me efficient. I use Eclipse too for what it does well or for stuff like CDS view that SAP GUI just doesn't do. If someone is more productive in Eclipse then more power to them. Although I don't see how anyone could possibly like doing SEGW development in Eclipse.
So I don't really get why this is a discussion in the first place. Like "you do you".
By the way, I find the immediate error check not an advantage but annoyance in Eclipse most of the time. It's way premature 90% of the time and adds no value for me. But again, if that's what you like, it doesn't bother me at all. Cheers!
P.S. Obligatory shameless self-promotion of Boring Enterprise Nerds article on the subject. 🙂
Add me to the ADT group. It took a while to switch, but I now avoid working in SE80 as much as possible (27+ years of ABAP development).
I have to say though: one thing that definitely converts me to ADT cult is that, unlike SAP GUI, it does not disconnect every 10 f*g minutes of "inactivity" (i.e. while I'm thinking and researching).
This is one valid point, even if you switch off wifi it comes back
A point I made a while ago, concerning when you have to put up with a flaky VPN
It happened to one of my colleagues recently when he was sharing some code issues with me via video chat. I helpfully pointed out that with Eclipse this doesn't happen. He took it well. 😀
+1 for team SE80 (or even the minimalist bliss of SE24 😎)
I admit that ADT for OOP is WAY better, once you get used to the source code editor you don't go back to form editor.
What I love of ADT is the F2 functionality, no more ALT+TAB to go to the DDIC or FM is awesome.
The thing that I hate and in my case it happens a lot it's when I activate a program and I run it in SAP GUI I don't get the code updated. I'm still running the older version and I need to manually activate it in SAP GUI to be 100% sure it gets refreshed, no idea WHY.
In SE24 you have both the options Forms and Source code based on your comfort level. The code completion with GUI is more than enough IMHO to get the job done and most importantly one tool to get all done.
Yes, but it's not the same... more than enough ? you are very easy to please.
in ADT you have:
Refactor classes without ADT is a pain and also creating ABAP Unit, in ADT you have it just there in another tab, very easy to switch from.
I really don't mind using more than one tool, but I agree that don't like Eclipse either. I started using Eclipse for WebDynpro back in 2005 (SAP Netweaver developmet studio or something like that) and it was awful eclipse consume a lot of resources.
I would love using VS Code because it's very light and fast, I know that you "CAN" actually, but it's very green yet. SAP already said that they will stick with Eclipse.
One bad thing that have ADT is that it blocks the entire class, if you are editing a class no one can edit it. but in SE24 it block only the method that you are editing. This can be very annoying if you have a team working on the same classes.
Yes, but it's not the same... more than enough ? you are very easy to please.
Yeah I am very easy to please a simple man who needs the right tools for the job no glitz no blitz just the right tools to get the job done properly and get paid.
I don't mind if SAP sticks to ADT or goes back to GUI or invents something more pathetic, only request or demand is whatever IDE we have for ABAP make it feature complete. Fiori in BAS is okay but ABAP in Eclipse and GUI two tools for one language platform - is not something I have heard or experienced in other programming environments.
One bad thing that have ADT is that it blocks the entire class, if you are editing a class no one can edit it. but in SE24 it block only the method that you are editing. This can be very annoying if you have a team working on the same classes.
Yes and it is very frustrating as multiple folks are working that you already mentioned.
Agree that for OOP Eclipse is the right tool that is Eclipse's legacy it has been one of the best Java IDE for years for many people that is the legacy of Eclipse. But I wonder what stopped SAP to add the missing features. For ABAP developments other than OOP, SAP GUI fits the workflow better and is more optimised like say debugging, debugger scripting, CTS management, DDIC things, etc.
I was told when I started ABAP is a 4GL and SAP GUI looked like so, now did they demote ABAP to 3GL? Because that is how the coding looks like in ADT. Table with coding, foreign key with coding, How to create lock objects in ADT? Did not see any coding for that is there anything any annotations because ABAP is now Advanced Business Annotations Program.
Thx,
Perhaps if you have more than one person working on a class the class is too big. 🙃
Do you have multiple application servers in your development environment?
I've experienced the same thing when ADT is connected to one server and my sapgui session is connected to another. Sometimes it can take 10s of seconds for the code to synchronise between the servers.
One way to avoid this is to set up a message server group that only contains a single server and use this group for any development work.
What I love of ADT is the F2 functionality
Thanks for this!
Like:
The big advantage of ADT is Ctrl+H with Abap Source Code Scan. I use it permanent: it's easier to find the SAP source code and analyse it, than try to understand of "the magic".
Full support of ABAP Classes (Source code based doesn't work for all classes) with easy navigation to local definitions (RAP, RAP, RAP...).
I like how the WebDynpro (Recipe Development is main stream! ) is implemented in ADT (but it needs more stability).
Many open tabs - and this state is saved between restarts.
Many workspaces - I have at least 10, mostly one per customer.
Don't like:
ADT is slowing down over time - it's funny to see, that the typed text is just appearing slower and slower... The only option is to restart of the Eclipse.
Debugger is SLOW. Try to use it and always come back to se80...
Implicit Enhancements have an ugly implementation - you need to go back to se80 -> lost all advantages...
DEbugger is plain horrible in ADT
I use a separate workspace for each issue/project. In this way I can go back to the issue with the same objects open. It also means the environment doesn't show down.
Absolutely that is the point not that whether ADT is better and those who find the GUI are horrible people and need to be ridiculed and who loves what. The point is what you said.
but to have one single IDE with all the functionality (One IDE to rule them all).
It's a shame for SAP tools and platforms engineering team that even after a decade or more they have provided us an incomplete tool.
Thx
For me, it's not an either-or kind of question, and I'm rather pragmatic in which tool I use for a given task. But then, actual ABAP-development makes up at most 20% of my time and a lot of that is still focused on maintaining existing procedural code. When I write new programs, I usually do it via AiE as I've switched to using a little template with local classes for most of the processing, and I like the various features AiE provides for that. There is however still some activity I tend to quickly do in SE80 even for these programs, like copying the needed GUI-status for the ALV output or debugging the code while testing.
I still have a hard time to remember all the keyboard shortcuts or where things hide in the various menues available in AiE and would be lost without a cheat-sheet!
What I really don't like about AiE is the hassles involved in keeping it current while working on a company issued machine where a simple task like updating Eclipse and the ADT isn't easily possible due to admin- and proxy-settings. Likewise the missing option to make use of software logistics to get it distributed onto develeropers' machines easily and quickly. This has inhibited the pick-up of Eclipse usage a lot where I work. I'd really like to have an easy option to create an "all-inclusive" Zip-file which then only needs to be unpacked on a given machine and you are good to go and use it.
Cheers
Bärbel
What I really don't like about AiE is the hassles involved in keeping it current while working on a company issued machine where a simple task like updating Eclipse and the ADT isn't easily possible due to admin- and proxy-settings. Likewise the missing option to make use of software logistics to get it distributed onto develeropers' machines easily and quickly. This has inhibited the pick-up of Eclipse usage a lot where I work
There is however still some activity I tend to quickly do in SE80 even for these programs, like copying the needed GUI-status for the ALV output or debugging the code while testing.
*** Removed by Moderation ***
Lovely discussion, almost feels like a 'should we use prefixes or not'-one 😀
Personally, I'm glad SAP offers choice. You can choose between ADT & SAP GUI, between BAS & VS Code,.. as far as I'm concerned, you pick the one you prefer and/or you feel most comfortable and productive with.
(and yes, I know that for some stuff you don't have a choice, which may be too bad, or not.. either way, if the future is cloud, that future would require ADT instead of SAP GUI)
But of course, as everyone should know, the really cool kids (and dino's) use CLI 😀
Oh surely we're being more civilised than that.
I have assorted things to say here
Eclipse and VS Code are in effect super duper text editors because in most languages everything is stored in a text file whereas in SAP different things are in different database tables.
So when I write a list of advantages that ADT (or VS Code which can also be used for ABAP and UI5 development) it is all to code with code completion/refactoring (the so called quick fixes)
No here is the irony. Even though it is stored in the database ABAP code is still text really.
Let us say i have the following imaginary conversation.
Me: In SE80 when you click on a not yet created FORM routine you can automatically generate that routine. You cannot do that (auto-create local method definitions/implementations) with local classes in SE80. But you can in ADT. So why cannot SE80 be upgraded to do that?
SAP: We could do that of course, but we do not wish to do that. That would encourage people to stay using SE80. Instead you should move to ADT. ADT is better in any event.
Me: In what way?
SAP: For a start in ADT you can automatically create local method definitions/implementations,
That is what is known as a circular argument. But since SAP have made their position clear it is at least worth investigating the myriad "quick fixes" available in ADT, many of which you can get as plug-ins.
One last point against ADT - myself and my colleague had to both work on a large class with a hundred methods at once. Leaving design out of this in SE80 we could work on separate methods of that class independently as only one method at a time is locked but in ADT as soon as one of us opened even one method the whole class was locked.
The good thing about having the whole class on ADT is when you want to compare the whole class with a previous version or on another system. The bad thing is that you can't compare single method changes as you can on SE80.
Of course, if you're working on a large class together, you should each be using your own SAP system and then merge the changes - according to the dev-ops paradigm. 😉
I'll stick with ADT for coding - I find it is quicker and easier than SE80, bells and whistles notwithstanding. When I'm working on a multiclass app as I often do (no huges classes for me), I find it invaluable that I can have ten objects open simultaneously. And given the huge screen I have even have them all visible! But I guess SAP GUI could have added tabs to SE80 in some way.
It's probably cheaper for SAP to develop further Eclipse using the plug-in framework. There's probably more people available who know how to do that than there are people who can extend SAP GUI.
"Of course, if you're working on a large class together, you should each be using your own SAP system and then merge the changes - according to the dev-ops paradigm. 😉" how many systems do you and your team work with?
That one point Paul mentioned about locking the whole class vs a method is a strong argument for many SAP development shops....
ADT has its strengths and SE80 has its uses.... learnt to live/earn using both 😉
As Paul implies, a large class with many developers is a code smell. It's highly unlikely the class adheres to SOLID principles - especially the Single Responsibility. My guess is that Paul and his colleagues are refactoring the class and making it good.
Apropos ADT locking the entire class.
This is a philosophical point. We are a coding business logic for a sales order transaction. Let us say there are 500 rules for validations (which there are, probably more) which we are putting in 500 separate methods. Do we do this via 500 separate Z classes, one for each rule, or one big class containing all 500?
Something between.
I think it's good to lock the whole class.
Never write a class with 500 Methods. If you do that, i'am sure you're doing it with a prefix to sort and if you use a prefix, it means you have a bracket for a bunch of methods. Put them in a separate class!
I'd go for one class per rule. Reason being it keeps each rule separate and unto itself. Changing one rule can't break another. While you may now be using a convention to keep them separate, a future programmer may not be aware of the convention and start introducing some attributes used by several rules.
I did this with BEX variables a few years ago. Each variable had its own class, implementing a specific interface. A factory class returned an instance of the class for each specific variable. Previously, the variables were coded in includes. Lock one, lock 'em all.
Tip. Put the rules in their own package.
The BOPF framework encouraged one class for each validation / determination / action. Then of course the successor - the RAP - started off at the other extremes with everything in one local class. That has changed now with the concept of "groups" though it is still pretty clunky.
What I am really worried about is the abstract idea that one developer likes SE80 and thus tends to have more methods in their class, as only one method gets locked/transported at a time. A developer who likes ADT on the other hand might solve the exact same business problem using lots of classes on the grounds that a change locks the whole class.
In other words the nature of the development environment is driving the design of the application. I hope this never happens in real life, but I find it all to horrifying plausible.
Just read your comment - I must have missed it first time round.
In most cases, the lots of classes solution I think is a better approach. So although the development environment could drive the design of the application, even so, it leads to more maintainable code.
In my job, we have few overlaps, making it really unlikely that we'd lock each others' classes. Ebenso... I use lots of classes. It's a design decision that happens to suit ADT.
I'm just someone who writes ABAP code on a daily basis and I think there should be no debate that for that particular task Eclipse is light years ahead of the SE80. About 15 years ago, when I went from developing Java applications with Eclipse to ABAP applications , it was a leap into the past as if in the year 2022 abortion was prohibited.
I started using ADT for Eclipse only about a year ago, because previously I was working on an old version of Netweaver that doesn't support ADT. I will never go back to the SE80. Of course I have no problem using SAP GUI tools if it is better or necessary (hard debugging, querying via SE16, editing Web Dynpro an anothers).
Obviously things are out beginning to get out of hand here in the comments. We will now moderate individual comments removing those that are too personal which are a violation of the Rules of Engagement. Each author may do the same to edit or remove their comments.
Provided comments remain focused on the value of ADT vs SAP GUI the threads can remain, personal aggression though needs to stop from all sides.
*** Removed by Moderation ***
Just my personal experience, I tried to use ADT many years back but was very disappointed of the lack of functionality. Lots of tools like building BOPF, BO, GENIL BOL coding with WebUI, Building ALE IDOC, WebDynpro (ABAP version), Interactive Adobe objects, so many development objects was not supported, I had to go back to SAP Gui. Especially Debugging SAP Standard programs was hopeless.
I am starting using VS Code plus BTP BAS for Fiori development but I guess I might need to keep sticking to SAP GUI environments. Just building customer coding with ABAP OO, I guess ADT and VScode have some advantage.
Good comment. I think you've identified the key point.
ADT is a tool for writing ABAP programs. It's not a tool for all the things developers do. As an ABAP editor, it excels - far better than SE80 - and therefore, in my view, it is worth using for that purpose.
I don't have an issue with using different tools for different purposes. For example, there's quite a few SAP GUI transactions that switch you to the browser. No one complains that SOAMANAGER isn't part of SAP GUI.
ADT has improved greatly over the years. You can do Web Dynpro (ABAP) now. But I don't think you'll be doing your ALE IDOC stuff in it. Ever.
So far I have tried ADT twice but never really kept up with it. Especially the missing forward/backward navigation killed my entire workflow and so I quickly reverted back to the GUI.
Due to this blog post and that of Jelena Perfiljeva I will try again. Who knows, maybe the features I use on a daily basis are there now.
Unfortunately, I have to work on many different customer systems (via remote desktop) where there is no eclipse and no possibility to install anything, so I will definitely remain in SE80 a lot of the time but I also want to learn new stuff (especially some things that only work in Eclipse).
Are there any cheat-sheets or "You did x this way in the GUI, here is how you do the same in Eclipse" to make the transition easier and maybe make it stick this time around?
Forward/backward navigation? Isn't that just Alt+> and Alt+<?
Not sure about cheat sheets, but one thing I learned recently was F2 gives you information about the object that your cursor is on. If it's a method name, it gives you the method signature. It's hyperlinked, so, e.g., you can click on a parameter type and it'll show you the definition.
F3 navigates to the object your cursor is on. Again, if it's a method, it'll take you to the method body, or definition, depending on context.
Ctrl-1 gives you quick assist, with code completion and rename and other things.
Via Window->Editor, you can toggle split, so you can see to parts of the same program at once.
You can drag a tab completely out of eclipse onto the window desktop.
And you can arrange your tabs so you can see e.g. 4 different classes at once. (I have an ultra-wide monitor).
But if there's functionality you can't find, just ask here. I'm sure someone will help you.
Thank you!
That is exactly what I meant by "Cheat sheet".
I am so used to hitting F3 to get back to where I was before and double clicking on everything I need to get more information on, that I do it without thinking. same for cntrl+space for auto complete. Knowing the equivalent combinations within eclipse will be a big help.
Carla Klappstein
Hi Carla,
there are some helpful ADT Eclipse blog posts which might come in handy (they did for me), here are two of them:
Useful Keyboard Shortcuts... by Thomas Fiedler
ABAP in Eclipse — Keyboard Shortcuts You Cannot Miss + Cheat Sheet by Michał Majer
And if you speak German, the newly published DSAG ADT Leitfaden (link goes to the Github version) could also be of interest.
Hope this helps!
Cheers
Bärbel
Ooo. Learned some new ones there!
Oh!
This is perfect and exactly what I need!
Thank you very much! I will definitely use those! Both for the Shortcut Blog posts as well as the Leitfaden (And yes, I speak german ^^)
This will make trying out ADT a lot easier for me, thank you!
I'm so used to using F3 for forward navigation that I when I'm using SAPGui, I keep exiting!
Ctrl-Space also works in Eclipse for code completion.
And when you open SAPGui within Eclipse, you can use F5 to get the tree menu.
I was looking for a place to rant about this issue and I found this blog, so here is my beef:
I have been finding myself unable to find the error position in the code in Eclipse in many cases lately. Usually, it is after the parameter structure of a method has changed. I have Eclipse 2023-06 and the latest ADT plugin installed. AiE does not navigate to the error location. This is very frustrating and happens often during refactoring.
ADT (Eclipse)
Error message in Eclipse
Error message in SE80
In SE80, a click on continue will jump right to the location of the error.
In Eclipse, I have to guess or actually to fire up SE80 first.