Supported by
Supported by Inetum

Use BASE to not ruin what you already have

images/thumbnail.png - Thumbnail

We used to use the APPEND and INSERT commands to add rows to internal tables. Now that ABAP has grown, we can use VALUE, REDUCE, CORRESPONDING, etc. But what if the internal table already has rows and we don’t want to lose them?

INNER JOIN instead of FOR ALL ENTRIES

images/thumbnail.png - Thumbnail

A while ago I showed you that you could SELECT from an internal table. And then I asked myself: if that is possible, shouldn’t INNER JOIN be possible too?

YAGNI

images/thumbnail.png - Thumbnail

You Ain’t Gonna Need It means Do what you want, but don’t say I didn’t warn you. Just kidding. Not really.

Copy from SAPGui to the clipboard

images/thumbnail.png - Thumbnail

Did you know that your ABAP programme can copy content to your operating system’s clipboard?

SELECTing from an internal table

images/thumbnail.jpg - Thumbnail

Now you can SELECT from an internal table.

SELECT SINGLE vs SELECT UP TO 1 ROWS

images/thumbnail.jpg - Thumbnail

Man, this is one of those endless discussions that will never get anywhere. Ditto trying to decide if you deserve to go on living if you put pineapple on your pizza or Philadelphia cheese on your sushi.

Call SM30 or SM34 from a function module

images/thumbnail.jpg - Thumbnail

If you want to call the SM30 from a program you can use CALL TRANSACTION but there is a simpler way.

Use a dictionary instead of IF or CASE

images/thumbnail.png - Thumbnail

The fewer IFs and CASEs the better, right? Every branch of an IF or a CASE is an exception. And we like rules better than exceptions. Here’s one more technique to achieve that.

Fix prefixes

images/thumbnail.jpg - Thumbnail

It’s very easy to mess up with object names in SAP. I recently found a way to minimize that problem: set rules to fix per-package prefixes for certain object types.

I package everything that moves

images/thumbnail.jpg - Thumbnail

I obsessively package everything that moves.

exclamation-point

images/thumbnail.jpg - Thumbnail

Undo with abapGit

images/thumbnail.png - Thumbnail

Did you know that you can finally make radical changes to a development without fear because there is a simple way to undo all those changes?

The 3 exception parents

images/thumbnail.jpg - Thumbnail

OO exceptions always need a parent. They always have to inherit from somebody. And ABAP gives them 3 alternatives.

Message collector

images/thumbnail.jpg - Thumbnail

SAP messages are all managed centrally through the SE91 transaction, but can appear to a program in a variety of formats.

SELECT single record using an incomplete key

images/thumbnail.png - Thumbnail

I was always told that, when selecting a single record, I should use UP TO 1 ROWS whenever the key was not fully provided. My elementary school teacher told me that I should always aks why: why? Nobody ever told me why.