1 2 3 9 Previous Next

ABAP in Eclipse

129 Posts

Hello community,

 

over a month ago I posted here an integration scenario, where FreeBASIC meets ABAP via Eclipse.

 

Here is now another integration scenario, where Java meets ABAP via Eclipse. This means you can code and compile your Java sources and use it via Java Native Interface (JNI) inside ABAP. To use the JNI in ABAP, I build a COM library which wrapped all JNI functions and ABAP can use COM libraries. ABAP in Eclipse offers now an ideal platform for this kind of development.

 

Here now the first impressions of a polyglot development with Java and ABAP inside Eclipse:

 

At first the Java perspective with the code.

001.jpg


//-Begin----------------------------------------------------------------

 

 

 

  //-Import-------------------------------------------------------------
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;

 

  //-GUI----------------------------------------------------------------
    public class SwingGUI extends JFrame{

      //-Instance variables---------------------------------------------
        private static String strControl;
        private static SwingGUI frame;

 

      //-External request-----------------------------------------------
        public static String getstrControl() {
          return strControl;
        }

        public static void resetstrControl() {
          strControl = "";
        }

 

      //-CallBack-------------------------------------------------------
        public class btnPressActionListener implements ActionListener {
          public void actionPerformed(ActionEvent e) {
            try {
              strControl = "PressMe";
              Thread.sleep(16);
            }
            catch (Exception ex) {

            }
          }
        }

 

        public class btnQuitActionListener implements ActionListener {
          public void actionPerformed(ActionEvent e) {
            try {
              strControl = "Quit";
              Thread.sleep(16);
              frame.setVisible(false);
            }
            catch (Exception ex) {

            }
          }
        }

 

      //-Constructor----------------------------------------------------
        public SwingGUI() {
          strControl = "";
          getContentPane().setLayout(null);

 

          //-Press me button--------------------------------------------
            JButton btnPress = new JButton("Press me");
            btnPress.setLayout(null);
            btnPress.setBounds(10, 10, 295, 24);
            btnPress.addActionListener(new btnPressActionListener());
            getContentPane().add(btnPress);

 

          //-Quit button------------------------------------------------
            JButton btnQuit = new JButton("Quit");
            btnQuit.setLayout(null);
            btnQuit.setBounds(10, 34, 295, 24);
            btnQuit.addActionListener(new btnQuitActionListener());
            getContentPane().add(btnQuit);

          setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        }

 

      //-Main-----------------------------------------------------------
        public static void main(String[] args) {
          frame = new SwingGUI();
          frame.setLocation(100, 50);
          frame.setSize(320, 200);
          frame.setTitle("GUI test");
          frame.setResizable(false);
          frame.setVisible(true);
        }

    }

//-End------------------------------------------------------------------

 

As you can see, nothing special - only a window with two buttons.

 

At second the ABAP perspective with the code.

 

002.jpg


"-Begin-----------------------------------------------------------------
  Report zJavaTest.

 

  "-Includes------------------------------------------------------------
    Include zCOMJavaIncl.

 

  "-Main----------------------------------------------------------------
    PerForm RunJava.

 

  "-Includes------------------------------------------------------------
    Include zCOMJavaInclSubs.

 

"-End-------------------------------------------------------------------

 

