badi screen enhancements implementation

The present post is in continuation with BADI SCREEN ENHANCEMENTS DEFINITION. Going through that post will give you more convenience and comfort in following this topic.

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 Sub screen 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.

If required, add any lines necessary to the sample code.


You can go through entire BADI COURSE HERE.

Authorization and implementation of SAP

No comments :

Post a Comment