"
Supported by

Quick Cut and Paste

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

Ler o resto do artigo! »

Clean ABAP

For many years, when confronted with ABAP OO, most ABAPers I talked to, acknowledged that OO is great for most languages but never saw any real advantage in adopting it for ABAP. So they carry on using FORMs, INCLUDEs and CALL FUNCTIONs. The standard SAP code sets the example by trying to make something work while breaking every possible programming best practice.

Ler o resto do artigo! »

NOT

No,
ABAP
will never have
the NOT operator.

Ler o resto do artigo! »

MOVE-CORRESPONDING between two tables with automatic look up

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.

Ler o resto do artigo! »

Get unique values of an internal table field

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.

Ler o resto do artigo! »

How to render CL_GUI_ALV_GRID in background

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.
Ler o resto do artigo! »

Use CL_GUI_ALV_GRID without having to create a screen

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.
Ler o resto do artigo! »

How to resize an ALV grid to fill the whole window

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?
Ler o resto do artigo! »

All SAP demo code under the same roof

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.

Ler o resto do artigo! »

I started using ” instead of * for comments

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.

Ler o resto do artigo! »

abapBlame – My new open source project

ABAP’s versioning system is terribly bad. Besides all its faults, it doesn’t provide an easy way to determine who did what and when. Git, which is a decent versioning tool, let’s you do this through its git-blame command.

Due to this, many ABAP programmers got used to sign the code with their name and date every time they add, delete or modify lines in a
program. And the more that program is modified, the more difficult it becomes to read it and understand what’s there.

Ler o resto do artigo! »

The simplest route to go from SELECT to RANGE

Today we’ll try to optimize the code to convert a SELECT into a RANGE

Ler o resto do artigo! »

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

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.

Ler o resto do artigo! »

Tree of Z packages – A modest proposal

If you regularly read Abapinho you probably know by now that I can’t live without ABAP Package Concept. Nowadays the first thing I do when starting a new development is creating an encapsulated package to hold all its objects (in the most complex scenarios, I create it as a main package and then create multiple child sub-packages).

I lay here a modest proposal (unlike the original one, mine is not sarcastic) to help organize thing a bit at system level.

Ler o resto do artigo! »

Show internal table content on an ALV

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.

Ler o resto do artigo! »


About Abapinho
Abapinho runs on WordPress
Articles (RSS) e Comments (RSS).