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
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