Skip to Content
Personal Insights

Indiana Jones and the ABAP Elephant of Doom

Many of you will have heard the news this week that Harrison Ford is to reprise his role as Indiana Jones in a new film in the series, despite being almost eighty. This is somewhat like Bruce Willis who is going to reprise his role as John McClane in the forthcoming film “Dead Hard”.

In the latter film John McClane has already died of old age and his ashes are in a vase on the mantlepiece of an office in a large bank. Soon after the film starts terrorists break into the bank (on Christmas day) and the ashes come to life and escape into the air conditioning system. Thus hidden, the ashes spend the rest of the film thwarting the plans of the terrorists by popping out of air vents and suffocating them at random intervals.

Old%20Elephant

Old Elephant

What has that got to do with ABAP you may well ask?

In the case of the two films if they are to be successful it is going to be because the writer and director is going to be following a different approach to that used forty years ago in the original two films, due to the fact that the world has moved on, as Stephen King would say. Typically ABAP programmers do not use new approaches. They code in the exact same way they coded when they started, which could be 20+ years ago. That is why there is so much procedural code still being written today, and why we have so many crumbling monolithic programs.

Ideally of course Hollywood would like to wave a magic wand and make the two actors young again, but life does not work like that.

However in the world of computer programming such magic can happen. If you have an ABAP program that is (say) 25 years old and falling to bits due to being added to and mutated throughout the decades it is in fact possible to rejuvenate that program in a safe manner, with the aim of making it just as good, if not better, than before.

The pertinent literary reference here would be the novel “Mis-Spent Youth” about rejuvenation.

https://en.wikipedia.org/wiki/Misspent_Youth

I recently wrote a “mini” book on the subject of refactoring monolithic ancient ABAP programs which I wrote about in the following blog: –

https://blogs.sap.com/2020/10/21/nellie-the-abap-elephant/

Now this is going to seem totally unrelated, but a few years ago I attended an SAP event in Frieburg, Germany, in regard to abapGit. That was before the plague so I could attend in-person. Recently one of the other attendees, Marc Hofer, recently invited me to give a virtual speech about my refactoring book to the developers at his organization.

Speeches are like programs – every time I do the same one I look back at the last set of slides and notes and think “that’s no good – I need to improve this”. In this case I feel I am trying to fit far too much information into far too short a space of time – which is why I suppose I wrote a book to expand on the content.

Nonetheless Marc recorder my talk and did a bit of video editing, and if you are not 100% sick of listening to presentations due to the recent TechEd then here is the link to the talk below: –

https://1drv.ms/v/s!Akoks84HkD_dgYNNir-aNvIge2USXA

Cheersy Cheers

Paul

/
Old%20Elephant
5 Comments
You must be Logged on to comment or reply to a post.
  • Thanks, Paul!

    I’m still reading through your e-Bites book – or more like nibbling at it every once in a while – so it’s slow going, especially as I’m trying to not get completely lost! I’d like to follow along with what you did but am not sure if the code-snippets you show in the book are really everything needed to rebuild this in a sandbox system (and tweak to suit our actual needs). So, I’m wondering if you have plans to make your code samples available on Github for this book like you did for your earlier one related to S/4HANA preparations? In that case your code to get the SUSG-data (thanks!) made for a great starting point for a somewhat “enhanced” version I’ve created for our use.

    It’s usually a challenge for me to picture how OO-code behaves by only reading about it – I have to watch it do “its thing” via debugging to better understand what’s happening and what’s available where and when.

    Cheers

    Bärbel

  • Thanks, Paul.

    As always a good read with useful links. I must admit as a BASIS guy (the only thing worse than letting users onto a pristine system is letting developers on to it), the more ABAP I see it, the less time I have for it – if it can’t be done via configuration, don’t do it !!

    BTW, thank you for the book recommendation; Peter Hamilton has fallen off my radar recently, but I think it’s because his older covers used to look a lot cooler – i.e.

    HTH

    /