Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
Showing results for 
Search instead for 
Did you mean: 


This document will help functional consultant to understand the difference between enhancement and modification. What kind of enhancement are available and how to search the one based on requirement.


There are many businesses requirement which are not possible in SAP standard and we need to do enhancement or modification with the help of technical team. This document will help functional consultant to understand the available type of enhancement and how can he/she search those as per business requirement.



We will cover different types of available enhancement and how to use it.



SAP object is the object that is delivered or created by SAP.  Customer object is the object that is created by a customer.

Enhancement is a way to add or change the SAP object functionality without modifying the SAP object.

Below are the types of enhancement available in SAP -

  1. Data dictionary enhancement

  2. Customer Exit

  3. BTE

  4. BADI

Data dictionary enhancement

We can enhance SAP standard table or structure by using two ways,

  1. Append structure

  2. Customising include

Append structure and customising include allow us to enhance SAP standard tables or structures by adding fields to them.

We can enhance table or structure by using customising include only if the table or a structure has customising include Statement.

Use – If there is a requirement to save some additional fields.

Customer Exit

Customer exit is one type of SAP enhancement. With customer exit we can enhance the SAP standard program without modifying SAP Object.

There are three type of customer exit -

  1. Functional Exit

  2. Menu Exit

  3. Screen Exit

We can see the list of customer exit by transaction code SMOD.

  1. Debuting the program and create a breakpoint for command call customer function.

  2. Search in program “call customer-function”.

  3. Use transaction SMOD

Use- If there is a requirement to apply some validation on field, want to substitute values during the posting or need some additional screen during any transaction etc.

Business transaction event (BTE)

BTE is a type of enhancement which is basically developed for FI module. BTE is based upon function module, but it is different from customer exit.

In customer exit only SAP and Customer is involved unlike BTE where partner is also involved other than SAP and customer. So not only customer can modify the SAP program, but other partner firm can also modify the standard logic in BTE.

There are 2 types of BTE interface

  1. Process Interface - Can influence the SAP standard object

  2. Publish and subscribe interface - Cannot influence the SAP Standard object.

Enter T-code – FIBF , you can find both type of BTE.

Use- Can be used in FI reports, payment advise, dunning, validation, and substitution.

Business Add-in (BADI)

When SAP developers were creating SAP standard program, they found that customer may need different logic in the future, So they created BADI and also an interface.

  1. BADI is based on object-oriented programming.

  2. We can see list of existing BADI by t code SE18.

  3. We can implement the BADI by t code SE19.

We can search BAdI Name is used for classical and Enhancement spot used for new.

You can check the documentation related to BAdI and used those as per your requirement.

Click on display, we can check if this BAdI is already implemented or not.

There is a tab in header “Implementation”  , click on that then display.


So this BAdI is already implemented as we can clearly see above.

Use- Can be used widely to apply additional logic in sap standard program like applying payment block based on certain business requirement as shown above.


SAP object is the object that is delivered or created by SAP. Customer object is the object that is created by a customer. Modification is a way to add or change the SAP object functionality directly modifying the SAP object. This is not recommended as it can leads to inconsistency.

Modification is not recommended until unless you have complete knowledge of flow. There is modification which is allows and it is user exit.

When we do modification, we required SAP Software change registration.

SAP recommends us to use modification assistance when modifying SAP standard program.

Use – User exit is one kind of modification which can be used to modify the SAP object with our own logic.

Confusion – So now the confusion is what should we use ? Either enhancement or modification. If enhancement then what type of enhancement. Actually this is defined by SAP itself, SAP has defined already which object can be modified.  Enhancement is pre-planned by SAP and SAP has already defined what kind of enhancement can be used or not.


Please share your valuable feedback.

Please follow my blog for FI cutover activities – 


Please follow my blog for validation and substitution – 


Please follow the below link for related topic


and read other posts on the topic –


Please follow my profile for related information. Thanks Everyone 🙂 
Labels in this area