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.
Browse: Home > SAP badi screen enhancements implementation








0 Comments:
Post a Comment