Anthony Cecchini is the President of Information Technology Partners (ITP), an SAP consulting company headquartered in Pennsylvania. ITP offers comprehensive planning, resource allocation, implementation, upgrade, and training assistance to companies. Anthony has over 17 years of experience in SAP R/3 business process analysis and SAP systems integration. His areas of expertise include SAP NetWeaver integration; ALE development; RFC, BAPI, IDoc, Dialog, and Web Dynpro development; and customized Workflow development. You can reach him at
The NEW ABAP Front-End Editor
This month’s Blog will focus on the NEW ABAP Front-End Editor. While I touched on some of the cool new features in my debugger blog, I will go into much more depth in this study.
Today developers are increasingly making use of modeling in ABAP development to build programs without having to write them line by line. Digging into the code, though, is still the trickiest part of any application development, so it is not surprising that the bulk of a developer’s time is spent with the ABAP Editor. Despite a selection of model-driven programming tools, the typical ABAP developer probably spends as much as 95% of his time writing — and reworking — code using the ABAP Editor.
Whenever your work relies so much on any one tool, the addition of any new time-saving feature will have some major impact on productivity and speed up projects significantly. Even from a more user-oriented perspective, you should not underestimate the power of a user-friendly coding environment. It can make sitting down at the computer to make last-minute changes to your application to adapt to
new business requirements — or even worse, to edit code you didn’t design on your own — all the more bearable.
With all their new features, the latest versions of the ABAP Editor, I thought it best to appreciate the new features; we should first go back in time to see some of the limitations that were present in prior versions of the editor. I began my career in SAP in 1993 and had come from 15 years in the IBM Mainframe world of IT design & development. So it made sense for me to research the editor that I started with back in 1993 and travel forward in time to the present. Here is what I was able to find…
Early ABAP Editors
The first application ever developed for SAP R/3 was the ABAP Editor. After R/3 Basis was developed in the late 1980s, SAP needed a strong programming environment based on UNIX and relational database technology for its new release. Two internal SAP projects were launched — one based on the C programming language and another developed in ABAP on the R/2 platform (mainframe). Since R/2 ABAP was more or less identical to R/3 ABAP back then, it’s not surprising that the ABAP based solution was available first, and thus has become the commonly used solution. The reason was simple: Even slight changes in C always required a recompile and redeploy on the various UNIX workstations (i.e., installation of a new local GUI), whereas the ABAP-based editor was stored in database tables and therefore, due to ABAP’s server-side nature, was immediately available to all developers.
A Block-Editing and Tables-Based Approach
This distribution and self-compiling feature of the ABAP Editor (and, in fact, all ABAP programs) helped to set up a rather stable environment in the early SAP R/3 days, which was key to its success. However, the ABAP-centric design also had its price — Its dialog characteristics reflected a “block mode” editing environment. Users coming from an IBM environment felt comfortable with this, since the ABAP Editor shared many features of editors that are available on an IBM host, such as ISPF that ran under TSO (dating myself here!) which included the “block” on the left side of the editor interface where you insert line commands to copy, move, or delete lines. Developers who were used to UNIX or Windows (Same as saying younger than me!), however, were expecting other types of tools; Windows users, for example, would have expected a new line when they hit “enter,” while mainframe users expected data to be transferred in block mode to the host. To address this, if you were around back then, you will remember the ABAP Editor offered a “PC mode” that supported a Windows approach. From an implementation perspective, the ABAP Editor continued to use table controls — again, emphasizing handling of tabular data rather than lines of code independently.
Incorporating ActiveX Controls
The next innovation was triggered with SAP GUI’s support of OLE, which allowed internal SAP developers to embed native ActiveX controls capable of sophisticated frontend features such as drag and drop, local search and replace, local scrolling, local printing, and support for keyboard accelerators. This innovation was also reflected in the ABAP Editor, with a control-based editor plus backend features like syntax check and Workbench navigation (including the now indispensable double-click that allows developers to jump from the code directly to the definition of a structure or field). This ActiveX approach was a major step forward. Since it was being incorporated into a text editor-based approach, however, the ActiveX control-based editor was not aware of the ABAP syntax. Features that had become popular in other editors, such as syntax coloring, could not be supported directly.
Highlighting the New ABAP Editor
This leads us now into looking at the new editor and highlighting some of its time saving features.
-Automated and customizable syntax coloring, bookmarking, and collapsible code views to help better organize and manage even the most complex development code
-Code templates, dynamic content, and auto-correct options that “understand” what developers are coding and help us avoid syntactical errors
-More sophisticated, state-of-the-art user interfaces, including split windows and customized screens, to compare different sections of a program and speed development and, because it is integrated in the new debugger, speed of debugging as well
What’s New with the ABAP Editor
Did I peak your interest? OK, enough of the highlight reel, lets dig in and take a closer look.
A look at the ABAP Editor’s history (see above section) reflects how the new editor is a real breakthrough in its native ABAP support and its new level of controls sophistication. From a technical standpoint, the new ABAP Editor, like its predecessor, relies on ActiveX controls technology. But this time, this technology knows about ABAP syntax and can better predict and support the ABAP developer’s actions. Wow…an editor that helps me code!
Like previous versions of the ABAP Editor, the new editor is tightly integrated into the classic Workbench tools, meaning all the familiar server-side features — such as activation, global search, navigation to other tools, proper embedding into all major tools like class and function builder — are still fully available.
This all sounds great…you want to begin to use the new editor. However, wait a minute; your editor doesn’t look anything like the one I am describing? How do you get access to the new ABAP editor? It’s simple… to get started with the new editor, simply switch on the “Front-End Editor (New)” preference setting (as shown on the left screen in below). You can find these preferences inside of SE38 or SE80 by following the menu path Utilities (M)–>Settings. You will also be able to set yourself up to use the new debugger in the Workbench settings under the “Debugging” tab. Please refer to my blog on the new debugger to see why you should always use the new debugger.
The New Look of the ABAP Editor is shown below. Compare this to earlier versions — the only thing that looks familiar is the actual ABAP code! The most obvious change is all the color; automated syntax highlighting color-codes different syntactical elements. Keywords, such as DATA and CHECK, are shown in blue; string constants are green; custom code is in black; and comments are italicized — and all of these can be customized, which I will explain in a moment.
There are other features that developers will welcome……
-In the leftmost column of the editor screen, developers can insert symbols, such as breakpoints, to indicate stopping points throughout the program — there was no way to display these control icons in the previous version of the editor
-To indicate newly added or changed code, red triangles appear to the right of the corresponding line numbers where code has been edited
-Numbered bookmarks (shown as flags to the left of line numbers) can be easily inserted and manipulated using a context menu to more flexibly navigate to important points within your program
Customization Options
The ABAP Editor’s color and style assignments are certainly not fixed. If you prefer alternate colors and shading, you can customize the editor by simply clicking the customize button in the lower right corner of the main ABAP Editor window (shown above), which brings you to the Options menu. (see below) Suppose you fancy changing the color for breakpoints (in this case, setting it to dark red). Well this is where you can make this adjustment.
Here you can also change the various types of items you can display, including errors and breakpoints. Other customization features include the ability to…
-Set auto-correction options for frequently occurring misspellings
-Establish rules for “pretty printing,” including indentation settings
-Format code using font, color, word-wrapping styles, etc.
Splitting the Screen for Easier Maintenance
Double clicking the split bar button at the top right of the main ABAP Editor screen and/or dragging it down allows you to see two views of the same program. This split view helps you maintain related parts of a program within the same window — for example, you can program data definitions and the affected sections of code in parallel. (See Below)
Clearer Views of Even the Most Complex Programs
Another outstanding feature of the new code editor is its support for outlining syntactical structures such as CASE…ENDCASE and METHOD… ENDMETHOD (see below).With the “+” and “-” buttons, you can easily collapse and expand the body of syntactical structures within your code, and therefore better follow the inner structure of your programs by hiding details that are currently out of scope.
Features to Make Development More Efficient
Code templates are a powerful means to abstract recurring syntactical patterns. With templates the system can provide hints — while you enter code — that a template is available. For example, if you type the keyword “select,” the system will automatically suggest using the code template for “select.” If you simply press CTRL+ENTER, the suggested template will be inserted. (Misspellings can be corrected on the fly in the same way.)
The new ABAP Editor comes with a large selection of common, predefined template patterns (such as FORM…ENDFORM). However, you can also define custom templates on your own, helping enforce customized programming guidelines. You can use the template editor, which is integrated within the customizing dialog in the Options menu. The template mechanisms also allow you to insert dynamic fields (such as date/time) and integrate dialog input (such as the form name) to provide fully flexible templates. (see below)
Additional Editing Features
Other features that have been enhanced for the new ABAP Editor include….
-Extended dialogs for find and replace
-A clipboard that holds code fragments cut during your editing session, This is known as the clipboard ring and will be indispensible if you have the two or more code snippets to install repeatedly throughout your code
-Capabilities to print and export code snippets or full programs in multiple formats (HTML, PDF, etc.) for sharing code
Summary
The new features and design of the ABAP Editor better understand the syntactical elements of the language, greatly enhancing the productivity of your ABAP development teams. As always, the tools are integrated into the familiar environment of an ABAP Workbench. But unlike earlier versions, the tools are now integrated with each other — the new editing environment is fully reflected in the debugging environment, and vice versa. What’s more, the tools also offer many new customization capabilities to personalize each user’s design-time and runtime environment. This is cool, time-saving stuff for ABAP developers!
To further investigate the New Editor, use the link below to download the official SAP documentation below…
!!Cool Tool Alert!!
A company called CEON has combined Eclipse and ABAP to develop an ABAP™ Eclipse Editor that 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 plugin connects to SAP NetWeaver/ERP/CRM etc. 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.