"-Subroutines begin-----------------------------------------------------

 

  "-MyJavaProc----------------------------------------------------------
    Form MyJavaProc.

 

      "-Variables-------------------------------------------------------
        Data strClazz Type i.
        Data Args Type i.
        Data Clazz Type i.
        Data Mid Type i.
        Data Control Type i.
        Data ResetControl Type i.
        Data strRes Type i.
        Data ResStr Type String.

 

      "-Call Java main method-------------------------------------------
        PerForm JNI_FindClass Using 'java.lang.String' Changing strClazz.
        PerForm JNI_NewObjectArray Using 1 strClazz 0 Changing Args.
        PerForm JNI_FindClass Using 'SwingGUI' Changing Clazz.
        PerForm JNI_GetStaticMethodID Using Clazz 'main'
          '([Ljava.lang.String;)V' Changing Mid.
        PerForm JNI_CallStaticVoidMethodA Using Clazz Mid Args.

 

      "-Get methods for event loop--------------------------------------
        PerForm JNI_GetStaticMethodID Using Clazz 'getstrControl'
          '()Ljava.lang.String;' Changing Control.
        PerForm JNI_GetStaticMethodID Using Clazz 'resetstrControl'
          '()V' Changing ResetControl.

 

      "-Event loop------------------------------------------------------
        While ResStr <> 'Quit'.
          PerForm JNI_CallStaticObjectMethodA Using Clazz Control 0
            Changing strRes.
          PerForm Sleep Using 128.
          PerForm GetString Using strRes Changing ResStr.

          "-Events------------------------------------------------------
            Case ResStr.

              When 'PressMe'.

                "-Your PressMe routine here-----------------------------
                  Call Function 'POPUP_TO_INFORM' Exporting
                    titel = 'PressMe' txt1 = 'Button pressed' txt2 = ''.
                  PerForm JNI_CallStaticVoidMethodA Using Clazz
                    ResetControl 0.

            EndCase.

        EndWhile.

 

    EndForm.

 

  "-RunJava-------------------------------------------------------------
    Form RunJava.

 

      "-Variables-------------------------------------------------------
        Data JVMDLL Type String.
        Data hJVM Type i Value 0.
        Data rc Type i Value 0.

 

      Create Object oJava 'COMJAVA'.
      If sy-subrc = 0 And oJava-Type = 'OLE2'.

        Call Method Of oJava 'Is64WOW' = rc.
        If rc <> 0.
          JVMDLL = 'C:\\Program Files (x86)\\Java\\jre7\\bin\\client\\jvm.dll'.
        Else.
          JVMDLL = 'C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll'.
        EndIf.

 

        PerForm JVM_SetInitArgsOption Using 1
          '-Djava.class.path=C:/Schnell/Dummy'.

        PerForm OpenJavaVM Using JVMDLL Changing rc.
        If rc = JNI_OK.

 

          "-Call your Java routine--------------------------------------
            PerForm MyJavaProc.

          PerForm CloseJavaVM Changing rc.

        EndIf.

        Free Object oJava.
        System-Call ObjMgr PerForm Garbage Collection.

      EndIf.

 

    EndForm.

 

"-Subroutines end-------------------------------------------------------

 

Okay, the coding technique is not really state of the art, but this example show us, how easy it is possible to combine the Java world on the presentation server and the ABAP world on the application server - and all in one IDE.

 

Last but not least the result, a Java Swing window with different elements, here two buttons, controls the ABAP program.

003.jpg

And with this method it is possible to include the Java source and build the class file on the fly, with the method CreateJavaFile, the property set JavaCompiler and the method CompileJava.

 

The JNI is not an easy to understand Interface, but if you get used the ways of JNI thinking, it is no more difficult than other interfaces.

 

Even at the risk of repeating myself, ABAP in Eclipse offers a wide horizont of polyglot programming in one IDE. Now it is not longer necessary to switch between different IDEs. I like it very much


Cheers

Stefan

Hello community,

 

I presented here the Wicked Shell for ABAP in Eclipse. Wicked Shell offers the possibility to use Custom Shells.

 

Take Command Console (TCC) is a very powerful command line from JP Software. You can do a lot of phantastic things with TCC. You can find more information about TCC here and here. JP Software offers a free version of Take Command Console, called TCC/LE.

 

Here I want to show how to integrate Take Command Console via Wicked Shell in ABAP in Eclipse.

Open the preference window and the node Wicked Shell > Custom Shells. Press the button Create New and fill the parameters as below.

 

1Preference.jpg

 

Open the Shell view and the View Menu, choose the item Active Shell and the Take Command shell.

 

2ActiveShell.jpg

 

Now you can use Take Command Console with all its possibilities inside ABAP in Eclipse.

 

3TakeCommand.jpg

Hint: You can integrate two versions of the console, 32- and 64-bit. Here, in another context, a tip, how to differentiate the versions.

 

Cheers

Stefan

Hello, I started as a programmer ABAP in 1993 and since then I have worked in different companies but always as ABAP programmer.

 

I knew some years the Eclipse programming environment but have not used it professionally until now.

 

I think the explorer feature is useful for both new developers and programmers with experience outside the Eclipse world.

 

My favorite feature of the beginners tour is F2 button: We have information on types and length variables. Besides parameter information input / output.

 

Additional features that I like Eclipse are:

 

1.- Use one tool for everything HANA, SAPUI5, ABAP, JAVA,...

2.- Having favorites packages that usually work.

3.- To be able to work in multiple ABAP systems in parallel.

