Supported by
Supported by Inetum

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.

Use & in SAPSript texts

images/thumbnail.png - Thumbnail

Let’s say you want to show an url in a SAPScript layout. You place the url in a SAPSCript text and assume everything will work fine. Because most times everything does work fine. It’s just that sometimes…

Clean data declarations

images/thumbnail.jpg - Thumbnail

While writing code, you should always keep present how easy it will be to maintain. This is particularly important in data declarations. And so easy to do right.

Let go of SE24

images/thumbnail.jpg - Thumbnail

In SE24 the class code is partially hidden from the programmer behind a GUI. This is apparently convenient but ultimately limitative.

I finally got rid of prefixes

images/thumbnail.jpg - Thumbnail

It took me a long time but I finally got rid of the damn prefixes.

Don't MESH with ABAP

images/thumbnail.jpg - Thumbnail

ABAP 7.4 brought a lot of lauded novelties. Of all of them, the one less talked about is MESH. Let’s analyse it and see how unfair that has been.

Use Python to rewrite ABAP code

images/thumbnail.jpg - Thumbnail

When you need to make mass changes to ABAP code, the SAPGui IDE isn’t of much help. Eclipse ADT is better, especially if you just want to rename stuff. But there are lots of changes which you won’t be able to automate there. Namely, changes that most be done hundreds of times and which cannot be done with a simple find and replace. In these cases you probably end up changing everything manually. But it doesn’t have to be that way.

SELECT FOR UPDATE

images/thumbnail.jpg - Thumbnail

When you’re going to modify existing records of a database table it is common to first SELECT them to see how they are and only then UPDATE them with what they will be.

Table with all development keys

images/thumbnail.jpg - Thumbnail

When I get to a new project the system administrator generates a development key for each development system assigned to our SAP username. Usually it’s sent to me by e-mail. Usually I lose track of it.

Easily modify internal table record

images/thumbnail.jpg - Thumbnail

The new way to get data from internal tables is also the new way to put data into internal tables.

IF branches should be small

images/thumbnail.jpg - Thumbnail

Picture yourself as a monkey hanging from a tree branch. You want to jump to another branch but it’s so far away that you cannot see it. If you jump you’ll probably fall to the ground. That’s bad.

We manually implemented 1000 SAP notes

images/thumbnail.jpg - Thumbnail

In the last years of the previous century, an SAP project manager stubbornly opposed to upgrading the SAP system. Instead, he decided that all the SAP notes belonging to that upgrade were to be manually implemented. All 1000 of them.

Podcast Sem especificação

images/thumbnail.jpg - Thumbnail

This Tuesday I was invited by Renan Correa to participate in his podcast “Sem especificação”.