RAISE EVENT evt [EXPORTING p1 = a1 p2 = a2 ...].
You can only use this statement in methods. It triggers the event
evt is the name to be specified directly for an event that must be declared with the statement
CLASS-EVENTS directly in the same class, in a superclass, or in an implemented interface.
After the event is triggered, all
event handlers that were registered for this event with the statement
SET HANDLER are executed. The execution order is undefined and can change
while the program is being executed. After the event handlers have been executed, the system continues with the method after
... EXPORTING p1 = a1 p2 = a2 ...
If the addition
EXPORTING is used, actual parameters a1
a2 ... can be assigned to all optional formal parameters
of the event
evt and must be assigned to all non-optional formal parameters.
The values of the actual parameters are passed to the event handlers; the formal parameters are listed
after the addition
IMPORTING to the statements
EVENTS. As actual parameters you can specify data objects, but not any
calculation expressions as yet.
To avoid endless recursion, a maximum of 1023 further events can be triggered with
RAISE EVENTduring event handling.
If the formal parameter
senderis defined for an event handler, this is automatically supplied with the reference to the triggering object when instance events are triggered. It cannot be explicity specified after
If there is an exception in an event handler, event handling is canceled. For a class-based exception, the control is then returned to the trigger. See
Class-Based Exceptions in Event Handlers.
Triggering an instance event
e1. An actual parameter must be assigned to the non-optional formal parameter
CLASS c1 DEFINITION. PUBLIC SECTION. EVENTS e1 EXPORTING value(p1) TYPE string value(p2) TYPE i OPTIONAL. METHODS m1. ENDCLASS. ... CLASS c1 IMPLEMENTATION. METHOD m1. ... RAISE EVENT e1 EXPORTING p1 = '...'. ... ENDMETHOD. ENDCLASS.
RAISE EVENTstatements nested too deeply.