- 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
24ENHANCEMENT1909 – Some of the BADI Scenario
Custom Field Validation for Vendor Creation (Transaction XK01)
- Scenario: A company needs to ensure that specific fields, such as tax information or vendor classification, meet certain criteria during vendor creation.
- BADI Example:
- VENDOR_ADD_DATA
- Usage: You can use this BADI to add custom validation logic for vendor fields, such as checking if the vendor is assigned to a specific company code or ensuring the tax ID follows a required format.
Custom Pricing Logic in Sales Orders (Transaction VA01)
- Scenario: The standard pricing procedure in sales order creation needs to be adjusted to apply custom discounts for special customers or products.
- BADI Example:
- PRICING_ADD_IN
- Usage: This BADI allows you to introduce custom pricing logic by altering conditions, such as applying special discounts based on customer groups, regions, or order values.
Purchase Order Approval Workflow (Transaction ME21N)
- Scenario: A business wants to introduce an additional approval workflow for purchase orders exceeding a certain monetary threshold.
- BADI Example:
- ME_PROCESS_PO_CUST
- Usage: Implement this BADI to trigger approval workflows based on purchase order amounts, vendor types, or item categories, sending notifications to appropriate approvers.
Enhancement for Goods Receipt (Transaction MIGO)
- Scenario: Before posting a goods receipt, the system should validate whether the goods received are within the allowed tolerance limits for weight or quantity.
- BADI Example:
- MB_MIGO_BADI
- Usage: You can use this BADI to perform custom checks when recording a goods receipt, such as validating quantities, triggering alerts for discrepancies, or modifying receipt postings based on specific business rules.
Custom Logic for Invoice Verification (Transaction MIRO)
- Scenario: In invoice verification, the system needs to apply custom tax calculations or adjust payment terms based on specific vendor agreements.
- BADI Example:
- BADI_FDCB_SUBBAS04
- Usage: This BADI allows you to implement custom logic for invoice verification, such as adjusting payment terms, applying special tax rules, or validating invoice line items before posting.
Custom Material Master Data Validation (Transaction MM01/MM02)
- Scenario: During the creation or modification of material master data, certain fields (e.g., weight, classification) must be validated to ensure that they conform to specific business rules.
- BADI Example:
- BADI_MATERIAL
- Usage: Use this BADI to implement custom validation for material master data, ensuring that fields are correctly filled or preventing the creation of duplicate materials.
Sales Order Credit Check (Transaction VA01/VA02)
- Scenario: The company needs to perform a credit limit check for customers based on their order value and outstanding payments before allowing a sales order to be processed.
- BADI Example:
- SD_CIN_LV60AU02
- Usage: This BADI can be used to implement custom credit checks during sales order creation or modification, blocking the order if the customer exceeds their credit limit or sending notifications for credit approval.
Custom Workflow for Service Orders (Transaction IW31/IW32)
- Scenario: For service orders, the business requires specific equipment assignment rules or mandatory checks before the service order is processed.
- BADI Example:
- BADI_EAM_SINGLELEVEL
- Usage: This BADI allows for the enhancement of service order processing by enforcing specific equipment assignments, mandatory fields, or additional workflows before finalizing the service order.
Data Validation for Asset Management (Transaction AS01/AS02)
- Scenario: During asset creation or change, certain fields like asset location or useful life need to be validated to ensure compliance with internal guidelines.
- BADI Example:
- BADI_FIAA_DOCLINES
- Usage: Use this BADI to enhance the validation of asset master data fields, such as ensuring asset categorization is correct or preventing the saving of incomplete data.
Custom Delivery Processing (Transaction VL01N)
- Scenario: The company needs to adjust delivery processing by applying region-specific freight charges or shipment conditions based on the product type.
- BADI Example:
- LE_SHP_DELIVERY_PROC
- Usage: This BADI allows for custom modifications during delivery creation, such as applying region-specific logic or performing additional checks before confirming the delivery.
These scenarios show the flexibility of BADIs in adapting SAP’s standard processes to meet business-specific requirements, ensuring custom enhancements are incorporated while maintaining system stability and upgrade compatibility.
Author : Aniket Pawar, 9373518385
24ENHANCEMENT1909 – Some of the BADI Scenario
Some of the BADI Scenario:
Custom Field Validation for Vendor Creation (Transaction XK01)
- Scenario: A company needs to ensure that specific fields, such as tax information or vendor classification, meet certain criteria during vendor creation.
- BADI Example:
- VENDOR_ADD_DATA
- Usage: You can use this BADI to add custom validation logic for vendor fields, such as checking if the vendor is assigned to a specific company code or ensuring the tax ID follows a required format.
Custom Pricing Logic in Sales Orders (Transaction VA01)
- Scenario: The standard pricing procedure in sales order creation needs to be adjusted to apply custom discounts for special customers or products.
- BADI Example:
- PRICING_ADD_IN
- Usage: This BADI allows you to introduce custom pricing logic by altering conditions, such as applying special discounts based on customer groups, regions, or order values.
Purchase Order Approval Workflow (Transaction ME21N)
- Scenario: A business wants to introduce an additional approval workflow for purchase orders exceeding a certain monetary threshold.
- BADI Example:
- ME_PROCESS_PO_CUST
- Usage: Implement this BADI to trigger approval workflows based on purchase order amounts, vendor types, or item categories, sending notifications to appropriate approvers.
Enhancement for Goods Receipt (Transaction MIGO)
- Scenario: Before posting a goods receipt, the system should validate whether the goods received are within the allowed tolerance limits for weight or quantity.
- BADI Example:
- MB_MIGO_BADI
- Usage: You can use this BADI to perform custom checks when recording a goods receipt, such as validating quantities, triggering alerts for discrepancies, or modifying receipt postings based on specific business rules.
Custom Logic for Invoice Verification (Transaction MIRO)
- Scenario: In invoice verification, the system needs to apply custom tax calculations or adjust payment terms based on specific vendor agreements.
- BADI Example:
- BADI_FDCB_SUBBAS04
- Usage: This BADI allows you to implement custom logic for invoice verification, such as adjusting payment terms, applying special tax rules, or validating invoice line items before posting.
Custom Material Master Data Validation (Transaction MM01/MM02)
- Scenario: During the creation or modification of material master data, certain fields (e.g., weight, classification) must be validated to ensure that they conform to specific business rules.
- BADI Example:
- BADI_MATERIAL
- Usage: Use this BADI to implement custom validation for material master data, ensuring that fields are correctly filled or preventing the creation of duplicate materials.
Sales Order Credit Check (Transaction VA01/VA02)
- Scenario: The company needs to perform a credit limit check for customers based on their order value and outstanding payments before allowing a sales order to be processed.
- BADI Example:
- SD_CIN_LV60AU02
- Usage: This BADI can be used to implement custom credit checks during sales order creation or modification, blocking the order if the customer exceeds their credit limit or sending notifications for credit approval.
Custom Workflow for Service Orders (Transaction IW31/IW32)
- Scenario: For service orders, the business requires specific equipment assignment rules or mandatory checks before the service order is processed.
- BADI Example:
- BADI_EAM_SINGLELEVEL
- Usage: This BADI allows for the enhancement of service order processing by enforcing specific equipment assignments, mandatory fields, or additional workflows before finalizing the service order.
Data Validation for Asset Management (Transaction AS01/AS02)
- Scenario: During asset creation or change, certain fields like asset location or useful life need to be validated to ensure compliance with internal guidelines.
- BADI Example:
- BADI_FIAA_DOCLINES
- Usage: Use this BADI to enhance the validation of asset master data fields, such as ensuring asset categorization is correct or preventing the saving of incomplete data.
Custom Delivery Processing (Transaction VL01N)
- Scenario: The company needs to adjust delivery processing by applying region-specific freight charges or shipment conditions based on the product type.
- BADI Example:
- LE_SHP_DELIVERY_PROC
- Usage: This BADI allows for custom modifications during delivery creation, such as applying region-specific logic or performing additional checks before confirming the delivery.
These scenarios show the flexibility of BADIs in adapting SAP’s standard processes to meet business-specific requirements, ensuring custom enhancements are incorporated while maintaining system stability and upgrade compatibility.
Author : Aniket Pawar, 9373518385