4.- Likes the Link with Editor button to locate the program in the Project Explorer.

5.- Likes that is multiplatform (Windows, Linux).

6.- Likes that no maximum idle time I will never strip system.

 

For testing the debugger I had to apply the following note to my system: 1906917 - ABAP Development Tools Debugger can not be Launched

 

Ultimately the development environment of the present and future !!!

I'm Ricardo Mantovani, a  Java and C++ Developer since 1995 with over 3 years of ABAP experience and this is my take in Eclipse's Feature Explorer!

 

Feature Explorer, great tool, happy to use it, learned a lot about how to find those great things we all love in ABAP repository. You see, when you're a seasoned programmer it's not that easy to get out of our way to learn a new tool particularly if it doesn't add peaces of functionality to the language itself. So if you ask me if this tool is helpful for developers I'd had to say is useful to experienced developers also who don't want to send too much time understanding how the tool works.

 

I think the way feature explorer was designed it could be easily expanded to other areas and tools of the community. I  think an initial hands-on tutorial would allow a far more effective knowledge sharing. My favorite feature, I have to say, is that it is fun!

About me

I am an ABAP Developer since 2002 in different customer development projects. Coming from source based tools to the form based ones was a little bit annoying, cause of so much additional clicks and time effort (e.g. think about renaming several parameter names in different methods of a class).

So I was very happy when I saw the first time that ABAP is going to Eclipse.

 

Did I know AiE before the Feature Explorer challenge?

Yes, I use AiE over one year on my personal pc now. Since a half year we also use it in a customer development project on the customers virtual desktops (it was a little effort before the customer accepted this, but finally we are all happy ).

 

Can the Feature Explorer help to onboard new developers?

From my point of view the Feature Explorer can help for the very first step with AiE. But if it should really help to onboard new developers, much more features should be added to the explorer which show the people the great advantages of AiE compared to the old tools (e.g. method extraction, different QuickFix options, ABAP doc, ...). Of course this is already in the backlog of the AiE team I think.

 

My favorite feature of beginners tour

The feature I most like is the refactoring stuff (of course not just the renaming of a variable which is described in the explorer). It reduces the refactoring effort a lot compared to the effort which was necessary in the ABAP workbench.

 

Additional features of AiE I like

There are several features I like:

  • as mentioned the refactoring options
  • ABAP Doc
  • the nice integration of ABAP Unit Tests and the Coverage Analyzer
  • FPM integration
  • ABAP Resource URLs
  • ...
  • and finally (not directly an AiE feature) that I have all my different projects (UI5/Fiori apps, HANA XS, Java, ...) at one place so that I have not to switch between different IDEs

 

One more thing regarding the features ...

... I want to mention is, how we use the ABAP Ressource URLs. Of course we are sending around the URLs when we have to clarify some topcis regarding a specific code part. But we are also use it, to "integrate" AiE into the result dashboard of a code check tool we use.

Let me say some words regarding the tool. The tool, called ConQAT, makes static checks on our ABAP code. Things like duplicates, long programs, long procedures, nesting deeps, ... are checked. Also the results of our code inspector checks are integrated in the dashboard. One big advantage of the tool is that you see at a glance if the quality is moving to a god or a bad direction, because a base line can be defined against my checks are done. For new projects of course the base line is zero, cause my complete coding should be free of issues. But for maintenance projects which are running since years it makes sense that a base line is defined which covers the current state of the coding. So the delta displays only remarks regarding new/changed coding.

Before AiE we had the result in the dashboard and to fix an issue we had to copy the object name and to search it manually in the ABAP Workbench. Now we have the ABAP Resoure URLs integrated into the dashboard and we just have to click on the link to get to the coding which we have to fix. A much more convenient way from our point of view. Thx to Thomas Alexander Ritter for giving us the information about the ABAP Resource URL APIs (ABAP Resource URL documentation).

 

I like, I wish

As my colleague Christian Lechner did it already in his post (AiE Feature Explorer ... The Next Generation of ABAP Development) I also want to add some wishes here for the future:

  • Regarding the template functionality it would be great to be able to define templates which can be distributed automatically in a team. There are several common templates which have to be updated from time to time. Instead of exporting it to XML and sending it to all team members such a distribution option would be great (either using the central templates in the backend or via a separate repository).
  • ABAP Doc: As my colleague mentioned, the extraction (e.g. to XML) of ABAP Doc would be a nice feature. I would also like to have the chance to influence the extraction using a specific "writer" interface/abstract class to adjust the result or to create a complete different result. Because most of the customers want to have a technical documentation, my "little dream" is that I have a tool where I can manage my requirements (maintain a business description, bundling of affected code objects or tagging them with the requirement, ...). If something is changed in the coding of the requirement I just have to generate my documentation instead of adapting it manually.

 

