Skip to Content
A recent blurb and link here at SDN prompted me to get the PDF’s of Blumenthal and Keller’s wonderful ABAP article in SAPProJ on ABAP (Jan/Feb 2006). In that article, the following appears loud and clear: image And later on, they go on to say that wa’s shouldn’t even be used – assign’s are much better. Why am I mentioning this? Because at a former client, a “hotshot” came in to try and figure out how to satisfy a G/L audit without bringing the machine to its knees but also without using summarized data that might have been adjusted by manual entries. Although this “hotshot” was brought in to do a new functional spec and not a tech code review, he wanted a walk-thru of what we had done (which by the way was working fine, from both a func and tech point of view – only problem with it was that it was using data that might have been “touched” by human hands.) First thing he said during the review was: “Why are you looping into wa’s instead of using headers? So I politely answered him by saying that SAP had already gotten rid of them in classes so why code them elsewhere? (Believe it or not, I can be polite.) And he responded by saying he never heard of SAP suggesting that folks stop using headers. (Fortunately my project lead was in the room to back me up.) So it turns out that if this “hotshot” reads the Blumenthal and Keller article, he’ll get the “real scoop”. In particular, although he was “wronger” than me, we were both wrong: folks should not only NOT be using headers anymore, they should also stop using wa’s in favor of assigns. I don’t want to tick anyone off any more than I’ve done lately here at SDN, so I won’t bother stating the “moral” of this story. I’m sure it’s pretty obvious.

To report this post you need to login first.


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

  1. Former Member

    After reading your blog…I feel like a criminal -:'( I’m still using OCCURS 0 and WITH HEADER LINE…Why? I don’t know…Maybe because after 4 years of ABAP Development…some habits can’t be changed…

    Gladly, you blog has makes me feel bad enough to start changing my ABAP ways…

    I can’t use too much ABAP Objects here, because as not many people knows it (In Perú), I’m kinda forbidden to apply it…Still…If SAP tell us that there are some banned keywords…We should listen -:)



    1. David Halitsky Post author
      As all COBOL-lers know, there is a difference between the actual READ buffer area and the working-storage area that you can READ INTO.

      So I suspect that:

      READ INTO is like LOOP INTO wa

      and LOOP (into implicit header)

      is like using the data in the READ buffer rather than the data in the working-storage area.

      I still fondly recall some old-times who would use the READ buffer to avoid having to define a working-storage area for a lag key, or for other similar purposes.

      That’s the trouble – I remember TOO much about this business they call IT.

  2. Former Member
    I have read many of your blogs, but this is my first comment.  Keep up the good work.  I especially appreciate all the load testing and results you have posted.

    When I first learned ABAP, I didn’t understand why some developers would go through the trouble to use explicit work areas instead of implicit work areas.   It seemed like extra code for no additional benefit.  As time has marched on, I am now immersed in ABAP OOP.  I found difficult to adapt when I wrote my first class….Objects will not compile if an internal table uses an implied work area.  Now it is just habit and actually have advised others to discontinue using the implicit work areas in an effort to minimize some of the transition pain they would eventually feel.

    Thank you for singing the same song.  At least I am not the only one with this sheet music.


    1. David Halitsky Post author
      Hi Ryan –

      Glad you agree on this one.

      The particular issue here is part of a more general issue involving the SAP consulting coummunity and how it can better help its customers by helping SAP.

      When I post on this general issue shortly, I don’t expect you to agree with everything I will say in the post, but I do hope that you’ll realize that my dissatisfaction with the consulting community comes from the fact that it is not doing to do all it can do to be the best it can be.


  3. Former Member
    I just held the PDEBWB course about ABAP development in BI and one thing I tell in each of these courses is:
    1. If you don’t need ABAP Objects now you need it within max 5 years so start learning the basics now.
    2. Using the ABAP Objects syntax makes your program more readable (which is VERY important since nobody wants to maintain the same part of code throughout his lifetime ๐Ÿ˜‰
    3. #1 is also true for Java, just five more years in the future.

    Best regards

    1. David Halitsky Post author
      Unfortunately, I think there are a ton of places where consultants are not taking their clients “into the future”, not just relatively technical ones such as header’s vs wa’s/assigns.

      One in particular that really gets to me is the fact that lots of consultants are still writing non-OO ABAP ALV grids, even though the “boilerplate” for writing ABAP OO grids is:

      a) trivial;

      b) available in many examples which SAP has taken the trouble to provide in its control examples available from the menu in SE80.

      Using these examples, you don’t even have to take the ABAP OO course – you just have to analyze the examples and see what they’re doing.

      OOPS! I guess I shouldn’t have said that.  Of course you have to take the ABAP OO course to write an ABAP OO ALV Grid control!  Sorry!

      1. Former Member
        There are lots of consultants who still write ABAPs that don’t use ALV at all but tons of WRITE-statements instead. There are lots of consultants (and even worse in-house programmers) who use global variables instead of local ones just because they learned it this way ten years ago (or even before). And I can only sign your comment in your other blog – everyone who works with SAP has to push the customer into using SAP effectively and efficiently. And that means you have to be aware of new trends and use them (not always right at the start but soon enough).


        P.S.: I don’t see myself as “in authority”. I just share my knowledge and opinions so that there are others who can answer the questions before they left unanswered.


Leave a Reply