How to get your colleagues into ABAP in Eclipse
as the title provides, my new blog is about AIE. Now you can think, there is a own space out there and there is a lot of good content included, how eclipse work and what it does. indeed, you’re right, but this blog should give you some points, how to get the people around you involved.
The last few weeks our team (two colleagues and me) made workshops for a lot of developers in my company. And yes, there are some very interested quite before starting the workshops, wanted to know more about it and how it works and so on, but I also recognized that there are also people wasn’t that into it. Just saying things like, what should be better than the SE80 or the “New debugger”.
And exact that point a lot of us may fight with out there. If you are the one, who goes ahead and spend your time, and I’m not just mean the paid time 😉 , in new things I just thought, sharing the arguments, which I learned during the workshops.
What are the advantages in AIE? There are a lot in and it is your turn, to pack this arguments in small little presents you are talking about just by the way. You know, just let the others ask you for more information and not run run run without getting a step forward.
Ok, enough of why and how to provide these points. As recognized in my other blog(s) (of course, if you read some 😛 ) I like a list of points, everybody can work through.
If you got points to add you are free to leave a comment. From time to time I will check on this and enhance it to the blog.
1st Point Edit while debugging
How cool is that, you just can add lines to the coding in the same moment you debug trough it.
I got a lot to debug during my days as a developer and that feature makes my life a lot easier.
2nd Point Compare coding between different systems
Ever faced a difference between system A and B? My company delivers own products as Addons to the SAP System, so from time to time I recreate the example in our system, to see, if it works in the same way. Now I can see just a click away, if there is a modification in without checking the version-history. You know, there are some includes, which got more than 3 versions 🙂
3rd Point Breakpoints or ByeBye paperwork
Breakpoints are just saved in that moment I set these to the coding. I do not have to download a debugger session or have to notice me a lot coding parts to get the same result as yesterday. You know, I got a paper next to my place, where I wrote include name and line numbers down, to find the same spot again. ByeBye paperwork 😆
4th Point Bookmarks
As always, some of everybody’s coding returns. So it is with mine too. There are more than a few spots in the sap-system I say hello again. As mentioned in the third point, I had a digital paperwork to fight with these. During my time, I collected more than a 100 documents in my folder to be prepared, next time fighting the dark data again. But, it isn’t easy to remember the collected knowledge in such a folderL Now, I got all in one place, I can archive my knowledge by creating bookmarks and name it in a good way. That will save me a lot of time.
5th Point One debugger, just one?
Who did not say annoying words about the limit of six modi in the past. Yes, there is a way to get twelve, just logon twice, but is this a solution? You have to know in which of your logon you stay at the moment and moreover, you want to debug something and here we go, the system say: “No modi for your background-debugging left, I’m sorry” or it throws you in the classic debugger…. Ok, I don’t want to argue with the people loving this one. Hey, it’s your joice and I do not say it’s bad, it’s just like having an old car. Could be an awesome, could be 😉
Ok, there is a small bug included, it change the perspective when starting debugging, but do not return, when running through it, but that is one, I can easily life with. The second is, at least you may now have the problem, that you use six debugging-modes. That restricting is not gone 😎
6th Point I return tomorrow
That is really big point to me, I can leave my hole work in one moment. Sometimes I got meetings in the evening and before that, I was into a problem, got a lot of coding in front of me, set a lot of breakpoints (ok, I repeat a point, sry for that) and I have to go. With eclipse, it isn’t that hard to come back tomorrow and shut my laptop down, because I get the same view to my coding again. All my windows remain, all my coding is still there and at least, my cursor is set to the same line and position. How awesome is that!
7th Point Customize your perspectives as you want
Yeah, just a really simple feature to all of the developing tools out there. In the time as an Abaper I nearly didn’t remember how cool it is, to have everything in my own way. Got a big monitor in your office, make an perspective with a lot of views in and call it “The office view”. Got a meeting, call the “Notebookview”. You know what I mean and this is awesome.
8th Point Shortcuts Shortcuts Shortcuts
In the first moment, all of you think now, how could this a cool thing? If so, you didn’t use these in your system at all. I also used just a few of the developed in the system.
Not that I’m not liking shortcuts, just the problem was, you have to differ to much in SAP. Execute is F8 or F5 or CTRL+SHIFT+F1. Arrrg,I cannot write it down, but I think you feel with me. That’s gone now!
If you gotlearned a shortcut you can use it in every perspective and it will be always remain the same. That just counts for the developing and not for the whole system, but this feature will definitely change your developing process in a good way!
BTW: To show all the shortcuts, there is a shortcut CTRL+SHIFT+LJ
9th Point ABAP Test Cockpit (ATC ) and ABAP Unit
Yeah, this is not doing anything other than the one in your system. But you can see the results and your coding at the same time, working through it, enhance the parts you need to and check the results. It is hard to explain, just give it a try and if you show it to a colleague smile at the moment of processing. Sure, that implement, that you use such tools in your company 😉
10th Point Block Highlighting and error detecting on the fly
The small blocks located at the right side of the coding are very suitable and makes a lot easier to navigate through the coding. If you want to learn more about this feature, here is a blog about it
11th Point Refactoring-Tools and the Quickfix Menu
All the stuff which is implemented in this features. I mean, this story is too big to add the new possibilities to this point. But if you cruise through the different blogs in this space here, you can learn a lot about these two (or is it at least one big?) features.
(BTW Screen is a mixed between German and English)
12th Point RSS-Feeds
Ok, if you can take that point to get people into AIE, I don’t know;-) For me it is an awesome feature to get informed, when someone creates a new blog here in SCN and I ‘m just a click away…
So, that’s it. These points above were recognized as the cool one’s during the workshops. I know, there is a lot more to learn, but these points made the attendees get a smile on their faces or even talked about it and wanted to learn more. So in the end, I can say these points are very easy to follow and to give a good point-by-point comparison why to use Abap in Eclipse.
I can everybody recommend to learn more about using Abap in Eclipse and get to a new level of developing ABAP. As the slogan says and it is really true in all ways:
ABAP in Eclipse – Develop Like Never Before
Thank you for reading my blog. Hope you enjoyed it. IF I’m with anything wrong or I have to correct something let me know.
thank you for sharing this great blog. "Bringing in colleagues" was on of our major topics last year at my former employer. First people are quite reserved but when they saw the features you mentioned above most of them were fascinated and very interested in getting hands-on. One of the most impressive functions is Ctrl + Shift + A and the ABAP Doc displayed "at fingertips".
In my point of view it's very important to give choice to the developers - wether they work in ADT or in SE80. Most of them installed Eclipse (even at my new company).
yes your right, that is one of my favorite shortcuts. There a a way more awesome features. Just all the stuff I didn't recognize till now or what is developed from third-party.
So much oppurtunities, less time to explore the features 😉
Thank you for the feature review, I will check these out and hopefully they will outweigh my major complaint about installing the tool.
The only problem is that install of this tool is painful. It's not a straightforward install and instead requires you to hunt and find eclipse plugins that without searching via google / looking at SAP Notes you would not find the answer.
SAP really needs to rethink this the install/download process and provide a SAPinst equivalent installer for this tool, instead of forcing people to go through 30 pages of documentation just to install tool. It's much much easier to deploy the SAP GUI centrally to thousands of users and configure the installation packages than to deal with this mess.
there is a very good guiding here in this space available.
Get Started with the ABAP Development Tools for SAP NetWeaver
If you face some problems, let us know 😉
That's the problem I did read through the documentation and I was able to install everything eventually without error, but once again the procedure is painful. It would be much easier to have a central install package that downloads/setups all the required components. I was lucky that my machine already had the JRE installed so I didn't go through that pain.
There are also issues that are not as well documented when you run a 64bit environment with a 32bit SAP GUI which I don't know is recommended nor does the documentation state that.
My point being is that the install process is the type of pain that I would have expected 10 years ago. You can call it modern tool, but when you don't provide an easy installer then it's not a modern development tool. Then again I'm spoiled by using OS X at home and have low tolerance for manual installation steps instead of just dragging an icon on a screen to install stuff(I did this install on a windows box). However why can't SAP make it that easy, and why shouldn't be that easy?
I guess what you describe is the long install guide PDF file from service.sap.com.
Have a look at this install guide.
It is much easier and results in the same installation:
SAP Development Tools for Eclipse
That's even worse as it doesn't tell you all the other stuff needed in eclipse and was where I started originally before reading some of the notes and download/install guide to get through finding the missing errors.
Once again the install steps are cumbersome by any era standards. My ideal install procedure is this:
- Download installer
- Run Installer - Installer does everything for you and configures everything
- Launch software / check for updates / restart automatically
- Put in system information and start coding
Right now it's like
- validate java JRE, if not there download JRE / install JRE
- validate SAP GUI 720 installed if not there download SAP GUI install SAP GUI
- download eclipse / install eclipse
- install a bunch of plugins for eclipse to allow installing sap tools
- install sap tools hope that you installed the right eclipse plugins or otherwise they wont' install
- fix ini files for eclipse
- fix system variables for SAP GUI and eclipse tool
- fix SNC library environment variables(only if using SSO)
- put in system information and start coding
Once again why do we consider this a good process? Please explain to me why having to cross validate a whole bunch of system requirements is something we should make people waste their time on?
ok. There are prerequisites. JRE+SAPGUI+Eclipse.
But if you follow the instructions in the link I send you, you do not have to worry about the eclipse plugins, they are all installed automatically.
your last points:
- fix ini files - what for? Taskbar icon? Thats an eclipse bug, not ADT.
- fix system variables - why? which? I did not have to do this.
- put in system information, start coding.
-> maybe it would be a nice feature for future versions to have the option to import all SAP GUI system entries as projects.
Hi Stephen and Dominik,
out of your arguments I read, there is a bit of truth included. But as you know, eclipse is a plattform product with many adoption-options. In my personal thinking, I won't have an Installer for this thing. I want to decide by my own, what to install and what not. I think there are a lot of developers out there, which just enhanced their eclipse.
But you are also right. Might be an interesting story, to have an "I don't care" package for download available.
Now, we discussed about it, this will be recognized. I'm sure 😉
But can we now get back to the main topic again. It is really a nice discussion, but as the word say, it is a discussion and not a comment.
I created a discussion here:
What ways are conceivable to install AIE-Tools?
So we can go further and find perhaps new solutions 🙂
You missed my point.. your blog is how to get your collegaues to use ABAP In Eclipse. I am pointing out despite all the cool features you list, without an easy installation option, you will never convince the old-gray hair ABAP'er to even look at it until you remove SE80 from the SAP system.
Once again the first impression experience from installation to loading up your old code in the new tool matters. If you want to get people to use the tool, then the cradle to grave lifecycle needs to exceed what you are replacing. I don't know why that's not relevant nor why you want to ignore that.
I do not want to pass out the idea. I'm sorry when my answer transported such thinking to you.
I think the installation itself is another story to tell. So I do take care about your idea and I find it very interesting to see the different advantages of installations.
In case I'm facing the same how to get all the people inte AIE without having a lot of phonecalls, if the notebook change or the link is gone, you know 😉
That's why I passed it to a own discussion to collect the different ideas, take my own experience with it and in the end (perhaps) get a good for all solution.
Okay that makes perfect sense now. My biggest challenge is that if I were to give this blog of all the interesting features in the new tool to other ABAP developers, they are not sysadmin savvy and would probably give up long ago in trying to install the tool.
Most ABAP developers don't install their own development tools, instead someone else manages the SAP GUI environments. A large portion of the audience doesn't want to have to "sysadmin" their machine in order to do "hello world".
If you haven't read this Are you there, SAP? It's me, Jelena, then you need to do so. It's funny but true and explains what non-Netweaver 7.40 base thinks about the new approaches 🙂 .
I have gone through the idea being discussed here.
Kindly provide the detailed implementation process of integration of ABAP development toolkit in Eclipse.
here you find the detailed implementation guide.
ABAP in Eclipse
(It is located left hand above the 12-Month Leaderboard)
Isn't that hard to find 😉
Thanks for your response.
I am trying to install ABAP plugins in my Eclipse (Juno).
Whenever i am trying to give URL as https://tools.hana.ondemand.com/juno. in my install s/w option. Its returning an error that it is not recognized.
Again, https://tools.hana.ondemand.com/juno. this url is not opening even in browser.
are your proxy settings for https correct declared in Window -> Preferences -> General -> Network? Maybe you have to put the update-site to your "trusted sites".
Especially in enterprise environments you have to be clear about the man in the middle (proxy).
If you have any further problems maybe it's best to open a separated question in this AiE space.
Yep, that is most times the problem. Check the proxy-settings and set it similar to the explorer-ones. I got exact the same issue in the beginning, out of that my company-firewall.
Thanks Florian for a wonderful blog.....
Florian, from the "peanut gallery" of gray-haired ABAPers I think I might provide an explanation to why some people are so reluctant to switch to the latest and greatest thing. (We've had a somewhat similar discussion just recently regarding ABAP OO vs. Procedural, by the way.)
The thing is - it needs to solve an existing problem and improve something we really need. I had a chance to try a bit of hands-on with Eclipse and absolutely hated it. But also I just have no need to save my breakpoints and such, so really I'm perfectly fine with SE80 and see no incentive to switch to anything else (well, at least voluntarily 🙂 ). So this could be simply a matter of "don't fix what ain't broken" vs. people being un-progressive. But again if someone was unhappy with SE80 I wouldn't spend time trying to persuade them otherwise. As Martin pointed out above, having a choice is important.
Having said that, I do appreciate you highlighting these features because it allows us to make more informed decisions regarding our development platforms.
P.S. I had to use Visual Studio few years back and it irritated me to no end that nothing happens when you double-click. Just wanted to give SE80 a big hug afterwads. 🙂
I'm absolutely with you. I can understand all the people saying, why should I use something different in case of I get everything perfectly done with the SE80 (BTW some said SE38 😯 ).
Perhaps I'm a too hungry guy want to learn new things and getting into it.
As you said, at least you put your hands on it and decided (for the moment). So I'm with you. Othersides I cannot understand the people just saying everything is fitting perfectly and not giving new things a chance.
I think, there are a lot out there, who doesn't know about the features and didn't figured decision out by themself, moreover someone passed by and said something like "Ahh, SAP is going to deliver a new developer-tool, who cares about it"...
(I think you understand, what I want to say)
And that is the wrong way! (in my opinion)
PS: Yeah double-click is gone, but SHIFT+Click is awesome too 😆
I am a bit surprised about your statement that you "absolutely hated" eclipse. What is it exactly that you don't like? I gues not only because of the missing double-click navigation.
Concering the problem we want to solve with Eclipse:
1.) There are lots of developers out there without SE80 knowledge. We want to onbaord these developers also to the ABAP community and therfore have to provide an alternative for them. And my experiences of the rollout (e.g. the AIE Codejams or at teched) showed that eclipse is a very good alternative.
2.) Providing attractive business applications is not possible anymore with pure ABAP server centric programming model built with SE80. So the developer has to master a broader range of development skills (Mobile, Cloud, Big Data). Having Eclipse as the integration platform for all development tools with an harmonized user behavior is for me a big advantage.
And as others already said in that blog. It is your choice: SE80 or Eclipse or both in parallel. We designed the architecture in a way that working in parallel with both IDE on the same system is possible at the same time.
I know you asked Jelena, but I have some very good reasoning that challenges SAP's entire approach on development tools, so let's review them:
1) A super fat client to perform development is a "downgrade"
- Eclipse is a 10+ year old development tool that has been "hacked" to fit the ABAP language. Every version I have run always runs with "poor performance" unless you have the latest modern hardware. It's the opposite of taking advantage of having large enterrpise or cloud based farms to handle the heavy processing requirements of development.
- The installation process is not neat. The fact that you need to download three or four different parts to install the tool and there is no enterprise grade installation deployment tool provided by SAP does not work if you are environments with controlled admin rights.
- Modern cloud computing should only require a browser. Install fat clients to do development is so client/server and SAP should be ashamed of telling us that 10+ year old desktop fat client toolset is the "future".
2) Outside focus design ignores your install base
- The folks paying the maintenance fees are being completely ignored with the focus of the tool. You are not designing in a fashion that is friendly to anyone who owns your products.
- No rational logic of offerings provided by SAP. SAP owns powerbuilder, why produce or have two different development toolkits.
That's basic problem it's not the tool itself but rather the entire approach to development tools. ABAP in Eclipse is such an early 2000's solution to how to solve having a central development for all these solutions. There was no reason why in 2002/2003 beyond time/resources that SAP couldn't have done the same thing and there were similar pressures of having portal, abap and other language development in one place. We need modern browser based non-fat client development tools that advantage of the cloud scability instead of hacked fat-client solutions.
I just remeber another disucssion reading this "fat client" stuff and some guy propose the Eclipse Orion as an alternative, http://www.eclipse.org/orion/
Despite if the development environment should be in the cloud or not, if I focus only on eclipse vs SE80 as development environments, I really like eclipse my only pain is we don't have the webclient integrated, and this is the only reason because I don't use it as my daily basis.
I'm tired of having a 4 Inches Windows toolbar in order to have all the SAP GUI modes, and of course I'm limited by the number of sessions, and I don't mention working with different languages, one editor for HANA Studio, another editor for Java (IPC) etc. Each time one technology is added to the SAP Ecosystem my Widnows toolbar grows 1 inch... 🙁
You also have the feature explorer to check some very cool features:
Get more out of ABAP in Eclipse with the Feature Explorer
We never had something so cool in SE80, "Guys we improved the editor, the new stuff is....ehh.....in SCN, HELP.SAP, KBAs, Notes, in the air..."
Right now feature explorer content Is very basic, It will be enhanced with more features in the future, but only checking this ones it makes some good difference with SE80.
Downloading/installing/configuring/deploing Eclipse with ADT is a pain?, as we already discussed in other threat, yes and SAP should do something about it, but Eclipse beats SE80 by far. Someones can say "yes yes, but if they work on SAP GUI as much as they work on the ADT we already would have those features" I agree on that, but as Stephen said, they had plenty of time to invest on that and despite some improvements (control+space) no badass changes had been peformed...sooo....I LOVE ECLIPSE, for this reason SE80 sucks? nope as VIM doens't sucks either, everything has its public.
we will see what Thomas has to say to your reasons. But in fact, a really big client with 600MB?
This Tool got more than 10 years of expertise to fit and really help developers to do their job.
Second point, it is a open source tool. Now I can have all advantages I ever wanted before. I can choose my own setting without being ruled by SAP at all. I want something new, no problem, search the eclipse community.
That are big advantages to this tool.
Sorry, I'm not getting your point. Might be other platform got also advantages (as we discussed and I'm with you), but you never will find a solution everybody will be happy about, that's a fact.
In my opinion I'm really happy to have eclipse (back).
Hope you find also some advantages to use eclipse at all.
407 mb Eclipse Kepler with ADT 🙂
mine is 600MB with all the additional content I want to use 😆
Thank you for correcting me.
10+ years ago when non-SAP developers were complaining about SAP tools the problems listed where one:
1) SAP GUI is fat client based on archaic client/server techology
2) SE80 is difficult to use
3) Everything should be accessed via web browser
So instead we get
1) 10 year old desktop client software that has been hacked
2) Lowest common dominator user interface in name of being open
3) Non-browser based.
The folks preaching all the "cloud" stuff say that using non-browser based stuff is bad, and that user experience is important. We then get a development experience that is no better than tools available in 2003 for java and my question is why? Where are the visual composer style tools for river, abap, html5, etc that go beyond this horrible obession that editing flat files with a pretty print and completion wizards is "modern". Where are my graphical development tools that are more based on modeling.
That's why I feel eclipse in ABAP is a step backwards, because we are going backwards in mentality of people editing source files like other languages instead of going forward and modeling. If you real think installing thick client(non-browser) desktop software for developers is valid solution then you contradict all agruments against browser-based interfaces for application users. I want as a devleoper to have the same user-interface experience in a browser as application user and not have to install stuff. I want true cloud based development tools for a modern world. I don't want my thick SAP GUI client replaced by another think client on my desktop. That's my point we are thinking too small with desktop client based solutions and that's the problem. I expect the solution to lead and not just copy what everyone else is doing because it's convenient. Quality is not job one, it's being totally amazing instead. Eclipse is "quality" not amazing.
Ah ok, now I'm starting to get your point. Thank you for clarifying it. I'm not sure, if SAP-software can be included in such thinking that other languages got.
But this is just a thought of mine...
Thanks for sharing your ideas with the community.
Is Visual Studio online? XCode? Android Studio? I don't this "if it ain't browser based it's broken" reasoning.
Is not like SAP is the only company in the world using non-web IDE. Microsoft, Apple, Google, all of them use fat clients.
Yep you are right copying everything that everyone else is the way to go, instead of trying to innovate in the space. Just because everyone else does things a certain doesn't make it a correct or right solution. In fact many consumers will/may suffer personal losses because the IT industry did the lazy/trendy thing by adopting a solution and not verifying that it should be use productively.
I used eclipse with the SAP Portal tools back in 2002/2003, so why is this weird obsession with fat client based development approach? I think all the desktop development IDE stuff is at least 20+ years old. But I find it strange that SAP is taking the ABAP language backwards by switching to a development tool approach not designed for cloud originally.
I could do without the sarcasm. Besides I didn't say that, what I said is that you can't say SAP are some kind of odd freak that still uses fat clients, when the largest development companies in the world like Google also use them. Android Studio is not even out of beta.
And just because it's your opinion doesn't make it right either. A lot of people in the world disagree with you, and yet you speak as if anyone that disagrees with you is living in the stone age.
You can have your opinion, but you are being way to aggressive towards anyone that disagrees with you.
You miss my point is that I had this exact conversation when SAP launched Netweaver back in 2003. I even worked with pure java developers(non-SAP background) who really didn't like eclipse or any of the SAP plugin tools developed by SAP for the toolset, so it's not really an SE80 thing.
You actually bring up great point however despite the whole industry pushing cloud/mobile we are still tethered to desktop/fat client tools for development. Once again why not give developers the same high quality cloud based user experience for development as end-users. I never said AIE was a bad tool, it's just the wrong approach after 11+ years of Netweaver and is something that could have been developed in 2002 as easy as 2013. Products like HANA would never been produced if SAP followed the popular approach when they developed it. That's the real point.
I think we all agree with you Stephen.
I've been trying to use Eclipse but I think I'm going to stick with SE80 and SE24 for now. I've been working a lot with enhancements, and sapscript, and "ordinary" stuff like that, so I don't really get the advantages from Eclipse...
AND working on Eclipse is considerably slower. I think it's because of the real-time syntax check... which is an excellent feature, but I guess it relies on the server and with a slow system it gets really slow. Maybe there's a way to turn it off to make it faster?
Regardless, even though your opinion is perfectly valid, for most people the question that really matters is whether Eclipse is the best option available at the moment or not.
yes, you can turn off the automatic syntax check in the Eclipse Preferences:
The corresponding checkbox is located here:
-> Source Code Editors
I would be interested in getting to know whether that speeds up your ABAP in Eclipse.
"a correct or right solution."
Heh! Lately I've been quoting Nietzsche almost every day. But I'm going to quote him again, this is one of my favorite quotes:
“You have your way. I have my way. As for the right way, the correct way, and the only way, it does not exist.” - Friedrich Nietzsche
SE80 is difficult to use? Coming from the mainframe background with black and white text based editors where in the worst case one actually had to move the cursor to the right bottom corner of the screen in order to save the page, SE80 is like heaven. 🙂 All those darn kids have no idea how good they have it. 🙂
It's not as easy to use as Visual Studio for example. You shouldn't measure SE80 on such a low standard when there are better options available. Just because there is worse out there, doesn't mean it's good, it's not. Refactoring anyone?
But I do agree that in order to replace SE80, AiE needs to get better and better, and show old school ABAPers how things are done in modern IDE. Problem is you don't miss something if you don't know it exists.
Refactoring is a basic funcionality that SE80 doesn't have, but if you don't know what it is.... you don't miss it.
Sticking with the "if it's not broken, don't fix it" is the best way to get outdated, especially in such a competitive environment in which we are living today.
Many developers "refuse" to program in ABAP OO, for example, and in my company we are contemplating adding ABAP OO to the job description in the future.
When you start, there is nothing. And you spend a lot of time and effort learning something. But you have to be "mature" enough to accept that there might be something better. And maybe all that time and effort you spent learning something, maybe it was in vain. But so be it! Better accept it and move on than crossing your arms and "drowning".
Which should be unacceptable. But people who don't know object oriented programming don't even understand what they are missing. ABAP is one of the ffew areas in which being "legacy" is almost cool.
To me OO is a deal breaker, people must it use because it saves a great deal on the maintenance.
Not really. Although the biggest problem actually is that forget OO - there are still too many ABAPers out there who don't even seem to know that SELECT ... JOIN exists. Or I found some code just yesterday (from a consultant) that had 10 nested IF statements - I'm kidding you not:
With folks like this pretty much any change would be an uphill battle.
I'm sorry but not knowing OO is, for many, a deal breaker, and rightfully so.
Or would you hire an ABAP developer who would never be able to implement a BAdI?
BAdi implementation can be done by looking at tutorial. Reading OO book is not required for doing it.
Instead of breaking code into methods, coder will call an FM.
Sorry but I strongly disagree. If you think it's that simple, it's because you've never shared a system with many OO illiterate developers in an international environment.
I've seen BAdI implementations, where ONE METHOD has THOUSANDS OF LINES, with huge IF statements checking for client, sales org, etc. Impossible to read, error-prone, etc.
Actually, this is one of the reasons for my investigations into the BAdI framework I've shared before.
You may argue which one is better, OO or procedural. I'm trying to use OO as much as possible, even if the only good reason is that it will keep the functional consultants away from it.
But you CANNOT argue that not knowing at least the basics of OO is not a MUST to be a decent ABAP developer nowadays.
You don't have to know OO basics in order to implement a BAdi.
You don't have to know OO in order to break thousand lines of unreadable code to smaller readable chunks.
So you would code routines inside a method?
I won't code routines inside a method.
The big difference is that with object oriented programming it's much easier to find where to change something or where to debug.
If I have an object called container, and I'm posting a receipt in a plant, I go to Z_CONTAINER, DO_RECEIPT. It's intuitive. The usage of GET, SET methods alllow much more flexibility for properties.
OO and MVC increase the reusage of components and reduces the maintenance cost (for large enough projects).It still pains me to see GUI programs with the business logic all attached to the UI.....
you don't need to have OO basics of course, but you have to think about it anyway.
Most times the problem is not OO programming ends in thousand lines of coding in a row because it was that easy to get access to other globals without thinking about it twice 😐
Yes, I think about best way to do things.
It doesn't mean I have to become a fanboy and participate in every debate, or steer discussions towards OO vs procedural debates.
It goes into OO vs procedural, because that discussion is old school vs "new" school.
The ones that are more open to Eclipse are usually the ones that use OO, Web Dynpro and SAP UI5, while "procedural programmer" cling to SE80.
PS: It's not enough to "simply" implement a BAdI. You have to understand it.
If you have 2 completely unrelated requirements, each should be implemented in its own BAdI implementation.
I'm sorry, but arguing that everything can be done without OO is a very poor excuse for ignorance.
The blog is about ABAP in Eclipse.
You mentioned OO and BAdi, and then turned it into OO vs procedural argument.
Stating a fact that BAdi implementation is simple does not mean it is a poor excuse for ignorance, or reluctance towards OO.
I definitely didn't want to turn this into an OO vs procedural discussion.
I used OO as an example of the fact that a lot of people have trouble with change. And, sometimes, this "problem" can get them in a lot of trouble, where they fail to keep up to date and eventually see themselves in a very difficult situation. It has been like this historically and in many areas, not only development.
"Unfortunately", Jelena and João picked it up and launched the discussion on OO vs procedural, but, in all honesty, all I wanted was to provide an example that sometimes the slogan "ain't broke don't fix it" is not something you want to hold on to. I prefer another one which is popular in Portugal, which, translated roughly, says:
You should always change for something better. - Popular Portuguese saying.
What do you mean? 🙂
You know that sometimes some functional consultants like to venture into the technical side of things and change some stuff themselves... many times doing more damage than good... I've seen many times developers "praising" ABAP OO because these functional consultants that like to code a line or two (also known as weekend drivers) don't know OO and keep away from it.
Specific examples where procedural may be better (i won't even try to discuss the example) don't mean much. And there is such a thing as being too formal, I use internal tables even when I program with objects, because they are useful sometimes.
And I won't try to use OO in a program where performance is the most critical requirement. OO provides better maintenance, not better performance.
EDIT: Well I will try to discuss the example. The program is way too small. He concludes that it is easier to change, but this is a very small example. OO is good for large programs, the small ones are easy to change anyway. And by the way, do you use Webdynrpo ABAP for large applications?
Actually it was always the Java/Eclipse folks who called SE80 too hard. I personally thought it was more about refusing to learn the language since compared to VI, EMACS, XEDIT, pico, notepad, etc, it was much easier 🙂 . Once again it goes this mentality that if you don't edit source files directly then it's impossible to use.
The funny part about all these arguments is that this was all being said around 2002/2003 and we are acting like ABAP in Eclipse is some completely brand new concept. Oh well, I guess we never learn.
I honestly don't understand why everyone got so worked up about this. From what I see, no one is forcing anyone to switch to Eclipse and, vice versa, no one is forced to stay in SE80. Everyone has personal preferences, which are subjective. And discussions like "my tool is better than your tool" out of context seem, quite frankly, a waste of time. Is a power drill "better" than a screwdriver? Well, it depends on the task, doesn't it?
Should SAP make Eclipse easier to install (or provide an even better environment)? That would make sense. If someone doesn't like SE80 or it doesn't suit his/her purposes, should they switch to Eclipse? If it's technically feasible, then by all means - have at it. Should someone who has no interest or use for Eclipse features suddenly embark on a journey to install it? I honestly don't see any point in that and would have hard time explaining such activity to my manager. So the question is not really (or not only) "how to" but also "why" and "when".
Personal preferences are subjective, but there is room to discuss because those preferences are many times supported by erroneous ideas. I like A because I don't know anything else is debatable (I'm not saying that's the case) but there should be open mind to discuss even personal preferences because they change with new information.
Didn't you ever need to change the name of a method that is already being used? In a modernl IDE you rename the method and it gets replaced in all calls. Not in SE80....
Keep posting! 😉
Hi ABAPers 😎 ,
yesterday Gregor Wolf told me that there is a heavy discussion about this topic. Maybe a good way to provide the ADT to your team mates is to create an ADT environment and then create a zip-file containing this environment. Of course SAP GUI has to be installed and JRE as well, but the first one has to be there already if this is an ABAPers workplace and the JRE can be distributed by the system guys.
The basis guys have to apply the needed roles and then you can give a hands on session at your company.
Some will find it useful and others say: "hey I do SAP Script, I do not get any benefits" - and that's okay as well. No one should be damned to use Eclipse if she/he doesn't like it. The other way Eclipse mustn't be forbidden for the ones who want to try it or work with it - every developer has her/his own environment where he performs best (even if he uses notepad++).
thanks for this post. By the way you can also pack the Java runtime in the zip File.
The only thing you have to do is to specify the folder of the JRE in the eclipse.ini file.
I was a sceptic: why abandon the one complex environment I know (SE80) for yet another powefull complex environment I have to learn? Then I went to SAP CodeJam last year. This is how they got me:
Now I do not feel I have switched, since I use SE80 like a plugin in Eclipse. Will I switch ? eventually!
In my view, Eclipse provides the best experience with Eclipse with enough screen real estate and a modern machine. All the graphical tools then really shine (e.g. code coverage tool got me into writing more unit tests)
Let us not forget the pain of Eclipse: install, configure, update the system myself... was not used to care that anymore. Other limitation are backend version, small laptop screen, and I think the learning curve. Without the CodeJam session, I would probably still be a sceptic.
thank you for your reply. It is exact the way you mentioned. Going to Codejam will make the jump into eclipse a lot easier, if you didn't work before with it. That's why I'm taking part next month 😉
But the small laptop screen isn't a big fault. Moreover, I got a lot more options now left than in SE80. Mentioned at 7th point you can have a lot perspectives at the same time. So I can switch really fast between them. Coding - Transports - Testing. You just have to configure all the necessary stuff in a good way one time.
Ok, you need a bit more, because you have to test and improve your own settings during the time 🙂
But that is an additional work I love today...
Another good feature is the export option, so maybe you would like to share your perspectives with us? 😀
which Export function do you mean in that context?
I'm thinking about the 7th point, perspectives.
in the next weeks after the codejam (28 May) I will share mine. I need to test the Laptop-perspective and have to reorganize the others a bit 😉
Perhaps there are some people out want to have a look at it.
Hey, that would be great, thanks.
I was trying to force myself to use Eclipse at work today, but I ran into a lot of trouble...
But I thought... ok, this is all very specific, maybe developing "per se" is much better.
So, I had to do a modification in a class. I tried again Eclipse. But I switched back to SE24. In SE24, I can type a non-existing method in the code, I double click it, and I get prompted to create it, because it doesn't exist. In seconds I can use, declare and implement a new method. I have no idea how to do this in Eclipse, or if it's possible.
If you guys like it so much, I have the feeling that if I'm not enjoying it so much it's because I don't know how to use Eclipse very well... but so far I feel much more comfortable developing in SAP's tools than with Eclipse.
Maybe I need some hands-on examples to get acquainted with Eclipse's full potential.
Kind regards, thank you!
since a couple of days we have the new Feature Explorer available in the eclipse environment. This is a good starting point for you when you are not familar with ADT.
So please try this out: Get more out of ABAP in Eclipse with the Feature Explorer
and read ybout the details.
There is also a SCN mission around the Ferature Explorer. If you like it you can earn a badage: Become an ABAP in Eclipse Feature Explorer and earn the Explorer Badge
The functionality for creating methods out of the editor is "hidden" via the so-called Quick Fix function of eclipse. So you do the following:
1.) You enter: CALL METHOD inst->do_it( )
2.) After that you will see a syntax-erro that the method does not exist
3.) You position cursor on the method name and press CTRL-1
4.) In the upcoming popup yoiu choose the entry 'Add method'.
Editing of enhancements and modifications is currently not supported with Eclipse. But we are working on it. Display of enhancements is already possible on the latest NetWeaver release 7.4.
I have completed the mission already 🙂 (Well, I have written the blog entry, but I don't think I have the badge yet). Anyway, I don't care about the badge, I wanted to learn how to work with Eclipse.
And I did, but for some reason, I still feel more comfortable with SE24 than with Eclipse.
Like I said, I have the feeling that if you guys like it so much, and I don't, it's because I still don't know how to use it well enough.
So I'll be waiting for updates and for new "feature explorer" tours. Maybe eventually I will prefer Eclipse to SE24.
Did you check the quick fix (control+1) to generate a method?
Create a new method in eclipse editor via the form-based method wizard
I did not, but I will, next time.
I tried it now, it's awesome.
I am experiencing more trouble, though.
For example, if I press F1 to see the abap documentation help, I am unable to click any of the links that show up. All I get is the list of related topics.
And now when I tried to save my work Eclipse is crashing everywhere 🙁
Thanks though, I think this is definitely on the right track!!
Have you checked whether the ICF services for ABAP Language Help have been enabled in your system?
Please refer toConfiguring the ABAP Back-end for ABAP Development Tools (chapter 3)
Unfortunately, class editor can't save each and every constellation in the source code, because it has to separate the source code to the several includes (compare to include structure of SE24 (form-based)). Whenever you might lose source code, save is canceled, by the editor.
However, when you are in such a situation, the editor should located the problematic source-artifact in problems view. If this is not the case in your situation, the following note might help.
If it does not solve the issue, please let me know.
As for the RSS feeds, you didn't mention that you actually get a notification if a DUMP occurs for a program where you are the responsible person. That's awesome.
thank you for bringing this point to my mind.
There are a lot of additional features implemented. After the codejam next month I will publish the next blog with features I like and of course, I will explain some of it in detail. The RSS-Feed with the dump-notification will be one of it 😉
The only problem with the DUMP feed is that usually a developer will be attached to the development system, and the more interesting dump (at least more urgent) occur in production.
Yep, but I hope we get a feature to redirect the feeds to other users. You know, having a Go-Live week and every dump is redirected to someone at first-level support without tracking all the day.
I can imagine something like
usergroup A(SD) to Support1-User
usergroup B(MM) to Support2-User
Let's look forward to the next updates 🙂
Thanks for this blog. I haven't started with AIE yet, but am about to. Interesting.
Thanks for a really good blog to help with the good arguments for making the switch to Eclipse 🙂
I have an issue, that you (or someone else watching this thread) may be able to help me solve. If I have the full name of an ABAP development object eg. a class name, and I try to look it up using
Ctrl-Shift-A, I would expect it to be blazing fast, as I have the full name, which is unique. However, it is quite slow, which makes it a bit hard to persuade my colleagues to make the switch, when something this simple is extremely slow.
I have searched for notes, and I also found some that sounded promissing, but it turns out we already have them implemented as far as I can see.
Any good ideas?
One aspect is to do the indexing. As you didn't name the Note I suggest you found that.
Additional to that you can also specify the type of the object.
To do so you open the search, put your name in and specify it afterwards with "type" and now you can use ctrl+space to select the proper object. Program is for example prog, Class = clas and so on.