Finally ...

... with AiE for me it makes much more fun to develop ABAP code. Another point which supports this are the great new language enhancements which were rolled out with NW 7.40 SP02 und SP05. I am looking forward to the future releases of AiE and NW 7.40 SP08 (where I can hopefully define my DDIC things with CDS ).

 

Thx to the whole AiE Team. Great work.

 

Florian

Hi community,

since a couple of days the new version of the ABAP development tools for Eclipse are available on the SAP Tools Updatesite. You can get the version 2.28 via SAP Development Tools for Eclipse. In case you never had installed the ABAP development tools for eclipse before you also find the installation instruction there. This version is still supporting Eclipse Juno and Kepler but not the latest Eclipse version. Support for Luna will come with the next version of the tools.

 

The new version contains besides a bunch of bug fixes a few small features that might be helpful for you:

 

 

 

Manually defined system configurations for ABAP projects

 

In order to connect to an ABAP system from eclipse you have to create an ABAP project. Up to now you are only allowed to choose systems that are already configured in your SAP Logon on your PC. With version 2.28 we enhanced the creation of ABAP projects so that it is possible to configure the system connection manually in your ABAP project. You can specify the system connection on the creation wizard. There are now two options available: a.) configuration via SAP Logon (what we have since years) b.) manual defined projects. 

 

03.07.png

 

For manual configuration you have to specify the system ID, the application server and the instance number and you are in. The complete information of the manual defined ABAP project is stored within your eclipse workspace.

 

We often got the feedback that some SAP Logon configurations are not supported within eclipse, e.g. in case the system configuration file is stored on a server. So we hope that the manual defined projects come overcome these issues. Nevertheless we also want to close these gaps for SAP Logon file configurations in the future. Here we are relying on your feedback which options you are missing in eclipse.    

 

 

Restrict object search to specific types and packages

One of the most important features of the ABAP tools for Eclipse is the object search via shortcut CTRL-SHIFT-A. This function helps the developer to very easily open development objects in your IDE. Just enter the name (or parts of it) in the search dialog and you will instantly get the results independently what kind of object you are looking for. But there are situations where the result list is too long and you don't see the expected objects. With the new version 2.28 you can further restrict your object search via specifying the ABAP package and the object type. Let's make an example: So assume you want to search for a data element that contains the name BOOLEAN. That's what you have to enter in the search dialog:

 

03.07.png    

 

Now you can further restrict the search result by specifying the package in which you want to search:

 

04.07.png

 

You see that we also provide content assist for the available packages in the ABAP system. Content assist is also available for the keywords type/package and the available object types of the ABAP system.


Remark: This feature is currently restricted to AS ABAP release 7.40 SP06.

 

 

Quick Assist View

Quick Assist is another very helpful tool within Eclipse that helps the developer to do some tasks very quickly. In the meanwhile we have a lot of these quick assists available in eclipse like renaming of variables and methods or creating of parameters and attributes. All quick assist proposals are context aware meaning that only these proposals are displayed that are useful on the current cursor position. Just press CTRL-1 and you will get the available proposals in a small popup in the editor. Just double-click the assist (or choose via ENTER) that you need and the editor does the rest for you automatically:

 

qa.png

 

This feature is very helpful but sometimes it is hard for the developer to recognize the available proposals because you have to press CTRL-1 every time to see them. To overcome this issue we now introduced a new view in eclipse the so-called Quick Assist view.


qav.png


This view displays all available quick assist proposals based on the current cursor position. There is also a history available to monitor the quick assists that you already have triggered in the past. This might be very helpful in complex refactoring scenarios to track what kind of code changes you did.



Have fun with the new version and give us feedback.


Kind Regards,

Thomas.



Hi there,

 

my name is Dirk Roeckmann of UNIORG Inc. based in the Pittsburgh area, USA.

 

I've been working with ABAP for 15 yrs. I've used Eclipse for years in non-SAP related areas like Java, XML, web services etc. and recently in SAP related areas like SAP (Netweaver) Gateway/UI5.

 

