Skip to Content
Personal Insights

SE80? ADT? Whatever, Just Wash Your Hands

Folks,

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?

/
62 Comments
You must be Logged on to comment or reply to a post.
  • Hi Jelena.

    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 …

     

  • 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.

  • 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/

     

  • 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 😉

  • Hi Jelena,

    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.

    Cheers!

    /
    😎
  • 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 xx with 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.

    Cheers

    Bärbel

    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!

          Julie.

  • 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…

  • Hi Jelena,

    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:

    When you start your journey to the new modern world with the ABAP Programming Model for Fiori and the ABAP RESTful Programming Model, there is a lot to learn. Really a lot. Especially when you add SAPUI5 and Javascript as well.

    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.

    Best regards,

    Sebastian

     

    • 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.

  • Hey Jelena,

    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…

    Greetings,

    Blag,

    • 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! 🙂

  • Nice blog

    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! 

    Mike

    PS: Why does this platform keep doing weird things with font sizes? Everything is written the same when I post it. 

    /
    🙂
  • 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:

    • SAPGui ABAP debugger to ADT – especially if dealing with internal tables.
    • SAPGui to ADT with programs with includes and function modules – due to the object browser. (If you go to SE38 or SE37 and open the object browser you’ll see that these tools are SE80).
    • SAPGui data dictionary to ADT – even for those objects that are editable in ADT
    • SAPGui “where-used” to ADT – I don’t know why the ADT where-used is so slow. SAPGui’s is much nippier.
    • Message class editing
    • ADT to SAPGui for absolutely everything else. Nowadays, I find the ABAP Editor clunky and awkward.

    What do I like about ADT?

    • Renaming variables, parameters etc.
    • Method creation wizard
    • Extracting methods from source code
    • Bigger windows – I should have realised years ago, but I only learned last month that I can drag a tab from ADT and drag it onto the desktop. Since I work with three screens this is immensely useful
    • Implementation of missing methods
    • Class refactoring
    • Splitting my projects into separate workspaces
    • Class version management – you can compare the whole thing
    • Immediate identification of syntax errors
    • ABAP Unit testing (again really quite clunky via SAPGui).
    • Changing perspectives from ABAP to the various HANA and BW perspectives
    • Local versioning – every time you save your program during a session, a snapshot is saved to your PC. For me this is the killer feature, and what finally drove me to embrace ADT. It happens to all programmers that you go down a route, then find it was a dead end and you want to return to where you were 2 hours ago. In SAPGui it’s only possible if you remember to generate a temporary version.

    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 😉 ).

    Julie.

    * 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:

    https://blogs.sap.com/2020/04/16/how-dearly-i-would-like-to-edit-my-abap-code-in-my-code-editor-that-is-abap-development-tools-adt-in-eclipsese/

    best
    Joachim

     

    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.