Sunday, 2 August 2015

BADI (Business ADD-INS)


DEFINITION : BADIs are used to adding some additional functionality to the standard functionality 
                          without disturbing the standard functionality.

BADIs are introduced from 4.6C version on wards.

BADI contains 2 sections.
  1.  BADI Definition
  2.  BADI Implementation.

BADI Definition (se18): -

Each BADI definition contains one adapter class and interface. 
Adapter class taking care the version change management i.e when ever  the version is change if any changes required in the BADI those are taken care by adapter class.
Interface is the collection of methods which are defined but not implemented. Those are implemented through BADI implementation based on client requirement.

The TRANSACTION CODE FOR BADI Definition is SE18.

BADI Implementation(Se19): -
           BADI Implementation is nothing but implementing the methods which are defined in BADI definition. 

The TRANSACTION CODE FOR BADI Implementation is SE19.


Differences between Customer exit (Enhancement) and BADI.





Why we go for BADI's ? or What scenario we implement the BADI's ?

Ans :  BADI's are generally used to prevent the mistakes done by end user's or make 
things more easier to the end user.
      we will discuss some of the scenario's where we will use BADI's.



Some of the scenario: -
Scenario 1: -
In the real time MDM (Master Data Management) people create the Vendor and customer through
 ‘XK01’ & ‘XD01’ Tcode.  When ever they create vendor or customer they maintain these details
 in a excel sheet so that at the end of the month they take a printout put a sign and their respective 
superior's  also put a sign.This information is required to audit the companies. 

It is big problem to maintain these vendor details in a separate excel sheet so in order to over come 
    this  problem we we implement a BADI to maintain the key information in a excel sheet at the 
time of create & save the vendor & customer.
              

Scenario 2: -

At the time of creating the vendor and customer some times Material Data management
 (END USERS) people provide the incorrect recon account and cash management group. 
To avoid this we implement the BADI to preset the recon account and cash management 

group based on given company code.

 if you see the above image we create one (custom)z_table for company and respected recon account
   and we fill all the company and their recon account details into that Z_TABLE. so that we will 
assign these table to recon  account field. if end user or material data management people enter
incorrect Recon account it through an error and provide the recon account it is already entered in
our Z_TABLE. 

Scenario 3: -

At the time of creating the vendor or customer some times MDM people or end users provide the invalid terms of payment,to avoid this we implement the BADI to preset the terms of payment based on the purchase organisation or sales organisation.

In this BADI implementation first we need to identify the standard BADI and we implement a code
 in that we write our logic. So if the terms of payment they enter wrong it through an error and it                       automatically reset the Terms and Conditions for that vendor or customer.  

No comments:

Post a Comment