The tour-based feature explorer is a nice idea, because it gently 'forces' the user to focus on certain areas and that helps significantly with getting acquainted with the tool.

 

Code Element Information and Code Completion are among my favorite features, giving me the feeling that finally, with the help of  an up-to-date IDE the ABAP experience gets more comfortable especially for those used to code in different languages too.

 

Additionally, I found the embedded SAP GUI very helpful.

 

 

Volker Janzen

Cordial Saludo,

Mi Nombre es Alfredo E. Goenaga S, y soy consultor hace más de veinte (20) años, actualmente estoy concentrado en Hana y particularmente en integraciones con Using ABAP for HANA Development Tools, realice las actualizaciones y configuraciones y ya tengo mi entorno de Eclipse listo y configurado, la ventaja es que tengo un solo entorno de desarrollo para los proyectos que tengo.

 

Invito a toda la comunidad de desarrolladores   (@ABAP developers) a utilizar este entorno tan versátil y aprovechar todas sus ventajas y características.

 

Los invito a mi blogs en SAP http://scn.sap.com/blogs/agoenagas o a mi pagina personal www.goenaga.com.co.

Robert Jamerson

AiE feature explorer

Posted by Robert Jamerson Jun 29, 2014

I started in ABAP 4 years ago and am currently part of a 2 person support for an ECC 6 system (the company I work for is not on HANA and has no plans to migrate).  That being said, Tte primary impetus was wanting to familiarize myself with the future development platform and to explore benefits/drawbacks. 

I used eclipse before starting the AiE [feature explorer] on an miniSAP system and then our dev system;
The plugins were where I started exploring: UML and diagramming, other source code compare tools, etc.


I really enjoy Eclipse -less so on NSP for the reasons outlined below.

My list of benefits/drawbacks:

-supplementing some other posts, such as: http://scn.sap.com/community/abap/eclipse/blog/2014/03/17/how-to-get-your-colleges-into-abap-in-eclipse
working locally is advantageous - being currently on a hosted system when occasional system/connection problems occur, work is lost which is very frustrating.
renaming -truncated refactoring- is helpful.
code templates easier to manage while ide branding/colors not so much (for alternate windows without installing theme).
different compare engine which I like less  -not as robust; ability to have more compare engines is a huge plus
easier management of breakpoints
profiling tools
The auto lock is a solid feature -created and freed on-demand.  I like not being required to explicitly declare the change-mode.
-occasionally locks not set and i can edit same object in eclipse/ se38 or se80 if i started editing in eclipse first

 

better in SAP: trace tools SAT, code inspector (not sold on the logic in this post: http://scn.sap.com/community/abap/eclipse/blog/2013/07/30/how-can-i-trigger-code-inspector-checks-with-adt-in-eclipse ).
Many features are disabled on NSP systems which I find difficult to accommodate -mostly as their is no disclaimer when you dive in the experience is limited on the miniSAP system.
Examples:
-cannot toggle breakpoints
-no transport organizer
-no pretty printer
-debugger restart does not work in NSP.
[launches start workbench session with no parameters: hitting enter causes uncaught exception: CX_BADI_NOT_IMPLEMENTED ]
-ABAP Sourcecode Search not available


Their is significant overhead in rebranding the keys to match se80/se38:
duplicate line, delete line, goto line, comment line, etc all had to be remapped and occasionally the ide gets confused.  It would have been nicer for their to have been a better mesh with for developer transition (one less annoyance and time waste). 

Marco Werner-Kiwull

CodeJam Vienna

Posted by Marco Werner-Kiwull Jun 24, 2014

Nice wrap-up of the SAP CodeJam on ABAP in Eclipse in Vienna, June 6:

1st SAP CodeJam in Vienna - ABAP in Eclipse

Hi Friends

 

I am Pawan Akella working SAP OOABAP Webdynpro Consultant having 4yrs of experience in ABAP Development

 

I came across Eclipse environment, when my friend who is working in BIGDATA as HADOOP Developer told me the features of Eclipse

After listening to me I said WOW the features of Eclipse are Cool


Wish for ABAP also we could have same Editor for development


After few days while I was searching for some document in SDN,I saw this post Getting Started with ADT for ABAP. I dont know that ADT means Eclipse for many days


After some days with curiosity to know what is ADT , I clicked the link and after that I came to know that even SAP has provided ABAP development in ECLIPSE  and ADT is nothing but ECLIPSE


After waiting for a long time finally I got Hands on Eclipse


Now many questions on how to get started, Thanks to ABAP in Eclipse community

I haven gone through so many links like


1) How to create ABAP program in ECLIPSE

