CLASS lcl_rental DEFINITION. PUBLIC SECTION. METHODS: on_vehicle_created FOR EVENT vehicle_created OF lcl_vehicle IMPORTING !iv_make !sender. " 预定义参数 SENDER ENDCLASS.
CLASS lcl_rental IMPLEMENTATION. METHOD on_vehicle_created. " sender 指向触发事件的对象 " iv_make 包含事件传递的数据 APPEND sender TO mt_vehicles. ENDMETHOD. ENDCLASS.
处理器规则:
FOR EVENT evt OF class — 指定事件和定义事件的类
处理器参数 = 事件的 EXPORTING 参数 (用 IMPORTING 接收)
SENDER 是预定义隐式参数,类型为 REF TO 触发事件的类
处理器也可以被显式调用 (CALL METHOD handler)
注册事件处理
1 2 3 4 5 6 7 8 9 10 11 12
" 注册特定实例的事件 SET HANDLER lo_rental->on_vehicle_created FOR lo_vehicle.
" 注册所有实例的事件 SET HANDLER lo_rental->on_vehicle_created FOR ALL INSTANCES.
" 取消注册 SET HANDLER lo_rental->on_vehicle_created FOR lo_vehicle ACTIVATION space.