Implementing Screen Enhancements

For general information on how to implement Business Add-Ins, refer to the section Implementing Business Add-Ins.

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:

    Topinclude:

DATA: exit TYPE REF TO if_ex_badi_screen,      flight TYPE sflight.TABLES sflview.

At PBO time:

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.

At PAI time:

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.

  1. Choose the Subscreens tab. Enter the name of the called program and of the subscreen.
  2. Choose the Interfaces tab.

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