1 2 3 11 Previous Next

ABAP in Eclipse

158 Posts


Myself Vipul Koladia from India. I have started my journey to ABAP in 2012. Currently working in level 5 company. Having a good knowledge in all the areas of ABAP.

Yes I have used Eclipse in my college life but not to that extend.

Yes definitely feature  explorer is really helpful.

Definitely the short cut and also regarding the web portal by ABAP in Eclipse.

There are many people in SAP community network who know about ABAP in Eclipse.

Yo all my ABAP friends, it's time to feel the difference of classic ABAP and new ABAP in eclipse. Lets jump on to the new stage.


Hy my name is neeraj prabhu preeth daggupati and i'm a certified ABAP consultant and i've been associated with ABAP for over an year.


I've just heard of eclipse but really did not know what eclipse was, So Eclipse explorer challenge was really helpful.


And definitely for the new developers this challenge is super interesting and also knowledge giving.


And in the beginner's tour i would say right from the start everything was well planned so that anyone could understand and i personally feel the workbench was awesome.


And for some hardcore ABAPer's whom i follow are

Markus Ganser

Susmitha Susan Thomas



Fine Tuning ABAP Open SQL Statements

The Open SQL syntax and features for ABAP has been evolving and has had major advances with release AS ABAP 7.4 SP5. It is a clear indication that Open SQL still remains the preferred approach for database access from the ABAP Application layer.

As ABAP developers we always had our moments of fine tuning Open SQL statements in our application code for achieving better performance. When you did this kind of activity ,

  • did you ever wonder how to check quickly the performance of a complex Open SQL?
  • did you ever look for a simple tool to verify the output of a Open SQL statement you are modeling with quick preview?
  • did you ever want to check the run time of a SELECT that you are fine tuning statement to see how best it would help in improving the performance?

If you answered "Yes" for any of the above questions, Please read on to know more about our brand new SQL Console in ABAP in Eclipse


What is ABAP SQL Console?

  The SQL Console is a powerful tool that helps the ABAP developers to work with Open SQL Select statement. It can display the result of select query in an intuitive way without the need of ABAP programming. This tool basically eliminate the need of first creating a ABAP repository object like Report Program or Class etc. and use debugger to evaluate the statement at run time in order to test any select statement . It saves lot of developer time by simply let them type the Select statement and preview the result in one step .

The new SQL Console is available from NW ABAP 7.4 SP08 with ADT release 2.31.

Get introduced to the extended Open SQL Syntax

When you use SQL console for the data preview of Open SQL SELECT statements, by default you need to use the newest syntax for extended Open SQL. You could read more about the new Open SQL syntax here and about why should we use new Open SQL here.

Now let's see more about the features of SQL Console in Abap in Eclipse.

Launch SQL Console


    You can launch SQL console by right click on the Abap Project and select SQL Console.


          The SQL Console can also be launched from Data Preview too. A new button called "SQl Console" is added to the Data preview to open SQL Console with the query based on last executed action in the data preview.


SQL Console Editor

    SQL Console opens with the last executed Open SQL statement  in the editor and the results will be automatically shown in an intuitive tabular manner as below. One can open more than one SQL Console and work parallel by right click the Abap Project and select SQL Console any number of times.


Features like in other Source based Editors


      1. Syntax Highlighting


             The SQL Console highlights the text based on Open SQL grammar like other editors like Class , Program etc .



    2. Content Assistance


                 The SQL Console offers content assist that will help the developer to construct the query quickly by pressing ctrl + space.


     3. Element Information


                  The SQL Console supports Element information by pressing F2 on any fields or tables or view , will give the information about the selected object.



    4. Navigation

             By pressing F3 or holding ctrl key and selecting the object will open the object in different editor.


Automatic Syntax Check


          If you have configured AiE to do Automatic syntax check in the Preference page, sql console will pick up the setting and do automatic syntax check based on the configuration.Nevertheless, the open sql select statement can be checked by pressing the check button within the editor or selecting the "Check" option on right click context menu.

Like other AiE source based editors, the error marker will be displayed in the ruler and information can be viewed in the problems view.


Execute Open SQL Select statement

       After constructing the error free Open Sql Select statement, the query can be executed  by either pressing F8 or selecting the Run button inside the Editor. This will display the result in an intuitive way on the right side of the editor.

Show executed query and execution time

     The SQL Console will not only display the results but also displays the actual query executed in the Abap Server and the time taken to execute the query in the log at the bottom of the SQL Console Editor.This information will be really useful in order to optimize the query for better performance.



Execute query in another system.

   One of the coolest feature in AiE is that once you open any object in one system, the same object in different system can be opened directly by right click the object and select the new system from the "open in other project" context menu. This feature is also available in SQL Console. After one constructed the query and tested in the development system and now wanted to test the same query against the different system, can be done simply by right click inside the SQL Console and choose the system. This will open SQL console with the same query against the specified system and will be executed instantaneously.

