ABAP Keyword Documentation →  ABAP − Reference →  Declarations →  Declaration Statements →  Classes and Interfaces →  Components in Classes and Interfaces →  Methods →  METHODS → 

METHODS - FOR EVENT

Short Reference

Syntax

METHODS meth [ABSTRACT|FINAL]
   FOR EVENT evt OF {class|intf}
     [IMPORTING p1 p2 ... [sender]].

Extras:

1. ... IMPORTING p1 p2 ... [sender]

2. ... ABSTRACT

3. ... FINAL

Effect

This statement declares the instance method meth as an event handler for the event evt of class class or interface intf. For class and intf, you can specify all classes and interfaces which are visible in this position and which contain an event evt as a component that is visible here.

The visibility section of the event handler cannot be more general than the visibility section of the event. Otherwise properties of the method would be defined in a visibility section more restricted than the method itself.

If the event evt is an instance event, the event handler meth can handle it for all objects whose classes match class or that are subclasses of class or which implement the interface intf directly or by using a superclass. If the event is a static event, the event handler meth can handle it for the class class and its subclasses or for all classes that implement the interface intf.

Notes

Addition 1

... IMPORTING p1 p2 ... [sender]

Effect

The addition IMPORTING defines the input parameters of the event handler. For p, you can specify only those names of formal parameters that are defined as output parameters of the event by using the addition EXPORTING of the statement EVENTS or CLASS-EVENTS. This is done in the declaration of the event evt in the class class or in the interface intf. The additions TYPE or LIKE and OPTIONAL or DEFAULT are not possible. The typing of the input parameters, whether they are optional, and any replacement parameters are all defined in the declaration of the event. Not all output parameters of the event need to be specified.

If evt is an instance event, a formal parameter called sender can be defined as an input parameter of an event handler, in addition to the explicitly defined output parameters of the event. The formal parameter sender is an implicit output parameter of every instance event. It is fully typed as a reference variable, which itself has the class class or the interface intf as a static type, as specified in the declaration of the event handler after EVENT evt OF. If the event handler is called by an instance event, a reference to the triggering object is passed to it in sender.

Note

Each event handler determines the type of its formal parameter sender.

Example

The class picture contains an event handler handle_double_click for the instance event picture_dblclick of the global class cl_gui_picture. The event handler inherits two explicit output parameters of the event and the implicit parameter sender as input parameters.

CLASS picture DEFINITION.
  PUBLIC SECTION.
    METHODS handle_double_click
            FOR EVENT picture_dblclick OF cl_gui_picture
            IMPORTING mouse_pos_x mouse_pos_y sender.
ENDCLASS.

CLASS picture IMPLEMENTATION.
  METHOD handle_double_click.
    ...
  ENDMETHOD.
ENDCLASS.

Addition 2

... ABSTRACT

Addition 3

... FINAL

Effect

Using the additions ABSTRACT and FINAL, event handlers can either be made abstract or final just like general methods.