Skip to Content
Personal Insights
Author's profile photo Paul Hardy

I can see ABAP Moon Rising – Part Two of Eight

NARRATOR: There are two horrible crime’s about to be committed – TODAY – 23 November 2021. One is murder most foul, the other the release of a new ABAP related book and associated musical. It is difficult to say which is worse but this series of blogs will help you decide whilst singing and dancing and solving a crime and thus winning prizes.

Batman%20and%20Frankensteins%20Monster

Batman and Frankenstein’s Monster

Previously on this channel:-

https://blogs.sap.com/2021/11/16/i-can-see-abap-moon-rising-part-one-of-eight/

*———————————————————————————————-*

Book Writing

*———————————————————————————————-*

PDH:

Tool-Ool-Ool-Ool-Rye-eh!

Prior to starting book on a new edition I need to make sure all my “tools“ are up to date. The first steps were:

  • Install the latest version of SAP GUI – in this case it was version 7.70. Then I switched the theme to „Quartz“ as that is the SAP recommendation and it is supposed to look as much like the Fiori design pattern as is possible in the SAP GUI. I don‘t know if it does or not but I do know it looks hideous. In any event that theme is what I used for all the screenshots to make them „fresh ad modern“. In case anyone does not know what „fresh and modern“ means it is when you change an icon from a square to a circle one year to make it fresh and modern, and then back to a square the next year to make it fresh and modern. It is just like wide ties and flared trousers and ripped jeans, forever going in and out of fashion.
  • I have a standalone SAP 7.52 system. At some stage in 2020 some SAP types in SCN blogs appeared to indicate there would be a 7.53 standalone system available at some stage. I did not really believe that and just as well, as that never happened. 7.52 is going to be the last ever standalone ABAP version. So I made sure my 7.52 system was on the latest support stack in case that made a difference but it did not. Most of the recent support stacks have added assorted tools for remote analysis of ABAP systems to prepare for the migration to S/4HANA.
  • Not all the code for the book was written on that system – all the RAP code for example is written on an ABAP in the Cloud (BPT) system. Here of course there is no problem with staying up to date – in fact I have the reverse problem. When i started writing Chapter 8 all my Z code compiled with all green lights. Then after a day there was an upgrade and then some of that code started giving warnings. Two weeks later there was another upgrade and now I had hard syntax errors in my Z code. I would note that the changes in the ABAP language caused by such upgrades were sensible and logical and you do get warnings in each set of release notes every quarter telling you about incompatible changes. This disturbs traditional ABAPers who are used to 100% backwards compatibility.
  • Make sure I have the latest version of Eclipse – this is of course really easy. I installed the latest version in February 2021 and noted to myself I would have to do this twice more before the book was finished. There were of course two new version – they come out every three months – but as it turned out I did not have to do anything – Eclipse upgrades itself to the latest version nowadays which is wonderful. Moreover ADT (ABAP in Eclipse) always works with the new version (which was not the case until about a year ago) because nowadays SAP development have a beta version of the forthcoming Eclipse version (updated every day) and every night run ten billion automated unit tests and fix anything that breaks the next day. This is my new „go-to“ example for anyone who says automated unit tests are an utter waste of time.

Turn and Face the Strange Changes

As I mentioned before, the very instant a book gets published I start a spreadsheet in which I list all the new things that come out in ABAP world, sorted by chapter. For example as I write this it is a week to publication and I already have about five new things for the next edition that I found out about since the manuscript was finalized, not least because SAP TechEd is in progress and in addition the new version of ABAP associated with the S/4HANA on-premise release has just come out. You could say the timing is bad but the timing is always going to be bad because there are just so many new things coming out all the time. Anyway to provide a concrete number there were circa 170 changes I had on my spreadsheet that had to be made between the third and fourth editions, ranging from minor (the constant product name changes) to major (the RAP changed 100% in that period).

*———————————————————————————————-*

Code Base

*———————————————————————————————-*

Sheet Storm

I was an accountant for seven years and so I do everything on spreadsheets to this day. This is why I have laughed every time (for 20 years now) I see a new advert for some sort of new IT product which is going to „rescue you from spreadsheet hell“. It is easy to say „in the future at my company there will be no more spreadsheets and no more SAP GUI!“ but it is a bit harder to bring that into reality, as many have found. One year after university finished (1991) one of my mates got a job at Deloitte as an auditor whilst he did his chartered accountant exams and he proudly told me in the pub one evening that within three months there would never be even one piece of paper in a Deloitte office anywhere in the world ever again, they would have achieved a true „paperless office“.  I never actually followed up on that – I wonder if it actually happened?

