Rime of the Ancient ABAPer
“ABAP, ABAP, everywhere,
And all the brains did shrink;
ABAP, ABAP, everywhere,
Nor any drop to drink.”
― with apologies to Samuel Taylor Coleridge.
Here follows the “Rime of the Ancient ABAPer” in three exciting episodes!
Episode One – Shipwrecked!
As you may have noticed the year just gone, 2020, was not the best year the world did ever see. It was a shipwreck of a year if ever there was one. The ancient mariner in the poem would have said it was because someone shot the ALBATROSS. What flavour was it? It wasn’t any sort of flavour it was an albatross. Come on; everything’s got to be some sort of flavour! All right – it was seabird flavour.
Be that as it may, the COVID disaster raises three questions. Firstly are we (the world) going to come out of this? Hopefully yes. Secondly, are things ever going to be the same again? The answer is a resounding NO but maybe that is not the end of the world, because the third question is – are we going to bounce back stronger than before?
This is the good old “Anti-Fragile” thing I keep wittering on about in my books whereby some things get stronger the more stress you throw at them usually biological or political structures.
Keeping to the world of IT I cannot help but notice how much more we got done at work this year, despite no-one actually being in the office most of the time. I would be interested if the same has been true for your organisation?
Where I work some projects were forced to be brought forward by years. Elsewhere, some supermarkets here in Australia (and the UK I think) were forced to expand their home delivery supply chain networks from covering 1% of the population to trying to cover 100% of the population, in about ten seconds flat. That’s stressful, but they seemed to make that gigantic change very quickly indeed and in this area at least things will probably never go back to the way they were before as some people who would have ever considered ordering groceries online (but were forced to) have became quite used to the idea and decided they like it.
Back to work again and as the year “zoomed” by I cannot help but notice how much more efficient meetings became. No more waiting around until everyone turned up, no more spending 55 minutes of a one-hour meeting trying to get the video link to another location working.
When we finally did go back to the office and I had a meeting with my boss and some other people we got to the meeting room we had booked and found four infrastructure guys from the meeting before still in there with no apparent desire to leave the room. We banged on the glass until they got the message.
As they left I said to them “For the last six months I have been doing meetings from my bedroom. In all that time not once when I went into my bedroom did I find you four there!” That is probably a good thing.
On that subject after a year of online meetings I now know what all my co-workers’ bedrooms look like. If I had said that a few years back you would have got a totally different impression.
Episode Two – You Know what I did this Summer
If this year was one of the busiest years ever at work in terms of the amount of IT thingies achieved, then what I did in my spare time was even more ridiculous. What follows in this section is nothing more or less than a torrent of boasting, albeit with links to assorted blogs and videos, so you may find yourself rushing for the sick bag before you get much further through this blog. If you do feel the unbearable urge to vomit then I humbly ask you to skip straight to episode three which will perhaps be more palatable.
February – Online Training Course
At the end of February I had an online training course published on the “Michael Management” site, a course all about Test Driven Development. I had never done one of these before, it is very different than giving a live speech to an audience, and I had to buy a fancy “Yeti” microphone which apparently is what all the professional podcaster type people use.
This company also has virtual beer sessions for all the instructors. Due to the time difference between the USA and Australia it is breakfast time for me – so breakfast beers are in order! Beer – it is so much more than just a breakfast drink.
Here is a blog about the course:
May – S/4HANA EBITE Published
On the 20th of May I had my first (!) book of 2020 published, which was all about converting custom code to S/4HANA. Here is a link to a blog I wrote to plug the book.
May – SAP Online Track
This was a 24 hour long live community driven event on the 31st May 2020. That is 24 hours of three tracks of SAP presentations being broadcast live. This was planned before the COVID thing had even been heard of, but it was so wonderful that I imagine it would have shaken the very foundations of what people expect from SAP events.
Put another way this was free; everything was recorded so you didn’t have to miss anything, and the speakers were guaranteed to answer your questions. In a traditional event you pay two thousand dollars (US) for the conference plus flights plus hotel, have to choose what track you want, and have to compete with everyone else if you have a question. Some people have predicted there will never be an in-person SAP TechEd event ever again, which is bad news for conference centres, airlines, hotels, etc.
I did indeed speak at the SON event in regard to refactoring legacy code.
You can see all the presentations here (I am SOT112):
June – Sign Contract
On the 4th of June I signed a book contract. More on that later, but since I started work on this in June and only finished at the end of December, that meant I wrote three books on ABAP this year. You may have not seen many blogs from me on SCN this year but to me it often seemed like I was writing a blog every single night of the year.
September – ABAP Q&A Session
On the 23rd of September I did a live virtual ABAP question and answer session organised by the company “Michael Management”. It was free and anyone in the world could join and it was wonderful. It may be daunting given that I had no idea in advance what the questions would be, and the subject matter area was so wide, but I enjoyed myself and like to think I was able to give sensible answers to all the questions but one. That one I passed on as it was about a module of SAP I had never even heard of.
This was recorded and you can access it via the following link, to judge for yourself if my answers were sensible or not:
October – Mastering SAP Technology South Africa
This was originally intended to be a physical event in the middle of March 2020, but obviously that did not work out too well. It was rescheduled as a physical event in October but naturally that did not work either, so it became a virtual event starting the 12th October 2020. I gave two presentations, one about the future of ABAP Programming, one about migrating custom code to S/4HANA. It was at this point I started wondering – will I ever give a speech on an actual stage to a real audience ever again?
October – Refactoring Legacy Code EBITE
On the 21st of October my second book for 2020 was published, this time all about Refactoring Legacy Code. Here is a little blog I wrote when it was published:
December – Give Speech in Frieburg
Round about 2019 I went to an abapGit event in Frieburg (hottest city in Germany BTW) and a few months back one of the guys I met there asked if I would give a speech to his company about my new EBITE. This I did on the 8th of December and here is the link:-
December – Finish New Book
Thus far my “big book” has been “ABAP To the Future” which is all about cutting edge new ABAP technology and Monsters. I will be writing the next version during 2021.
In 2020 I did the opposite though (focussed on old ABAP technology) and wrote a book called “Improving the Quality of ABAP Code” for a company called APRESS. I will not dwell on that here; I will no doubt write a puff piece blog when it gets published.
I first heard about that company (APRESS) when I was asked to do the technical reviews for the following book “Object-Oriented Design with ABAP“ by Jim McDonough.
That book by Jim was all about trying to convince people to move from procedural programming to OO programming, a subject I have been writing blogs about for a very long time now. Jim did the technical review for my new book and I am doing the technical review for his new book and so on and so forth. It’s like being part of a double act like the Two Ronnies (more on Ronnie Corbert later).
You’ve got the key of the door; it’s never been 2021 before!
So what’s going to happen in 2021? For the world in general hopefully the vaccines will start to have some sort of effect over the next few months. For the world of technology as I said hopefully organizations will bounce back stronger than before due to five years of innovation being fast-tracked into last year.
On a personal note I hope not to go anywhere near as crackers as last year. I am going to just write the one book, namely the fourth edition of “ABAP to the Future”. I will most likely create one or more courses for the Michael Management company as well, just because the process is so much fun.
Anything else? Oh yes I almost forgot – I have to go back to work tomorrow! Not in the office though as Sydney has just introduced another surge of new anti-virus rules. We don’t actually have very many COVID cases compared to other countries – probably because a load of extra rules are slammed on at the first sign of trouble, e.g. the airports have been shut all year, state borders are sealed and so on.
However as has been proved; working remotely for a programmer like me is just as productive as office work, maybe more, given that meetings work so much better than before. Anyway just before Xmas the list of IT projects for 2021 was unveiled and it is loop de loop mad crazy ambitious but amazingly the way things are now we will probably get it all done. With that out of the way, let’s get back to the purported subject of this blog.
Episode Three – ABAP, ABAP, Everywhere!
ABAP books are like buses. They are big and red, you have to wear a mask when you are on one and when they stop at a bus stop whilst the passengers are getting on and off the batteries which power the bus are charged wirelessly via an inductive coil hidden underneath the bus stop. Also the wheels on the bus go round and round, round and round, round and round, the wheels on the bus go round and round, all around the ABAP town of Objectville.
In addition, you wait ages for one, and then four come along all at once. The last one I was interested in was from SAP Press and was “Design Patterns in ABAP Objects” in 2017. That was not the first time SAP Press has published a book on that subject – there was one by Igor Barbaric from ages ago. The second edition of Igor’s book was in 2009 ;the first edition must have been quite a while earlier – anyway that book is what got me looking into ABAP OO in the first place. Jim’s book about OO ABAP also had a lot about design patterns, and that came out in 2017 as well, the same year as the SAP Press book on the subject, which is what I mean about loads of buses turning up at once.
The latest ABAP book by SAP Press is called “Clean ABAP” based on the various open source projects of the same name, which are in turn based on “Clean Code” by Uncle Bob from 2009. Here is a link to the SAP Press book.
That says the publication date for the SAP Press Clean ABAP book is 2021, but I am sure it was available at the tail end of 2020. I have it sitting in my bag right now, but as a disclaimer that is because SAP press gave me a free copy.
Why should they do such a thing? In return my next few blogs here on SCN will be a book review of the Clean Code ABAP book. If you have ever read on my prior book review blogs you will recall they are like the way Billy Conolly or Ronnie Corbett tells a joke. It starts off on the subject at hand and then goes off on all sorts of weird philosophical tangents before getting back on track briefly and then flying off again into the wild blue yonder before ending on the punchline. However unlike Ronnie Corbett I do not sit in a chair three time my size and shout out “My Producer! My Producer!” all the way through. Anyway that is why it will take several blogs to do one book review.
Four ABAP Books and a Funeral
Frank Sinatra was actually quite good at predicting the future, and exactly 60 years ago in 1961 he sang about the flood of ABAP books about to come on the market in 2021 as follows:
Four ABAP books in the fountain
Each one seeking happiness
Thrown by four hopeful authors
Which one will the fountain bless?
Hopefully all four as they are not in direct competition with each other but rather complimentary. I will try to explain the holistic nature of things that binds all the atoms of the ABAP universe together into an indivisible whole. My Producer! My Producer! Sorry, I said I wasn’t going to do that.
The four books in question are: –
“Clean ABAP” – SAP Press – out now – by Klaus Haeuptle, Florian Hoffmann, Rodrigo Jordão, Michel Martin, Anagha Ravinarayan, Kai Westerholz, Uncle Tom Cobbley, A.N. Dall
“Improving the Quality of ABAP Code” – APRESS – publication date unknown – by Paul Hardy (Disclaimer – “That’s me!” as ABBA would say)
“Automated Unit Testing with ABAP” – APRESS – publication date unknown – by Jim McDonough (Disclaimer – I am the technical reviewer)
“ABAP in Eclipse” (that may not be the final title) – APRESS – publication date unknown – by Lukasz Pegiel
Four Go Mad in Dorset
My ABAP to the Future book has each chapter on a totally different chapter with the “golden thread” that links them being (apart from Monsters) that they are all about the latest developments in various ABAP technologies. At the end of each chapter in the “recommended reading” section you will usually see a link to a book dedicated to whatever technology the chapter is about e.g. Web Dynpro, BRF+, BOPF or whatever. Do I feel I am in competition with those books? Not in the slightest. If I was worried about nonsense like that I would not plug them in the first place.
In the same way my ABAP Code Quality book also has each chapter on something totally different, sadly has no Monsters, and the golden thread that binds the chapters together is they are all to do with improving some aspect of the quality of an ABAP application.
I have a chapter on “Clarity” for example – in one paragraph I provide the link to the GitHub repository where the “Clean Code” style guide lives and then don’t repeat any of the actual content from that site, apart from the odd reference here and there, because that would be crazy. Thus I could have said at that point “for more depth on this subject go look at the SAP Press book”. I don’t actually say that because I am not convinced one book company would want to be plugging another book companies’ products.
I have chapter on Test Driven Development – I would have ended that with a plug for Jim’s book about unit testing, but the rule is I couldn’t put that in my book until his book was actually published. In any event the focus is different – my chapter is focused on TDD, his book is focused on moving form manual unit testing to automated unit testing via ABAP Unit, which is even more of a radical mind shift than moving from procedural to OO programming.
My last chapter is all about how you create custom ATC (Code Inspector) tests. I actually ended by talking about ABAP in Eclipse in general and a plug-in by Lukasz Pegiel in particular. At the point I wrote that I had no idea he was writing a book on the subject. So, had I been allowed, the most logical thing in the world would have been directly after talking about his plug-in to say, “if you want more info, read his forthcoming book on the subject”. From “Plug-In” to “Plugging” as it were.
- 2020 was horrible, that is news to no-one, but a lot of things got done IT wise, and we will bounce back stronger than before.
- In 2021 new ABAP books will be coming at you like tennis ball fired out of a machine.
- Then my producer turned to me and said, “If you like chickens that much – you had better stop standing on the piano!’ BOOM! BOOM! MR ROY!