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.

       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.