2) What are the advantages and disadvantages of ECLIPSE

3) Shortcuts in ECLIPSE

4) How developer life became easy with Eclipse so on


The feature I liked in ECLIPSE is code completion,getting Hints of the syntax and methods of class, ABAP Object Search, Navigation between two Objects, Showing Syntax Errors


What I Liked the most and Why?


1) Code Completion

     It has reduced my burden to remember exact name of the class, Interface or ABAP Keyword

     I type something and press Ctrl + Space it gives me a list related to that word

 

2) ABAP Object search and Source Code Search

    with CTRL + SHIFT + A a dialog box will open and type the letters of the object which you remember

     even wildcards are allowed .

     the best thing is search is not limited to Reports or classes or interfaces

    it gives everything related to that word

 

  3) Getting where used list of object is very easy. what to do place the cursor on the class or method or function module

      press ctrl +Shift + G you can see the results at the bottom.

     Navigation between the search results is also easy unlike in ABAP editor or SE80 where after selecting one search result go into the code then come back again to the search result and select another search result


4) Syntax Checks

  This feature is the coolest among all

It shows the error message immediately after completing the sentence what is wrong

Generally we have to wait to see all these messages during Syntax checks in ABAP Editor

this features saves a lot of time to developer


one thing I found difficult or maybe I didn't explore correctly is


when I created a class, I implemented an Interface and that Interface has lot of methods

As we know the Class should implement all the methods of the Interface

I dont know what methods are present in that Interface

Generally in  SE24 when you create a class,inherit a interface in that class we can see all the methods shows up in the methods tab


This is one thing where I thought that SE24 is better than ECLIPSE


Thanks

Pawan Akella
 




Stefan Schnell

An Integration Scenario

Posted by Stefan Schnell Jun 15, 2014

Hello community,

 

I wrote a tutorial how to use FreeBASIC with SAP NetWeaver RFC library. You find part 1 - The Connection - here, part 2 - Client Apps (FreeBASIC uses SAP) - here and part 3 - Server Apps (SAP uses FreeBASC) - here. Based on part 3 I tried this integration scenario with ABAP in Eclipse and now here my experience.

 

The Strange Language

For the FreeBASIC language I use the Wordfile Editor plugin, which I presented here. At first I created my own syntax and highlighting scheme. Also I installed FreeBASIC 0.91 x64 and configured the fbc compiler in the tools menu of Eclipse. I created a general project with the source code file of the SAP server application and copied the x64 SAP NetWeaver RFC libraries in this project folder. Last but not least I compiled the source.

 

001.JPG

 

The Connection

Then I configured with the TAC SM59 the RFC interface in the SAP system and started the server application. Inside the TAC SM59 I take a RFC connection test, to see if its work correctly.

 

003.JPG

 

The ABAP program

In this case the ABAP program is very small.

002.JPG

 

The Result

After I started the ABAP program, it called the FreeBASIC function. This function opens a messagebox to tell that the call from the ABAP program has reached.

004.JPG

 

As you can see it is easy possible to develop a server application, with an external programming language, in a full integrated scenario with an SAP system via ABAP in Eclipse. It is not necessary to leave the IDE. All configurations, codings and tests can be done with ABAP in Eclipse. In this case FreeBASIC is only an example, you can use any language you like. ABAP in Eclipse opens the gate wide for this kind of integration.

 

Cheers

Stefan

I am particularly interested in the SAP advances towards Eclipse IDE in the area of ABAP development. I started using Eclipse several years ago for Java programming at University, and I became familiar with the tool. When I started in the SAP world I began as a developer in the Java stack, developing applications in the SAP Web AS Java and SAP NetWeaver Portal, building Web Dynpro for Java applications, portal components, EJB components and other Java developments. During all this time, I made extensive use of SAP NetWeaver Developer Studio (SAP NWDS) that is, essentially, an Eclipse based IDE with added features for SAP Java programming.

In a SAP Course I attended some time ago, the instructor said there were plans from SAP to introduce the possibility to develop ABAP in Eclipse. Now, I can see that it was not just a rumor because it seems SAP is taking it seriously.

I installed a few days ago version ADT 2.19, and I created some ABAP projects with some programs like executable programs or class pools. I also discover dictionary tools, GUI-based more than Eclipse integrated, to manage ABAP dictionary objects. Then I discover this SDN mission to discover the Feature Explorer in version ADT 2.24 and I was glad to install the new version to have a look. I think the Feature Explorer is a good idea, the guided stages makes platform learning more entertaining and it helps developer to understand the concepts discussed. I have discovered new features that were not available in version 2.19 or that I missed. It was very interesting the feature "Use the code completion to insert a method or function call including its signature, it is like Pattern tool in ABAP Workbench and in Eclipse I only knew the method or function name completion without its signature. Another good features I think are very important and should be present in any IDE are the access to the language help (F1) and the possibility to view the version history of any source code object. The "Link with editor" is also a useful tool to locate development objects in the hierarchy tree.

Besides Feature Explorer, I have checked the integrated debugger in Eclipse and I like it. Maybe be some feature missing like the use of watchpoints that I could not use. I want to try ABAP profiling feature also, but currently our systems are not in version SAP NW 7.4 as it is required.

I started programming with ABAP in 1997 under release 3.0F. I was a part project leader for data migration for SAP R/3 3.0F on IBM AS/400 at the company EDUSCHO (Austria) GmbH.

Today I am a development team member and SAP Competence Center leader at Austrian National Bank.

 

Last week I joined the codejam session at SCC in vienna leaning AIE. I am a big fan of SE80 but I think the last weeks codejam session changed my mind. Sure I knew Eclipse in the past as a java development tool. I couldn't imagine that it would be so cool for ABAP.

 

I think the feature explorer is not only useful. It is great for beginners but a little bit to short. There are so many features to explore!

 

The best feature I know is the CTRL-1. And for sure CTRL-L.

 

Thanks to Christian Punz for inviting us to the AIE codejam at SCC.

Thanks to Marco Werner-Kiwull for presenting us AIE at SCC.

The Mission (or why mankind needs more features to explore)

 

First time I got in touch with computer hardware / software as a child was the undercover usage of the incredible expensive C64 of my older brother ;-)

Later, we switched to Amiga and had all we need to code assembler and have fun for a long time. It was good enough.

 

In business life as software engineer, we work with C on Unix within IBM3151/VT100 terminals and

  • a shell
  • a vi editor
  • a build environment (make/compile/link/deploy)
  • a software version management (CVS)
  • a runtime environment (debug/profile/trace)

Again, it was good enough to solve the business requirements.

 

Today, SE80 with nice frontend editor and useful embedded tools are available for ABAP.

 

Is it finally good enough now ?

 

To answer that question, I think it's a matter of efficiency. Or in other words: "How many people are you (as a developer) able to make happy per time unit ?"

As mankind (at least in the capitalistic parts of the world) are (by definition) never efficient enough, I think the question is answered quite fast.

 

After Java came up and SAP changes some of its own tools (like MaxDB Studio) to Eclipse framework, it was worth to have a look on it. The A4E was shown at TechEd in the past and I tried to get a NW ABAP backend in our environment which was new enough to support A4E.

 

With NW 7.4 everything matches better together and setup/usage is simple enough.

 

So let's start with updating the ABAP4Eclipse package and find "the mission" inside Eclipse.

 

Here are the results:

 

  1. The idea of "training included" software (e.g. with gamification parts) is nice.
    Some smartphone OS explains the usage of itself during the initial usage

  2. A error was detected:
    It seems that generating a ABAP Class Type Hirarchie of a local class leads to endless loop in Eclipse. The only way to exit was kill Eclipse and restart.
  3. A backend dump occurred during refactoring


  4. I think the explicit feature explorer is the first step on a road to software with more "itelligent training included"
    Imagine if software could analyze your daily usage (like Google now) and provides you suggestions matching to your behaviour of usage,
    like ... "someone permanently types in the same code patterns again and again" -> a suggestion to optimize (code completition or patterns) could be made.
    I like the concept of http://scn.sap.com/community/gamification It has the potential to drive a new way of understanding software without dedicated training

  5. I'm unamazed from Eclipse (at all). Sorry, but that's my personal opinion. There are many pros and cons.

 

But finally, everybody has to decide itself, how efficienty can be increased in daily work.

Actions

Filter Blog

By author:
By date:
By tag: