Do just one task per LOOP
When ABAP programmers run into a LOOP they like to use it to get as many things done as possible. Even if that LOOP ends up having hundreds or thousands of lines.
Avoid obsolete ABAP
ABAP evolves (even though it stood mostly still for too many years). And as it evolves, it leaves behind some commands and syntax constructions which are replaced by better ones.
Besides learning what’s new it is also important to learn what becomes obsolete.
A program is an animal
When a program is bad because it has duplicate code, it usually becomes shorter once we rewrite it to make it better. But, if its problem is not being properly structured into several classes and methods, if we rewrite it according to the best practices, it will probably end up longer.
Try poligamy
Keep code blocks short
Unfortunately that is not what happens in most of the Z code I have seen in my life as an ABAP programmer. Both IFs and LOOPs tend to grow bigger than anyone can deal with. I recently ran into a LOOP with over 1500 lines.
ABAP inside SQL statements
Did you know that, if you SAP is recent enough, you can use complex ABAP expressions in the middle of SQL commands?
if you love your neighbour, avoid CLEAR
Please stop. Too many regressions happen because someone forgets to CLEAR or to not CLEAR a variable.
Don't be so negative
Legibility is very important in all written text. Except, maybe, in concrete poetry.
As a follow up to the previous post, here are a couple of rules to help you deal with the negative in boolean expressions.
