August 2, 2015

Find User-Exits and BAdIs in ABAP. Part 1

In my beginnings with SAP I remember that I discovered these excellent features named 'user-exits' and 'BAdIs'. These concepts are very strong traits in SAP because they let you change the behaviour or the appearance of a program or transaction according to you necessity.

Most of the time when SAP is installed and implemented, usually the company customize some business areas, for example, the business requires to add an extra field to a screen, set a default value in a data, apply a new hierarchy of taxes, round a quantity and others, and all these enhancements are achieved through these 'doors', so to speak.

The user-exits and BAdIs focus on the same issue however they are implemented differently and all are set by SAP, in other words, SAP defines where this user-exits and BAdIs work in the system. The key here is to identify and apply them, so, if we want to modify the standard behaviour of some transaction, the path to follow is to find out if we can apply a user-exits or BAdIs.

A question to follow the latter is; what is the difference between those concepts if they do the same thing? Well, the answer is that BAdIs are the new way of applying user-exits and are more related to the object oriented design of the late version of SAP SAP R/3 a few years ago.

This doesn't mean that user-exits are deprecated, however in future upgrades of SAP we will see more BAdIs implemented specially on new transactions.

There are other ways to change SAP in order to make it behaves as we want, these are the 'enhancements' and 'modifications'. Enhancements are standard modifications at the top or bottom of a form where you can code and switch some values. These can be modified and deleted anytime.

The modifications consists in changing directly the standard code of SAP, but at this stage, you need to ask pemission to SAP communicating what are you going to change and then SAP will give an authorization code that will be registered in its logs, so, SAP will know that you are going to change the standard source code and also where are you making it. 

As you may imagine, these last ones should be the last resource to make because, depending on the transaction and unless you know exactly what are you doing, you are taking a big risk here. You are potentially exposing yourself to make a disaster on the implementation and if you do that, SAP will not take responsability on this issue. So, I would not recommend to follow this path to anyone unless, as I told you, you know exactly what you're doing.

For the latter maybe you could take the risk on reports which are inofenssive but you must be careful because your users could get a dump and that is not a good situation, especially if the transaction you enhanced is commonly used.

So, my best advice to you is try the standard solutions first and then, if you don't achieve what you want to do then I suggest to have a technical meeting with your coworkers and get a better approach to your requirement. 

On my experience I can tell that there is always a standard solution or at least there is SAP way  to achieve what you need to make and is very uncommon to make enhancements and yet less 'modifications', in fact, I evaluate very much the options that SAP gives me and then I proceed with it. The key here is to find the user-exit or BAdI that will tackle you necessity and how to code them.

One advantage of this is the knowledge you get. Basically you learn and get valuable experience on SAP and on the module you're working, and at the end this will benefit you a lot as an SAP professional. So, take my advice and make sure there's a standard way in SAP.

Well, this was only an introduction. On the next post I'll write more details and show how to implement user-exits and BAdIs and how to find them. So, see you on the next post.

Hope it helps.
Please Share it! :)

1 comment :

  1. This post is extremely radiant. I extremely like this post. It is outstanding amongst other posts that I’ve read in quite a while. Much obliged for this better than average post. I truly value it! sap certification institutes in hyderabad

    ReplyDelete