Skip to Content

Hello!

Recently I made an experiment and it failed. I have posted a weblog Program Parameters vs hardcoding where I’ve explained the idea about an OO ABAP component, and I wanted to share the component too. I provided both downloadable change-request files (I submitted content which was linked to the weblog) and manual instructions on how to create the component. I asked a question which of these you prefered, but unfortunatelly didn’t get any feedback on this dilema. I don’t know why – maybe my component wasn’t attractive enough, or folks simply didn’t feel like answering, or both options required too much time and effort.

Actually, I’d like to know which is the best way to share objects on SDN? Now, let’s see what are the options with pros and cons:

  • change-request files:
    • Pros:
      • Fast ‘n’ easy: no doubt the fastest and easiest way for a reader to have his/her copy of a big and complicated (set of) component(s) and use it in daily work
    • Cons:
      • Potential danger: You don’t have control over the change-request content and therefore can’t be sure that malicious content won’t get into your system. I have never heard of SAP virus or trojan or whatever, but how can we be absolutely sure?
      • BC skills: You need to have certain level of BC skills – should go into transport domain server’s file system and place the two change-request files into the right folders. Then you should know what to do in STMS transport transaction to import the request.
      • BC authorisations: You should be authorised to access the server file system and use SAP’s transport system (STMS)
      • BC himself: if you don’t have at least one of two above mentioned, must talk to a BC and give him the files
      • Company rules: if the security in a company is very strict, you might need to pass through bureaucratic hassle to get approval just to see some sample which in the end might not be so useful. I can’t blame anyone quitting at this point.
      • Mini: – the most secure is to have own personal SAP for playing around. Then you need nobody’s approval – you’re your own boss. But how many of us have Mini SAP (or WAS, whatever)?
  • manual instructions:
    • Pros:
      • Faster for little things: well, to be honest, if the component is small and simple, for example one executable report, it’s faster to copy-paste it than to download/upload change-request.
      • Security: You know exactly what’s getting into your system, because you’re doing it all with your hands. If you’re a registered developer, you need nobody’s approval (or do you?).
      • Learning: by doing it manually, you will probably learn more about the concepts than by uploading it in a request.
    • Cons:
      • Time and effort: if the component is big and complicated, or even if there are more such components, it requires a lot of effort and time to setup something. Maybe you simply don’t have time, maybe you don’t know if the component is really useful. All in all, bigger the effort, lower the probability that someone will actually try it.
  • Both:
    • Pros: surely this would be best, everyone could choose at their preference.
    • Cons: it requires always double effort for blogger
  • None: maybe at certain point the effort and time consumption is simply too big, and no method would have results. Maybe there’s nothing we can do to encourage people to actually try something if it’s too big (of course, it also depends on how attractive it is). It would be good to know this, because then we’ll know that only small code (and idea) snippets make sense.
  • What else?
    If you can think of more possibilities to share effectively, not only ideas, but real components on SDN, please speak.
To report this post you need to login first.

9 Comments

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

  1. Thomas Jung
    I prefer to see the both approach, but if I had to choose just one I would go with the manual instructions.  Transport requests are really nice, but we have very different landscapes.  We are all running different application (CRM, R/3, plain Netweaver) on different releases.  In order to build a transport request that will import successfully into all these different situations is very difficult.  You have to be very careful what you include in your transport.  You also have the problem of the setup of Packages (Development Classes) and the transport layers attached to them.  Foreign objects will most likely come in as not modifiable.  Then there is the whole issue of naming conventions and naming conflicts. 

    Although importing code via manual instructions is a lot more work, I like this approach.  Retyping the objects makes me think about them.  I learn from that better and I often make my own little adjustments as I bring them in. 

    (0) 
    1. Igor Barbaric Post author
      Thanks for you comment, Thomas!
      You put another serious weight to ‘con’ side of the change-request option, that I forgot to. I’ll add it to the weblog content.
      Igor
      (0) 
      1. Thomas Jung
        There might be another option here – at least for ABAP Global Classes.  Recently I have been printing my Global Classes to a PDF printer.  The output produced by the print of Global Classes is really nice and quite complete (even including an internal table of contents). 

        This isn’t a perfect solution, but it gives the complete system generated view of the object, without having to do a lot of work on the author’s part.  If you want an example of what this looks like – have a look at the following

        Example Content

        It comes in as a ZIP file.  Look in the Class Defintions Directory for the files I am refering to. 

        (0) 
        1. Igor Barbaric Post author
          Hi, Thomas!
          I believe your Example Content might be the answer, a good compromise between fully manual and fully automatic objects sharing. It lets the reader learn while implementing and leaves the full control over object names and everything (as Maximilian suggested). It also doesn’t unneccessarily occupy the weblog space, which remains free for sharing ideas. The process of creating content can be automated, so a blogger doesn’t waste much time on creating tables, text fields etc, as I did. Still, for smaller objects I believe manual instructions within the weblog would be OK, with no need for submitting content.
          Thanks!
          (0) 
          1. Peter Inotai
            Some kind of ‘Example Content’ would be useful also for Forums, when there is a post, that someone has a documentation/example whatever, and it’s followed by hundreds of “please send me” kind of replies…which I really hate, because it makes impossible to follow the original thread.
            It would be definately useful for Weblogs examples sharing.
            (0) 
    2. Peter Inotai
      I can’t agree more with Thomas, that the best is both.

      A nicely detailed description is great, when I’d like to reproduce the example manually, maybe change the names, etc, but the most important, that I can understand the details.

      However it’s really fruastrating if you cannot reproduce it, or something just doesn’t work. When you try to find out why/how, you can learn a lot. But when you get stuck is really annoying. Then it’s good that you can transport it, then compare with your code.

      It’s true that unless you’re the basis admin, you have to ask the basis team, provide business reason to transport the request. Most of the case it’s almost impossible. However in case of MiniSAP system is really useful.

      It’s also great when you make a pdf doc available with all the codes, screenshots etc…which would be too much for a weblog, but great for a downloadable doc.

      (0) 
  2. Anonymous
    I really prefer the way where I can/have to do some manual work, sometimes even re-typing every single piece of code.
    Not only do I get to read it all much more thouroughly, I also use my own names for classes and so on in the code, replacing the given ones. I think the extra-time invested is sure worth it, as you really went through it step by step and you know “your” program in the end.
    (0) 
  3. Bruce Tjosvold
    Igor,

    Like others,I would also like both options available to me.

    I sit right next to a Basis person so I was easily able to get the transport imported into our development system.  I like the fact that once the transport was imported into our development system, it worked as it was intended to.  From that point on I can dissect the different pieces to see what each one is actually doing.

    Thanks
    Bruce

    (0) 
    1. Igor Barbaric Post author
      Hi, Bruce!
      I’m really happy to see that someone actually tried it and that it was successfull. Thanks for your feedback, you made my day!
      Igor
      (0) 

Leave a Reply