Supported by
Supported by Inetum

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.

Dirty and hard to maintain

Look at this very typical data declaration:

DATA: customers TYPE STANDARD TABLE OF kna1,
      counter   TYPE i.

Now imagine that you need to introduce a third variable called grand_total of type f:

DATA: customers   TYPE STANDARD TABLE OF kna1,
      counter     TYPE i,
      grand_total TYPE f.

Because of how untidy this data declaration is, even though you only added a new variable, you were forced to change the two existing ones:

  • Replacing the period with a comma in the counter line because the command no longer ends there;
  • Indenting the TYPE of both existing lines so that they all remain aligned.

At first sight this is not a big deal. But when, sometime in the future, someone tries to compare both versions, the 3 line swill show up as having been modified, even though 2 of them were not really modified.

Oh so clean ABAP

In order to avoid this, you just have to take these two Clean ABAP rules into consideration:

This is less common in ABAP, but much cleaner:

DATA customers TYPE STANDARD TABLE OF kna1.
DATA counter TYPE i.

This way, when you add a new variable, you no longer have to modify any of the existing lines:

DATA customers TYPE STANDARD TABLE OF kna1.
DATA counter TYPE i.
DATA grand_total TYPE f.

Much cleaner, right?

Also, keep in mind that, whenever possible, you should try to declare variables inline when you first need them instead of upfront, like Clean ABAP also suggests here.

Greetings from Abapinho.