Personal Insights
The RAPPY Horror abapGit-ture show
NARRATOR: As you will probably be aware by now, the two biggest things happening in the SAP world are the introduction of the Cloud RAP (Restful ABAP Programming Model) and abapGit for version management, hence the title of this blog series, which narrates a horror story concerning both new concepts.
Introduction
SAP Community Rules are very clear – you cannot use blogs to “sell” anything so if – hypothetically – there was a new SAP Press book about ABAP that I had written, which had chapters on both the RAP and abapGit – and that book was getting released on the 26/02/2019 then I could not write a blog (or series of blogs) promoting it.
What I am allowed to write about however is the mechanics of writing such a book and any funny stories about strange events that happened during the course of the construction and publication of the book.
So I would like to share the highly scientific process I go through when writing such a book, and in case you are like the mad woman in the Stephen King book “Misery” and go into a killing frenzy whenever the mechanics of book writing are mentioned, I will also share the story of the really strange events that occurred on the day the book was published.
I am often asked how much money an SAP Press author makes. Well, it may surprise you that of the ten richest people in the world – Bill Gates, Jeff Bezos, HM Queen etc. – no less than eight of them amassed the bulk of their fortune by writing SAP Press books rather than the way the press would have you believe they made their money. The Queen, for example, writes the SAP Press books about performance optimisation under a non de plume – she is a German, after all.
The other question I get asked is how long it takes to write an 800-900 page SAP Press book about all the latest features of ABAP. Most people will say about a year, or six months for an updated version of an existing book, but to let you in on a secret, really all SAP Press authors just write it the day before publication in a couple of hours, send it off the next morning, the AI systems at SAP Press turn it into a book and it comes out that evening.
I do not know about you but that is how I passed all my exams at university – I spent each year doing nothing but drinking and then “crammed” the night before the exam, but anyway once an author sends the draft manuscript to SAP press various “bots” automatically edit it, technically review it, copy edit it, change half the text and then a few hours later….
Lady Gala
The night an SAP Press book is published there is a red carpet gala party which make events like the Oscars or the Super Bowl seem dull as dishwater by comparison. There is generally a firework display about five or six times bigger than the New Year’s one at Sydney Harbour and a line-up of pop stars performing that puts one in mind of Live Aid. Paris Hilton only became famous by attending such SAP Press launch events.
So on Tuesday the 26th of February 2019 the SAP Press Gala Event at Castle Dracula, Transylvania, to celebrate the launch of “ABAP to the Future 3 – Fifty Shades of ABAP” was scheduled to be one of the most impressive events in the history of the universe. It turned out OK – but it almost did not, and this is where the funny story comes in.
I was going to have no trouble getting to Castle Dracula from Heidelberg – I would be flown in using the private jet I bought using ten minutes worth of royalty payments from the first book – but my special guest stars – Professor Hasso Plattner and the two entities that personify SAP and ABAP – had a much harder time getting there, as we will see.
NARRATOR: Indeed things did not go as planned on that – fateful – night, being the night before the Gala Event. The various “actors” such as the author and guests such as William “SAP” Pitt and his fiancée ABAP Weiss, and indeed Professor Hasso Plattner himself, thought that getting to Castle Dracula would be a “breeze” as it were. Meanwhile the “author” did not realise how difficult it would be to write a 900 page book in a day None of them knew the tangled web of fate in which they would become ensnared en route, for all would have to face the unspeakable horror that is “The RAPPY Horror abapGit-ture Show”
Cast (Dramatis Personae)
Paul Hardy, an SAP Mentor and SAP Press Author
Baron Frankenstein, a Scientist
ABAP Weiss, a Heroine
William “SAP“ Pitt, a Hero
RICEF, a Handyman
MDG, a Domestic
C/4 HANA, a Groupie (credited as Little Nell)
Professor Hasso Plattner, a rival Scientist
Rappy Horror, an ill-conceived Creation
Meat Loaf as RDBMS, a Relational Database
The NARRATOR, an SAP expert
*———————————————————————————————-*
Song: Intro
*———————————————————————————————-*
DISEMBODIED LIPS:
Robert Martin was ill the day the earth stood still
But he told us how to code
The Gang of Four were there in silver underwear
Michael Feathers worked effectively with a legacy toad
Then something went wrong for Kent Beck and Donkey Kong
They collaborated in SAP JAM
Then at a deadly pace it came from outer space
And this is how the message ran
Science fiction (uh uh) rappy abapGit-ture
Baron F will (uh uh) build a creature
See android integrating with
SAP and ABAP
Andrew Hunt stars in Programmer Pragmatic
Oh oh oh oh
At the late night rappy abapGit-ture feature show
I saw General Patton read “Head First Design Patterns”
When Erich Gamma took to the hills
And I really got a buzz when I saw BRF Plus
A rules engine that spits poison and kills
The Mighty Quinn said Web Dynpro should be binned
And using it made him quite ill
But when refactoring’s needed said Michael Fowler to his peacock
‘I’m gonna give you some terrible thrills’
Like a
Science fiction (uh uh) rappy abapGit-ture
Baron F will (uh uh) build a creature
See android integrating with (uh uh)
SAP and ABAP
Andrew Hunt stars in (uh uh) Programmer Pragmatic
Oh oh oh oh
At the late night rappy abapGit-ture feature show
I want to go oh oh
To the late night rappy abapGit-ture feature show
By R.K.O oh oh
To the late night rappy abapGit-ture feature show
In the back row oh oh
To the late night rappy abapGit-ture show
NARRATOR: As mentioned earlier, the day before the Gala Party and hence publication, after messing about for six months, the author was finally putting together the third edition of his book….
The Spy Who Came in From the Code
PAUL DAVID HARDY (hereafter PDH): How I am going to approach this is to talk about the downloadable code which comes along with the book. Naturally I mention that this is available from time to time in the book, but in blogs I can go into much more detail.
The problem with talking about any new technology – let alone multiple new technologies – is that the new whatever it is often looks like a solution looking for a problem. When you get an example of, say, a new feature in ABAP you either get an SFLIGHT example, or even worse an example with the letters A and B, and the numbers one and two, as if Sesame Street was sponsoring the ABAP example. What I mean by this is the following sort of thing:-
DATA(num)=tab[2]-col2[1][2]-col1.
That came from an actual TECHED slide. How in the world are you supposed to relate that to a real world business problem that you are trying to solve?
So I try to have all my examples relate to Monsters. Do you know – and it is hard to believe – some people have said that those sort of examples are just as unrealistic! Amazing, but true.
In actual fact all my “Monster” examples come from actual business problems I have encountered (and solved) at work, but I cannot go around using the actual details from work – our competitors would love that – so I heavily disguise the details by “monsterising” them. So it may all sound silly, but underneath the surface everything is grounded in reality.
Two Sides of a Coin in the Fountain
The first half of the book is all about “enabling” technologies – abapGit, ABAP itself, exception handling, unit testing and so forth, and the second half is all about “transactional” technologies e.g. CDS Views, BOPF, UI5 and the RAP.
Initially I just made a load of random examples for the first half to demonstrate assorted new features in the “enablers”. Then it occurred to me how much better it would be if whilst coding the “transactional” applications whenever I needed to use a new (say) ABAP feature then retrofit the example into the ABAP chapter. That way someone comes across the new feature in the first half, hopefully they will understand it in theory, and then in the second half they see the exact same example again, but this time being used in anger, so they can understand its use in practice.
That is one way to have a so called “Golden Thread” running through the book that links all the chapters together, whilst at the same time still keeping the option open of the reader being able to just pick one chapter at random and still be able to understand it all without reading any of the others.
The other way is to have a running example which all the chapters refer to.
Too Much, the Magic Business Process
The latter approach has worked really well in many SAP Press books – in “Next Generation ABAP Development” by Thomas Jung the running thread was an application being built for a university. In the first (of many) book I read on design patterns in ABAP (by Igor Barbaric) all the chapters related to part of a central application as well, that application was a bit more unfocused but the central concept of the “Golden Thread” was there in both cases.
So the first step – before even looking at the new technology – is to define the business process in question, which in this case is that of Baron Frankenstein and his monster making intelligent enterprise. That way you have a problem looking for a solution rather than the contrary approach I disparaged earlier.
Some people say that being Bobby’s girl is the most important thing to them, but I am an ABAP programmer so code is the most important thing to me.
Therefore my strategy could be described as a code based “Hokey Kokey” process in regard to writing a book. The song would go as follows:-
“You do your outside first” – i.e. define the abstract business process (problem)
“You do your inside next” – i.e. code the solution to the problem using the latest SAP technology
“Outside, Inside, do it on the flip side” – i.e. then write the book using the code which you wrote, and tested, so you know it works in real life, and is not just a load of meaningless theory or marketing spin.
“You do the Monster Kokey, and you turn around” – THAT’S WHAT IT’S ALL ABOUT!
As I said the business process is a heavily disguised version of a real world situation, but for now let us sink into my fantasy world and look at the problem the Baron is trying to solve.
NARRATOR: In fact as we shall see in this blog series the Baron is looking for many things. He doesn’t just want to make monsters. He wants a paradigm shift. He want a game changer. He wants one million tons of bananas. He wants to sing and dance – and he will do both on that – fateful – night – the night before the SAP Press gala party – where he forces everyone else to sing and dance with him in the so called “Floor Plan Manager Show”. But for now let us get back to the business process…
PDH: So what is this business process? I describe it in the book, but here we can go into it in a bit more detail. For some reason when I write textbooks there seems to be a (space) limit on how much utter nonsense I can write at any given point, but with blogs the sky is the limit.
We shall start with the abstract business process and then start thinking about how we can use SAP technology to realise that process in the most elegant way. Remember – an “elegant” solution is the one that does the job at hand in the simplest way possible. SAP solutions have not been historically renowned for this, which is why the slogan “Run Simple” made many SAP experts around the world literally die laughing. To add insult to injury the Baron later dug up their bodies and used them to make monsters, but we are getting ahead of ourselves.
Hocus Pocus, here we go with the BUSINESS PROCESS, the aim is to be atrocious:-
- Making a Monster is a variant of the MAKE-TO-ORDER process. The Monster is like a material, but you only pick the required “material” at delivery time, not order time
- The Hunchback Order Taker captures customer requirements and needs to turn these into some sort of sales order. The customer requirements, by the way, relate to how horrible the monster needs to be, and where it needs to go to scare people.
- A check needs to be done to see if any existing monsters match the requirements
- If no existing monster can be found the customer has to be informed and the delivery date delayed until a new monster is available
- If a Monster is available they are provisionally “reserved” to the sales order item. This can be changed up to the point of delivery. If multiple monsters are available on the required day the order taker can choose from a list.
- Somehow Baron F needs to know how many new Monsters he needs to make and by when.
- Baron F then makes the new monster. He needs to know what ingredients need to go into the new monster. He would also like to be able to anticipate future customer requirements and so be pro-active.
- When a new monster has been created, a new reservation can be created and attached to the order item.
- The central monster allocator needs to somehow now what orders are due on what day. When the order is due, the central allocator then picks the Monster to do the vile deed, either the reserved one, or from list of available matching monsters.
- The Hunchback at the Laboratory needs to know what monsters are due to go where at what day and time, so they can dispatch actual deliveries, i.e. let the Monsters out of their cages to go and do the evil deeds.
None of that needs computers. It can all be done using paper and indeed in 1818 when the Baron started out that was the only practical solution. Hopefully two hundred years on we can find a more elegant solution using the latest SAP technology.
Naturally we have all been here before. The above business process is the technology agnostic functional requirement, and now we have to come up with a proposed solution which could of course use any technology but we of course are going to choose SAP, otherwise I do not think SAP Press would be very interested in the book manuscript.
So the next step is to rephrase the business process above, this time adding a HOW after each point. That is not as easy as all that so I need to think about it…
NARRATOR: Meanwhile, whilst PDH was thinking about this, in another part of Transylvania, in the middle of that same day, our hero and heroine, William “SAP” Pitt and his girlfriend ABAP Weiss were attending the wedding of Larry Ellison and Marilyn Monroe. As might be imagined this was a very lavish affair, even if it could not hold a candle to the opulence of SAP Press gala events. As they were walking out of the church “SAP” had something on his mind….
*———————————————————————————————-*
Song: Dammit ABAP
*———————————————————————————————-*
SAP: Hey ABAP
ABAP: Yes SAP?
SAP: I’ve got something to say.
I really love the skilful way
You use internal tables as opposed to a Java style array
The river programming language I swam in it, (Monsters: ABAP)
The future is ours so let’s plan it, ABAP
So please don’t tell me to can it, ABAP
I’ve one thing to say and that’s
Dammit, ABAP, I love you
The code it was bad but I ran it, ABAP
There’s a fire in my heart and you fan it, ABAP
If there’s one fool for you then I am it, ABAP
Now I’ve one thing to say and that’s
Dammit, ABAP, I love you
Here’s a ring to prove that I’m no poodle
There’s three ways that you can develop applications
That’s the “classic” way, the programming model for SAP Fiori, or the RESTful ABAP Programming model
Oh A-B-B-A-P I love you so
ABAP:-
Oh it’s nicer than Marilyn Monroe had, (Monsters: ASAP)
Now we’re engaged and I’m so glad, ASAP
That you’ve met Mum and you know the golden rules of SQL queries, ASAP
I’ve one thing to say and that’s
SAP I would be mad to implement you
ABAP: SAP
SAP: Oh dammit!
ABAP: I’m mad,
SAP: Oh ABAP!
ABAP: For you, I love you too-ooo-ooo
BOTH: There’s one thing left to do, and that’s
SAP:-
Go see the man who began it
When we met at the Hasso Plattner Institute, located in Potsdam near Berlin
He made me give you the eye and then panic
There’s one thing to say and that’s
Dammit ABAP, I love you
Dammit ABAP
ABAP: Oh SAP, I’m mad
SAP: Dammit ABAP; I love you!
NARRATOR: So the lovers decided that on the night before the SAP Press party they were to begin their journey to pick up Professor Hasso Plattner en route to said Gala party to which they had all been invited. Little did they know what would await them on that – fateful – night? Meanwhile the author had nor even begun writing the book! With less than 24 hours to go to the party how can this possibly turn out well? Find out by tuning into next week’s thrilling instalment of the Rappy Horror apitGiture show!
Hi Paul,
i came here because of the title to have a comparison to my own book writing experience with another sap publisher - oh, and of course because i got "ABAP to the future" in version 2 standing right next to me on my desk at home. I’m only read the introduction so far and it’s pretty hard not to laugh out loud next to the colleagues :D! I’m so excited for what is to come on this “fateful night” but wanted to say thank you for the good laugh already! ?
Best regards,
Christoph
Pleasure to read, Paul, as always. I'm feeling very jealous of SAP Press parties. Espresso Tutorials authors only get some second rate entertainers like Justin Bieber to play at our book release galas. 🙁
My personal copy of ABAP to the Future (1st edition) seems to have disappeared in the office but I'm actually rather happy about it.
In the velvet darkness of the Darkest Dark
Multi-instance, there's an IDE
No matter what or who you are
There's Eclipse (ABAP Development Tools)
There's Eclipse (HANA studio)
There's Eclipse, Eclipse, bringing ease to every programmer's life
SAPGui must now flow down the river with Webdynpro
Except the parts the devteam just can't make go
Like enhancements, enhancements
There's Eclipse (ABAP Development Tools)
There's Eclipse (HANA studio)
There's Eclipse, Eclipse, bringing ease to every programmer's life
What is the percentage of duplicates lines between 2nd and 3rd edition of the book?
Do you recommend to read
?
That is a wonderful question. If someone like me writes a second, or third, or 99th, version of a book, then what is the incentive for someone who already has the first edition to buy a subsequent edition?
This is because - generally - a second edition is 90% identical to a first edition.
I am trying my best not to short change people like this. As I am a scientific type person I can answer our question with a hard fact - I made 134 changes to the existing chapters which are in both the 2nd and 3rd edition, removed three chapters and added three new ones. One of the new ones is actually one from the first edition coming back from the dead (debugger scripting) and the two "real" new ones are about abapGit and the RESTful ABAP programming model, which are the two most important new things happening in the ABAP world.
There is no need to read an earlier edition, just get the latest one. Things change so fast a lot of what I wrote in the first or second edition no longer applies.
Once again, thanks for the question.