Skip to Content

Hold on! Irrespective if you are an ABAPer (like me) or not, you didn’t read the title of this blog post wrongly. I would like to share with all of you a reflection I’m having for days and I’m sure that your opinion about it might be totally different than all the ones I’m hoping to have in the comments section.


As a ABAPer, usually when you receive a functional specification, the work done to understand the business requirement and propose a high level technical solution is already done (or should be). Who creates the specification, should have both business and technical understanding to be able to link both different worlds. But whither does technical solution should go in such cases? I’m not talking about things like “the more the better”. I’m talking about ABAP knowledge limits for the ones who are not ABAPers.


First, apart from being a connection, what is the most common case in SAP market: a functional being a functional or a technical who becomes a functional (and as a consequence have a technical background)?


I’ve heard from many ABAPers in a variety of ways that functionals should know how to perform things like: debugging, database selection, object orientation and so on. And what about functionals’ opinion? Do they think that all these things are really necessary or there is a single responsibility of ABAPers?


Do you think ABAP knowledge for a non ABAPers can be valuable to perform their jobs? Will this result in a better specification or generate any other positive result?


It’s very clear that ABAPers should have knowledge in SAP modules. It’s very rare to find a ABAP position which will just have technical prerequisites. Is the opposite true? Should it be?


In my opinion a functional should know ABAP’s power but not it’s details. If a Google Map would generate value in a program to be created, the responsible for creating the specification should know that ABAP can do that! A non ABAP should also know that a module pool with two screens can take 10x more time to be built then two reports which call each other.


But what do you think? Should a non ABAPer know how to debug for example? I prepared a short list of skills which can be in scope of non ABAPers or not. I’d like from you to give your thoughts about them.

  • Debug
  • Database Selection
  • Procedural x ABAP Objects
  • Definition of DDIC Objects Structures
  • Developments Estimatives
  • How to find enhancements
  • How to interpret ABAP Help
  • How to interpret BAPI’s behavior
  • Define specifications without an ABAPer help.


Beyond this list, what other technical skills do you think a non ABAPer should be able to do? Why? Which are just good to have? Please, don’t forget to say if you are a ABAPer or not in the comments.

Thanks for reading!