View Previously Executed Query in History.

   All the query which were executed in the SQL Console will be stored as history irrespective of query executed in any system or editor. This helps the developer to execute the previously executed query in one step . The default size of history is 10 where one can configure the size from the "History.." option.



Mark Frequently executed Query as Favorites


   The developer can mark the frequently executed query as favorites by clicking on the down arrow in the Run button and selecting "Add To Favorites", so that the developer can get selected query even it is overridden by the history . The favorites query are grouped together and will be displayed at the top of history.




After adding the current query as "Favorites"






      So that's all about the brief information on SQL Console in AiE. We believe that this tool will really help the Abap developers to be more productive than before given various features as mentioned above and help them to fine tune the existing  Open SQL select statement to perform better. We hope you will try out this tool and most important give us feedback about the same.



Following up on the ADT 2.31 release announcement I want to provide a little bit more details about the new HTTP links.


Please be aware that the HTTP link feature is available from AS ABAP 7.40 SP08 and up. Furthermore, the ADT ICF node on the server has to be active. Check chapter in the backend configuration guide on how to activate it: http://help.sap.com/download/netweaver/adt/SAP_ADT_Configuration_Guide_Backend_en.pdf


Currently, developers can easily create and share so called ADT links for development objects. These links look like this:




As described in this blog post they greatly improve collaboration around development objects. However, the current implementation uses a custom scheme "adt:" so links don't get recognized automatically by most collaboration tools such as: email clients, wiki software, instant messengers,... Moreover, sometimes when receiving such a link you might not be able to open it because ABAP in Eclipse is not installed on your device. The new HTTP links solve all of these problems.


Now, it is possible to get HTTP links for nearly all source code development objects, such as ABAP classes or interfaces. HTTP links have the advantage that they automatically get recognized by all collaboration software. Additionally, they open in a web browser first. No SAP GUI or ABAP in Eclipse installation is needed to have a first quick look at the objects source code. Furthermore, the webpage renderer intentionally uses only HTML features which are supported by most web browsers. This means the webpage can be displayed on nearly any device.


Let me show you how to get and use the new HTTP links.


First, right click in the source code editor and pick the menu entry "Share Link for Selection..." (we renamed it from "Copy ABAP resource url" which sounded a little bit too technical). Second, now there is a pop up window which allows you to pick the best link type for your situation.



As you can see we also added the option to directly open the email compose window for you.


When recipients click on the link the web browser will open and display the object. Moreover, the Eclipse editor selection will be visible on the webpage.


As mentioned before this works on most devices which have a web browser. Below you can see how the source code gets displayed on an iPad.


This feature is very useful if you want to ask a colleague questions such as: "Is this method call still necessary?", "Do you understand this if statement?", "Any ideas on how to optimize this SQL select statement?".


Once the source code is displayed within the web browser you might want to open it in ABAP in Eclipse. You can do this by clicking on a line number or using the header link.


We hope that you are as excited about the new HTTP links as we are and that they make collaboration around development objects easier for you!

Hi community,

today we launched a new version of the ABAP development tools for eclipse. You can install the version 2.31 from our common update site SAP Development Tools for Eclipse. With this version we now also support the latest eclipse version 4.4. called Luna. A good overview about the new standard eclipse features in Luna can be found here: Eclipse Project Luna - New and Noteworthy


Besides the support for Luna we have integrated some nice new features for you as an ABAP developer. But be aware that these features only run on the latest AS ABAP support package level of 7.4 release which is SP08. If you don't have such a system in your landscape we will offer you a trial version (www.sap.com/abaptrial) where you can try out these new features. Today starts our new Open SAP Course (free of charge) which is also based on the new eclipse version. 





Creating Text Elements in Reports via the Quick Assist

One of my favorite features in eclipse is the quick assist which is available in the ABAP editor by pressing CTRL-1. This friend helps me in a lot of situations to code much faster. For example when I want to create a new attribute or method in my class the quick assist helps me in generating the needed code of the declaration. Even refactoring tasks like renaming of components or extracting variables or methods are available via this helpful function. For a short refresher of the quick assist you can have a look on our nice short little videos:

Refactoring with ABAP in Eclipse - Part 1 - YouTube

Refactoring with ABAP in Eclipse - Part 2 - YouTube

With AS ABAP 7.40 SP08 we now also support maintaining text elements of reports via the quick assist. How does this work?

Lets have a look on a typical pitfall in ABAP when defining UI texts in a report:


Damn ! Forgot to define the text element in the text pool. Thanks to the ABAP Test cockpit and the integrated SLIN check that tells me that I have to correct that. But how can I do that? There is no editor for text elements available in eclipse. Okay I use the SAP GUI and throw the eclipse away. Nooooooooooooo ! Just press CTRL-1 on the text in the editor and you will find the solution:



When choosing the offered option in the quick assist popup the text will be created in the text pool. After the text is created you can also use the quick assist to change the text via pressing CTRL-1 or you can delete the text in the code.  

In that case you will see the text which is behind the text element number via the element info popup (Shortcut F2)






Support for multiple used includes


