Tuesday, November 4, 2008

SAP badi screen enhancements implementation


Here is the way of implementing SCREEN ENHANCEMENTS using BADI.

The user of the screen enhancement should perform the following steps:

1. Create a screen of the Subscreen type. Arrange the required fields on the screen.

2. Write the program for the screen by creating either a module pool or a function group. The program could have the following contents,

for example:

Top Include:

DATA: exit TYPE REF TO if_ex_badi_screen,

flight TYPE sflight.

TABLES sflview.

PBO:

MODULE status_0100 OUTPUT.

IF exit IS INITIAL.

CALL METHOD cl_exithandler=>get_instance_for_subscreens

CHANGING

instance = exit

EXCEPTIONS

OTHERS = 6.

...

ENDIF.

CALL METHOD exit->get_data_from_screen

IMPORTING

flight = flight

EXCEPTIONS

reserved = 1

OTHERS = 2.

...

SELECT SINGLE * FROM sflview

WHERE carrid = flight-carrid AND

connid = flight-connid AND

fldate = flight-fldate.

..

ENDMODULE.

PAI:

If data has been changed, the method PUT_DATA_TO_SCREEN is called at PAI.

MODULE user_command_0100 INPUT.

CALL METHOD exit->put_data_to_screen

EXPORTING

flight = flight

EXCEPTIONS

reserved = 1

OTHERS = 2.

IF sy-subrc <> 0.
...
ENDMODULE.

3. Choose the Subscreens tab. Enter the name of the called program and of the subscreen.

4. Choose the Interfaces tab.

Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit

0 Comments:

Post a Comment

 

GOOGLE SAP Copyright © 2009 LKart Theme is Designed by Lasantha