To report this post you need to login first.


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

  1. Daniel Edward Kiel
    Very nice post and question Fabio!

    I’m a HCM functional and, since I’ve started to work with HCM some years ago I felt that a technical skill would contribute to my day by day work.

    I agree that the functional consultant should have a technical skill, after all, we’re dealing with a complex solution that will require, in several situations, to go deeper and deeper to propose enhancements or even to fix issues.

    I’m not a programmer but I have a technical skill. Even being an HCM professional, I have basic knowledge on BSPs, Webdynpro, debug, Portal and so on because I think that this is very important and can improve my autonomy and productivity.

    Yes, this would be the best, to have a functional professional with technical skills. It would be good for us (functional) and also for you (developer) because we would have the same thoughts.

    I know that SAP provides a technical training for HCM that should provide technical skills for Functional consultants but I don’t think that this training is available in Brazil.


    Daniel Kiel
    IBM Brazil

    1. Fabio Pagoti Post author
      Hello Daniel! Thanks for sharing your opinion!

      Good to know that technical skills are considered as important as functionals.

      For sure, being a functional with a good technical background, specially including the ones you mentioned can improve your performance and separate you from a big number of narrow-minded professionals.

      Unfortunately, SAP training in Brazil is something almost considered crazy for me in a number of ways: price, content, availability, etc. That’s why there are a lot of other IT specialized schools here which I’m think can offer more valuable and cost saving courses.

      Thanks a lot again!

  2. Marcin Pciak
    Actually this should work in both ways and go down into details to same level. An ABAPer should understand functional connections b/w different entities but doesn’t really have to know how to set this up. The same way a functional guy should more or less read ABAP but doesn’t necessary write it.

    As for your points here are my thoughts:
    – Debug – this is a must in order to find something, so he must know basic options in debugger like setting breakpoint, checking value of data object and so one. He doesn’t have to do deep analysis and know whole range of tools delivered.

    – Database Selection – don’t have to write it, but should understand where the data is transported and what generaly query does

    – Procedural x ABAP Objects – not necessary. The details of OO ABAP can be very complex. Suffice he knows what is procedure and how to call it and what is method+attributes. No need to have broad knowledge on OO interfaces, polymorhism, patterns. This one is enough hard for not one developer;)

    – Definition of DDIC Objects Structures – definitely yes. SE11 is a tool which everyone should get familiar with. Of course simply browsing through object definition is enough, not need to know how i.e. search helps can be attached or how are structured

    – Developments Estimatives – it’s sometimes hard for developer to tell how long it’s going to take him as other technical problems may occur. So for me this should be done in coordination with someone who really can do the build

    – How to find enhancements – surely, or I would say more general how to browse for different Repository objects

    – How to interpret ABAP Help – as I said, he should rather be able to read then write himself, but for sure knowledge on how to find what certain statements does will be helpful 

    – How to interpret BAPI’s behavior – if he undrestand function modules, BAPI’s won’t be an obstacle for him

    – Define specifications without an ABAPer help – I guess this is already a funcional guy task, isn’t it 😉

    1. Fabio Pagoti Post author
      Hi Marcin! Thanks for sharing your opinion.

      Definitely I agree with you when you say that it should be bi-directional. Other day I was reading about C_TERP10_60 SAP certification and maybe the skills required for taking this exam might be a good tentative for a technician to have functional knowledge.

      Now talking about your thoughts regarding technical skills, I agree totally with almost all of them. I just disagree partially with the last item, regarding specifications without an ABAPer help.

      Both ABAPer and Functional are involved in software development process. Both of them should be involved in all of the steps which compose it. In my point of view, an ABAPer should not be involved just after the requirement is defined, as well functional shouldn’t stop participating from the moment it delivers the specification and receives the product to be tested or validated. I still see that software development with SAP have a lot to grow in terms of processes. This shouldn’t be like a production line where people just participate in well defined moments. Apart from this point, I can’t advance this discussion after your opinion. We really think the same way.

      Thanks a lot again!

  3. Natan Onoda
    With this post title, I expected to read something like “ABAP is not for those who enjoy programming”.
    As an ABAPer, I guess I didn’t have many opportunities to improve my programming skills while working on SAP projects implementation – comparing to java and other “programming cultures”. No complex algorithms, agile, open source, new technologies… no technical team. Only me and myself. But I hope the code-exchange will fill this gap.
    1. Fabio Pagoti Post author
      Hello Natan! Thanks a lot for sharing!

      I must confess that I spent a good time thinking about this weblog title. It might be not the best title to represent its content, but hopefully it’s attracting people’s attention! Now the post is highlighted in BPX home page.

      I really agree with you and I’m sure code exchange is a great start to improve these lacks. As commented in another comment reply, ABAP development seems like a production line for me yet.

      Thanks again for sharing!

  4. Michelle Crapo
    Functionals need to understand the basics in ABAP.  I also agree that ABAPers shoula have at least a basic understanding of the process, funcionality.  Know enough to be able to ask the right questions, and suggest non-abap solutions.  Sometimes the 80/20 rule applies.  I would rather not write something when there is a possible solution that does not involve programming.  Once we put a program out there, there are supoprt cost..  (Another blog perhaps)

    Debugging is a must for a functional person.  They should understand the basics so that they don’t have to stop and wait for an ABAPer to help.  I don’t know about everyone else, but at my company we are working on a lot of projects.  That means that if you need ABAP help without a clear idea of what for, you will wait.

    Database selection – No I don’t think they need to know those details.  BUT that would depend on the level of ABAPer they are working with.

    Procedural X ABAP objects – No too detailed.  Your programmers should know what they are doing.  This should be a black box.

    Definition of DDIC Object Structures – that would help.   Not a have to have.  But it would help us talk the same language.

    Enhancements, BAPI, BADI – They should know what enhancements are avaiable.  That would include what BADIs.  That way they have a good basis for a solution.  BAPI – they don’t really need to find these.  Again that could be a black box.  They want XYZ to happen, but they shouldn’t care about how.  (To an extent see comments above)

    Development estimates – NO NO NO!  No one should estimate except for the people who truely understand the effort to do the job.  That would be like saying an ABAP programmer could estimate how long configuration of a new area would take.

    Define specifications – depends on what type of specs, they should have a good start without the technical details.  Those would be added by the programmer.  Working together to get a better specification.

    I guess to me key here is without ABAPers help.  Really – it takes a team to build a good solution.  ABAPer, functionals, BPX – all need to work together to come up with the solution.  So the more the functional side knows about the technical side, is great.  The more the technical side knows about the functional side is great as well.

    Stop – take a breath!  ABAP are not JUST programmers.  So even if the functional person knows everything – they came from an ABAP background.  Remember the ABAPer will always know more about the technical side.  It’s our job.  So try to tell us how to do something and not work with us.  VERY bad idea.

    Wow – long response even for me.  Basic understanding is a good idea.  Our BPX friends – I feel they need a basic understanding of ABAP, a basic understanding of functional, in depth understnding of buisness processes.  Us ABAPers, basic understanding of the functional details, basic understanding of the business processes, strong understanding of the technical details.

    My thoughts for the day,


    1. Fabio Pagoti Post author
      Hello Michelle! Thanks a lot for sharing your thoughts.

      Wow!!! As an ABAPer, I guess I have never think about the possibility to dig out some solution which can avoid support cost with programming. I really can’t think  some good case to use as an example, can you? If yes, I really suggest you to create a post in the community! I’m totally sure it will be a success!

      I agree that debugging it’s a must for both, and I also think it’s almost an art, which best artists are developers.

      I think a functional should know more about BAPIs than ABAPers. For an ABAPer, it’s very difficult to know which information is enough for a BAPI to work and it’s not rare to fing a BAPI not so well documented. ABAPer will know how to use it, but not necessary know how it works.

      I knew development estimates would be polemic. Of course I agree that functional shouldn’t be involved in estimating, but I must confess that this often is not performed by the programmer but instead by a guy with a project management software or by a “Senior” ABAP developer which don’t write code for years. That’s one reason why Agile Methodologies are more effective: they let developers do what developers must do and know how to do.

      From specification definition until the final words – Perfect! You got my point of view.

      Thanks a lot again!

      1. Michelle Crapo
        OK – now that I read your blog on the ABAP 101 championship.  I’ve gone back thru your blogs, and I am following you!

        So – now I have another blog running thru my mind – I do have examples where an ABAPer can used predefined functionality to avoid writing a program.   I’ll put it on my list.



        1. Fabio Pagoti Post author
          I’m really glad to read that Michelle. Most of the things I share are in portuguese via However, when there’s something really cool and I’m have a extra time, I post here on SDN.

          In fact I don’t intend to write a lot of posts in the same subject, like giving examples of reused code. I wish to write apart from that my fellings about something, some projects I have among others stuff I consider interesting for the community. However, I still hope to help others in each case 🙂

          1. Michelle Crapo
            You are an amazing person.  People who speak multiple languages amaze me.  I had 3 years of Spanish in High School.  (That was a long time ago.)  I now – know nothing about Spanish – or next to nothing.

            Help!  I’m always into some help.  I don’t know it all.  I don’t think anyone does.  So different ideas / thoughts are a great thing.  You probably use the same statements in a different way.  Who’s correct?  It’s SAP we both are!

            You’ve reached one person.  And I’ll try  There are a lot of interpreter sites out there.


            1. Fabio Pagoti Post author
              Oh, very proud to hear.. I mean… read this.

              I just speak Portuguese and English.. and I’m sure it’s very difficult to learn Spanish if you’re not from Italy or any Latin America country.

              I hope I can help you as SCN helps me.


  5. Abhinava Pratap Singh
    Good blog Fabio.
    Your following statement is absolutely in sync with my opinion.
    “In my opinion a functional should know ABAP’s power but not its details.”

    I come from a product development background at SAP Labs India. While at SAP Labs, I never felt the difference between ABAPers or Functional Experts. We used to be both – the Product Expert as well as the ABAP Developer.

    Now, having seen how the SAP consulting world operates, I am of the opinion that it’s a BIG advantage for an ABAP Consultant to know the functional aspects and for a Functional Consultant to know the possibilities with ABAP and some basic debugging and code interpretation.


    1. Fabio Pagoti Post author
      Thanks Abhinava! Also thanks for sharing your experience and thoughts.

      For sure not being a narrow-minded SAP professional can bring a big advantage. Also, something a little bit funny is that even a considered good SAP professional, for example a functional with a good technical background of and ABAPer which have some functional module expertise might had never be a final user.

      Both functional and ABAPer, work for supporting a software which is very complex and which probably they have never used (as a final user)!

      So, apart from being functional or technical or process expert.. wouldn’t be good to know how is to be a final user? Maybe this can be a future post.

      Thanks a lot again!

  6. Satish Talikota
    Hi Fabio,

    The situation is this at one of the client site. The client team has the Functional folks trained in ABAP who can do all what you have listed. And the vendor team has the pure functonal at onsite and pure technical at offshore. When it comes to testing at development the ABAPer takes over and for Quality Tests the functional guy. The power of supervision lies with the client when they have these techno-functional folks form business. By the way the client team has sharp ABAP folks as well, who may not have much to do with modules processes from functional point f view.

    This brings to the question Service Partner companies offlate have their high end Functional folks take up ABAP so that they can interact on level playing field with the client business team.

    The productivity leveles are just going up.

    By the way, I am learning ABAP. I have completed ABAP Dictonary last friday, so in a months time, I am ABAP compliant. 🙂

    Thanks for the  blog. It helps me.


    Satish Talikota

  7. Luke Marson
    A great blog and I agree with the message and most of the comments. I really do think it is give and take – a technical person should have functional knowledge and vice versa.
    Hi Fabio!

    Very nice question.

    I am working as Functional FI professional and in my opnion, both have the same value, apiece with your responsability. I agree with you about “functional” should knows the programming language but not in details, but the minimun this professional must to Know. As I like the technical issue and I always think that knowledge never is too much, recently I did an ABAP Academy for understand as “SAP ERP” works in a background and it can generate better specification, to aggregate value or any other positive result in my workday, furthermore, knows superficially what the Abapers will do or can do.

    1. Michelle Crapo
      Don’t forget to take into consideration the ABAPer / developer that you have working on your project.  Some will struggle with different technologies.  Could it be done differently?  Probably.  It may be a good idea to wait and find out what they can do.   (Limited resources)


  9. Marlo Simon
    Hello Pagoti,

    Very good approach to bring the “Funtionals” guys to think about this in the SCN community.
    I do follow ABAP101 and hope that we can make our local community stronger in Brazil.

    Best Regards,
    Marlo Simon.


Leave a Reply