Another feature which is often requested by the community is the support for multiple used includes. In ABAP you are using includes on the one hand side to structure your code, e.g. by extracting form routines in a specific include. On the other hand includes are often used to provide reusable modules that can be included in several reports or function modules. One personal comment from my side: This kind of reuse option is NOT recommended. Please use classes or function modules when you want to provide reusable components.

But nevertheless we will support the multiple used includes with 7.40 SP08 also in eclipse. The challenge for the development tools is that the developer has to specify the main program so that the syntax-check, navigation etc. is working correctly in the editor. To specify the main program of an include you go into the editor of the include and open the properties view. On the properties view in the Tab "Source" you will find the input field to specify the main program.       




Brand new SQL Console

The secret of good performance in your application is to push down logic that is needed for data retrieval as much as possible towards the database. Especially when working with big data in HANA highest priority is to execute most of the data retrieval code in HANA and not in the application server. In AS ABAP 7.40 we did a lot of enhancements in ABAP so that you are able to optimize your application code. A good overview about the new language feature is given by Horst Keller in his blog: ABAP Language News for Release 7.40, SP05

From the tooling perspective we introduced the data preview already for you with SP05. With the data preview you can display database content from a table or an view directly in your eclipse IDE. A very good overview about the tool is given in the video Data Preview within ABAP in Eclipse - YouTube by my colleague Raghuvira Bhagavan.


With SP08 we are bringing a new tool for you that enables you to easily execute arbitrary SELECT statements on the database without writing an ABAP report. The new SQL console can be reached per system by right-clicking on the ABAP project name in the eclipse project explorer. Just choose SQL console and the tool opens up in the editor pane. The SQL console consists of an editor where you can enter the SQL code and offers you functions like code coloring, code completion and syntax-check for your convenience. The statement can be executed and you will see the result in the grid on the right hand side:





The tool also offers you enhanced features like:

  • Statement history in order to go back to former SQL statements
  • Favorites to permanently store SQL statements  
  • Performance data to analyse the runtime behavior



It really makes fun to play around with the new SQL features by using the SQL console.


Tip: You can also open the SQL console from the data preview view. That's very nice because the data preview automatically generates you the SQL statement according to your filter settings.


See also a more detailed blog about that feature: SQL Console in AiE from Vijayan Balasubramanian



Display ABAP Sourcecode in a web browser


I am pretty sure you are already using our cool hyperlink feature within ABAP in Eclipse. You can create links to development objects that enables you and your colleagues to open an ABAP object in the IDE just by clicking on the link. This might be very helpful when you want to share a pointer to a specific code line in an ABAP report with your colleague. If you don't know this feature please have a look into blog How ADT links change the way you work by Thomas Alexander Ritter to understand the whole story.

But the ADT links have the problem that the link opens the editor only in your eclipse environment. But let's imagine you want to share a link with a colleague that does not have eclipse installed on his PC. Or you want to check a report that you have developed but unfortunately you are already sitting in the bus on your way home and you only have your mobile phone with you. Could you imagine that in that case you can also display the source of your report without an IDE?

With AS ABAP 7.40 SP08 it is now possible to create HTTP Links to your development objects. Therefore we offer you a new option in the eclipse project explorer that helps you to generate these links. Just right-click on a development object in the project explorer or in the editor tab to generate such an hyperlink:



The generated hyperlink looks like:


and you can use it to open the source in a web browser:


By clicking on the link 'Open in ABAP in Eclipse' in the upper right corner of the page you can open the object in your Eclipse installation.  


Important Note: Before you can use this feature you have to enable the underlying http service in the ABAP backend via transaction SICF. The service that you have to activate:  sap->bc->adt     




Switching between active and inactive version in editor


A small but very important feature when looking on the wishlists of our developers is the possibility to toggle between the active and the inactive version of a development object in the editor. Up to now this was only available via the version history where you see the inactive and the active version with the possibility to do a version comparison:



As this feature is a little bit hidden for the developer we now offer a function directly in the context menu of the editor:





Display longtext documentation in Elementinfo (F2)


With AS ABAP release 7.40 we introduced a new concept for documenting ABAP source code called ABAP Doc. The developer is now able to document his development artifacts directly in the code editor and the documentation is stored within the object. Within the ABAP Doc comment you can use HTML tags to format your documentation like in this example here:





Michael Schneider explains the new concept in more detail in his blog ABAP Doc.

One of the benefits of ABAP doc is that the consumer of a development object can see the documentation in the element info when pressing F2 in the eclipse editor. This is really helpful because you don't have to navigate to the other object just to see the documentation.



But wasn't there already a concept for documentation in the ABAP stack since years based on SAP Script?

Where can I find this kind of documentation?

With SP08 we have integrated the long text documentation also in the element info via this link. By clicking the link you will see the long text also in the popup screen.


Filter your Where-Used Results

When triggering the Where-Used function in the ABAP workbench you have several options to restrict the search result, e.g. you can restrict the search for specific object types or specific packages:


This kind of search restriction was not possible within Eclipse. So we decided to offer this functionality now also with the new client. In Eclipse you first trigger the where-used on a development object and once the result is displayed in the search view you can filter the hit list by specifying the following filter options:


