Skip to Content

Introduction

If you develop now UI for SAP, you use Web IDE. If you are doing backend and ABAP, you use ADT (ABAP in Eclipse). But sometimes you still need to come back to SAP GUI and ABAP Workbench and use the “New” ABAP Editor.

For that rare cases when you are doing ABAP in old fashion way 😉 I have some suggestions, which maybe someone not aware of, and that may help be more productive. In this blog, I will try to explain most useful functions added in ABAP Editor (from my point of view) and will try to collect links to other useful resources related to ABAP Editor for SAP GUI.

Do not expect too much in the beginning, but the list will grow up on demand.

Disclaimer

I am long time not responsible for the ABAP Editor in Workbench so I cannot add or fix something. And I am not ABAP Workbench expert in general – I can only give details about that white area where you type your code. But for that white area, I can explain how it was designed and if the thing you want is in or is theoretically possible.

Tips & Tricks

Quick start

It was designed, that when one starts “New” ABAP editor in the ABAP workbench for the first time, he gets an introduction page, explaining new features of the editor. But I never saw this working :).

The page is located aside to ABAP Editor user settings in:

“%APPDATA%\SAP\SAP GUI\ABAP Editor\qstart.htm”
Copy => Win + R => Paste => Enter

And here is most valuable part of the page:

 

Block / Column Selection

  • Alt + Shift + Left/Right/Up/Down

The ABAP editor allows you not only use standard (called “stream” selection) but also allow to select a rectangular block of text, which does not start from the beginning of the line:

You can select text block using the keyboard commands (Alt + Shift + Arrows) or with a mouse, keeping left Alt key during selection:

After selection, you can apply many of the editing functions in block mode:

  • Delete, Insert, Multi Edit
  • Copy/paste from Clipboard
  • Case conversion
  • Indent etc.

Multi Editing

 

Null Width Selection

The degenerated version of the block selection is Null Width selection (not visualized 🙂 ), which you can use for indenting of text blocks.

 

Clipboard Ring or Multi Clipboard or Clipboard History

  • Ctrl + Shift + V

If you want to see all text pieces you have copied during your editing session, just press Ctrl + Shift + V, instead of normal Ctrl + V. Then you get a history of the clipboard items (up to 12, in chronological sequence) where you can select and paste any of the items (it also overwrites current Windows clipboard content).

 

Case Modification

  • Ctrl + L / Ctrl + U / Ctrl + K …

You can easily modify text case, without using a pretty print function. It works with stream and with block selection.

 

Lines move

  • Ctrl + Alt + Up/Down

The feature is useful when you need a block of lines, but do not want to overwrite keyboard content. You can move selected block of lines up or down. If no selection is done, the current line is moved.

 

Line duplicate

  • Ctrl + D

Sometimes it is much faster to duplicate the current line and adjust content than typing it once more.

 

Word/Line Selection

The ABAP editor supports different kinds of word/line selection:

  • Ctrl + Left/Right to select till word borders
  • Ctrl + Left Mouse Click on a word
  • Left Mouse Click on number margin to select lines

 

Incremental Search

  • Ctrl + I, Ctrl + Shift + I

In many cases when you want to do a simple text search you can achieve it without calling Find dialog and losing your editing context. Just start Incremental Search mode by pressing Ctrl + I and start typing.

  • Press Ctrl + I to search for next occurrence
  • Ctrl + Shift + I for search of the previous occurrence
  • Backspace to correct your input
  • Esc to exit incremental search mode
  • See editor status bar for current search query

 

Code Hints

Code Hints were designed as proactive, not intrusive alternative for standard code completing list called by Ctrl + Space. It shall be very prudent to resources, but same time giving the user a way to speed up typing.

Code Hints may suggest syntactical construction, variables and code templates (somewhen before it was also auto correction suggestions in). The editor collects all fitting suggestions, rank them by type, usage count, input method and shows you the best hit. Code Templates are always won against keywords and variables, keywords (syntactical constructions) win against keywords.

Suggest Non-Keywords from the Text

The mentioned option is OFF by default (for some reason), but it brings a lot of value. “Non-Keywords from the Text” means in ABAP scope – your variables. So, if you enable the feature, you get your variables suggested by code hints (code completion list will show them independently of the flag) and this may save some typing effort especially if you are using “self-explaining”, meaningful variable names ;). Especially the flag would be useful, if you are forced to work on systems below SAP_BASIS 7.02, where full blown code completion is not enabled, and this flag and code hints the only “completion” you may get :).

 

