"
Categoria > Tips & Tricks
Supported by

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! »

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! »

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! »

Magical shortcuts to menus

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.

Ler o resto do artigo! »

Shortcut to save list local file

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:

Ler o resto do artigo! »

IF without IS INITIAL in boolean methods

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.

Ler o resto do artigo! »

SAAB activation variants

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.

Ler o resto do artigo! »

Implicit enhancements in data structures

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.

Ler o resto do artigo! »

A comment on comments

We learn in school that all code should have comments. Then, in real life, we find that not everyone was paying attention to what was said in school. As a consequence, most code is obscure and without proper comments.

I was always careful to comment every relevant step of my code, specially the parts which are obscure or not self-explanatory.

But since I recently read Uncle Bob‘s Clean Code, my opinion on this changed. Today I believe that the less comments the better. And yet, I don’t see this as contradictory to what I used to think.

Ler o resto do artigo! »

The multiple clocks of your SAP system

Even though you look at an SAP system as a whole, it is composed by several distinct and interconnected parts. There is a small standard program which checks if each part’s clock is correct and synchronised.

It probably won’t be of much use for your daily work. Still, it’s an interesting curiosity.

Ler o resto do artigo! »

Inject ABAP commands into a productive system

The view below shows how simple it is to create the conditions to inject ABAP commands into programs in a productive system.

I considered whether to publish this. But, as it already happened in the past, I believe it is better for this to be known because it is very important for system administrators to be aware of this so they can protect their systems against this threat.

Thank you Ricardo Monteiro for the tip.

Greetings from Abapinho.

Transport a local table with its maintenance screens

Some time ago you created a table and its maintenance screens as local objects.

When, later, you regret it and decide to transport the table, how will you be able to also transport the maintenance screens?

Transporting the maintenance screens function group together with the table is not enough.

Ler o resto do artigo! »

Test a sequence of function modules in SE37

I was sure I had already posted about this before but I can’t find it so here it goes (again?).

Some function modules save global data which must then be used by another function module belonging to the same function group. So, if you need to test them, they must run in sequence inside the same transaction.

Everybody knows you can use SE37 to test a function module. What few people know is that you can also use SE37 to test a sequence of function modules inside the same transaction. Those who don’t know this end up creating a small program to call those functions in sequence and that’s also ok. But here’s how you can avoid that.

Ler o resto do artigo! »

Have extra control over your selection screen

The PARAMETERS and SELECT-OPTIONS already have some configuration options. But sometimes you need more control, more customising. Interestingly, although it’s not simple nor obvious, it can be done through a standard function module.

Ler o resto do artigo! »


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