Supported by
Supported by Inetum

Use a Standadrd GUI status without copying it

images/thumbnail.jpg - Thumbnail
When you want to use CL_GUI_ALV_GRID in a CONTAINER you must copy a standard Status GUI from another program. For example, the GUI Status “STANDARD” of the function group SALV. And then, in the screen’s PAI you do: SET PF-STATUS ‘STANDARD’. And thus the little standard buttons show up on your screen.

ABAP popular saying

images/thumbnail.jpg - Thumbnail
Don’t put off until tomorrow what you can do SY-DATUM.

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.

Local $PACKAGES

images/thumbnail.jpg - Thumbnail
Any object created in SAP must belong to a package. Until recently, whenever I needed to create a program for a quick test I’d put it in the $TMP package. This way I was sure that it would never be transported to another system. But sometimes I have the need to create stuff in the development system which, even though it should never be transported, should stay there forever. For example, development tools like ZSAPLINK and abapGit. But if we put everything under package $TMP it will soon be a big mess.

DDIC structure key

images/thumbnail.jpg - Thumbnail
Today when I want to create a SALV I always create a DDIC structure with the data elements already set to show the texts I need. This avoids the need for code to manipulate the field catalog.

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”.

APPEND STRUCTURES do more stuff than I thought

images/thumbnail.jpg - Thumbnail
During all my ABAPian life I was convinced that APPEND STRUCTURES had one single purpose: to add new extra fields to an existing standard table. But I recently learned that they let you do two more things after all:

INSERT wa INTO itbl REFERENCE INTO ref. Bug?

images/thumbnail.jpg - Thumbnail
Every day I use more reference variables in ABAP. First I used REF TO just for classes but, as I become more familiarized with its advantages, I start using them more and more for data structures, instead of field-symbols. But I recently found na unfortunate behavior of the following command: INSERT wa INTO itbl REFERENCE INTO ref. Let me give you some context before I complain about it.

We should be accountable for the crap we make

images/thumbnail.jpg - Thumbnail
If, when building a bridge, a civil engineer makes a mistake in one of the calculations, the bridge falls. But the bridge won’t fall alone. Most probably that engineer will also fall with it. He is accountable for what he did because he must sign his projects. ABAP programmers don’t have that kind of problems.

Search form methods, attributes, types, events, etc


You remember having written a method some years ago which you need now. You know it had the word MALMEQUER somewhere in its name. But what now? How will you find it? You could use transaction SE24 to look at every class you worked on since then. But that would probably keep you busy for ages. Don’t do that. Try using transaction SE84 instead:

Yet another way to see a method's parameters

images/thumbnail.jpg - Thumbnail
Let’s say you want to call a method for which you don’t know the parameters. What do you do? You used to have to use the “pattern” button. Or open the class in a new window to look at the method’s parameters. But then the ABAP Editor evolved and we got auto-complete which made everything much more easy. But there is yet another way.

ABAP Code PushDown in HANA

images/thumbnail.jpg - Thumbnail
[Guest post by Artur Moreira] From ABAP version 7.4, SAP introduced the code pushdown concept, which means using more database for calculations (data aggregation, sums and previous calculations).

Incremental search

images/thumbnail.jpg - Thumbnail
When I want to search for a word in an ABAP program I usually press CTRL-F to use the normal search feature of the ABAP editor. I enter the word I want to find and then press “NEXT” to look for it. But there is another way. And it’s not better nor worse. Just different: the incremental search.

Pass internal tables by value is good

images/thumbnail.jpg - Thumbnail
When a method returns a value as a RETURNING parameter this is always done by value and not by reference. Several of my methods return internal tables, some of them quite large. It always worried me the idea that, since it’s being passed by value, ABAP would be returning a copy of the internal table, impacting both performance and the program’s used memory. Fortunately, I recently learned that this is not​ a problem.

INSERT dbtab ACCEPTING DUPLICATE KEYS

images/thumbnail.jpg - Thumbnail
When you try to insert a record with a key which already exists in the table the program dumps. This, in some cases, is not desirable because, even if you don’t care, it forces you to check if the keys already exist before trying to insert then. But ABAP has a solution for these situations: INSERT dbtab FROM TABLE itab [ACCEPTING DUPLICATE KEYS]. Don’t worry because this will not violate the first law of thermodynamics: the duplicate records are not inserted.