The Little SE80 of Horrors

What

Of late I have been doing lot’s of debugging and during such time I have come across some, how shall I put it, interesting code.

Why

On a couple of occasions I posted screen shots of the offending code on Twitter. One of my fellow Twitterers, who is a legend in his own right, Thorsten Franz (http://bit.ly/DULRI) Tweeted back and said I should Blog about this so that is exactly what I am doing.

I expect that this blog will stir some memories in others and get them to share their experiences with interesting code.

I suspect I will end up moving this Blog to a Wiki to allow others to update it and add their stories

Findings

From what I have found so far it’s clear that most of the developers have neither had any formal training in ABAP programming or have either read books or spoken to other developers who are living in the past and don’t give a damn about a programs performance. They just make it work regardless of how it looks under the bonnet.

My Rules

For me there are some rules that I stick to when writting a program, these are:

1) It works, well Duh!

2) Perfomance is optimal.

3) The code is easy to read and the logic is easy to follow.

4) Use the latest methodologies where applicable.

The "Interesting" Code

Right, here are a few of the clangers that I have discovered so far. 

Here the developer is clearly paranoid about making sure the data is passed to l_ekko.

uhm

Here, it appears that no one other than the mentioned users are allowed to execute this code. This is SAP standard BTW.

image

Ok, here the developer has an issue with clearing the work area and internal table. I love the fact that he clears the table even though the table and work area are declared just prior to them being cleared.

image

And just in case they weren’t cleared in the previous two attempts the developer clears them another couple of times for good luck! Good on ya Mr Developer. 

image

Here we have a developer who hasn’t quite understood the user of move-correspnding. 

This is the type declaration for the internal table. 

image

This is the data select into the internal table.

image

For this next piece of code I don’t actually have words to describe my thoughts on it. It makes me want to cry.

image

again, the same developer from above example.

image

Closing Statement

Well, that’s just a few examples of what I have come across so far.

I think it would be a good idea to create a WIKI of horror code depending on the feedback I get from this blog. Hopefully I won’t have offended to many people. My intention was just to share some interesting code.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.