Use Python to rewrite ABAP code

images/thumbnail.jpg - Thumbnail

When you need to make mass changes to ABAP code, the SAPGui IDE isn’t of much help. Eclipse ADT is better, especially if you just want to rename stuff. But there are lots of changes which you won’t be able to automate there. Namely, changes that most be done hundreds of times and which cannot be done with a simple find and replace. In these cases you probably end up changing everything manually. But it doesn’t have to be that way.

Quick Cut and Paste

images/thumbnail.jpg - Thumbnail

I learned yet another small obscure SAPGui functionality. How to speed up copy and paste.

Shortcut to save list local file

images/thumbnail.jpg - Thumbnail

SAP is full of hidden corners rarely visited. Abapinho is happy to shed some light on them.

The command %pc is equivalent to the menu option System/List/Save/Local file:

Abracadabra reveals secret parameter

images/thumbnail.jpg - Thumbnail

Here’s a not very orthodox wat to deal with a report’s selection screen.

Sometimes you may need to have a special parameter which you prefer to hide from normal users but still need access to. Example: a flag to activate a debug/trace mode. I’ll show you how you can do this by just typing the magic word, ABRACADABRA.

It goes like this:

DATA: unhide_parameters TYPE flag.

PARAMETERS: p_debug AS CHECKBOX.

AT SELECTION-SCREEN.
  CASE sy-ucomm.
    WHEN 'ABRACADABRA'.
      unhide_parameters = abap_true.
    WHEN 'NORMAL'.
      CLEAR unhide_parameters.
  ENDCASE.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-name = 'P_DEBUG' AND unhide_parameters IS INITIAL.
      screen-active = 0.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

Just type ABRACADABRA when you’re at the selection screen and your secret parameter will magically show. If needed, you can then type NORMAL to make it disappear again.

Go into a transaction skipping its selection screen

images/thumbnail.jpg - Thumbnail

Once again SAPGui surprises me with yet another obscure shortcut I didn’t know about.

Let’s use the customer display transaction XD03 as an example:

  1. Go into the transaction’s selection screen with /NXD03

  2. Fill in the customer number an press ENTER to display its details

  3. Do whatever it is you want to do there and get out of it

  4. Suddenly… you remember that you needed to do something else there

  5. Instead of /NXD03 type /*XD03

Copy a Code Inspector variant to another system

images/thumbnail.jpg - Thumbnail

In my current customer, I have three development systems. There used to be only one. And that’s where I customized and fine tuned the Code Inspector_ variant I use to run Abap Test Cockpit.

When the other two appeared, before manually copying the variant into them, I decided to investigate a little bit. Much to my surprise, I found in GitHun project upDOWNci which does exactly what I needed: export and import Code Inspector Now, copying the variant was a piece of cake.

Automatically close the doors you open

images/thumbnail.jpg - Thumbnail

You’re in the editor. You type ( or [ or { or ’ and SAP is dumb and doesn’t close it right away like a proper IDE would.

Well,

Click on the lower right corner icon which gives you access to the SAPGui options where you configure code templates.

In the formatting option, activate Enable Auto Brackets and voilá, SAP will now automatically close any doors you open.

image

I don’t see why this isn’t set by default.

Ignore indentions when comparing version

images/thumbnail.jpg - Thumbnail

Sometimes, when comparing versions, several differences show up even when we did not make changes to the code. These differences may simply be a consequence of a Pretty Printer that altered code indentations. This makes comparing the versions confusing.

But ABAP Workbench lets you configure the diff tool to ignore indentations and even comments.

Just press F5 while there or go to the “Display Format> Settings” menu and adapt it to your needs:

Create templates in SE80 by dragging stuff into the code

images/thumbnail.jpg - Thumbnail

While coding, it’s always good to have ways to speed up what we’re doing. A good one is automatic generation of templates for function and method calls.

I know 3 ways to achieve this.

Find everything at once

images/thumbnail.jpg - Thumbnail

The ABAP editor is full of functionalities yet to be discovered.

When I do CTRL-F to search for text, the option I usually choose is “Find next”.