Skip to Content

My experience with ABAP

The first time I saw a piece of ABAP code was when I attended the interview for SAP Labs India. I was given a piece of code and I was to tell them what the piece of code did. Initially, I thought it was a trick question. I had no idea about ABAP and I was asked to deipher some ABAP code – there must be a twist somewhere. But that was not the case – the question was very serious. So I started my work and after deciphering what “->” meant and all that stuff I was able to tell them exactly what the code was meant to do. But my initial impression about ABAP was that it was not that easy to learn (especially for a person with a Microsoft language background).

After I joined SAP Labs India, I was given a comprehensive training on ABAP and I entered the world of ABAP and came to know of all it’s glory. If you have knowledge of one programming language, it is pretty much easy to learn another one. ABAP had a lot of similarities with other programming languages (especially the ones I knew like Visual Basic and C++), but at the same time there were a lot of differences. It was not easy to learn, at the same not difficult to learn also. Am I confusing you? That’s exactly how I felt when I started learning – confused. But I was hooked and as the days passed by, the confusion and the fog cleared up and my ABAP visibility improved. Things improved so much that I scored pretty good marks in the test at the end of the training.

But unfortunately, after the training I had very little opportunity to do something in ABAP. My focus area became Mobile Applications and it was back to Visual Basic. But I still kept in touch with Mr.Function Module and Miss.Program (if I can call them that). I do miss doing some actual ABAP work and that is the reason I will be moving back to the ABAP world in a couple of weeks. And my interest has increased after reading all the ABAP blogs. I hope I will be able to reel out some ABAP fundas pretty soon. Till then, happy coding!!!

You must be Logged on to comment or reply to a post.
  • I like the viewpoint you have in this blog.

    Could you give a few examples of what you see as “different” (and confused you at first) with ABAP?

    • By different, I meant some simple stuff for a beginner like the following start of an “IF” block –

      IF NOT lf_error = true.

      Normally, I would expect a “Then”, but I get a “.” (full stop) 🙂

  • Hello Santosh,

    It’s good to see that there are still people who seriously want to be in ABAP when there is so much emphasis on Java and just about everything else.

    I would like to invite you to read my blog post entitled “Why I like ABAP” as I have been doing ABAP for many years and am still a fan.



  • Hi Santosh,

    I can understand your feelings well about ABAP and it’s even harder if you have to deal with bad ABAP coding as a first start. In my first real experience with ABAP I had to take over some crappy program from a college who went into a four weeks holiday and when I saw it I thought: man that’s an ugly language. Later I realized that the style of the program gave me the headaches, not ABAP itself.

    FOr a beginner it sometimes seems hard to get into it, especially because of the huge amount of keywords that ABAP has. I found myself to often looking up definitions in the R/3 help to see how things exactly work. Maybe it’s just because of me, maybe not.

    I haven’t done much ABAP for over 18 month now but have to get into it again in a couple of weeks. We’ll see how bad my memory really is;)


    • Now ABAP certainly isn’t as odd as the Klingon Programming Language, which strangely enough actually does exist – It is called var’aq.

      I have found that most ABAP programmers do agree with most of the statements often overheard by a Klingon Programmer:
      I used to have these printed out and hanging on my cubicle wall – right next to the coding hall of shame. 

      On a serious note, I had a very different experience with ABAP.  You might say that ABAP is my “native tongue”.  The university that I attended, believed in teaching most of its programming courses in Pseudo Code instead of any one language.  I had exposure to Cobol, RPG, and C – but nothing so deep.

      As luck would have it, the company that I started with right out of college was just starting their SAP implementation.  So just a few weeks out of the classroom I was shipped off to ABAP training. 

      For the first two years of my career, I never lifted my head out of the ABAP development environment.  When I finally got around to spending some serious time working in Visual Basic, I had a similar feeling about that language as this blog author had to ABAP.  The “little things” just felt so different. 

      • Hi Thomas,

        first thanks for the entertaining link about Klingon Programming Language. Didn’t know that one and I had a good laugh on reading it.

        I didn’t want to upset anybody by referring to ABAP as klingon. It’s just an old joke I usually told friends that weren’t working in an SAP environment. Some small part is about the language itself (coming more from Assembler/C++ background) being so talkative but mostly just thing about “I code klingon ABAP” spoken out by Warf with a hard accent. Should sound funny;)

        Doing ABAP for about six years I really felt in love with it and the whole app server. It just a beautiful piece of software to work in and sports a couple of features competitive technologies are still missing (think compiler syntax and data type checking in sql statements on db table columns). But one thing that bugged to much was the fairly poor IDE support for things like syntax highlighting, refactoring, editor shortcuts, macros, etc. but I hope it’s people like you to push this topics inside SAP and I would really appreciate it!


  • hi,
    when I learned (a little) ABAP I had a really hard time. most (general purpose)programming languages follow some common logics which makes it easier for one versed in one language to assess another one. even textbooks for different languages follow a common structure. But not ABAP, at least up until ABAP OO books came out.

    some language structures and capabilities will probably always remain weird to me. E.g.

    tables spfli.
    select single * from spfli where carrid = 'LH' and connid = '2407'.
    spfli-deptime = '0945'.
    update spfli.

    Not being a programming languages theory expert I can't believe that such implicite behaviour is being implemented in any contemporary language again. And I really wonder how many erroneous database operations have occured through constructs like this in the course of time.

  • … a lot of its so-called “peculiarities” will start to seem perfectly natural.

    “Syntax-directed” programming languages need words that their compilers can recognize so that they can decide whether these words make-up sentences that are “well-formed” or “ill-formed” in the original sense of Chomsky, 1955, 1956.  (See also Jack Schwartz’ great writings on compilers.)

    Furthermore, each of these sentences must have – guess what? = a “verb”!!!!  (That’s one reason why there are so many keywords …) 

    If you keep these two thoughts in mind, ABAP will start seeming a lot less strange …

    Plus, of course, it also helps to realize that ABAP syntax is a lot closer to machine language syntax than the newer “fluffer” languages …