Skip to Content

IT’S ALIVE! IT’S ALIVE!

/wp-content/uploads/2015/03/image001_673076.jpg/wp-content/uploads/2015/03/image002_673077.jpg

Writing a Book for SAP Press – Part One


Table of Contents

Background

First Step – Accessing a 740 Trial System

Next Step – What to put in the book?

To Be Continued


Once Upon A Time….


On the 29th of January 2014 I had published the following blog on SCN:-


http://scn.sap.com/community/abap/blog/2014/01/29/team-procedural-vs-team-oo

That blog was discussing the merits of OO Programming vs Procedural Programming. A great deal has been written about that subject on SCN, but what may possibly have made my blog unique was that it contained two songs, one about each style of programming.


By co-incidence or otherwise, when I woke up the next day and looked to see if there were any comments, I got one from Tammy Powlas saying that a lady called Kelly Weaver from SAP Press wanted to talk to me about writing a book.

Well, I jumped at the chance, and my book comes out on April the 3rd. Now I was very wary about doing a puff piece of advertising for the book masquerading as a blog, so I checked with Matthew Billingham and he said to talk about the process of writing the book, with just a link to the relevant part of the SAP Press Web Site at the end.


So I am not going to try not to talk about the book at all, but the process of writing it. Who knows, you may end up writing one yourself one day in the not too distant future.


I will split this into several blogs and this blog will concentrate on the first two steps of that process.


First of all I needed to get access to a trial SAP 740 system, so I will talk about how to do that, it is not as easy as you might think, so I will step through the process.


Then I will talk about the reasoning behind how I worked out what new technologies to put in the book and what sort of running example would best tie them all together.


Life Begins at 740


Now I did not get to choose the topic of the book, which was fine by me – I would have written about anything they wanted. It turned out I was to be covering the topic that Thomas Jung & Rich Heilman used to publish books about – theirs was called “Next Generation ABAP Development” and they (Thomas & Rich) did not want to write a third edition, so SAP Press turned to me instead to write a similar sort of book (but not a sequel) which was very flattering.


However my company is many years away from getting a 740 ABAP system, so I had to lay my hands on one in a hurry. Luckily it is possible for anyone to get their hands on a “free” trial SAP system with a 740 ABAP system and a HANA database. It took me a while to work out how to do this, so I thought I would guide you through the process.


The first thing you need is an SCN ID – I would presume you have one, as you are reading this. The second thing you need is to sign up with Amazon Web Services (AWS). That part is ludicrously easy as (a) since you have to pay they (Amazon not SAP) want your money and (b) as might be expected Amazon make their web site as intuitive as possible.


https://console.aws.amazon.com/iam/home

Since that is so easy there is no point on dwelling on it, or even saying one word about it. I was amazed by how technically advanced that company is – during the process a robot phones you up, and as you talk to it the screen in front of you changes without you touching it. This is the sufficiently advanced technology which appears to be magic to me.

The cost is the important bit – just having an AWS account costs you about five dollars a month, plus about a dollar for every hour you have the trail SAP system in existence. Not the end of the world, especially if you can get your company to pay for it.

Cloud Cuckoo Land

Now you have all your credentials it is time to navigate the “SAP Cloud Appliance Library”.

https://cal.sap.com/

You will then get a screen saying “cloud appliance library loading” which may take a long while. The website seems really slow, it may just be me, but I wonder. If you press the “login” button you should get a message to the effect that you have been authenticated and are being directed to the main site. That is, if you normally log in to SCN and/or the SAP support portal using a certificate with your “S” number (SCN ID). You then see a nice picture of a hot air balloon, not that SAP is full of hot air or anything.

/wp-content/uploads/2015/03/image003_673079.png

Up up and away in my beautiful – yes beautiful – balloon

Now you might think that to get started you might go to the “get started” section at the bottom of the screen – how wrong you would be. Try that and half way through you will get asked if you want to pay ten billion dollars for a new SAP system.

Instead, navigate to the “accounts” tab where you can create an account which links your SCN ID to your AWS ID.

/wp-content/uploads/2015/03/image004_673080.png

