You are on page 1of 2

Enhancements in SAP ABAP [ Introduction ]

Enhancements are the means by which we add our own/ modify existing functionality to SAP's standard business applications. If you try to modify any SAP standard program, it will ask you for access key which you can get from SAP market place by requesting SAP. But enhancements normally dont require any special access key and can be implemented directly There are 4 ways of doing enhancements in SAP:

1. User exits: These are technically modifications. SAP provides many subroutine(s) with name USEREXIT_ * (i.e ex: FORM USEREXIT_001 ) These are saved in many includes which can be found via SE80 >> Search for Package VMOD. These are also called as Form exits. Custom coding can be done in the subroutine. But the main disadvantage of these exits are : It requires Access key and only SD module supports this kind of enhancements. 2. Customer exits: Technically enhancements. Will not affect the source code of SAP program and hence no problem during upgrade. There are 3 kinds of Customer exits a) Function exits: Provided by means of FM's(Function modules) .The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the 'Z' include that is implemented in the function module. Ex: open any Function module EXIT_* in se37 Ex: EXIT_SAPMF02K_001. but in the SAPMF02K program you will see this as CALL CUSTOMER-FUNCTION '001' It will have a Z include file , just edit the file directly . No Access key required. b) Menu Exits: Enhances the menu available in standard SAP program. Developer can add his/her own text and logic for the menu. Function codes for menu exits all start with "+". Format: +CUS (additional item in GUI status) c) Screen exits: Used to enhance the screen, add elements in screen etc Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

3. BADI's: Business Add-Ins may be simply defined as an object-oriented extension of the SAP enhancement technique. Multiple implementation for same BADI can be done as BADI supports encapsulation of

data. 4. Enhancement Frameworks: This is the new kind of enhancement technique provided by SAP. These provides some hooks or places where custom logic can be coded in the standard program.There are 2 kinds of Enhancement frameworks: a) Implicit and b) Explicit Enhancements I am giving an example of enhancement that I took part in recent future. When you are creating a PO at that time there is the option for mentioning about the Down payment, But it can be done on line item level. But the client requirement was down payment should have to be done at PO level as on whole PO amount. And also after that when create down payment at f-48 with reference of the respective PO number. there is the option for down payment at line item basis.So In this scenario we have to went for Enhancement With the ABAPers.

You might also like