Skip to Content

Taking a (long) walk down memory lane…

I recently had a Twitter exchange with SAP Mentor DJ Adams (@qmacro) about the “good old days” of Assembler programming on R/2 systems, and I remembered that I still had the original course notes from IT400 “Introduction to Assembler Programming”.

This course was first published in August 1989 (actually last Sunday was its 22nd birthday), and it was one of the first courses I attended when I started working with SAP software.

Many of the features that are still present in ABAP have their origins in IBM System 370 Assembler. To name but a few:

  • Why you put an asterisk in column 1 to denote a full line comment
  • Where the offest and length syntax came from E.G. lv_field+4(4)
  • Why an ABAP return code of 0 means success, 4 means warning and 8 means error

This was a very enjoyable and interesting walk down memory lane for two old R/2 hacks like myself and DJ, and I thought that any other old-timers might enjoy the same nostaligic stroll. (In fact, reading the course notes will explain exactly what a Q-Macro is, and hence where DJ got his Twitter handle from).

When R/3 was developed in the early nineties, many of the architectural features and principles developed in R/2 were transferred into the client/server architecture used by R/3 (which is now the NetWeaver ABAP stack).

For those of you however, who have never heard of R/2 (or at least never went to that part of the IT museum), I highly recommend having a look at these course notes because they will show you that the modern versions of SAP software have a pedigree that stretches back to the very stable and solid foundation laid in the IBM Mainframe world of R/2.

For you newbies to programming (by that, I mean anyone with less than 20 years experience 🙂 ), I would highly recommend that you give good consideration to the principles of Assembler programming.  Far from being “archaic” or “redundant”, the principles I learnt 25 years ago gave me the solid foundation I have today for being able to write efficient coding in high level languages.


Chris W

You must be Logged on to comment or reply to a post.
  • I've downloaded the PDF.  This is some heavy reading.  I like how basic programming languages can still help with newer things.  It is something that makes me smile.

    I started with BASIC, COBOL, and RPG.  (Some PL1, but just support.)  Yes, I can take a lot away from those languages still.  R/2?  No.  3.1H I believe or something like that was what our company came up on.  I’ve heard about R/2.  I’ve heard how hard it was.  Interesting – I wonder if there is an R/2 PDF out there that I can get my hands on.

    Memory lane.  Experience.  History.  All wonderful things to remember, and use with the "new" latest and greatest.

    I'll have some heavy reading for the weekend!  Or even better on the 6 hour plane ride I have coming up.

    • Hi Michelle
      I don't expect people will want to read every single detail in the course notes.  I just thought it would give people an interesting SAP history lesson.
      After all, SAP software is the way it is today because of where its come from.
      This fact is unfortunately often poorly understood nowadays when everyone seems to think that unless you have the latest, it can't possibly be the greatest.
      This is the heritage of the software with which we work.
      Chris W
      • You may not expect it.  But I enjoyed what I started reading.  So I want to read some more.

        Latest and greatest?  Well I love working on them.  But I agree with you.  I have to decide what tool to used based upon the requirements.  Sometimes I use a newer tool just so I can start learning how to use it.

        Also the older technology - Ha! - you've hit upon my session at Teched.   So I get to talk about it.  It's only at Teched Las Vegas - that's the only one I can get to.  And I'm shamelessly promoting it.  It is "The Old Dog Tricks That Will Help You Build Applications FAST".   Yes, those old tricks come in handy.  Not just as a heritage, but sometimes to use.

  • Chris

    Thanks a ton for scanning and making available those IT400 notes; I did have a copy at one time but it must have got lost in a move - I'd never have thrown it away!

    As you say, we'll always have a lot to learn from the past, especially our IT past, where resources were rarer and more expensive.

    I remember the Pan's Labyrinth that was SAPM04M; changing code in there and surviving to tell the tale was something worth celebrating, I can tell you! 🙂


  • Hi,
    When I think of assembler language, first thing that struck my mind like tsumani was use of Macros.
    Every language has lot of predecessors...who knows after 10-20 years another dynamic language originated from ABAP would flourish the SAP market. (HANA etc. etc.  might bring a big change).

    So the philosopy of Learn and Unlearn and then relearn always holds true.
    Oh !!! I hope I am not flying too high.