Silence you User

So far so good. The next cab off the rank is to go to the “solutions” tab where you get a huge list of possible trial systems. The ones that are free are highlighted with big blue boxes.

/wp-content/uploads/2015/03/image005_673081.png

Solutions looking for Problems

When I first started playing with this I thought the round circles that looked like radio buttons were in fact radio buttons, but they are not – they are just status indicators. That is obviously what you must do to your users – give them familiar looking icons which do something utterly different from what they are used to. That is rather like the icon in transaction MIRO which normally means “refresh” but there means “delete”.

/wp-content/uploads/2015/03/image006_673082.png

Watch Out! – Not a Refresh Icon- it means DELETE

Anyway, getting back to the matter at hand, what you need to do is click on “try now” on the right hand side. I was on Internet Explorer 9 and had all sorts of problems, but now I am on version 11 all is well. You get the usual “terms and conditions” to click through and there is an interim, apparently pointless, step where the text reads “activate” and you press that and then you get to a stage where the text reads “create instance”.

This is the important bit – an instance is an SAP system in the cloud where you are the only user. You choose how long the instance is to remain alive i.e. you enter a “termination” date and time. Like the enamel on your teeth, when it’s gone its gone forever so you lose all your work, so be sure to download any custom objects you have created you feel like keeping for posterity using SAPLINK. As I said you get charged about a dollar for every hour the system is alive, and you get an estimate of the cost before you press “go”. When you are finished a so called PEM file gets downloaded to your PC which will be used to enable a remote desktop connection.

You then have to wait an hour whilst the new SAP instance creates itself, which is nothing in the grand scheme of things. Then the fun really starts.

Instance Coffee

After an hour, navigate to the “instances” tab. If there is a clock on the left hand side the instance has not finished creating itself, if there is a big green square you are good to go and there will be text on the right hand side saying “connect”.

When you press “connect” you get a “connect to the instance” pop-up box and you choose “remote desktop” and are then asked if you want to open the PEM file that was downloaded to your PC earlier. You say yes, and then after assorted security warnings a remote desktop session opens up, with icons for Eclipse and SAP.

Note – I have found that if you are inside a corporate firewall the remote desktop session will most likely not work. At the SAP Developer summit in Sydney last year most people were using their work PC’s and had noticed the same thing.

Pull That Branch Three Times

Now this SAP system has no ERP content – you can’t create sales orders or purchase orders or any of that nonsense. All that exists is the ABAP content, so you can muck about writing programs and the like – here is what is installed.

/wp-content/uploads/2015/03/image007_673083.jpg

Software components in the Trial SAP 740 System that are installed, by the old gasworks wall

Sadly the BOPF framework is not there, as that is part of the “Business Suite Foundation”, but one day the BOPF will officially join the NetWeaver club and become part of such trial systems.

Now I want to stress something here:-

·         You are the only user on this system so nothing you can do can affect any other user

·         There is no Business Suite content, so the only thing you can do is play around with ABAP, creating custom objects and the like, trying out new ABAP syntax and so forth.

You have a user name DEVELOPER and you would expect, given the only possible thing you can do in this system is develop, that this user would have a developer key. How wrong you would be.

I will now step through the process for granting the DEVELOPER user a developer key. Be warned, this is going to be rather like following a Da Vinci Code trail of clues. When I explained the process to my colleagues at work and they realised what one had to do they all fell about laughing.

First off, log into the trial SAP system using Client 000 and user SAP*. Then call transaction code SLICENSE which looks like this:-

/wp-content/uploads/2015/03/image008_673084.jpg

Transaction SLICENSE – to kill

You will see a randomly generated hardware key. The lights will all be red at the start, not like they are in the picture. You have to make a note of this really long code, put it on the clipboard or write it on a beermat or something.

Then go to the following website:-

http://www.sap.com/minisap

You will see a screen asking you for your name, email address and “S” number.

/wp-content/uploads/2015/03/image009_673085.png

MINISAP / Mini Me

You need to choose the “A4H – SAP Netweaver 7.4 AS ABAP / HANA DB / Linux” choice. The F4 drop down looks crazy on my screen, the boxes with the two choices are half the size of the screen, and if you try it twice the screen locks up and you have to start again.

Anyway, I press “submit” and then I get a message that an email will be sent to me with the licence key. As I need my corporate email I log into the company system, which breaks the remote desktop connection. I then wait about ten minutes until the email arrives.

I open the email and paste the contents of the attached text file onto the clipboard.

I then log out of the corporate system and restart the remote connection.

I then open a new text file in the remote system and paste the licence key into it, then save this new file.

I then, in transaction SLICENCE press the “install” button and upload the file. The lights go green.

I then go into the forest and pull the third branch of the fifth tree on the left three times.

I then need to go into transaction SECSTORE and then press the “execute” button and the screen fills up with green lights.

/wp-content/uploads/2015/03/image010_673087.jpg

Transaction SECSTORE

What is happening is that client 000 is making an RFC call to system 001 saying that the DEVELOPER user account is allowed to develop.

Now, I can go into client 001 as DEVELOPER and will now be able to create Z objects. But only if the **** crows three times after midnight and the hen lays four addled eggs and Jupiter is in conjunction with Uranus.

There, that was easy, was it not? You hardly took even one hour of the time you are paying for doing housekeeping tasks for no apparent reason. It’s like going into a hotel room and finding the bathroom and cupboard padlocked, but with a note on the table saying the keys to the padlocks are hidden in the room somewhere and here are some clues to their location in rhyme. All the hotels I stay in do that – you probably find the same yourself.

Anyway, you soon get used to it, and the upside is that you have an (almost – no BOPF) fully functional 740 system to play with. Oh and you have to go into transaction SICF and activate assorted services if you want things like BRF+ and Web Dynpro to work.

Choosing what to Put in the Pot

Having got the technical barriers out of the way, I had a lovely brand spanking new 740 system to play chock full of new technologies. The task now was to choose which of the myriad of those new SAP technologies to write about.

Where do new technologies come from? There are several possibilities:-

·         The stork brings them

·         You find them behind the mulberry bush

·         They get delivered as part of an upgrade to your SAP system

I have often said that going through an SAP Upgrade is like building an extra storey on top of your house. It is really expensive and takes time and effort, and in the end you have a whole new floor where you can go up and try out all the exciting new things that are up there.

The funny thing is though, after all that effort most companies never bother going upstairs and don’t use any of the new functionality. This is why so much ABAP development is for the purpose of adding “missing functionality” i.e. functionality available in SAP standard that no-one knows is there. The problem is compounded by all the new (business facing) functionality in enhancement packs being delivered in a dormant state – my experience is that companies are too scared to turn it on.

With an enhancement pack installation (upgrade in other words) you also get a new version of ABAP and naturally that is not dormant so you can start using all the new goodies from day one. Again, very few people ever do, they just stick to programming using DYNPRO screens and function modules and pretty much the exact same toolset they were using in 2000.

This is partially to do with resistance to change, but also to do with the problem that people just don’t seem to know about all the new things in their system. Let us say you have been on 7.02 for a while – have you ever used ABAP Unit? Or BRF+? Or Shared Memory? Do you even know what they are for? Do you know you can use UI5 with a 7.02 if you install an add-on?

And that is just in 7.02. More things followed in 7.31, and in 7.40 a whacking great sea change came along, completely renovating the ABAP language and making it possible to write programs with half the lines of code.

Just to make things scary, there are a new generation of young programmers sneaking up beside us old fogies and they do know what these things are, and have no fear of them.

“These kids [of the current generation] have no fear of technology … sort of like I have no fear of a refrigerator.”

Don Tapscott: Four principles for the open world

So, in theory at least, there should be a need for a book to tell programmers all about the new tools they have which are hiding in plain sight, and they should become conversant with if they don’t want to get edged out by the younger generation. And I could have my cake and eat it too; as such a book would also be of interest to the new young programmers so they could learn about new things in order to displace the older generation.

So I was told I need to make a list of 15 chapters, each covering a recently introduced ABAP based SAP technology. At first I thought I was never going to be able to come up with fifteen different new technologies to talk about. I took a piece of paper and divided into sixteen squares and started writing down things like “BOPF” and “BRF+” in each square. After the first few I ran out and started to panic, but then a few more started popping into my head, and before I knew it I had filled up all the squares and was writing extra things around the edges. Then it was a question of what topics to remove.

So, with the technical topics sorted out, the next thing to think about was the best way to type out these technologies to the waiting world, as Bob Geldof would say.

The Style Council

Next was the question of style – good as the book by Thomas Jung and Rich Heilman was, I wanted to do something as different as possible, and so I could not talk about a programmer at a university called “Bustle” or some such.

Nonetheless there has to be a running example, to give some sort of continuity between assorted chapters which all be concerned with different subjects.

Surprising as it may seem the easiest part of each chapter (to write at any rate) is to explain how to technically do “whatever it is” that is covered in the chapter. After all there is half a ton of online SAP help for each subject. However, having read all this myself and watched assorted TECHED videos online, I can see that sometimes there is a need to present this material in a somewhat more flamboyant manner. You can be delivering the most exciting innovation the world has ever seen, but if the audience falls asleep half way through, you have failed to get the message across.


A common complaint with the standard documentation you are directed to is that it is a bit abstract / divorced from reality, even when examples are given. I grant you that the SFLIGHT model is something we can all relate to, but I spend half of my life at airports due to business, and sometimes I would like to think about something else.


When writing about “Domain Specific Languages” Michael Feathers also said most of the examples he found in the Java field were just plain boring, so he made up an example based on a certain film genre. The Head First Design books use frivolous examples also. It is easy to relate to fictitious situations because we watch so much TV, and watch so many films (movies), and some of us even read novels. The difference is we do all these things for pleasure, but we go to the airport because we have to.


So, if I really want to show how to do the “whatever it is” from each chapter in a realistic way, then I need a sample application which runs throughout the book – which is normal in the SAP ABAP series – and for which the reader can look at the source code from magic realm in the internet where it will be stored, but is entertaining at the same time – more like the movie “Airplane” (called “Flying High” in some countries) than SFLIGHT.


So I chose for the running example a common situation most programmers find themselves in at some point in their lives – working for Baron Frankenstein, programming an SAP system to make monsters. I mean, who hasn’t done that? So it’s something everyone can relate to.


The Right Tool for the Right Job


Another departure is that a lot of books just say that the new technology is wonderful, and would not dream of saying a single negative thing for fear of upsetting SAP – I imagine this must cross the minds of authors who are also SAP employees.


So I decided that sometimes in my examples you would see me demonstrate the new “whatever it is” in my example application, and then decide to change it back to the way it was before. This is not because I came to the conclusion that the new tool is useless – if I thought that, I would not include it in the book – but because no new technology can be a panacea for every single problematic situation you come across.


In regard to the lack of effectiveness of such “magic bullets” I always like to draw analogies, and in this case I am going to bring up the plot of a UK comedy / drama from about 25 years ago called “A Very Peculiar Practice”. This was about a group of doctors who worked at a university.


In one episode they were being pushed to test a new wonder drug that was supposed to cure everything in the world. One doctor was really taken with the promise of this new drug and prescribed it to everyone who came to him, or even came near him. The hero of the piece (Doctor Who actor Peter Davison), however, only prescribed it where it seemed to make sense, and then only in conjunction with established medical techniques.


In other words, with all the new ABAP goodies we have all these new hammers, what is to stop us running round looking for nails to hit them with?

So I thought I would try and give my two cents worth on when to use “whatever it is” and when NOT to i.e. use it when it makes sense, not for the sake of using it because it is new.


Coping with a lack of perfection

I wonder how many times someone looks at something new from SAP and says “that is not exactlywhat I want” and so goes off and gets the development department to build something similar from scratch. I am thinking of business facing applications here e.g. a company building its own EHS system because they don’t like the SAP one, but developers can be just as picky, or maybe even more so and looking at something new like BRF+ and saying “that is quite good, but it cannot do the ABC123 task so I won’t bother with it”.


In other words the new tool is not perfect. After coming to Australia I explained to my father what my new job involved. He asked me “What happens when everything is working perfectly and all the end users are happy?” the inference being that when that day dawned I would be out on my ear.


Luckily for me, and for every programmer in the world, the end users will never be happy, because being satisfied with something appears to be contrary to human nature. In the same way, once you become familiar with a given new SAP innovation you may say “well that’s not good enough, what about the X, what about the Y, that won’t work at all when I want to do Z”.


I think the innovations from SAP I wanted to put in the book are really good, but they are not perfect due to the fact that nothing can be. Once you get to perfection then you don’t need to innovate any more, and that would be the end of the world.


Some SAP salesman will tell you that all the lovely new toys do everything you need right out of the box. Nobody would want anything more. Of course they wouldn’t. Or would they? We asked The Black Adder.


“Nonsense, nonsense …. but just in case it’s true….” – Black Adder II, Ben Elton / Richard Curtis.


I am as picky as the next person, and often when I have tried out the new technology there have been aspects I have disliked, or features I felt were missing. In such cases I wanted to say how I personally have got around these perceived shortcomings using my own ABAP code, often adapting solution I found on SCN. Even better, in some cases, suchas ABAP in Eclipse, or BRFPlus, it is possible to enhance the standard tool with your own improvements till the cows come home to roost.


To be Continued


I am going to do a few follow up blogs, in which I will talk about the book writing process, and spice things up with assorted content which was cut from the final edition from the book. The vast bulk of that (the cut material) relates to the philosophy of programming i.e. the why the bit that rarely changes, as opposed to the how which changes all the time as new technologies come out.

Cheersy Cheers

Paul

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

To report this post you need to login first.

52 Comments

You must be Logged on to comment or reply to a post.

    1. Paul Hardy Post author

      As might be imagined apart from the technical stuff I filled my manuscript also with:-

      Nonsense

      Utter Nonsense

      Total Insanity

      It is the job of the editor to remove stuff that is not really relevant, so she did her job and removed most of the insanity, and about 75% of the utter nonsense, but the vast bulk of the normal nonsense was left intact.

      So I am very grateful indeed to my editor for letting me keep my normal writing style. The end result is somewhat different to what you usually get from an SAP Press book.

      (0) 
  1. Tammy Powlas

    Wow, Paul, thank you for the mention.

    I don’t program in ABAP any more that much but I will have to read this book!  Congratulations on the book and great blog

    Tammy

    (0) 
  2. Fred Verheul

    Hi Paul,

    Like you said: we shouldn’t try to sell stuff on SCN, so I love your solution to write a novel around it πŸ™‚ .

    But I’m going to violate that rule myself: I can’t wait for this new book of yours to turn up in my year long SAP Press subscription bundle of programming books!

    This subscription already saved my *** during my current assignment, and the fact that I will automatically have access to all newly released programming books makes it even more valuable. </advertisement>

    Now the main challenge is to carve out some time during Easter (good timing on the release πŸ™‚ ) to read about monsters…

    Looking forward to the next episode(s)!

    (0) 
  3. Uwe Fetzer

    Hi Paul,

    this will be definitly my first ABAP book since years (the last one was the mentioned one from Tom and Rich).

    But one note:

    just having an AWS account costs you about five dollars a month


    Really? At least my account only charges for used resources: no active or sleeping instance -> no costs.


    (0) 
    1. Joao Sousa

      At least in the past I paid for storage space whether I used the instance or not.

      Which was a bit problematic when my free instance became paid without warning, and AWS started charging me for the instance even though I didn’t use it.

      (0) 
      1. Uwe Fetzer

        For stopped (sleeping) instances you are charged. This should be no surprise because you are using storage space. This is mentioned in every blog post about CAL here on SCN and in the price list on AWS.

        If you don’t need your instance anymore, you have to delete all virtual volumes and elastic IP addresses.

        (0) 
        1. Joao Sousa

          Initially I didn’t pay for the storage even if it was off because it was a free tier (it was not SAP related, it was for other stuff). The problem was that I didn’t delete the instance, and Amazon changed the terms midway without my explicit acceptance of the new terms.

          Not a happy customer.

          (0) 
      2. Steve Rumsby

        Yes, you pay for resources you use, including storage for sleeping instances. But if you delete everything, you are charged nothing.

        I haven’t paid anything on my AWS account for about 3 years now.

        I really must find a use for it again…

        Steve

        (0) 
        1. Paul Hardy Post author

          I cannot wait to have a quick drink with you at the Mastering SAP Technology conference in Melbourne. I have been dealing with the girls who run the thing for ten years, I recall showing them my wedding photographs nine years ago.

          This is going to be a stunner of a conference, even by Australian standards, I imagine we cannot hold a torch to the one in Orlando (USA) but we are going to try our level darndest as the Wild West guys would say.

          (0) 
  4. Kevin Swann

    Cheating a bit by quoting the book, but…

    Java resembles JavaScript in the same way a duck resembles duct tape.

    …is my favourite quote of 2015.

    (0) 
  5. Matt Fraser

    Paul, I think my organization is precisely the target of your book — we upgrade to new releases, and then are fearful, hesitant, or just plain too busy making stuff work the old way to activate new functionality or use new methods. We are writing lots of ABAP code as if it were 1999. Ok, maybe 2003. And, as it happens, we will (probably) be migrating to a 7.4 ABAP system within the next year.

    Add to that your engaging writing style from your blogs, and this is an easy sell.

    (0) 
  6. Philip Davy

    Paul Hardy


    I have always appreciated your writings and your keenness to share knowledge. It would be great if you respond to the queries and discussions on the ABAP forum regularly.


    Philip.

    (0) 
  7. Flavio Furlan

    Paul, very very good job! I’m reading chapter 13 and it’s delightful!!! I worked with ABAP for 10 years and Next Generation was the last ABAP book I had read (or reading). Now I’m very happy to have your work to start to read, get some ABAP updates and have fun!

    I’m sure that Mauricio Cruz will enjoy this book!

    Furlan

    (0) 
  8. Kesari Katakam

    /wp-content/uploads/2015/03/avatar_character_673775.jpg

    Wow! What a great way to dive into the Future… your narration took me into the Pandora of  New ABAP….I am sure every reader will have their new “ABAPER” AVATAR….. as this book summarizes the happenings in a great style…. Lets befriend( tsahelu in Na’vi language )  the new Animals under  the Eywa of SAP Programming .

    Regards

    ABAPER with a new AVATAR ! πŸ™‚

    (0) 
  9. Matthew Billingham

    Does all this AWS stuff work with a P SCN Userid?

    btw – I’ve done real development in a real live 7.4 system. *smug* 😎 But now I’ve ordered the book I’ll probably find I did it all wrong… πŸ˜€

    (0) 
  10. Ged Hurst

    One of the most entertaining, informative and perceptive blogs I have ever read on SCN. If the book is anywhere near as good, you have a best-seller on your hands.

    (0) 
  11. Joao Sousa

    On a next edition you may think about adding a chapter on how open source tools can complement SAP development. SAP has become more open, and nowadays SAPUI5 is not your only option. SAP’s tools are not even the best for SAPUI5 development.

    After expressing my frustrations with SAP WebIDE, Robin pointed me to Configuring JetBrains WebStorm for UI5 development. Curiosity then led me to learn about Node.js, Grunt, Bower, Yeoman, D3, stuff that really speeds up your development, and solves the dependency issue with elegance.

    On the UI side, we should use Front-End development tools. The jump in my performance was huge, and now I can say (like other have said) that using Eclipse for UI feels like programming with broken fingers. It’s that bad, and SAP WebIDE isn’t much better (on local installation, it’s even worse).

    As a SAP focused person, I was trying hard to use SAP’s tools, but there is a world out there SAP developers should embrace.

    (0) 
      1. Joao Sousa

        I think that may be possible πŸ™‚ . I was a bit skeptic about programming in JavaScript, but with the right tools it’s actually a very powerful (but somewhat dangerous) language.

        (0) 
  12. Jelena Perfiljeva

    Cool, this book will be a perfect add-on item to the water filter replacement I was just going to order on Amazon. πŸ™‚

    I should say though that I feel we shouldn’t keep propagating the stereotypes of “old” developers who can’t / don’t learn and “young” developers who are by virtue of age alone more comfortable with technology and how these two are somehow enemies (or at least “frenemies”). Just like any stereotype, it’s mostly based on wrong assumptions but it won’t go away if we keep carrying it like it’s a rock star and we’re the ecstatic fans. Don’t we see tons of just the opposite examples right here on SCN? I’m sure you meant it in a humorous way but unfortunately it interrupted the enjoyment flow of this blog.

    Thanks for sharing the information about the trial system setup. I imagine those young whippersnappers would run to the woods crying half way through. πŸ™‚ Technology, huh.

    (0) 
    1. Matthew Billingham

      Quite right. I’ve been working in SAP since 1997. I’ve always been an early adopter of the new technologies. In fact one of my major rants is when I see new (young) developers using techniques that were obsolete 10 or more years ago.

      (0) 
    2. Paul Hardy Post author

      You are quite correct, the ability to embrace new technology is a mindset as opposed to a function of age. I do have to say though that my five year old niece can use my smartphone better than me.

      I am 46 and started with SAP in 1997 (same year as Matthew) and I am like investigate every new thing that comes along, and I have talked to programmers 20 years younger than me who did not know what ABAP Unit was.

      I have seen a lot of example of programmers who fit the “call to arms” description from Graham Robinsons blog. That is programmers who get comfortable with one way of doing things and never change even after fifteen (or however long they have been working with SAP) years.

      Maybe we should make up some new terms to describe the different mindsets, so instead of young/old we could have a time traveller from the 1800’s going forward to the distant future and discovering two very different races of SAP Programmers.

      The Elohim who are the stuck in the mud programmers living a lifestyle from the caveman era on the surface basking in the sunlight of DYNPRO screens, and below the surface in the darkness are the technologically advanced Morlocks who use BRF+ and UI5, and every so often the Morlocks come out onto the surface at night and eat the jobs of the Elohim.

      (0) 
      1. Joao Sousa

        The problem is that, if I showed up at a client and said “Here’s my SAPUI5 team, now we will be doing all the UI developments the right way forget the DYNPROs”, it’s likely he would tell me he would rather have the old dynpro way because his resources only know Dynpro.

        In the past I deployed some Office add-ons because Excel was the right tool to manipulate the data and send it back to SAP, and a while ago the customer wanted to swap Excel with ALV grids because he didn’t have people who could handle SOAP web services and C#. And the code was the most basic C# there was, read web service via proxy and write to excel cells.

        (0) 
        1. Matthew Billingham

          It’s kind of depressing. One answer to “my resources only know Dynpro.” is “get some new resources”.

          When VB when to .Net there didn’t seem to be this kind of resistance. People who couldn’t make the change fell by the wayside. Evolution in action?

          (0) 
      2. Jelena Perfiljeva

        I agree, we definitely need new term to reflect the mindset rather than age.

        It is quite natural for the kids to be better smartphone users because they have no clue about other devices that existed before their birth and therefore have no preconceived motions of how a device should work. Also they have no problem with “what does this button do?” exploration because no matter what button does mommy and daddy will be the ones to deal with possibly unpleasant consequences.

        E.g. last year when I wasn’t looking my kid managed to leave a video message on Skype for Sophie Sipsma from The Eventful Group (“Look, mommy, I have a new friend!” – he informed me excitedly). I’m glad that being an irresponsible parent  didn’t affect my chances of getting invited to a conference. πŸ™‚

        (0) 
  13. Martin English

    Congratulations, Sir, on a fine piece of work.

    I look forward to your dulcet tones ring across the river Yarra during your readings from it at this years Social Networking and MasteringSAP conference. Further, I am pleased to note (based on the title image) that you’ve had the chance to get your haircut since we last met.

    hth

    (0) 
  14. Ihar Partuhalau

    Paul,

    Could you point me where I can get MONSTER source code? I just got this book, but can’t find the  source for all examples…

    Thank you,

    Ihar

    (0) 
    1. Paul Hardy Post author

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

      Hello

      Go the SAP Press web site for the book (as per link above) and scroll down – off the bottom of the page where you can’t see it, is a box saying “product supplements”. If you click on the “supplements list” link up pops a dialog box asking if you want to download a file full of lots of transports and one SAPLINK file.

      SAP Press used to include a CD inside the front cover of their books with any code sample, but that is clearly old fashioned so now they just let you download the source code transports from the web.

      This means of course that anyone can download the source code examples, not that they make a lot of sense without the book.

      Let me know how you go, I would be interested if anything does not compile when installed in your system. Naturally I expect everything to work, but many years in IT has taught me just because it works for me and anyone else I tested this on, does not mean it will work for the end users!

      All the transport files should work fine on any SAP system with ABAP Version 7.02 and above. The SAPLINK file is for a program with all the ABAP 740 examples.

      When experimenting with the new ABAP 740 features I advise you to refer to the syntax in the example program. in the book some of the samples may have not enough brackets, or a space before the bracket (which is mandatory half the time, forbidden half the time, depending on what command you are using).

      It is easier to cut and paste from a program anyway rather than retyping something from a book.

      If anything DOESN’T work, post a reply here and I will upload a SAPLINK file.

      Cheersy Cheers

      Paul

      (0) 
  15. Jason Scott

    Hi Paul, I can’t find the saplink files in the book supplements page for anything except chapter 2. The book states that the dependency injector code is available as a saplink file? Is that a mistake or can we take a look at that sample code?

    (0) 
    1. Paul Hardy

      Hello!

      SAP Press likes their authors to provide transport files, but yesterday I produced one SAPLINK nugget for each chapter where it is possible (you cannot store BRF+ and BOPF via SAPLINK at the moment for example). These are now on the SAP Press website for the ABAP to the Future Book in the supplementary material download link.

      Let me know if you have any trouble, or if anything does not work.

      For example you might get an error trying to upload a transaction code. I have the SAPLINK plugin for transaction codes installed, I get the feeling that does not come as standard, but it took me about thirty seconds to find a link on the internet to download it.

      Cheersy Cheers

      Paul

      (0) 
  16. Trond Stroemme

    One of the greatest computing reads of all times. I never ever felt like reading an IT book in bed before, but this one changed my mind.

    If it was waterproof, I’d probably read it in the shower, too!

    Cheers,

    Trond

    (0) 
  17. Steven De Saeger

    Dear Mr Frankenstein,

    Thanks for cooking up such a great monster book  euhm ABAP book … what a great resource & reading … and oh .. it is ‘dead’ funny  !

    (0) 
  18. Klaus Huebner

    Hi Paul,

    i have a issue with the interface ZIF_MONSTER_C its look like there is a problem in the nugg file chpater NUGG_CHAPTER_08_BOPF. The definition of the constant is not complete (types are missing, name and description are fine). Please can you tell me the defintion of SC_ACTION,SC_ACTION_ATTRIBUTE etc.
    Thanks!!!

    regards Klaus .

    (0) 
    1. Paul Hardy

      Hello Klaus,

      I think this is most likely because SAP expects of constant interface (in this case ZIF_MONSTER_C) to be generated in your system rather than being imported from another. SAPLINK usually does a really good job of “fooling” the target system that Z objects were created there, but maybe not in this case.

      The constants interface definition comprises a list of everything in the object definition – actions and determinations and so on, giving each one a randomly generated GUID which is about 32 characters long.Those random codes would be unique within a system but the faint possibility exists that you could get a name collision moving that constant between systems.

      I think in transaction BOB you need to regenerate the interface. There is a “regenerate” button just to the right of the ZIF_MONSTER_C at the header level of the Z_MONSTER node, inside the “business object configuration” box.

      Hope that helps. Let me know how you go.

      Cheersy Cheers

      Paul

      (0) 

Leave a Reply