6 Columns with Active Background
6 Columns with Active Background
Active List Item Background

24ENHANCEMENT1809 – Types of BADI’s and Definitions

Types of BADIs:

Classical BADIs

  • Definition: Classical BADIs are the original type of BADIs introduced with SAP R/3 4.6. They are based on ABAP object-oriented concepts and offer a way to enhance standard SAP applications without directly modifying the code.
 
  • Advantages:
  1. Implemented using SE18 for definition and SE19 for implementation.
  2. Rely on an interface that defines the methods which the developer can implement.
  3. Only one implementation of a Classical BADI can be active at a time.
 
  • Use: When only a single implementation is required for a specific enhancement, Classical BADIs are a good choice. They are also useful in older SAP systems where newer types of BADIs may not be available.
 

New BADIs (Kernel BADIs)

  • Definition: New BADIs, also called Kernel BADIs, were introduced with the SAP NetWeaver release. These BADIs offer improved performance and more flexibility compared to Classical BADIs, particularly in terms of handling multiple implementations.
 
  • Advantages:
  1. Defined and implemented via the Enhancement Framework.
  2. Support multiple active implementations, each of which can be filtered based on specific conditions (such as company codes, user roles, etc.).
  3. Provide better performance as they are optimized at the kernel level.
 
  • Use: When multiple implementations are required for different scenarios, such as having distinct behavior for different company codes, New BADIs are ideal. They also help when performance is a priority in large-scale applications.
 

Filter-Dependent BADIs

  • Definition: Filter-dependent BADIs allow multiple implementations based on a filter value, meaning the system can choose a specific implementation depending on the value of a filter field.
 
  • Advantages:
  1. You can create multiple implementations for the same BADI.
  2. Each implementation is triggered based on the filter values (such as company code, country, or region).
  3. Ideal for situations where different regions or departments need different logic.
 
  • Use : Suppose you have a business process that behaves differently for various company codes or regions. In such cases, a filter-dependent BADI can execute region-specific logic without duplicating the entire process.
 

Multiple-Use BADIs

  • Definition: Multiple-use BADIs allow you to create several active implementations of the same BADI without any filter conditions. All active implementations are executed in a sequence, and you can control the order of execution if required.
 
  • Advantages:
  1. Multiple implementations are executed in the order of priority.
  2. No filter condition is required for execution.
  3. Commonly used when you want to extend functionality at different stages of a process without disrupting existing logic.
 
  • Use: When you need multiple custom enhancements for the same functionality (e.g., adding extra checks and validations), multiple-use BADIs are perfect because each enhancement can be implemented independently.
 

Single-Use BADIs

  • Definition: Single-use BADIs only allow one active implementation at a time. Unlike multiple-use BADIs, there is no option to implement multiple custom enhancements simultaneously for the same BADI.
 
  • Advantages:
  1. Only one implementation is allowed to be active at a given time.
  2. Simple and easy to manage.
 
  • Use: When a single enhancement is needed, and you don’t foresee the need for multiple implementations, single-use BADIs are suitable.
 

Comparison of BADI Types

BADI Type

Supports Multiple Implementations

Filter-Dependent

Performance

Best Used For

Classical BADI

No

No

Moderate

Single implementation enhancements

New (Kernel) BADI

Yes

Yes

High

Large applications with multiple behaviors

Filter-Dependent BADI

Yes

Yes

High

Region- or company-specific logic

Multiple-Use BADI

Yes

No

High

Enhancements requiring multiple steps

Single-Use BADI

No

No

Moderate

Simple, single custom enhancements

This blog structure explains the various types of BADIs while highlighting how they fit into SAP’s extensibility framework.

Author : Aniket Pawar, 9373518385  

24ENHANCEMENT1809 – Types of BADIs and Definitions

Types of BADIs:

Classical BADIs

  • Definition: Classical BADIs are the original type of BADIs introduced with SAP R/3 4.6. They are based on ABAP object-oriented concepts and offer a way to enhance standard SAP applications without directly modifying the code.
 
  • Advantages:
  1. Implemented using SE18 for definition and SE19 for implementation.
  2. Rely on an interface that defines the methods which the developer can implement.
  3. Only one implementation of a Classical BADI can be active at a time.
 
  • Use: When only a single implementation is required for a specific enhancement, Classical BADIs are a good choice. They are also useful in older SAP systems where newer types of BADIs may not be available.
 

New BADIs (Kernel BADIs)

  • Definition: New BADIs, also called Kernel BADIs, were introduced with the SAP NetWeaver release. These BADIs offer improved performance and more flexibility compared to Classical BADIs, particularly in terms of handling multiple implementations.
 
  • Advantages:
  1. Defined and implemented via the Enhancement Framework.
  2. Support multiple active implementations, each of which can be filtered based on specific conditions (such as company codes, user roles, etc.).
  3. Provide better performance as they are optimized at the kernel level.
 
  • Use: When multiple implementations are required for different scenarios, such as having distinct behavior for different company codes, New BADIs are ideal. They also help when performance is a priority in large-scale applications.
 

Filter-Dependent BADIs

  • Definition: Filter-dependent BADIs allow multiple implementations based on a filter value, meaning the system can choose a specific implementation depending on the value of a filter field.
 
  • Advantages:
  1. You can create multiple implementations for the same BADI.
  2. Each implementation is triggered based on the filter values (such as company code, country, or region).
  3. Ideal for situations where different regions or departments need different logic.
 
  • Use : Suppose you have a business process that behaves differently for various company codes or regions. In such cases, a filter-dependent BADI can execute region-specific logic without duplicating the entire process.
 

Multiple-Use BADIs

  • Definition: Multiple-use BADIs allow you to create several active implementations of the same BADI without any filter conditions. All active implementations are executed in a sequence, and you can control the order of execution if required.
 
  • Advantages:
  1. Multiple implementations are executed in the order of priority.
  2. No filter condition is required for execution.
  3. Commonly used when you want to extend functionality at different stages of a process without disrupting existing logic.
 
  • Use: When you need multiple custom enhancements for the same functionality (e.g., adding extra checks and validations), multiple-use BADIs are perfect because each enhancement can be implemented independently.
 

Single-Use BADIs

  • Definition: Single-use BADIs only allow one active implementation at a time. Unlike multiple-use BADIs, there is no option to implement multiple custom enhancements simultaneously for the same BADI.
 
  • Advantages:
  1. Only one implementation is allowed to be active at a given time.
  2. Simple and easy to manage.
 
  • Use: When a single enhancement is needed, and you don’t foresee the need for multiple implementations, single-use BADIs are suitable.

This blog structure explains the various types of BADIs while highlighting how they fit into SAP’s extensibility framework.

Author : Aniket Pawar, 9373518385