Code Base Alpha

Anyway I have one spreadsheet tab for chapter changes, and another one called „code base“ in which I try to keep track of all the various ABAP TADIR objects I create for the book and why I have done so.

Now, amazing as it might seems, some people have accused the monster focus of my books as being somewhat unrealistic. I have no idea why that may be. In any event you may have heard the term „truth is stranger than fiction“. In actual fact I started from an actual business process in my real job, changed all the terms to monster based ones so as to hide any trade secrets and then had to tone it down otherwise no-one would ever believe me that there could be such a weird process.

High Level

A high level plan is sometimes known as a „Van Der Valk“ plan after the inventor. In this case I started with a six step high level plan.

  • Start with Business Process
  • Transform this into User Stories
  • Then list abstract applications needed by end users to fulfill those user stories
  • Map these to proposed SAP ABAP constructs
  • Create Package Hierarchy
  • Start Creating ABAP Artifacts

Start with Business Process

The business process at Castle Frankenstein goes like this:

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 is based at the “Catastrophic Slaughter Center” (CSC) and captures customer requirements in a Variant Configuration style UI pop-up, in the Monster Order Front End (MOFE)

These requirements are characteristics or Z fields in the order item – there is a generic material, and the EVIL DEED code which is based on the requirements, and a free text description

An ATP check needs to be done (during order creation/change) on SAVE to see if any existing monsters match the requirements

If no existing monster can be found (or not enough on the planned day) the order items goes into NEEDS NEW MONSTER status and the ATP check pushes back the delivery date

If a Monster is available a “reservation” business object is attached to the sales order item. This can be changed up to the point of delivery.

A “Missing Monsters” report is needed to let Baron F 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 (what might a customer ask for which they have not yet asked for) and so be pro-active. For this a “Monster Simulator” application is needed in SAP.

Then a new reservation can be created (from the Missing Monsters Report) and attached to the order item. The order item is then in READY status

Order lines appear on the Monster Atrocity Due List application in SAP. 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 dispatches actual deliveries on the Monster Atrocity Monitor application in SAP, which lets the Monsters out of their cages to go and do the evil deeds. He does not need to go down to the cage, the application interfaces to the cage controller system and opens the cage. This is what the “Internet of Things“ is all about, the “Things” being Monsters.

Transform this into User Stories

This is a mainstay of modern development and is even finding its way into ABAP world. The idea is that you are not writing software just to fill in time. In “Dilbert“ software developer Wally described his purpose in life as being “To transport large amounts of coffee from the coffee machine to the urinal“ but in fact usually what you write will actually be used by real people at some point. Hence we have user stories to describe what these people, who we describe as “users“ (as if we were drug dealers) actually want out of the software and why. In the Frankenstein case the business model gets converted into these user stories:

Story No / AS A / I NEED TO / SO I CAN

US1 / Order Taking Hunchback / Capture Customer Requirements / Keep a record of what customer wants and when they want it

US2 / Mad Scientist / Know what the Monster Shortfall is / Make enough new Monsters to satisfy customer demand

US3 / Mad Scientist / Dynamically calculate the Monster BOM / Know the best ingredients to use to build a new Monster based upon customer requirements

US4 / Mad Scientist / Record details of New Monster I have just created / Have an up to date inventory of available Monsters

US5 / Mad Scientist / Notify my staff of the new Monster / Be sure the delivery will occur

US6 / Allocator Hunchback / Know when sales orders are due / Create the delivery with attached Monster

US7 / Laboratory Hunchback / Know what deliveries I need to action / Let the monster out of its cage at the correct time

Then list abstract applications needed by end users to fulfill those user stories

We are still in the realm of the abstract where we do not even consider what ERP system is to be used. Now we list what applications are needed for the user stories.

US1 / An application to enter the customer requirements into a sales order type object

US2 / An application to list any orders which do not currently have a reserved Monster against them

US3 / An application to calculate a Monster BOM based on the customer requirements in an order

US4 / An application to capture the details of the new Monster in a Monster Business Object

US5 / The application from US2 (used by Mad Scientist) can also update incomplete sales orders with a reservation for the newly created Monster so the applications used by the Hunchbacks will be aware of the new Monster

US6 / An application to list sales orders which are ready to be dispatched, and create deliveries from them, specifying the Monster to be used, if need be

US7 / An application to process the deliveries, and open the cages of the relevant Monsters so they can go forth and commit evil deeds

Next week we will turn to mapping these abstract requirements to the proposed SAP ABAP constructs.

NARRATOR: All this nonsense is no doubt needed in order to produce a book for SAP Press. However as we know these books are not so much for reading as for propping up a table which has one leg shorter than the others, or maybe for throwing on the fire on a cold night for warmth. Their primary purpose is to provide justification for the Gala Launch Party for each new book, where tickets are a million dollars each. In this case the party was slated for 23/11/1792 with the guests travelling backwards in time from 2021 but  on that – fateful – night some strange gatecrashers were on their way…..

*———————————————————————————————-*

Plot – loosely based on „House of Frankenstein“ (1944) – Part 2

*———————————————————————————————-*

NARRATOR:  Evil Criminal Mastermind Frank BOPF and his hunchbacked assistant Slin Shady have escaped from prison in the year 2156 and fled back in time across the BW bridge to the year 1792. There they encounter a group of travelling showmen, the BAS Street Kids, and take over their horror exhibit. It transpires the horror exhibit is none other than the actual Count Dracula, in suspended animation. Being a mad scientist Frank Bopf immediately revives Dracula beacuse that is obviously a really good idea.

Dracula is suitably grateful and asks if there is anything he can do in return. Frank Bopf is still seething with hatred in regard to Mayor McCheese, the governor of the prison he escaped from. Bopf builds a time “vacuum cleaner“ and sucks back Mayor McCheese to the year 1792 and in addition the Mayor’s grand-daughter Freda Tier who happened to be standing near him.

BOPF: You see that “Time Vacuum Cleaner“? That’s my invention that is. It is such a brilliant invention that I could even describe it as a PARADIGM SHIFT!

AUDIENCE: Whoooooooooooooooooooo! (Does Mexican wave) (Sings) Bananas, bananas, one million tons of bananas!

NARRATOR: Anyway, Dracula instantly kills Mayor McCheese but is rather taken with Freda Tier and takes her on a midnight grand tour of assorted haunted castles. BUT …. only Freda Tier comes back….

BOPF: Where is Count Dracula?

FREDA: (In Scottish accent) He’s been murrdered!

BOPF: (In Scottish accent) Not murrrdered!

FREDA: Yes, murrrrderred!

SLIN SHADY: What was that about Count Dracula?

FREDA: He’s been murrrrderrred!

SLIN: (In Scottish accent) Not murrrrrrderrred!

FREDA: Yes, murrrrrrderrrred!

ENTER INSPECTOR McMONKFISH

https://www.youtube.com/watch?v=IHdRGAotbHE

MONKFISH: What’s going on here?

FREDA: It’s Count Dracula! He’s been murrrrrrderrrrred!

MONKFISH: (In Scottish accent) Not murrrrrrrrderrrrred!

FREDA: Yes, murrrrrrrrderrrrrred!

MONKFISH: Oh no! I had better get my best investigator – Appy „Mac“ Gyver – onto this at once!

BOPF: Freda – what I don’t understand is why you would want to go out with a vampire in the first place! Is it because he is a monster?

FREDA: Oh, it’s not that he sucks blood, and turns into a bat, and casts no reflection in a mirror. It’s not even that the last TV series about him had the last third set in the present day, which was the worst decision any writer ever made in the history of the universe. No, it’s nothing to do with any of that! I find Count Dracula and other evil monsters attractive … because they are ABAP programmers!

*———————————————————————————————-*

Song – All the ABAP Boys

https://www.youtube.com/watch?v=qFhvFzCRfiw

*———————————————————————————————-*

[Slin Shady]

(Monsters: ABAP Boys, ABAP Boys)

Freda Girl I know what you like

(Monsters: ABAP Boys, ABAP Boys)

Oh, oh (Monsters: ABAP Boys, ABAP Boys)

Hey, yeah (Monsters: ABAP Boys, ABAP Boys)

 

[Freda]

Some people call them developers

But I’m far from terrified (Monsters: Whooooooooooooooo!)

Cos somehow I’m drawn to danger

And have been all of my life

It feels my heart’s divided

Half way ‘tween on-prem and cloud

I know I’m playing with fire

So I scream out loud! (Monsters: Arrrrrggggghhhhhh!)

 

Yeah the ABAP boys are always catching my eye

(Monsters: Hooray, HANA)

I said the ABAP boys are always spinning out Qualtrics

(Monsters: Hooray, HANA)

Even though I know they can’t code OO

It’s the risk I take , why I just don’t know

With the ABAP boys always catching my eye

(Monsters: Hooray, Hooray, HANA)

Oooooh, bad boys

 

Some think they’re so old fashioned

But they’re straight up fun for me (Monsters: Whooooooooooooooo!)

I don’t need no JavaScript passion

Just code like it’s 1993

My heart still feels divided

Halfway ‘tween GUI and Web

I know I’m playing with fire

And I will till I am Dead (Monsters: Arrrrrggggghhhhhh!)

 

Yeah the ABAP boys are always catching my eye

(Monsters: Hooray, HANA)

I said the ABAP boys are always spinning out Qualtrics

(Monsters: Hooray, HANA)

Even though I know they can’t code OO

It’s the risk I take , why I just don’t know

With the ABAP boys always catching my eye

(Monsters: Hooray, Hooray, HANA)

 

[Slin Shady]

I know you want me citizen developer cos I’m a (ABAP boy)

Hey c-citizen developer can’t help it she so so addicted to them software engineer fellas

On the keyboard she only types the crooked letters

Let mamma take all the goverance, risk and controls,

For that chemistry she don‘t like them SU24 roles,

No SucessFactors, No Concur,

For sure, no Ar-Ree-Bur!

By any means necessary, girl

She likes them procedural, that’s my world

It’s not the news it’s what I heard

To get them more the merrier

It’s not a big surprise

I know them ABAP boys catch your eyes

Look at her walk when I start coding

You’ll have them citizen developer – application loading

 

[Freda]

Yeah the ABAP boys are always catching my eye

(Monsters: Hooray, HANA)

I said the ABAP boys are always spinning out Qualtrics

(Monsters: Hooray, HANA)

Even though I know they can’t code OO

It’s the risk I take , why I just don’t know

With the ABAP boys always catching my eye

(Monsters: Hooray, HANA)

Yeah the ABAP boys are always spinning out Qualtrics

(Monsters: Hooray, HANA)

I said the ABAP boys are always catching my eye

(Monsters: Hooray, Hooray, HANA)

ABAP boys, ABAP boys

*———————————————————————————————-*

Clues

*———————————————————————————————-*

ENTER „APPY“ „MAC“ GYVER

AMG: So we have a murder victim – namely Count Dracula. The time of death was round about midnight. I think it is fairly clear he was killed by a Monster – but which one – and where? If you want to win a mystery prize you need to answer that – and more – and supply your reasoning.

  • No-one knows where the murder took place as the body was vaporized. This is possibly a clue in and of itself.
  • At the time of the murder Dracula was taking Freda Tier on a worldwide tour of Haunted castles. He only had time for five and had registered his route with Monster Traffic Control. Therefore there are only five haunted castles where the crime could have been committed.
  • They are arranged east to west across the world. None are at the same longitude, so you have a westmost one, an east most one, one in the middle etc.
  • Winner has to say => Where the victim got killed (Name of Castle)
  • There are clues to the identity of each of the castles which will be provided over time. Once you have identified a castle you can look up it’s longitude so you know where it sits in the east to west list i.e. the castle with the lowest longitude is the west most one.
  • There are five suspect Monsters. Each one was in a different castle at the time of the murder. You will be provided with Clues to give you details about the various suspect Monsters.
  • This is obvious but – the Winner has to say => The name of the Monster that killed the victim.

With each blog at this point I will be giving you more clues e.g. here is one to start off with – none of the five suspect monsters was coloured orange. That does not help at all – but as the blogs go by the clues will become more useful.

*———————————————————————————————-*

Outro

*———————————————————————————————-*

NARRATOR: As we leave this weeks episode, the preparations for book writing and the associated code base are pretty much complete, and more importantly the identity of the victim in the murder mystery has been revealed. It was Count Dracula – and he has been murrrrrrrrderrrrred! Can you solve the crime and be one of the lucky first few to win prizes? Most of which will be hand made by Paul‘s wife by the way, she stayed up till 3AM last night making some. So, stay tuned for next weeks exciting episode of „I can see ABAP Moon Rising“

https://www.sap-press.com/abap-to-the-future_5360/

Continued in

https://blogs.sap.com/2021/11/30/i-can-see-abap-moon-rising-part-three-of-eight/

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Michelle Crapo
      Michelle Crapo

      Yippee!!!  I love your books and style of writing.  I also missed the last book, and I am looking forward to this one.

      Are you sure it's a Monster that killed him?   Better yet are you sure he's dead?