In addition to the filtering we also enhanced the result list view of the where-used. For example you can now trigger the where-used search for objects displayed in the search result view which is quite convenient for the developer.



Improve your code with the ABAP Test Cockpit for Eclipse


Last but not least we also renewed the user interface of the ABAP test cockpit within eclipse. The ABAP test cockpit is the tool of choice when it comes to manage the code quality in your development landscape in the area of programming standards, security checks and performance checks. From the check infrastructure it is still the code inspector that does the quality checks in the ABAP backend. But we added an infrastructure that allows you to run central quality checks in your Q-systems and your developers can monitor the results in their development environment. A very good overview about the benefits is given by Christopher Kaestner in the blog ABAP Test Cockpit – an Introduction to SAP’s new ABAP Quality Assurance Tool .


One aspect of the tool is the tight integration with the developer tooling in eclipse. On the one hand side the developer is able to check the quality of the code he is responsible for but he can also monitor the results of central check runs of the quality system.

A.) Detecting quality issues

There are several options for the developer to check the code quality:

1.) He runs the quality checks on the object he is currently working on directly from the editor. This should be done ideally on a regular basis during development.


The check can also be done on package level via the project explorer via the same menu item.

2.) Before releasing a transport request the developer should check all objects contained in the request. This can be done in the transport view in eclipse:


3.) Developer should check regularly the results of the ATC runs in the central Q-system. This can be done via the ATC result browser in eclipse where he sees the erroneous objects he is responsible for:


Once the developer has findings in the Q-system he directly can trigger a recheck of the objects in his development system and can go on to solve the issues.

B.) Solving the ATC issues:

The result of a manually triggered check run (RunAs->ABAP Test Cockpit) is displayed in the ATC problems views with detailed information about the finding and the possibility to easily navigate to the source code position. The ATC problem view is the worklist for the developer to solve the quality issues.


Starting from the Problem View the developer can fix the issue manually in the editor or can do it by using the Quick Fix option as described in the chapter above to create text elements. There might be situations where a fix of the issue is not possible or not appropriate. Therefore the ABAP test cockpit offers the possibility to create exemptions for this source code artifact so that the finding will be ignored in the next check run. The creation of exemptions is done directly in the problems view in eclipse via right-click on the finding:


We hope that the new tooling will help to improve the overall code quality in your development landscape.

So, that's it for the overview of the new features of the new ABAP in Eclipse client for AS ABAP 7.40 SP08.

We hope you will enjoy the new features and very important: Give us feedback.

Have Fun.


I am Ashvin from Mauritius, a small and very beautiful island in the Indian Ocean.

My journey with SAP started in 2009 when I joined a firm after University and started to work on Business Intelligence and later had the chance to work on Web Dynpro ABAP and Java, SAP Portal, SAP UI5 and still learning new stuffs

I have known about eclipse while working on Java developments when I was still at University, and I am using it now for SAP UI5 developments.

The feature explorer, with its interactive learning experience, will indeed be helpful for both new developers and experience developers who want to move to eclipse.

Personally, I like many features but mostly Quickfix variable rename and deleting unused variables.

I do not personally know these guys but being my followers, I want them to become an ABAP in Eclipse Feature Explorer:

Abhinav Pattenwal Karthik Vasudevan Rakesh HT ROOPA K.S SAP BI venkataram reddy Venkata Reddy

Thank you very much Thomas Fiedler for this challenge.

I'm a Java developer that recently moved to an ABAP team. I did some ABAP programming several years ago and I would say that back then I missed a lot of the features that I'm used to have in Eclipse. As you might guess I'm an Eclipse fan . I knew about the ABAP Eclipse plug-in before the challenge but the challenge was like a reminder that such thing exists so I decided to give it a try and ever since that I try to use it as much as I can (unfortunately it does not replace the ABAP Workbench at 100%).  

I think that the feature explorer is very helpful if you are not familiar with ABAP or Eclipse but if you know the environment and the language you can skip it.

I'm very excited about the plug-in - it has its flaws but it's very helpful if you come from the Java world. 



I joined SAP China labs since 2007 and am working as an application developer till now. Before I joined SAP, my favourite programming language are C and C++, and I also make money by using them. And after I join SAP I soon realized that ABAP is a poweful and robust language to build enterprise application, so I concentrate myself on learning, exploring and sharing my tips on using ABAP, and I have already posted lots of blogs & documents on ABAP forums in SCN. During my seven years' ABAP development, SAPLogon ( SAPGUI ) is my weapon to deal with CSS tickets and incidents from our customers, just as a warrion fights with a dragoon using his sword.


My Opinions on feature explorer of ABAP in Eclipse


Everyday I go to office, the first task is to get a coffee and launch SAPGUI. I get to know ABAP in Eclipse in year 2012 by going through sap internal wiki on it. My first feeling is " wow, so cool! The colleagues in ABAP in Eclipse team did such a great job! ". I installed it and tried to use it in my daily work. After several days' attempt I choose to switch back to my favourite SAPLogon. The major reason is I find it is more efficient to use SAPLogon than AIE ( no offense, just my personal opinions ). I will explain it in more detail later.


