- BADI Definition or Implementation
- BADI's Type
- BADI's Scenario
- Identify Standard BADI's
- Steps to implement BADI
- Identify the all implementations of BADI
- User Exits and types of User Exits
- Steps to Implement User Exits
- Best Practices of Using User Exits
- User Exits vs BADI's and when to use which?
- Real-world Example of user exits in SAP SD/MM/PP
- Enhancing Standard SAP Functionality with user exits
- Customer Exits and its types
- Identifying Customer exits
- Implementing Customer Exits
- Best practices for using customer exits
- Practical Example
- Troubleshooting common issues
- Comparing Customer exits with other Enhancement Techniques
- Real-Time Case Studies
- Enhancement Framework and its Types
- Enhancement Apportunities
- Implement Explicit Enhancements
- Working with Implicit Enhancements
- Understanding and Implementing BADIs in ABAP
- Enhancement spot and Enhancement implementation
- Tools of Enhancement Framework and Transactions
- Advance topics in the Enhancement framework
- Case Studies and real-life examples
- Introduction Enhancement Spot and Types
- Ways to Finding Enhancement Spots
- Creating an Explicit Enhancement Spot
- Implementing Enhancements using Enhancement Spot
- Managing enhancement implementations
- Advance topics in Enhancement Spots
- Best Practices for using Enhancement Spot
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:
- Implemented using SE18 for definition and SE19 for implementation.
- Rely on an interface that defines the methods which the developer can implement.
- 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:
- Defined and implemented via the Enhancement Framework.
- Support multiple active implementations, each of which can be filtered based on specific conditions (such as company codes, user roles, etc.).
- 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:
- You can create multiple implementations for the same BADI.
- Each implementation is triggered based on the filter values (such as company code, country, or region).
- 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:
- Multiple implementations are executed in the order of priority.
- No filter condition is required for execution.
- 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:
- Only one implementation is allowed to be active at a given time.
- 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:
- Implemented using SE18 for definition and SE19 for implementation.
- Rely on an interface that defines the methods which the developer can implement.
- 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:
- Defined and implemented via the Enhancement Framework.
- Support multiple active implementations, each of which can be filtered based on specific conditions (such as company codes, user roles, etc.).
- 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:
- You can create multiple implementations for the same BADI.
- Each implementation is triggered based on the filter values (such as company code, country, or region).
- 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:
- Multiple implementations are executed in the order of priority.
- No filter condition is required for execution.
- 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:
- Only one implementation is allowed to be active at a given time.
- 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