Category > Tips & tricks

NOT

images/thumbnail.jpg - Thumbnail

No, ABAP will never have the NOT operator.

MOVE-CORRESPONDING between two tables with automatic look up

images/thumbnail.jpg - Thumbnail

Abapinho hasn’t been talking a lot about 7.40 because most of the new possibilities have already been widely discussed in other sites and we don’t want to reinvent the wheel.

But, here and there, I find small useful jewels which seem to still be under the radar. This is one of them.

Get unique values of an internal table field

images/thumbnail.jpg - Thumbnail

In SQL you can get a list of unique values of a field using DISTINCT. When the data is already in an internal table, before ABAP 7.40 you had to use a LOOP and a COLLECT.

But now that we live in more modern times, there is a simpler and more elegant way to achieve the same with a single command.

How to render CL_GUI_ALV_GRID in background

images/thumbnail.jpg - Thumbnail

Someone decided to run an editable ALV (based on CL_GUI_ALV_GRID) in background. It dumped. The solution is simple but not that obvious.

Use CL_GUI_ALV_GRID without having to create a screen

images/thumbnail.jpg - Thumbnail

Nowadays I rarely use CL_GUI_ALV_GRID because SALV is so much better. But when I am asked to make an editable ALV I still use it. Until very recently, I thought that, in order to use it, I needed a screen with a container. And because I’m using ABAP OO, I’d need a function group to host it and a function module to call it. Painful.

How to resize an ALV grid to fill the whole window

images/thumbnail.jpg - Thumbnail

Sometimes the simplest things take the longest time to do. For instance, we recently needed an ALV grid to automatically resize to fill the whole window. But how? But how? But how?

All SAP demo code under the same roof

images/thumbnail.jpg - Thumbnail

When I was a little boy, back in the 80’s, I had to type LOAD "" and then wait for several minutes staring at stripes in a TV and listening to strange noises before a ZX Spectrum game was ready to be played. Many years later, when I already had a PC, I found an emulator which had a menu with hundreds of ZX Spectrum games. I just had to pick one from the list and start playing immediately.

I started using " instead of * for comments

images/thumbnail.jpg - Thumbnail

I have always used * to comment my code. I only used " for pseudo-comments or to leave small comment at the end of a line.

But I recently learned that using " makes much more sense.

It's now so simple to convert a MESSAGE into an EXCEPTION

images/thumbnail.jpg - Thumbnail

Some years agor I showed how to convert a normal MESSAGE into a typified exception. Meanwhile ABAP evolved a lot and now, since version 7.40, that complex solution is no longer needed.

Show internal table content on an ALV

images/thumbnail.jpg - Thumbnail

I don’t know for how long has this been available but I just now found out about it. In the debugger it is, after all, super easy to see the content of an internal table in an ALV.

Magical shortcuts to menus

images/thumbnail.jpg - Thumbnail

If you, who are reading this, believe that everything written in Abapinho is literally true, what I’m about to tell you will be a disappointment: when I said magical I didn’t mean that it was supernatural. It is just a nicer way of saying it is surprising and unexpected. I took this liberty just as you’d say “I could kill for a glass of water” knowing that you would never do it. Having made this clear, let’s continue.

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:

IF without IS INITIAL in boolean methods

images/thumbnail.jpg - Thumbnail

My current client’s system is finally being upgraded to 7.50 and, after all these years stuck with the old ABAP, I am now finally able to enjoy the wonders introduced in 7.40.

There are dozens of these wonders and I don’t intend to start making a post on all of them as there is already so much quality information on most of them. Besides, Abapinho always tries to write about something new or, at least, not very known.

But this simple functionality, although not that extraordinary, pleases me: you no longer need to add IS INITIAL in an IF command when the condition is a method returning a boolean.

SAAB activation variants

images/thumbnail.jpg - Thumbnail

Some time ago we spoke about SAAB and its advantages as a tool to analyse, debug and find problems in our code. In that article we didn’t explore an important aspect of it: Activation variants.

Implicit enhancements in data structures

images/thumbnail.jpg - Thumbnail

We have all used implicit enhancements to add code to the beginning or end of a standard function, form or method. But you may not know that it can also be used to add fields to data structures, whether they’re declared as TYPES or directly as DATA.