SE80? ADT? Whatever, Just Wash Your Hands
Among other things, Latvia is known for its numerous political parties: 8 major parties share the scene with 15 minor ones, all this with the population less than 2 million. As one joke goes, “2 Latvians make 3 parties”. 🙂
The same can be true about the programmers and IDEs (Integrated Development Environment): there are as many opinions as there are programmers, and more.
In the ABAP world, we currently have a choice of two IDEs: traditional SAP GUI environment (commonly referred to as SE80) and ABAP Development Tools (ADT) for Eclipse.
SE80 is the familiar environment, with many features custom-tailored for ABAP development. Data Dictionary (SE11) and class editor (SE24) are still superior to similar features in ADT. On a flip side, it’s no longer improved by SAP and is essentially on a life support. Also, the Mac users can only use SAP GUI for Java, which does not support new ABAP editor (a major drawback).
ADT is, of course, cool, shiny, and new, SAP is investing in the tools and eventually it can become the only IDE available. (Although with the recent “renewal of vows” between SAP and Microsoft I wouldn’t discount ADT for Visual Studio as a contender.) It offers better support of OOP (except SE24 part), unit testing, and refactoring. It is a universal IDE with features that never existed in SE80. This can be a blessing and a curse since it comes with busier UI and sluggish performance.
So, which one is better? That’s a loaded question, as evident from the recent Twitter storm and a follow-up blog by Florian Henninger. But does it really matter? As honorable Enno Wulff wrote in a blog comment, “The tools do not make a good programmer! The programming skills do.”
New is not always best and old is not always worst. Finding what works best for specific use case is the key. How do we avoid mistakes on this path?
It is OK…
…not to like an IDE
There is no point arguing about personal preferences. One thing to keep in mind though: while SE80 is as good as it gets, ADT tools keep changing. If you didn’t like it before, give it another try later.
…trying to “convert” others
If you are an ADT enthusiast, show others how to do things better and more efficiently in it. Don’t be discouraged if your point of view is not immediately and universally accepted.
If you are an SE80 fan, show what makes it more productive for you. At minimum, others will learn from your experience. At maximum, SAP might listen and incorporate the desired features into ADT.
It is not OK…
…to restrict ADT use by your development team
Unless it’s not available for your SAP version, there should be no reason to restrict the use of ADT. One of the principles of adult learning is that knowledge needs to be applied on practice in order to “stick”. Developers need to learn new things and the best way to do this is at work where they can use new skills right away.
…to force adoption of ADT
I liked the philosophy outlined in one of the ABAP presentations: “Make ADT available for those who want to use it. Don’t force anyone to use ADT.” Education and positive reinforcement are much better tools and not just for parenting.
…to not be willing to explore new tools
If by this time you haven’t tried ADT in Eclipse even once, I hope you’ve already saved enough for retirement. You don’t have to like it (see above). But there are no more excuses to not even try. If for any reason it’s unavailable where you work, the ABAP Trial version comes with both SAP GUI and Eclipse ADT. And there is a completely free download version available, although CAL option is much more convenient and inexpensive by the US standards.
* * *
IDE is not the means to an end, it’s just a tool. Whether one uses ADT or SE80, it doesn’t tell much about their programming skills or personality. Instead of the “IDE wars”, can we focus on washing our hands, err… writing clean(er), testable code?
Use what IDE works for you is fair enough for Business Suite developers & where dev objects are supported in both IDEs.
Worth pointing out however that for those already in or moving to SAP S/4HANA, ADT is a must-learn skill as several newer dev objects are not supported under SE80 including:
CDS Views ( the lifeblood of SAP S/4HANA), much of the new BOPF options for ABAP Programming Model for SAP Fiori & anything related to RESTful ABAP Programming Model.
And before you retest upgrade your Eclipse - can make a huge difference
Disclaimer: Even I still use SE80 for certain things ...
The problem is with other objects you cannot edit and develop in ADT, like Smartforms or screens 🙂
And the objects that you can't develop using SAPGui - AMDP, ADSOs... 🙂
Sure, until we'll have a single IDE able to manage everything, we'll have to use a different set of tools 🙂
Totally agree. Mix and match is what I seem to be doing lately. What works best and where it works. I'm on HANA 1709 on-premise.
Thanks for the comment, Jocelyn!
The areas where SE80 and ADT "overlap" (e.g. Business Suite development) is exactly the focus of this blog post. Where something is available in ADT only, like the items you've mentioned, there is simply no choice anymore and therefore nothing to even discuss. This post clearly will not age well. 🙂 But that's fine.
I agree with Jocelyn Dart on the fact that you can't use SAP's new tools in SE80, and this is not a small disregardable detail, IMHO.
Being brutally honest; if a programmer says that he/she doesn't use CDS Views at all, either the system or the programmer is outdated.
When I need to pick programmers for a team I'll be responsible for; their choice of IDE is one of my interview questions. If someone never used Eclipse, I can safely assume that he/she isn't familiar with the concepts of the new era. That person wouldn't necessarily be among my favorite candidates.
Using Eclipse alone doesn't mean to be a good programmer. Obviously. But not using Eclipse is an indicator of being old-school, which might not be the best attribute in software industry - unless the developer will retire in a few years anyway.
I hate Eclipse but this pretty much reflects my thoughts and what needs to be done! Nice point Kerem Koseoglu
Well expressed. It's not just about the developers, but also how a company is technologically oriented. There should be free time and enough training to deal with the pros and cons of development tools.
One concern I had when I first came across the ADT (back in the day 2011 or so when it was called ABAP in Eclipse) was the amount of resources that Eclipse required; back then you could get away with running the SAP GUI on a 4GB system, but even then Eclipse required 8GB or more to run at a useful speed.
I think this is still an issue; If you’re developing against a remote SAP system (i.e. a CAL system or your organisation’s dev system) then an 8GB Windows 10 system makes ADT tolerable, but still not really fast enough to allow for a proper “commit early commit often” and TDD workflow.
Developers running desktops on less than 16GB are not going to see the full benefit of ADT, so
a) they won’t have nice things to say about it
b) their employers won’t see the benefit of it
PS, there’s also the third IDE … https://blogs.sap.com/2017/08/21/abap-syntax-check-in-notepad/
Do you know of any official document where SAP suggests the use of laptops with 16GB RAM?
That would be an enormous help to convince my IT to upgrade my machine
With some small additions Notepad++ is really nice for offline working 🙂 Not only for ABAP.
Oh, I like Notepad++, good point! 🙂
I love VS Code better, maybe u can try it!
Have you tried to install ADT on a barebone Eclipse Runtime? I have some issues when I use ADT in Hana Studio or in Eclipse for Java Developers with 8 GB, however it runs smooth with just the Eclipse Runtime.
A tutorial for this installation can be found here: https://blogs.sap.com/2019/06/07/installing-lean-eclipse-with-adt/
Exactly If, however, someone at SAP devised a devious plan how to… *err* somehow make 64 character names! available only via Eclipse? – now, that would become compelling reason for me. Ok, ok – 40 character…
I was pleasantly surprised recently by discovering that Package support https://launchpad.support.sap.com/#/notes/0002843795, Function Group support https://launchpad.support.sap.com/#/notes/0002706774, and *Tradadadadam!* of all things in the year 2019..!, support of good old GUI status https://launchpad.support.sap.com/#/notes/0002687151 has been added to SCWB/SNOTE. Life support…
Thanks for the comment! Looking at the links I'm like "whaaaat, it wasn't there before?" but I guess one does not simply go to ADT to create a function group. 🙂
Love it. You have a lot valid points and of course I also hae to say I do some parts still with my GUI... because I'm so familiar with it. For example 50% of debugging.
So I really try to follow your point as an ADT-enthusiast to give others a view on it to make it shiny for them.
The only thing I cannot understand is that there are a lot abap-devs out there not even trying to use it. Isn't that part of our DNA as developers. Stay curious and never stop learning...
My personal opinion on this topic:
Never force people do use something... this will fail for sure... but the market will also take care of those not willing to transform theirself.
Sadly no - change is not a good thing to many developers. I wrote a blog on it not so long ago. What to do when you are enthusiastic and have no support from your team mates or co-workers. SAP Community is a great place to go play and get some positive feedback.
That's a large part of why I love visiting this site. New "stuff" AND great reasons on why to use the new "stuff". Plus the huge benefit of positive encouragement or even constructive criticism. You are not shut down immediately.
I need to be careful commenting about this in public place but I know exactly how you feel. Lack of support from the coworkers (or, even worse, the management) can be very discouraging. Not sure what I'd do if it wasn't for SCN. Sometimes it's the only motivation.
Thank you, Florian! Personally, I also cannot understand why would anyone not even try. That's why I put it under "not OK" part. Don't have to like it but if you never try you won't know what's out there. "We don't now what we don't know". 🙂
If someone wants to start with ADT for Eclipse, here is a starting point. I started about 2 or 3 years ago and am still learning every day. Maybe I'm a bit slow or it's just like that. Anyone who is interested should definitely start today and not tomorrow. The way could be long 😉
Good point. Thank you for the comment and link, Michael!
A topic very close to my heart. I have moved over to the dark side since 2015 and haven’t looked back once. I have even managed to convince a couple of my colleagues to join my band too, ah that sense of accomplishment!
However, as you rightly pointed out, i never forced anyone at gunpoint. Whenever they were stuck with SE80, i showed them how the task could have been easily accomplished via ADT. After months of my nagging about the benefits of ADT, they finally gave in.
I disagree with you that SE24 has superior tools compared to ADT. OO support in ADT (refactoring, method extraction et al) is far more advanced than SE24. I ain’t even talking about S4-specific development artifacts yet.
The area where ADT is miles behind Workbench is the debugger. ADT misses the SLAD and scripting support, which is why my debugger of choice is still the GUI debugger. Until ADT catches up in these features i will have ADT open on my primary monitor & a Workbench debugger open on my secondary monitor This hybrid setup somehow works fine for me.
Can you tell me how you put a method description in ADT? 😉
You can write documentation not the description
They are 2 different topics imho
But thanks for the reference to Abap Doc that i totally missed: i usually put comments in the methods/reports/form to explain things a bit but from now i'll start to shift towards ABAP Doc 🙂
"! <p class="shorttext synchronized" lang="en">Method description goes here and syncs with SE24</p>
Ah! Dumb me! Thanks!
Check out the ABAP Doc Export feature in ADT too.. it generates a web page containing all the descriptions, parameters and documentation for each element of a class from the ABAP Doc.
Classes that write their own technical specs 🙂
You can bet i'll start to investigate more on ABAP Doc: I really wasn't aware of it 🙂
Thank you for the inputs.
To add a description method in Eclipse, you have to know/learn that it is managed this way :
- place the cursor on the method name
- then click on ctrl+shift+1
- then click on "Add ABAP Doc"
In SAPGUI, there is nothing to learn, it is purely intuitive. The presentation is tabular and very easy to read
Using the Quick Assist “Add ABAP Doc”. I’m using the latest ADT version running on the latest ABAP backend, but i am quite sure this quick assist is available for quite sometime
I just replied to Jonathan on it: am i missing (quite possible) something?
Yes, i'm dumb and i was missing it 🙂
Not knowing is ok.. knowing and not using is not
I use the name of the method. 😉
I agree on the SE24 point. For me, at least, I am much more efficient in ADT vs SE24.
I should add that the Quick Fix functionality for adding ABAP doc is an excellent way for adding inline documentation.
And when we change a parameter in the method QuickFix can automatically update the abapDoc.
The only thing I could add is it should be automatically done when activating the object, to avoid that we forget to explicitly do it.
Thanks for the comment, Suhas! Good to hear from you and I'm glad you're having success with converting the SE80 heathens. 🙂
Personally, I really like the form-based editor in SE24 and find it more convenient than the plain editor in ADT. I guess we'll agree to disagree on this one.
What do you put on monitors 3 and 4? What? You only have two! 😉
Nice blog, Jelena!
Just yesterday, I decided to leave my comfort zone of SE11 and go the Eclipse route in order to create a database table for prototyping something in a sandbox system. To help me with this, I startet to follow the tutorial to “Create a database table” but unfortunately didn’t get very far as I couldn’t even get over item #3 in the first step which simply asks to “Enter a name such as
Zxx_ACCOUNT– always replacing
xxwith your initials – and a description, then choose Next:”
As you can see, I could neither enter a description nor click “Next” and clicking on finish – guess what? – opened a GUI-tab and brought me back into SE11 .
This was one of the first things I tried after getting the latest Eclipse version (1909) up and running on my laptop so just to make sure that this wasn’t the reason, I tried the same task with the old Neon version I had been using thus far. There, the corresponding pop-up didn’t even contain a field for the description!
Searching through the quite helpful Eclipse help, I found a list of which underlying SAP-system version is needed for which functionality. From there it looks as if creating a database table completely from within Eclipse is only possible starting with NW 7.52 SP00. Too bad that we are only on 7.50 which currently gets updated from SP13 to the latest SP.
This stuff isn’t really helping with making the switch from SE80 & Co. to Eclipse.
P.S.: After running into this issue yeserday I opened a tutorial ticket which includes the suggestion to perhaps add some prerequisite information to the tutorial to show the required SAP system version (if that turns out to actually be the reason).
Thank you for the comment, Bärbel!
People have been complaining about lack of dictionary functionality in ADT all along. Even though it's improved since, I still find it rather disappointing. We do use SE11 quite a bit in ABAP.
And you're right, the version should be mentioned in the tutorial.
Julie Plummer is already working on updating the tutorial ?
It would really help if the DDIC-functionality in ADT were routinely made available for lower backend versions to not run into haphazard issues like mine but to keep things consistent instead.
Hi ladies, hi everyone,
Yes, I apologize for not clarifying that in the prerequisites. It should now be fixed.
I probably don't have as much real coding experience in SAP GUI, but I have added my personal viewpoint in a separate comment below.
Happy holidays to all!
I started to use ADT from the very beginning when it was released. But until today I use it only where I have to use it (CDS, BOPF etc.) mostly because it lacks a form-based class editor. I have no idea why it was not being added to ADT, can't be too complicated to do so. Also that after so many years still many features are running inside embedded SAP Gui is annoying.
Luckily most of the new stuff is not using ABAP at all and the future will be in tools like VS Code or SAP Business Application Studio then we can forget SE80 and ADT again...
very nice blog about that topic. I agree, that forcing people to do something is generally a bad thing. However, I think there is something, which should be kept in mind considering ADT:
On my opinion, the developer is confronted with a lot of technological topics to get familiar with. And on top there is additionally ADT - which is a must-have at that point in time, like Jocelyn Dart pointed out.
So it makes perfectly sense to start using ADT as soon as possible, even if you are not directly going to use CDS or BOPF (or even RAP) in ADT. At some point in time, you will be technologically forced to use it and when this point is reached, you have to learn so many things in addition, that you will be happy, when you don't additionally have to struggle with your IDE itself.
I don't want to say, that forcing people to use it should be applied. But at least, it is important to make the developers aware of this situation - and they will benefit from starting today at a later point in time.
Thanks for the comment, Sebastian!
I believe that it's beneficial to let adults to chose their own learning journey. There is really no right or wrong here (the only wrong would be not to learn anything at all). What you're saying is complimentary to the suggestions made in this blog and other comments. And it can help the readers make the choice that would suit best their learning preferences and priorities.
No love for SE38? That's what I used for more than 11 years 🙂 Never really liked SE80 and I don't think I ever used ADT...
Anyway 😉 Nice blog post...an IDE is just a tool...some people might like Sublime or Atom while others like Geany or VIM...it's just a matter of taste in the end...
SE38, SE37, SE24.... And yes even SE16 instead of SE16N
Yes they are all in SE80, but I seem to get there faster with the older transactions. Again I do mix and match a lot. SE80/SE24/ADT I guess it depends on my mood. (And which is the easiest at the time)
I use SE16 too. SE16N has a good selection screen but that large header on top of the list is annoying and redundant. And there is no access to the Settings menu (e.g. to switch from field labels to technical names) when you get to the data screen. I feel it really hinders the adoption when together with improvements the useful features are removed.
Thanks for the comment!
"SE80" sort of became the name that symbolizes ABAP development in SAP GUI, so I just ran with it. I rarely use the actual SE80 transaction since SE37/SE38/SE24 is just more convenient for quick access. Shshsh, don't tell anyone. 🙂
One thing that I have noticed from my team, who are die-hard se80 fans, is we get into discussions around variable and object naming conventions (Hungarian Notation Prefixes for variables which I believe I have finally talked them out of). A lot of their argument was around how it was easier to tell what a variable did, or what specifically an object was for just by looking at a name and not having to double click or dig into properties on a SAP GUI screen that would take them away from the code. I would then argue that eclipse makes this a lot better due to F2 and the ability to always have Properties and Element Info views open 100% of the time, and being able to place them anywhere on your IDE that you would like.
I can see where people on here struggle because ADT and its updates are delivered to everyone, but some of the features rely heavily on the version of your back end system (like the example above of creating database tables). Even now reading ADT release notes it's all cloud-first as that's what SAP is pushing.
I almost exclusively use eclipse for my development, and have been for over 4 years, with the only things holding me back such as enhancements, screens, etc. Luckily we are on a journey to 1909 and we are pushing newer development paradigms(CDS Views, RAP, Fiori Elements) making it more crucial for our team to get into eclipse. It's like a godsend for me, but a huge learning curve for the rest of my team.
Thanks for the comment, Jeff!
I used ADT with ABAP Trial (it was 7.51 at the time) for my own education. At work, I use it with ECC EHP6 system, so that restricts the functionality a lot. (Honestly, I'm glad that it works at all with EHP6.)
You should blog about your experience. It's helpful to learn how others customize Eclipse to their preferences. E.g. I've only learned in the comments to Florian's blog that there is some tool to increase the icon size in Eclipse. It's been a major issue for me in the last year due to vision problems.
Congrats on conquering Hungarian Notation! I've been ambivalent to it for a long time but am now on a crusade to get rid of it. Burn it with fire! 🙂
I wonder if this won't become obsolete soon in case SAP decide to switch to VS code?
But… I couldn’t help but notice the bit about “and class editor (SE24) are still superior“. According to this very blog, this statement is missing an “in my opinion”
That said, I know very good developers who are happy with SE80 – and several use the source-based class editor for the same reasons I like Eclipse.
Just my 2p, keep blogging!
PS: Why does this platform keep doing weird things with font sizes? Everything is written the same when I post it.
Form-based editor in SE24 is better than source-based in ADT and it's the fact! 🙂
Thanks for the comment, Mike!
I'm not quite sure why you claim that SE24 is better in SAPGui than in ADT (I guess, the form based editor? I used to think that, but now I automatically switch to the source code based - it's more efficient in my view).
I'm also not quite sure why you say ADT is "new"... Mind you for some people SORTED tables are "new"... 😀
For some tools there is a choice over SAPGui or ADT. For others, we have no choice.
As far as preferences go, I prefer:
What do I like about ADT?
Generally I work with Eclipse open and an independent SAPGui session. I won't see SAPGui or Eclipse is better, but as far as functionality is concerned, for ABAP, ADT is much richer.
SE24 - yes, I prefer the form-based editor. Don't have any rational explanation, it's just how I like it.
ADT is as "new" as in "New ABAP Editor", I guess. 🙂 I was sort of summarizing the sentiment in this case. ADT is newer than SE80, anyway.
Thanks for sharing your preferences! I'm always interested in reading how others use the tools. Some items on your list are simply irrelevant to me (e.g. different perspectives), so at least it makes me feel I'm not missing out. 🙂 Some I need to learn more about.
Hi Jelena, hi all,
First of all, thanks for posting. I hesitated about putting this out there, but I don't see it really covered in the other comments. Again, it's just a personal view, based on my experience - as a user of ADT, tutorial writer, and as the main roll-out, er, Mensch, for AS ABAP 7.5x dev editions.
A lot of my interactions are with ABAP "newbs", so what I want to do is open up ABAP dev - including to .e.g. new CS grads who have never considered ABAP (but may want to work for a company where it is used), as well as experienced devs from other languages. I want to lower the barriers as low as they can go. And I want these newbs to feel comfortable the first time and come back for more.
I know the cool kids are doing VS Code, and one day all our current tech will go the way of the C64 and the pack horse. But right now, we need new, smart devs to *want* to ABAP. The idea is that Eclipse is familiar to many, whereas SE80 is proprietary and thus not. (I suspect, for experienced ABAP devs, it's the other way round.)
Add to this all the Eclipse plugins*, the sharing code on Github etc etc. I'm hoping it all adds up to a toolset that more non-ABAP, non-SAP people feel comfortable with.
I don’t want to shame: I want to democratize.
Does this make sense?
Happy holidays! (Because I'm 4 hours away from enjoying mine 😉 ).
* like these from Andreas Gautsch : https://blogs.sap.com/2019/04/07/abap-in-eclipse-enhanced-by-open-source-plugins/
Thanks for the comment, Julie!
I fully support "democratization" goal. That's exactly why I'm in favor of letting everyone choose their preferred IDE and move on with our lives. If new generation is more comfortable with using Eclipse while learning ABAP then what is the problem with the older generation using SE80 while learning other new features? The end goal is for everyone to learn something new.
> SE80? ADT?
Questions, that will stick with us some more time I think!
Very nice blog, thanks Jelena Perfiljeva !
What I can add to the discussion: what is really frustrating: if you would like to use AdT, but can’t. I wrote about it here:
PS: when I read the titel "Just Wash Your Hands", I first (before I saw the publish-date) thought it was aiming towards Covid-19 - but "Wash Your Hands" is always a good advice!
Thanks for the comment! Yes, hand-washing has always been best practice. 🙂
Checked your blog post. That's the main issue I see with ADT: unless it can do everything that SE80 can (except for maybe dynpro screen layout editor), there will always be an irresistable urge to switch to the old tool, given a choice.
Throughout my projects, what I usually find when using ADT is that older ABAPers claim that ADT is SAP ABAP is not SAP's official tool for ABAP development, therefore using it should be avoided.
Personally, I enjoy a lot ADT, it was a very steep learning curve, but there are features in it that I cannot live without nowadays. Some have already been mentioned here:
Thanks for the comment! I've never heard anyone claim ADT is not an official tool. That doesn't make any sense and can be easily debunked.
Again, to me it's more about personal preference than anything else. I was actually rather annoyed by some syntax prompts in Eclipse. The method creation is definitely handy, so I sometimes switch to ADT for that. And I guess I just don't deal that much with the short dumps for it to be of huge value. 🙂
Glad to hear you're finding more efficiency tools!
Good post! the editor used not mean good quality for our code, it's just just the way!