Now let's go back to the feature explorer.


In brief the feature explorer is quite handy and practical to onboard new developers! As far as I know, at least in China, every graduate who majors on computer science could use Eclipse & Visual studio quite well, so this feature explorer can really guide our beginners to ABAP world smoothly, and make them fall in love with ABAP quickly ( I still remember my tough days when I struggle with SAPLogon as an ABAP newbie ). So suppose there are new colleagues onboard in my team, I will definitely recommend him / her to first go through this feature explorer. Thank you for your great job! 


Some other feedback on feature explorer of mine


1. The progress of feature explorer is not persisted?


I find the IDE could not store the progress of the feature explore tour. For example I have finished stage2,3. When I reach stage3, task 1 (code completion ), I could like to first have a look at what code completion features provided in AIE, so I perform the search via the keyword like below. Once I click "Go", the IDE is terminated and the window disappear automatically. I can always reproduce this issue.



The annoying thing is, when I relaunch the Eclipse, I have to start tour from stage1 again My previous progress is not stored.

Of course I agree this issue does not matter too much since it would not take too much time to even go through the whole explore tour, so it is ok that progress is not stored.


2. For the task "Use the Code Element Information in the source code editor".

Firstly when I select the method RUN in declaration part of class and press F2, I only get this message "Code information is not available"


When I click it for second time, it works. I am not sure about the reason of this behavior.


3.  The where used list icon in Eclipse:


is it possible to reuse the icon in SAPGUI? ( so that an ABAP veteran can quickly find it in Eclipse )


4. For the task "Select the ABAP program source code editor. From the toolbar, select the "Single Activation" button", I am a little confused about the usage of "Single Activation" word used in the feature explore explanation.


5. for the code completion task, I am afraid at least in China it is impossible to finish this task if default setting on oyur laptop is not changed.

We always use "Ctrl + space" to switch the input between English and Chinese. Once we type Ctrl+Space in IDE, code completion will not be triggered, only input between English and Chinese is toggled.


We have to either replace the hot key "Ctrl+Space" to others in control panel, or to change the code completion hot keys in AIE.

I guess most of developers will choose latter, just as me. Unfortunately I don't know how to change it in Eclipse, so I try to search it in Eclipse but without success.


It would be better if the tour could itself contain how to change the hotkey for code completion in IDE.


6. I would assume it would be better, if some basic debugging operation is included in the tour.


The reason why I keep on using SAPLogon but not AIE


As a senior developer, I have to deal with many complex and tricky customer incidents. So an power and efficient ABAP debugging infrastructure is vital to me. I have contributed to SCN with my experience about how to make good use of ABAP debugging functionalities provided by SAPLogon. Some of them listed below:


In short, in SAPLogon it is supported to create a various types of breakpoints dynamically which help us greatly to find root cause in a more efficient way. I am not sure whether the same has already been available in AIE.


Some other functionality I have explored in AIE


My favourite feature is that in AIE many necessary information regarding my daily work could now be displayed as seperate tab.

It means now I can just check the following stuff in a single window, without opening too many SAPLogon screens:


1. check CSS tickets belonging to my responsible components

2. check ST22 dumps in each system

3. transport request overview




Another one is the trace and log functionality provided by Eclipse IDE.


Previously I am very curious about how the AIE could manipulate the ABAP stuff hosted in application server. By leveraging the log function in AIE, I succeed to understand the whole magic and write this document about my findings: An example to help you understand how does ADT work

I have already introduced AIE to many local consultants in China to have a try. Great thanks to those colleagues who have contributed a lot to AIE to make it work!



I'm Ruks from Sri Lanka. I'm not an ABAP expert. I started my ABAP journey 1 1/2 years early. I was doing same coding almost every day and was seeking something new in SAP/ABAP. Yes I found it. It's very cool to here about Eclipse with ABAP.


When I was in university, I knew about Eclipse and also did some projects using Eclipse but never knew the features of ABAP, I think at that time it was not introduced. So it's time to start the Eclipse again after long time with the features of ABAP.


Before start Eclipse, I go through with some documents about Eclipse features too. Here are some documents that I have gone through.

ABAP Development Tools version 2.24 available now on Updatesite

More cool features of ABAP in Eclipse

How to get your colleagues into ABAP in Eclipse


When I knew that I can integrate the SAPGUI into the Eclipse environment, Yes its really cool. I'm not sure that it's covered almost everything, but it may be the beginning of new view of ABAP.


So my friends, it's time to feel the difference of classic ABAP and new ABAP in eclipse. Try yourself and let us know your ideas too.




Rohit Mahajan

ABAP in Eclipse explored

Posted by Rohit Mahajan Sep 12, 2014


My name is Rohit Mahajan and I live in Bangalore. I started working on ABAP development for  5 years now and also working on some HANA stuff.


ABAP in Eclipse


