CEON ABAP Eclipse Editor White Paper CEON Business Systems and Marketing Pty Ltd. Page 1
1. Introduction ABAP Eclipse Editor is an external ABAP editor for SAP. It is an easy to use development tool, which successfully extends the ABAP development capabilities of SAP to the Eclipse development environment (including the SAP NetWeaver Developer Studio environment). It accelerates time-to-market for developers building ABAP services/applications. The plug-in connects to SAP like the SAP's SAPGUI using the same user authentication methods. Because of this, ABAP Eclipse Editor users must be registered in the SAP system as a SAP developer, like when they are developing with SAPGUI itself. SAP customers use ABAP (Advanced Business Application Programming) for their own developments. Such developments can be important for adapting SAP ERP standard solutions to specific problems. The ABAP Development Workbench contains all the tools you need to create and maintain ABAP programs, however, the standard SAP ABAP editor does not have the features the ABAP Eclipse Editor holds, which enables developers to significantly improve efficiency of their development work. Why did we develop the ABAP Eclipse editor? Main reason is that ABAP development resources are scarce and expensive. Therefore we wanted to increase efficiency of development work by improving tools that support developers in carrying out development work. We focused on development processes that take time and are prone to errors and thus achieved to significantly increase efficiency of development effort. The best of two worlds... We have combined the power of the well known Eclipse IDE with the proven functionality of the SAP ABAP Workbench to develop an innovative new ABAP Editor. Hereafter we explain and demonstrate a couple of features that are available in the ABAP Eclipse editor. CEON Business Systems and Marketing Pty Ltd. Page 2
2. Code Assistant Writing of source code. Writing of source code will be easier and more effective using the Eclipse editor. While typing the first few letters of variable names, statements etc. the editor suggests the most likely variable names/statements etc. you intend to use. This saves a significant amount of effort. Developer for example enters SE subsequently a list of statements appears. While writing source code, you frequently need information about different program objects (global/local variables, method parameter, FIELD-SYMBOLS, INCLUDE etc.). Simply move the mouse cursor onto an object name (as shown below with the SELECT statement and transparent table SCARR). The Editor informs you about the program object via a context sensitively tool tip. CEON Business Systems and Marketing Pty Ltd. Page 3
Data/ABAP Dictionary information can also be retrieved via the Data Dictionary view. The Data dictionary will be displayed next to the source code so no screen navigation is needed. Smart navigation between reports, function modules, objects, interfaces, data dictionary objects etc. is easily been done by holding the ctrl key and pressing the object. Data Dictionary objects like Domain, Structures, Data element etc. can be maintained with the Data Dictionary editors included in Eclipse. Code Template. Why would you want to type in frequently used lines of code again and again? Frequently used templates (written by experts) containing hundreds of lines of code are available. You can also build your own templates. Predefined statements and combinations of statements are in the background available which makes it easier to select when needed the respective coding thus improving the effectiveness of development work. Developer enters for example l, a list of templates now appears. After clicking the selected template code is inserted. CEON Business Systems and Marketing Pty Ltd. Page 4
Retrieve methods and attributes from objects. Methods and attributes from objects can be quickly searched from the selected object and interface. This saves costly development effort. After entry of the object instance name a list of methods and attributes of the object type is shown. Package Inheritance Package inheritance enables to drop down from module level to the lowest possible level in order to retrieve/select module components required for understanding the module as shown below. Thus it allows to get a quick overview of the program's package structure. CEON Business Systems and Marketing Pty Ltd. Page 5
Retrieve components/fields from structures. Fields of a table or type structures are often used during daily programming tasks. So why search for the exact field names in the DDIC (e.g. via double clicking)? The ABAP Eclipse editor helps you interactively: If you type in a variable of a structure type e.g. lv_sflight- the Eclipse editor displays a pop up window with all available table fields in the structure (incl. Data element, type, name, description, length). With the Enter key you can insert the complete field name in one step. No additional typing is necessary. As you can see after entry of - a list of components are shown, selecting component CONND shows characteristics of this component. Forward navigation Hold the ctrl key and click on an object to navigate to this object. Or double click on an ABAP object for example in the Data Dictionary view or Class attribute in the Class Editor etc. and you will be navigated to this object. CEON Business Systems and Marketing Pty Ltd. Page 6
ABAP Objects Maintain ABAP classes and interfaces from within Eclipse. With the ABAP Class Editor you can implement methods, change method interfaces, Add method parameters, inherent superclasses, change class attributes, maintain class interfaces etc etc. CEON Business Systems and Marketing Pty Ltd. Page 7
3. ABAP Objects UML Diagrams This feature gives an excellent overview of the structure of ABAP objects. Objects and Interfaces are shown in a graphical way. Thus it enables developers to quickly understand the structure of software. It allows as well to easily navigate from a UML-diagram to code and vice versa. From UML one can update Classes or Interfaces. UML Class diagrams can be imported and exported in XMI files. The UML Class diagram can be automatically generated from an ABAP Objects Class or ABAP Objects Interface in the back-end system. Or ABAP Objects classes can be automatically generated based on the designed class diagram in Eclipse. The UML Class Diagrams can be easily be maintained in the ABAP explorer. CEON Business Systems and Marketing Pty Ltd. Page 8
4. Close to other development environments As shown below, editing methods can be done just like SAP transaction SE24. But now with the combination of both worlds ABAP and Eclipse. - ABAP Integrated in Eclipse features like To-do/tasks, cheat sheet, help, templates etc. etc. - Code generation for other programming languages such as; C++, Java, PHP etc. - Familiar development environment. - Easy accessibility to other development environments. - Other programming languages can be applied in the Eclipse editor as well. SAPGUI for Java integrated in Eclipse. CEON Business Systems and Marketing Pty Ltd. Page 9
5. Debugging Completed code of new developed functionality can be directly tested from within the Eclipse editor applying debugging features as shown below. Code can immediately be modified during debugging. 6. Implement Classic and New BAdi. Classic and new BAdi s (New BAdi s only available from NetWeaver 7.0+ based systems) can be implemented direct from Eclipse. 7. BApi Explorer. BApi Explorer (transaction bapi) can be used in Eclipse to find the BApi available in the system. Information about the BApi like which function module and BApi documentation. 8. View Process and ABAP log Overview Work processes can be monitored via the process overview view like transaction SM50. And ABAP short/long dump log view like ST22 is available in the log view. CEON Business Systems and Marketing Pty Ltd. Page 10
9. Future developments In the coming years innovative developments will be made available in future releases to constantly improve productivity of ABAP developers. Subscription to a Yearly Maintenance fee of 10% of the purchase price guarantees you benefit from future developments. CEON Business Systems and Marketing Pty Ltd. Page 11
6. Cost Benefit Analysis The time to write ABAP source code is reduced Dramatically According to our statistics approximately 50% of an ABAP program can be automatically entered by our code completion features. We estimate that you can save 36 minutes per day compared to a standard ABAP editor. Time consuming search tasks (e.g. during the conception phase) are reduced When writing ABAP source code, the programmer often needs to know the exact names of certain variables, Objects, Methods, Data Dictionary structures (which are often not easy to remember, e.g. DRAW-DOKNR) and of course the exact ABAP statement names. Traditionally he/she had to look at many places to get this information (ABAP help, SAP Data Dictionary, other ABAP include files, etc.). This takes time. The ABAP Eclipse editor provides much of this information right "at the fingertips" of the developer. For example, context sensitive information windows (automatically triggered by entering ABAP code) offer Data Dictionary structures with their explanation. Declared variable names are automatically shown and can then easily be inserted. Features like the ABAP Eclipse editor help to query the complete source code of all related ABAP include members and show you all declared variables right away. Even if you only spend 2 hours per day to search for this information, we estimate that you will be able to save at least 7 minutes per day (a conservative estimate in our opinion) by using the ABAP Eclipse editor. The quality of ABAP coding is improved, ABAP programs will become more "readable" Just by using self-descriptive, informative, longer variable names the source code can become more readable and provide a better understanding of the program logic. This also means that training time for external or new programmers (who must understand the ABAP program first, before they can make changes) can be reduced. Thus the maintenance of the program is simplified. Developers quickly understand the structure of the software by using the UML feature. By using the ABAP Eclipse editor, a programmer can use long variable names at no additional "typing" costs. He/she just has to enter only the first few letters of the variable name, and the rest is automatically inserted by the module. Context sensitive help, live replace functions and the logic group compression further functions which will improve program handling and reduce the possibility of bugs during the design phase. Obviously it is difficult to specify how much time could be saved by improving the quality of your ABAP code. We estimate 17 minutes per day. Please, decide for yourself how much time could be saved here; keep the lifetime of your software (maintenance) in mind. CEON Business Systems and Marketing Pty Ltd. Page 12
Cost of the ABAP Eclipse editor A Single user version of the ABAP Eclipse editor costs 299,-- (incl. VAT). The purchase price of the Multi-user version of the ABAP Eclipse editor is; 2 5 users: 265,-- (incl. VAT) per single user 6 25 users: 225,-- (incl. VAT) per single user > 25 users: 200,-- (incl. VAT) per single user Yearly maintenance fee (free support, new versions) 50,00 per single user license. (First year free of charge) Benefit Item Description Saved man-hours Saving in AUD* per year* 1. Writing of source code 15% of 4 hrs * 200 = 120 hrs AUD 9.000 2. Code template 3% of 4 hrs * 200 = 24 hrs 1.800 3. Retrieve methods and attributes from 2% of 4 hrs * 200 = objects 16 hrs 1.200 4. Retrieve components/fields from 2% of 4 hrs * 200 = structure 16 hrs 1.200 5. Package inheritance 1% of 4 hrs * 200 = 8 hrs 600 6. ABAP TM Objects UML Diagrams Intangible 7. Close to other development Intangible environments 8. Debugging 2% of 4 hrs * 200 = 16 hrs 1.200 Total 25% of 4 hrs * 200 = 200 hrs per year AUD 15.000 * Manpower saving is based on development time spent on coding by a developer. Appr. 50% of available developer s effort is spent on coding. An average developer works 8 hrs per day and spends 200 days per year on development work. Assumed hourly rate AUD 75,-- per hour. Estimated Overall benefit per developer in the first year of purchase AUD 15,000. Efficiency improvement per developer per year 12,5%. CEON Business Systems and Marketing Pty Ltd. Page 13
9. Contact ABAP Eclipse Editor Website: http://www.ceon.com.au/abapeclipse Website: http://www.ceon.com.au Email: info@ceon.nl CEON Business Systems & Marketing Pty Ltd. Level 11, George Street, Sydney, NSW 2000. Australia Tel. 02 9262 5599 CEON Business Systems B.V. further does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. CEON Business Systems B.V. shall not be liable for any special, indirect, incidental, or consequential damages, including without limitation, lost revenues or lost profits, which may result from the use of these materials. The information in these pages is subject to change without notice and does not represent a commitment on the part of CEON Business Systems B.V. in the future. The software products marketed by CEON Business Systems B.V. and its distributors contain proprietary software components of other software vendors. Microsoft, WINDOWS, NT, are registered trademarks of Microsoft Corporation. SAP, R/2, R/3, ABAP, are registered trademarks of SAP AG. Java is registered trademark of Sun Microsystems. CEON Business Systems and Marketing Pty Ltd. Page 14