Skip to Content
I am currently updating a number of different custom programs to take advantage of SAP EnjoyControls – trees, textedits, and HTML viewers as well as ALVs. In this process, I have learned a remarkable fact – many experienced SAP functional consultants are not aware of the capabilities which EnjoyControls provide. Therefore, I am curious how many ABAP developers regularly take advantage of these controls, or whether most folks are bypassing them and waiting for their sites to go WDA/WDJ before they go beyond just regular dialog programming and reports in lists or pre-OO ALVs. If you only use EnjoyControls once in a great while or not at all, it’s too bad. The technology is good stuff, and should be kept alive and in use, even at sites (like my current customer’s) which will soon have WDA/WDJ capability. If your going to do WDA, that means you’re going to do ABAP, and if you’re going to do ABAP, there’s no reason not to use EnjoyControls when full web capabailities aren’t really required. Unless, of course, you get a kick out of keeping your customers on the “bleeding-edge” … So, if you have a moment to respond, please let us know whether you use EnjoyControls regularly, once in a while, not at all?

To report this post you need to login first.

30 Comments

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

  1. David Halitsky Post author
    post everything of mine from now on in the “Ranting” category, at least until SDN Management agrees to create another point-free category besides “Ranting”.

    As I recently said to Valery, I don’t post for points, so it won’t bother me in the slightest to place all my posts in the Ranting category.

    Hope that puts your mind at rest about my motivations.

    Regards
    djh

    (0) 
    1. David Halitsky Post author
      asking him to ask Gali to remove all points from all my posts by putting them in the ranting category.

      That should put an end to this nonsense, or at least I would hope it would.

      (0) 
        1. David Halitsky Post author
          Hi Suresh –

          Have you ever known a three-legged dog?  I knew one (appropriately named “Tripod”), who has lost a leg to a car that was bigger than him.

          Whenever Tripod met some new dogs, it always took them a moment to stop barking because a 3-legged dog was unfamiliar to them.  But he never minded, because he knew he was a dog just like them, even if they didn’t.

          The point being:

          a) real “ranters” are familiar to the SDN community;

          b) real “techies” are familiar to the SDN community;

          c) real “cheer-leaders” are familiar to the SDN community.

          But when someone is not clearly identifiable as a ranter, techie, or cheer-leader, then folks get confused about whether he’s a dog or not.

          When Mark/Mark/Marilyn/Craig decide to get together and come out with a general guideline to the effect that general commentary on SAP’s treatment of its various technologies at SDN are NOT welcome at SDN, I will immediately cease and desist making the kind of post I made here today.

          And much to every one’s probable relief, I will also stop posting at SDN entirely.

          But until then, I would like to be able to continue posting about technical matters that pertain to pre-NW2004s customers and how they can use the resources they have to prepare for WDA/WDJ without necessarily getting married just yet.

          Best regards
          djh

          (0) 
          1. Community User
            Posting guidelines are defined by the community, and it has been defined many times in the past that “this particular” style of “question” being asked is not appropriate content for a blog post as per the Community expectations.

            No one has said it’s not welcome simply that it has it’s place and in this particular case a blog post was not acceptable. We created the “ranting” topic specifically for that – however you did not chose to use it and therefore the community responded in kind with their thoughts.

            In the future if you so wish to post this kind of blog I suggest you use the appropriate labels for it.

            (0) 
            1. David Halitsky Post author
              … Rich and Alvaro represent “the community”, as opposed to Thomas and Stephen.

              Perhaps you’d care to expand on why Rich and Alvaro represent “the community” and not Thomas and Stephen. 

              Seems to me that if Thomas and Stephen found this kind of blog post “inappropriate”, then they would not have responded with relevant comments which don’t question the appropriateness of the post at all.

              Anyway, I’m starting to think that maybe your original suggestion is worth considering … a separate SDN/BPX area for posts that aren’t from “techies”, “cheer-leaders”, or “ranters”, but from observers of the SAP community who are trying to provide corporate SAP with feedback that may occasionally be worth considering, even if it appears to be coming from left-field.

              Regards
              djh

              (0) 
              1. Community User
                Please stop making this bigger than it is, I am not judging or passing judgement on the comments made by you or anyone else – however when we see the community respond be it one person or 1000 we need to take notice.

                Now as I read this I see that Rich both replied to you as well as he responded to the “type” of post you made. Again no one has said what you have to say is unwelcome ONLY that there is a proper place for it and based on community expectations this blog was not the proper “fit”. It is to that “topic”/”issue” that I decided to make clear the guidelines once again – NOT what you had to say nor what others responded to your post in itself.

                Hope that clears up the confusion and that you will respect the “expectations” of the community in the future – or help change them via the “Comments and Suggestions” forum.

                (0) 
  2. Thomas Jung
    There was a time when I used to keep the ABAP Control Programming book (the book with the crazy painting on the cover – I’m afraid I googled for a while and couldn’t find any active link to it any longer) next to my computer and hardly a day went by when I didn’t crack it open. 

    Before moving on to primarily doing BSP and then Web Dynpro ABAP I did spend plenty of time on enjoy control programming (I even went as far as creating some controls of my own and integrating them in the control framework).  As I learned more about BSP I found that I changed the way that I did control programming. I began to build a kind of MVC framework for dialog program where even the PBO/PAI was dispatched as an event to the controller class.

    So yes I have fond memories of the control framework and the lessions I learned from developing in that environment continue to pay dividends even today.

    (0) 
  3. Alvaro Tejada Galindo
    Rich, I totally agree with you…I think that this blog should at least contain some examples of Controls to add some value…If you say “This is better…you all should use it”…You need some example to back up your words -:)

    Ranting was created for a reason…But it seems that people are not aware of it’s use yet…

    Greetings,

    Blag.

    (0) 
    1. David Halitsky Post author
      Hi AT –

      I’m pretty sure you misread the post completely.

      The point was not to say that EnjoySAP controls are better or worse than WDA/WDJ – the point was to:

      a) comment on the fact that there seem to be functional consultants who are not aware of what can be done to improve user interfaces even if their clients are not at 04s or higher;

      b) there is no reason to leave older technology for newer technology when the older technology is more than adequate for the job at hand.

      There is a lot more to say about point (b) with respect to the way in which SAP treats its own technologies here at SDN, but I’ll save that for another post.

      In the meantime, please note TJ’s comment about how the use of EnjoySAP controls can prepare programmers for later work in ABAP OO and WDA/WDJ.  This is also an important point related to point (b) above.

      Regards
      djh

      (0) 
  4. Stephen Johannes
    I think the better question to ask is how many ABAP developers are out there who actually have more than two years of acutal dialog programming experience?  If I were to guess it would be about 25% of the developer pool in the United States.  This is always due to that fact RICE part of ASAP projects ends up being RICU, where U is really user-exits instead of “enhancements”.

    I personally use enjoy controls as needed.  I have run in the past when doing consulting, that sometimes it was necessary to “reduce” my coding techniques due to the skill set of code maintainer.  Until everything we have moves up to 2004s and beyond, things are going to be done the old-fashioned way.

    (0) 
    1. David Halitsky Post author
      This is exactly the kind of response I was hoping to get. 

      Not because I agree with you, but because you hint at the relevant question so well: can SAP do a better job of preparing the timid for the transition from where they are to NW2004s?

      As I’ve said to Alvaro and Suresh, I think SAP is missing the boat by not realizing how EnjoySAP controls and ABAP OO can be used to “prepare the timid” for NW2004s and all its wonders.

      And again, I think that TJ’s post is quite relevant to this point, because here you have a real expert testifying as to how EnjoySAP controls actually did help prepare him for NW2004s.

      Regards
      djh

      (0) 
  5. Kenneth Murray
    I’m wondering if the controls are documented well by SAP and easy to use?  If they are not then this may be the most likely reason for lack of adoption…
    (0) 
    1. David Halitsky Post author
      … but there is a plethora of examples for each type of control in the SE80 examples.  You can find these typically by searching for programs with wildcards like:

      SAP*TEXT*
      SAP*TREE*
      SAP*ALV*

      and

      BC*TEXT*
      BC*TREE*
      BC*ALV*

      etc.

      Once you’re familiar with the basics, you can use SE24 to see what other methods/attributes are available to you.  For example, there is no particular SE80 example that I know of for “set_node_style” in a tree-control, but it’s pretty obvious from the documentation of this method in SE24 how you use it to “color” the nodes of a tree.

      Regards
      djh

      (0) 
  6. Anton Wenzelhuemer
    …than a thousand spoken or unspoken words.

    Since this information is missing those of us who don’t know Enjoy Controls do not get a much value from this blog.

    Maybe you give us a WIKI entry on Enjoy Controls using your latest knowledge from BC4711. I’d give it a read.

    anton

    (0) 
    1. David Halitsky Post author
      The course was not BC4711 – it was BC412 and it’s been out there a long time – I took it in 2003 or 2004, I forget which. 

      That’s why I find it fascinating that you’re not aware of the whole area of EnjoySAP Controls.

      Anyway, with respect to a WIKI entry, I am a great believer in not posting “how-to’s” when SAP has taken the time, effort, and money to provide the kinds of working examples I mentioned to Ken Murray just before this.

      Bring up SE80, and go to

      Envnvironment >
      Examples >
      Control Examples >

      Then look at everything that SAP has provided.

      As Thomas Jung has mentioned, these examples are ALL great ways to get into the “mind-set” that you will eventually need for WDA.  In other words, these examples are great ways for ABAPpers to prepare for when their sites do eventually go 2004s and can support WDA/WDJ.

      And also – please note what I said to Ken – in SE80, you can find even more controls examples by searching for programs like:

      SAP*TREE*
      SAP*ALV*
      SAP*TEXT*

      or

      BC*TREE*
      BC*ALV*
      BC*TEXT*

      Regards
      djh

      (0) 
  7. Kenneth Moore
    I don’t know what the guidelines are, haven’t read them, but I see nothing wrong with this type of blog here.  Anyhow, to answer the question of the blog, I use Enjoy controls occasionally with dialog programming.  But I use the ALV functions (REUSE_ALV*, etc,) a lot, which I assume are just “wrappers” for the Enjoy controls.  So I guess I use the controls a lot indirectly.
    (0) 
    1. David Halitsky Post author
      then you’re in a good position to begin playing with some of the other “EnjoySAP” Controls, assuming you have the band-width.

      The tree control is the one I’d start with for two reasons:

      a) if you ever need to learn the WDA or WDJ tree UI elements, it will be a LOT easier;

      b) many SAP report writer/report query programs use a left-hand side tree control and a right-hand side ALV control triggered by the double-click event of the tree.  So if you learn the tree as well as the ALV, you’d be amazed at how many SAP-delivered and custom ReportWriter/Query programs you can get rid of by recoding them in what is essentially ABAP OO.

      AND, the extra added benefit of this is that you’ll understand the supply-functions you need when you rewrite this ABAP OO in WDA/WDJ – a lot of times you can do stuff quicker than Report Writer/Query cause you’re in control of your database interface.

      Regards
      djh

      (0) 
  8. Christopher Solomon
    To answer your question first, David, yes, I have used those controls, but no, not to any large extent. Why not more? Well, much of my own work all turned to the web shortly after that period of time. Any UI type of work I did then and even now, is laregly web/browser based. As to why others have not embraced/utilized it more, I can’t answer that. The whole EnjoySAP period of time was pretty interesting. In my opinion, it was driven largely by the fact the JD Edwards was often beating SAP in sales (in the US at least) laregly because exces/descision makers would see the “pretty” JD Edwards screens…although SAP of course beat the pants off JDE in functionality. Soooo SAP quickly got their old gray UI up to speed. EnjoySAP was part of that. In doing so, they also moved ABAP in the ABAP OO direction (since those controls mark the birth really of noticeable ABAP OO….geeez, I remember some long nights figuring out all the ALV nooks and crannies…haha). David, not sure if you are aware of it, but there is a great site called http://www.sapdesignguild.org which covers a lot (most?) of the SAP UI info. I LOVE The resources page…lots of fun stuff there…including a history of R/3 as told through screen shots…those R/2 shots are something!
    (0) 
    1. David Halitsky Post author
      Hi Chris

      Thanks for taking the time to reply.

      I think SAP ought to pay careful attention to your reply for two reasons.

      First, you observe (as did Thomas Jung) how EnjoyControls are the beginning of ABAP OO and therefore, that these controls can help programmers develop the mindset they need for full ABAP OO and even WDA.

      Second, you observe that you stopped doing Controls because your own work turned to the web.

      But what about all those folks out there at 4.6c or above but not NW04s?

      Based on what you and Thomas have both said, these folks would certainly benefit from trying to use Controls while their companies are starting to move toward NW04s and the future.

      And maybe SAP could do something to encourage this, even though it is contradictory to SAP’s desire to move folks along to 04S.  I mean, if some company just ain’t gonna move yet, it ain’t gonna move yet.  And what does SAP want then – for the programmers at that site to stay pre-Controls for dialog programming and pre-OO ALV for lists?

      Anyway/ thanks again for taking the time to reply.

      Regards
      djh

      (0) 
      1. Christopher Solomon
        David, I actually think it is deeper than that. It’s funny because my experience always came from the other side of the approach….I was use to OO already so seeing it from SAP past control examples was always tough. With the early days of the controls, almost any book/white paper/example I saw that spoke about ABAP OO, was pretty much all just about how to use the controls. What I longed to find…and maybe my search was not extensive enough…was something that went past controls. Everytime I would see a mention of some ABAP OO article, I would be like “great…here comes yet another example of how to use the tree control *rolls eyes*”. Yes, I agree, controls are a great way to teach people about object oriented programming and get their feet wet so to speak. But I could never find much that showed a “classic” ABAPper, how to take ABAP OO further (ie. past using controls). I think that was and still is a big struggle for some “classic” ABAP folks…how do they conceptualize and really understand OO when their world has laregly been “top down” for so long? How do they begin to rethink their ABAP approaches in an OO mindset? That, I think, has been the missing link. And much like my experience (ie. coming with OO experience), I think that is why SAP found it easier to “re-tool” Java folks to think in SAP ways than to have SAP folks think in OO ways. Make sense?

        Also, I find that a lot of UI work for SAP has moved outside the standard GUI. For example, should a custom app be needed, it is often best to write it as an interface to SAP than to write it as a custom dialog within the confines of the SAP GUI (for portability for example). For those whose daily work is within the standard GUI, a lot of clients will rather use the standard delivered dynpros in all cases where possible and try not to customize at all (using user exits and/or BADIs as needed versus total custom dynpros). For that reason and a few others, I think the “art” of writing custom SAP dynpros is largely lost let alone making them “snazzy” with newer capabilities.

        (0) 
        1. David Halitsky Post author
          In two senses:

          a) Capitalist software development appears to be nothing but a “continuous revolution”, so Mao must be laughing his butt off along with any Red Brigade members who’ve already gone to their reward;

          b) The West didn’t understand Mao’s “Cultural Revolution” – in particular, the fact that Mao realized that his original crew of revolutionaries had become corrupted and bourgeois, so he had to get rid of them and start with a whole new crop of youngsters.

          With respect to (b), you’re saying that SAP basically felt (and feels) the same way about those dang bourgeous ABAPpers who still want to be procedural and not event-driven.

          Ain’t the world a strange place?  I mean, if Sam Walton (founder of the US company Wal-mart) was working for Stalin, imagine how successful a “planned economy” would have been in the old Soviet Union …

          Thanks for your very interesting perspectives on all these matters.

          Regards
          djh

          (0) 
          1. Christopher Solomon
            I don’t think it makes a comment about how SAP feels about ABAPpers so much. I think it is just a fact that comes with the evolution of technology. During those years, a shift was happening all around. Had end-user development not moved to the web, who knows what would have happened. But it did…which made development inside SAP much less necessary. In fact, I can remember when it was looking like there was little need for ABAPpers anymore outside writing RFCs/BAPIs to allow interfaces with SAP…custom web apps would do all the work and just “talk” to SAP via RFCs/BAPIs as needed…clients were using standard dialogs/dynpros and using report tools (Report Writer, Ad Hoc Query, etc) to get what they needed….dynpros and reports? The very bread-and-butter of ABAPpers!!! I think the WAS was the saving grace of ABAP. It made ABAP skills much more important again as it allowed rapid development of web-enabled SAP apps (via BSPs). Also, once the “wild west” period of the internet settled a bit, SAP (and many other companies) chose a clear direction on Java. Furthermore, SAP then made the smart move and built a platform that opened the options up much more (past soley using ABAP). Now with the advent of ABAP Webdynpros, SAP has shown that ABAP won’t be going out to pasture any time soon. However, I still think the room for “classic” ABAPpers is descreasing more and more….but hey, there are still folks out there doing work on R/2 sites so what do I know! haha

            And David…as I am sure you know all to well (and anyone involved in IT over the past few decades), this stuff all goes in cycles anyways. The dummy terminals of old just became the web-browser thin clients of today. =)

            (0) 
            1. David Halitsky Post author
              Chris –

              First – I don’t want to leave you with the impression that I’m against WDA or WDJ, and that I’m not already preparing for the migration.  If that were the case, I wouldn’t have bothered with about twenty blog posts here on how any ABAP OO programmer can do an “experiential” self-tutorial on WDY_TEST_UI_ELEMENTS and its supporting classes.

              Second – I’m really glad that as you point out, SAP seems to be hedging its JAVA bet.  In this regard, I find it interesting that this post here:

              Until WDJ has an efficient equivalent of hashed itabs, thanks anyway – I’ll stick with WDA.

              got absolutely no responses.

              To me that means that either:

              a) WDJ is not quite ready-for-prime-time, SAP knows it, and that’s why they brought out WDJ;

              or

              b) I am entirely mistaken about the “itab” capabilities of WDJ and everyone was too polite to point out my mistake.

              Anyway, the point of this thread was to draw attention to the plight of the ABAPper who’s working at a site that is a year or more away from 04s, and what these ABAPpers can do to prepare themselves for the inevitable.

              And since that was the point of the thread, I’m really glad you decided to give us such a thorough and nuanced perspective on this problem.

              Best regards
              djh

              (0) 
                1. Kenneth Moore
                  I agree.  ABAP is not going extinct anytime soon.  COBOL should be dead for many years now, but it keeps on keeping on (though less and less).  Customer’s and SAP have too much investment in ABAP in the form of developers and code and this will be a slow migration.  And despite it’s antique and unique appearance, the ABAP development environment is very robust.  It is going, but not overnight.
                  (0) 
                  1. David Halitsky Post author
                    for misreading your first response yesterday.  I was so eager to turn pre-04S developers on to the use of controls to prepare themselves for WDA that I didn’t notice your statement that you use other controls besides the ALV.  So I was “preaching to the choir” in your case, and I apologize for it.
                    (0) 
              1. Christopher Solomon
                Just to reiterate (and make sure I don’t get too far off track of your original intent). Personally, I have used Enjoy controls…but to a limited extent. As you suggest, are these a good way for ABAPpers on pre-NW04s(and even pre-WAS) versions to get up to speed on ABAP OO? ABSOLUTELY! My only gripe is that I wish they could have help to take it even further….past controls….since not many examples, docs, articles, books, etc. seem to be out there for that purpose. Sorry if I got off into the “history of” or “why we were beyond that point now” stuff. As for WDJ and WDA…again, just more options available to us from SAP (something we didn’t have long ago in the ABAP-only times…haha) and each will inevitably have it’s advantages and disadvantages when compared against each other…or even to other options out there too….but at least we have options now! =)
                (0) 
  9. Steven De Saeger
    Dear David,

    I have used Enjoy controls as much as possible when developing new transactions in SAP systems prior to WebAS 6.X systems.

    The main reason being that they offer great functionality and that alot of standard transactions use them as well … as a technical consultant I owe it to my customers (and myself) to deliver the same functionality and quality as SAP does … simple.

    However most customers don’t even realise they exist nor do they have alot of custom build transaction that actually use them … why ?  Simply because alot of (technical) consultants don’t bother using them or even worse don’t even know they exist … 

    Java or ABAP Webdynpro, BSP pages, etc are all very nice but they don’t add any concrete value for “pre SAPWebAs” customers … unfortunately most of those customers never got the chance to “(en)joy” rich-gui custom transactions either …

    A point very well made …

    Regards,

    Steven

    (0) 
    1. David Halitsky Post author
      Steven –

      Since I took some serious flak for this blog post in this thread here:

      djh’s musings corner

      I very much appreciate the unsolicited “sanity check” you just provided. 

      Additionally, if you take a look at this thread here:

      An Apology to SDN and a Request for Advice

      you’ll see that I will be starting a “Coffee Corner” thread sometime in the next couple of weeks on what SDN can do to provide more support, encouragement, and chances for growth to developers >= 4.6c and<NW04s.  (The only reason I’m delaying a post to open this thread is in deference to Eddy, who suggested that I lower my SDN profile for a couple of weeks.)

      When I do open this thread, I hope you’ll have time to contribute, because I think you’ll have a lot to offer in terms of posts on the topic of how SDN can help developers >= 4.6c and<NW04s.

      Very best regards
      djh

      (0) 

Leave a Reply