SAP TechEd 2012 was first when I really saw ABAP in Eclipse. I attended a 4hr hands on about ABAP in Eclipse which was really great.


ABAP in Eclipse Feature Explorer


Web Dynpro ABAP application using ABAP in Eclipse is feature i really liked where i can work on views, windows and other things easily. Only the binding feature is also great.


Spread the word


Finally, I think that all my ABAP colleagues should know ABAP in Eclipse.

  • My name is Phil and I live in the United Kingdom. I have a technical background having previously programmed in COBOL, Fortran, C++ and Python with various API's. I also write SQL code in my current role. I have never used ABAP and this is a fact finding mission!


  • I have previously used Eclipse mainly to experiment with the BPMN2 Modeler software.


  • From the current reviews in the SCN ABAP is being well received.


  • I think the most useful feature is the ctrl+space and shift+enter to suggest code completion templates.


  • There are many other developers on SCN that know about ABAP in Eclipse:

         I particularly enjoyed reading the article by @Jeroen Custers and he also mentions @Thomas Fiedler

        @Bert Schlicher. Other includes @Martin Steinberg

Dear community,


I stumbeld upon some aspect of developing ABAP in eclipse which just boosted my efficiency which I did not think of at all:


It often happens to me (particularly during maintenance) that I execute a test (pereferrable a unittest) and find a constellation of data for which I need to adapt my code. My practice was to set a breakpoint, execute the test, note down the relevant variables on either a piece of paper or some other medium (notepad), then let the code execute (or abort ) and then to correct the artifact.

It often occurred to me that I forgot to note down some other context information which was just available at runtime, so I had to re-execute the test. Particularly after having noted the fact that some information's missing after starting to correct the code, this is tedious: Since I removed the breakpoint previously and cannot set a breakpoint in the inactive source, I had to undo (comment) my changes, ... you know what I mean.

With AiE, the debugger starts in a new view in a new perspective - but what's more important: The other views share the context. This has the effect that while developing, you can access the context of the current debugger-session - and you can inspect the content of all variables in your ABAP editor!

Don't get what I mean? Have a look at the screenshot:


AiE developing while debugging.png


My personal comclusion: Resist terminating the debugger while correcting (but don't tell your sys-admins )




Ahmed Yehia

Feature Explorer in AiE

Posted by Ahmed Yehia Sep 1, 2014


First of all I want to thank all the people who worked on this project and special thanks to Thomas Fiedler for this awsome mission, i am happy to use Eclipse as am familiar with it since i was in college.


My name is Ahmed Yehia, I graduated from Misr International University Faculty of computer science and i have overall 4 years of ABAP experience in Reporting, Conversions, Interfaces, and Customizations for SAP R/3.

I really like programming and i am looking forward to increase my skills and knowledge and to discover new techniques and tools.


I have been using eclipse for 4 years in college for my java projects, and i think it is an excellent tool because

1- Its fast to install and it has a very powerful code assist.

2- GUI is awesome

3- Debugger is easy

4- Re factoring is very advanced

5- All errors are highlighted with no need to recompile the whole project

6- Many plugins and 3rd party are available and integrates easily with other development tools such as HANA studio  , UI5 ... .


Eclipse will be a good start for the developers who used to use Eclipse and new to ABAP development, and it will be a center point development environment.

I have been following the news about ABAP in Eclipse and i was very excited and waiting to start using it.




The first feature i would like to talk about is the shortcuts, it makes the life easy:

To start a new program all you need is to type CTRL + SHIFT + N instead of the following:


CTRL + SPACE and SHIFT + ENTER to suggest code completion and code templates


CTRL + F2 to check your code syntax


CTRL + F3 to compile your code



The second feature is the pretty printer function and templates usage demo

You can check the ABAP source code for matter and check your code style either your keywords is upper case and identifiers lowercase or vice versa




also for evey program  created you can keep history updated using template





The third features is the Where Used List CTRL + SHIFT + G




Fourth Feature is the powerful search, you can search for any ABAP object




Fifth Feature is utility function keys

F1 Brings up ABAP Documentation of the keyword

F2 Shows the code element information

F3 Used for Navigation

F4 Shows Up the ABAP Type Hierarchy

F5 Refresh

F8 Excute

Sixth Feature is the re factoring Support

CTRL + 1 To bring up the quick fix option to rename variable / declarations




ALT + SHIFT + R To rename variable if it spans in more than 1 related objects




CTRL + 2, R To rename variable in source unit alone


Seventh Feature is version management,  you can keep history of your code files and compare it to each other




Eighth Feature is transport organizer




I will ask my friends Amal Aloun Akshay Gupta Vivek Singh Bhoj  jitendra kansal Ashwini Deshpande Willi Eimler Marssel Vilaça sriramula kishore Midhun VP ' MoazzaM '  Srinivas Salpala Ravi Sankar Venna   Diwa p    Chandra Agarwal Ahmed Ibrahim to join this experince


In the first part (Creating a ABAP in Eclipse plug-in using the ADT SDK) of this blog series I described the eclipse side of a plug-in enabling the creation of a transport of copies with just one click. In this part I will describe the ABAP side of the plug-in. The full source code of the plug-in as well as a binary release and installation instructions are available on github: ceedee666/adt_transport_utils_plugin · GitHub.


The ADT REST Framework

The ABAP development tools are integrated with the back end system via and RFC and REST (Representational state transfer - Wikipedia, the free encyclopedia) based protocol. A description of the high level architecture of the integration is given in Olga Dolinskajas document Get Started with the ABAP Development Tools for SAP NetWeaver.

In order to enable the registration of new resources in this framework, SAP provides the enhancement spot SADT_REST_RFC_APPLICATION. The enhancement spot defines two BAdIs, BADI_ADT_DISCOVERY_PROVIDER and SADT_REST_RFC_APPLICATION. As the name suggest, the BAdI BADI_ADT_DISCOVERY_PROVIDER is used to implement a discovery provider for a resource. The discovery provider enables the discovery of the concrete URI of a resource in the eclipse plug-in. While it is also possible to hard code the URI of a back end resource in the eclipse plug-in it is recommended to use the discovery service instead. (cf. SAP NetWeaver How-To Guide: SDK for the ABAP Development Tools). Therefore, the eclipse part of the example plug-in implements a getResourceUri() (see the first part of this blog details) for method that uses the discovery provider to get the URI of the back end resource. The BAdI SADT_REST_RFC_APPLICATION is used to implement a custom resource.

The Architecture of the ABAP plug-in

The following images shows an overview of the architecture of the ABAP side of the plug-in. The ABAP side of the plug-in will be called ADT Transport Utils in the remained of this blog.

The RFC handler is the central entry point into the back end for any request from an ABAP development tools plug-in. The RFC handler is part of the ADT REST framework and calls functionality provided by the ADT Transport Utils using the BAdIs mentioned above. ADT Transport Utils consist of two parts. The first part is a custom discovery controller, the ADT Transport Utils Discovery Controller. The custom discovery controller is needed to provide a custom URI schema (i.e. /ztansportutils) to access the resources provided by the ADT Transport Utils. In its current version the ADT Transport Utils provide only one resources, the resource to create transports of copies. This resource  consists of the Transport of Copies App and the Transport of Copies controller


Implementing the Discovery Controller

The discovery controller (ZCL_TRANS_UTILS_DISC_RES_CONTR) is implemented by creating a subclass of CL_ADT_RES_APP_BASE and implementing the abstract methods FILL_ROUTER and IF_ADT_REST_RFC_APPLICATION~GET_STATIC_URI_PATH. The following snippet shows the implementation of these two methods. In the GET_STATIC_URI_PATH method the base URI for the ADT Discovery Tools, i.e. /ztansportutils, is returned. The FILL_ROUTER method registers the class CL_ADT_RES_DISCOVERY as the discovery handler for the path template /discovery. As a result any requests to the URI /ztransportutils/discovery will be handled by the class CL_ADT_RES_DISCOVERY.

  METHOD fill_router.
    router->attach( iv_template = '/discovery'
                    iv_handler_class = cl_adt_res_discovery=>co_class_name ).
  METHOD if_adt_rest_rfc_application~get_static_uri_path.
    result = zif_trans_utils_constants=>co_trans_utils_static_uri.

After implementing the discovery controller, the next step is to create an implementation of the BAdI BADI_ADT_REST_RFC_APPLICATION and link it to the discovery controller class (ZCL_TRANS_UTILS_DISC_RES_CONTR). Furthermore, the filter value /ztransportutils/discovery needs to be created for the filter STATIC_URI_PATH. This filter value is used by the RFC handler to invoke the correct BAdI for a particular URI. The following screen shot shows the implementation Z_TRANSPORT_UTILS_DISC_RES of the BAdI BADI_ADT_REST_RFC_APPLICATION and the assigned filter value.

2014-08-31 13_58_10-ABAP - IFD_100_drumm_en_[IFD] Z_TRANSPORT_UTILS_ADT - Eclipse.png

Implementing the Transport of Copies Resource

The implementation of the transport of copies resource consist of two parts. The transport of copies resource application (ZCL_TRANS_UTILS_TOC_RES_APP) and the transport of copies resource controller (ZCL_TRANS_UTILS_TOC_RES_CONTR). The resource application is implemented by subclassing CL_ADT_DISC_RES_APP_BASE and implementing its abstract methods. The following code snippet shows the implementation of the resource application class.

  METHOD get_application_title.
    result = zif_trans_utils_constants=>co_trans_utils_app_title.
  ENDMETHOD.                    "get_application_title
  METHOD if_adt_rest_rfc_application~get_static_uri_path.
    result = zif_trans_utils_constants=>co_create_toc_static_uri.
  ENDMETHOD.                    "if_adt_rest_rfc_application~get_static_uri_path
  METHOD register_resources.
             url             = zif_trans_utils_constants=>co_create_toc_url
             handler_class   = zif_trans_utils_constants=>co_create_toc_res_controller
             description     = 'Create and optionally release a transport of copies'
             category_scheme = zif_trans_utils_constants=>co_create_toc_resource_scheme
             category_term   = zif_trans_utils_constants=>co_create_toc_term ).
  ENDMETHOD.                    "register_resources

