Professional Documents
Culture Documents
Introduction to BADI 1. Based on OOPS concept. 2. No access key required. 3. All BADIs can be seen in a class CL_EXITHANDLER. Step 1: Run the transaction SE24. Under object type put the class name CL_EXITHANDLER. Click on display button.
Under this class CL_EXITHANDLER select the method GET_INSTANCE and double click.
Under the method GET_INSTANCE put break point on a function module called CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE
Step 2: Then according to the requirement run the transaction. In this example transaction code is VL02. Run the transaction VL02. As in 1st step we have putted a break point, that function module will give all BADI used by the transaction in each screen and activity on the application (VL02).
Under the parameter EXIT_NAME this debugger screen will give all BADI name for each screen.
Each time press F8, you will get all BADI used for the screen. After that system will go for next screen. BADI NAME: EHS_DG_001 LE_SHP_DELIVERY_PROC LE_SHP_PRICING BADI_LAYER CU_CONFIG_DELEGATION 1st screen of transaction VL02.
Step 3: Choose your BADI name and you can see the detail in transaction SE18. Lets take a BADI BADI_LAYER. Click on display button.
Here we can get the attribute and interface details of the BADI. As this one is screen BADI subscreen tab also is there.
Step 4: To implement the BADI, we have transaction SE19. To create new BADI to implement the put your BADI name here. If the BADI is an enhancementpoint then put the BADI name in option NEW BADI and if only BADI then put the name in CLASSIC BADI.
Press F8.
Give the description and select a suitable method double click to get into the method to put the ABAP code. Click here to continue...
To edit an implemented BADI the below portion is used. Click on the change button to edit the BADI.
EXAMPLE: To change the description of a material in transaction MM02. Step 1: Run the transaction SE24. Under object type put the class name CL_EXITHANDLER. Click on display button.
Under this class CL_EXITHANDLER select the method GET_INSTANCE and double click.
Under the method GET_INSTANCE put break point on a function module called CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE
Step 2: Then according to the requirement run the transaction. In this example transaction code is MM02.
Run the transaction MM02. As in 1st step we have putted a break point, that function module will give all BADI used by the transaction in each screen and activity on the application (MM02).
Press F8 to get the BADI used. BADI name before calling the main screen of MM02. BADI_SCREEN_LOGIC_RT W_RETAILSYSTEM_IDENT
Step 4: Run the transaction SE19 and create an implementation for the corresponding BADI. Click on create button to create an implementation.
Give the description. Click on save icon and double click on the method chosen.
On a double clicking system will provide you the editor to write the code.
DATA: WA TYPE SHORT_DESC. WA-MAKTX = 'HELLO'. LOOP AT STEXT INTO WA1. CONCATENATE WA1-MAKTX WA-MAKTX INTO WA1-MAKTX. MODIFY STEXT FROM WA1. ENDLOOP. Note: activate the program and the implementation.