Code Hint Color

When you using Code Hints, you see that it sometimes has light, standard background:

And sometimes it has inverted, dark background:

Have you ever asked yourself: what does this crap mean? 😉

The secret meaning of the Code Hint background color:

  • Light: there is only one suggestion known to the editor. You can safely accept the suggestion by Tab.
  • Inverted (dark): there is more than one suggestion known to the editor and you can call full blown auto-completion list to see all alternatives.

ADT (ABAP in Eclipse) has also emulated implementation of Code Hints in some way, but the “secret knowledge” was lost, and the only inverted color is left 🙂 :

 

Why my code highlighted differently when I paste it in an email?

You may wonder, why when you copy/paste your code from the editor into email (or any other editor supporting HTML formatting) syntax highlighting of the ABAP code looks different from the one you had in ABAP editor.

ABAP Editor:

MS Outlook:

The reason here – different highlighters that used for rendering of text in both cases. The one in ABAP editor, it is a highly sophisticated one, which works in respect of ABAP grammar available on ABAP system you work (and require fully qualified input), and the second one, is rudimental highlighter, which works based on keywords and can highlight even invalid code, but is not in sync to actual ABAP grammar. On the example above we see that keyword based parser has not highlighted OCCURRENCE, REGEX RESULTS (while in time the editor was written, these keywords were not yet known J ) but has highlighted the VALUE in the second sentence, that has been marked as an error by ABAP parser.

You would not be able to get code pasted into an email, always looking as one in ABAP editor, but you can extend syntax scheme of the keyword based parser, by simply adding missing keywords into abap_spec.xml file in ABAP Editor settings directory to get missing keywords highlighted:

“%APPDATA%\SAP\SAP GUI\ABAP Editor”  -> abap_spec.xml

Add this:

…
<TextType id="52" name="Keywords" ...>
  <Keywords>
…
    <Keyword text="regex"/>
    <Keyword text="occurrence"/>
    <Keyword text="results"/>
…
  </Keywords>
</TextType>
…

And get them also highlighted:

 

Display list of assigned ABAP Editor keyboard shortcuts

The easiest way to get an overview of currently assigned keyboard shortcuts in your instance of the ABAP editor is a preview of the keyboard mapping scheme file in Internet Explorer (not in Chrome, you need a browser supporting XSLT transformations).

Paste the following path in your Windows Explorer:

%APPDATA%\SAP\SAP GUI\ABAP Editor\keymap.xml

If you are lucky and your default browser is still IE, you will get something like this:

The list is searchable and contains all assigned keyboard shortcuts and command IDs and descriptions for all installed keyboard mapping schemes.
If the command is not on the list, it means, there is no shortcut assigned to it.

 

ABAP Editor Color schemes

Most of you know that it is possible to change the color of syntax elements shown in ABAP Editor. Using that “Settings” button in the status bar. But most of you a bit lazy to change that consistently and create new color scheme (Dark one for example) in a way that you can use and share with others.

But there are guys who did it. Check this GitHub repository if you want to get alternative color schemes for ABAP editor.

https://github.com/lucattelli/ab4-themes

  

And if you have your own one – share it with the community!

 

References

To report this post you need to login first.

21 Comments

You must be Logged on to comment or reply to a post.

  1. Jelena Perfiljeva

    Wow, this is a really nice blog. Top points for animation! 🙂

    I’m still very much enjoying the old editor though. I know all the cool kids either use Eclipse or at minimum new editor. But to me all that technicolor highlighting is actually distracting. Perhaps I just need some “grumpy ABAPosaurus” theme. 🙂 It’s just a personal preference though, don’t mean to convince anyone to join the dark side and I have no cookies to offer.

    Thanks for posting, great job!

    (5) 
    1. Alexey Arseniev Post author

      Hi Jelena,

      thanks for the feedback!

      So, you want something like this:

      Nothing can be easier 😉 As far, as mentioned Bruno will give me a GitHub repo contributor rights, I will upload the “Nostalgia” theme for ABAPosaurus 😉

      The most important, that one CAN change the scheme in the editor, to fit his needs and same time got the rest of functionality also. But I would agree, that the way of changing a theme is not very comfortable.

      BR, Alexey.

      (2) 
  2. Custodio de Oliveira

    Hi Alexey, I hope you enjoyed your holidays 🙂

    Thanks for this post (and for helping me to fix the bug on the BSP editor 😉 ). This is very useful as even the “cool kids” still need to use the old new editor for the objects not supported by ADT.

    I’m uploading my color scheme on Bruno’s github. Unfortunately for Jelena, it will not be an Grumpy ABAPosaurus theme yet.

     

    Cheers,

    Custodio

    (2) 
    1. Alexey Arseniev Post author

      Hi Custodio,

      thanks for the comments and for triggering me to start such a blog!

      I see you have forked the Brunos GitHub repository. I feel that this is not the best way to go, while now there are two sources for AB4 themes. The proper way would be to get from Bruno contributor rights for his repository and upload your theme directly to it. That is what I am planning to do also.

      BR, Alexey.

      (0) 
  3. Martin English

    This is bookmarked 🙂 It’s amazing the number of modern (I.E 7.40 and newer) systems I come across that still haven’t enabled the Eclipse editor.

    BTW, Jelena, nothing wrong with being a dinosaur – remember how long they / we lasted for 🙂

    (2) 
  4. Serdar Simsekler

    Hi Alexey

     

    Great blog! I got upset when reading all these thinking I never used most (almost all) of them.

     

    I must also say that I do not go to Eclipse ADT for backend ABAP development unless I really have to, e.g. for maintaining CDS objects, etc. I have always thought going to Eclipse is the “rare” thing most ABAP developers do for ABAP development. But maybe it’s because I am, too, an ABAPosaurus as in how Jelena Perfiljeva defines it. Not so grumpy, though. 🙂

     

    When I first started coding in ABAP, there was this consultant using the non-graphical screen editor for maintaining dynpros. I now must be like him to the newbies. Am I?

     

    Thanks again.

    Serdar

    (0) 
    1. Alexey Arseniev Post author

      Hi Serdar,

       

      there are enough others like you still preferring to use ABAP Workbench but not ADT, because of different reasons ;). But the SAP strategic direction for ABAP Development is ADT and Web IDE for Fiori / SAP UI5 Apps, so I doubt that there will be significant investments in old development infrastructure. So, if one looks to the future, he needs some when migrating to ADT. IMHO, for “old” ABAPers, benefits of ADT is still giving not so much value to force them migrating to it from ABAP Workbench. And I assume it would be so until all Dynpro based dev/lifecycle tools will be migrating to Eclipse based alternatives. And as one “very much involved” in the development of ABAP Editor control for SAP GUI, I may say Eclipse text editor in ADT is still missing a lot of features of it, however having a lot other, refactoring related features the editor in ABAP Workbench does not have.

      In addition to mentioned, Web IDE also does not help ADT to grow and become a single IDE for SAP…

      Please treat my comments here as my personal opinion, but not SAP opinion. I am not involved in the development of dev tools now, so most probably lacking some insights.

      BR, Alexey.

       

      (1) 
  5. Stefan Jetter

    This blog reminds me of the times when AB4 (like it was called these days I believe) was released the 1st time.

    A BIG RELIEF for all ABAP developers who strived at least for a little bit efficiency when writing code in these times!!!

    There were no ADT and if you compare AB4 to its predecessor it comes down to: predecessor had a “Pretty Printer” and a syntax highlighting feature that consisted of printing comments in blue and code in black. Have I missed a feature?

    If one only evaluates the editor comparing to Eclipse there would be hardly a reason to switch to ADT. But there are other IDE features that might make one think twice despite the overall strategy.

    Thanks for introducing AB4 at that point in time!!!

    (1) 
  6. Joachim Rees

    Hey Alexey,

    great blog, thanks for sharing!

    Glad I learned about the “Block / Column Selection” – in the past I used to copy code to notepad++ to do just that.

    I read you blog 2 days ago, and just now I could already make use of it, cool!

     

    best

    Joachim

    (1) 
    1. Alexey Arseniev Post author

      Hi Lutz,

      the editor is wrong 😉

      It is not about Eclipse editor, but about old ABAP Workbench ABAP editor, running inside of SAP GUI.

      But you touched a good point, the difference in keyboards shortcuts between ADT and ABAP Editor from Workbench is dramatic and sometimes even rather critical, as with example with line duplicate 🙂

      I am already in a way of writing comparison table for people using both environments or moving from one to another.

      BR, Alexey.

      (1) 

Leave a Reply