The method GET_APPLICATION_TITLE simply return the application title, "Discovery Provider for ADT Transport of Copies" in this case. The IF_ADT_REST_RFC_APPLICATION~GET_STATIC_URI_PATH method returns the URI path (i.e. /ztransportutils/toc_app) for the app. Finally, the REGISTER_RESOURCES method registers the resource controller ZCL_TRANS_UTILS_TOC_RES_CONTR as the handler class for request to the URI /toc/create_toc. As a result. the resource controller will be accessible at the URI  /ztransportutils/toc_app/toc/create_toc. In the registration also the category schema and category term are provided. This information is used to discover the concrete URI of the resource in the eclipse plug-in (cf. Creating a ABAP in Eclipse plug-in using the ADT SDK).

After implementing the resource application class, it is used to implement the BADI_ADT_DISCOVERY_PROVIDER and SADT_REST_RFC_APPLICATION BAdIs. Again it is necessary to set appropriate filter values. The implementation Z_TRANPORT_UTILS_TOC_DISC of the BAdI BADI_ADT_DISCOVERY_PROVIDER uses the filter "/ztansportutils/discover = URI", while the implementation Z_TRANPORT_UTILS_TOC_RES of the BAdI SADT_REST_RFC_APPLICATION uses the filter "STATIC_URI_PATH CP /ztransportutils/toc_app/*".2014-08-31 22_12_01-ABAP - IFD_100_drumm_en_[IFD] Z_TRANSPORT_UTILS_ADT - Eclipse.png

2014-08-31 22_11_14-ABAP - IFD_100_drumm_en_[IFD] Z_TRANSPORT_UTILS_ADT - Eclipse.png

The result of these filter values is, that the transport of copies resource is discoverable via the discovery controller and that all request to a URI starting with /ztransportutils/toc_app/ will be forwarded to the resource controller ZCL_TRANS_UTILS_TOC_RES_CONTR.

The final step is the implementation of the resource controller ZCL_TRANS_UTILS_TOC_RES_CONTR. It is implemented by subclassing CL_ADT_REST_RESOURCE. The resource controller has only one public method, the POST method. This method handles all post request send to URI  /ztransportutils/toc_app/toc/create_toc. The following snippet show the implementation of the POST method.

In the post method, the transport request to copy and if it should be released are not are read from the query parameters. Using this information the transport of copies is created and optionally released. The source code of the methods used in this snippets are straight forward. Therefore, these methods are not further detailed here. However, the full source code is available at ceedee666/adt_transport_utils_plugin · GitHub

as a SAPLink nugget (http://www.saplink.org).

  METHOD post.
    DATA: trans_request TYPE trkorr,
          should_be_released TYPE abap_bool,
          success TYPE abap_bool.
    trans_request = me->get_transport_request( request ).
    IF trans_request IS INITIAL.
      response->set_status( status = cl_rest_status_code=>gc_client_error_bad_request ).
    should_be_released = me->get_should_be_released( request ).
        me->create_transport_of_copies( i_trans_request      = trans_request
                                        i_should_be_released = should_be_released ).
        response->set_status( status = cl_rest_status_code=>gc_success_ok ).
      CATCH zcx_trans_utils_exp.
        response->set_status( status = cl_rest_status_code=>gc_client_error_bad_request ).


The completion of the ABAP part of the plug-in concludes the second part of the blog series. The final part of the bolg series will describe how to create a deployable plug-in, a corresponding update side and how to make it this update side available using github.





Posted by Gabriel SAULESCU Aug 28, 2014
  • Please introduce yourself and tell us how long you’ve developed with ABAP

My name is Gabriel SAULESCU, I am working as programmer from 1987, I start programming in dBASE 2.4, FoxBase, VisualFox, Cobol, Fortran and after  2000 I was programming in PHP/mySQL, HTML/CSS and Javascript, I learnt to programm in  CodeIgniter and from few months in Java. 


  • Did you know about Eclipse before you took this ABAP in Eclipse Explorer challenge?

I discover Eclipse few years ago but my first believe is too much for what I need in that moment.

When I was starting a course in SAP HANA Cloud, in June 2014, I discovered again Eclipse


  • Do you think the feature explorer is helpful to onboard new developers?

             ABAP in eclipse offers new perspectives. 

Excellent IDE for developers that already use eclipse.



  • What is your favorite feature of the beginners tour?

My favorites with ABAP in eclipse are code completion and the refactoring of variables.


  • Have you explored additional features of Eclipse that you like?

          Templates my be a good candidate for the next feature explorer.

          The delete unused variables is very useful       


  • Mention some ABAP developers in the community that should know ABAP in Eclipse. You can use “@” and then type their name so that they get notified when you mention them.


           I want to thank you to Thomas Fiedler for his nice work.



Filter Blog

By author:
By date:
By tag: