Thursday, February 3, 2011

Implementing the BADI for the transactions VL02 & MM02

Introduction to BADI

  1. Based on OOPS concept.
  2. No access key required.
  3. All BADI’s 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.

Press F8 to get the details of the corresponding BADI.

Here we can get the attribute and interface details of the BADI. As this one is screen BADI sub-screen 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 enhancement-point then put the BADI name in option NEW BADI and if only BADI then put the name in CLASSIC BADI.

Give the BADI name and click on create button.

Press F8.

Again press F8. Give an implementation name. Let it be ZTTTTT

Give the description and select a suitable method double click to get into the method to put the ABAP code.

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

Press enter to get into the details.

BADI name after calling the main screen of MM02.

BADI_MATERIAL_OD

Press enter to proceed.


BADI used.

BADI_MATERIAL_OD

ECM_EXIT

BADI_LAYER

GOS_SRV_SELECT

BADI_MATERIAL_OD

ECM_EXIT

Change the description line and click on SAVE icon.

BADI name:

BADI_GTIN_VARIANT

BADI_MATERIAL_CHECK

EHSS_SPEC_CHECKS

Step 3:

Run the transaction SE18 to see the details of BADI.

Click on display button to see the methods declared in that.

Choose the method where the material description is defined.

Step 4:

Run the transaction SE19 and create an implementation for the corresponding BADI. Click on create button to create an implementation.

Give a name for the 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.

Code is

DATA:WA1 TYPE SHORT_DESC.

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.

No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

Blog Archive

goodsites