Не знаю пригодится ли это в реальной жизни, но идея довольна забавная. Допустим необходимо запустить отчёт на выполнение через определённый промежуток времени, сделать это можно при помощи класса CL_GUI_TIMER.
Собственно программа довольно простая, дополнительного описания не требует:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
REPORT ZTEST. CLASS lcl_handler DEFINITION. PUBLIC SECTION. METHODS: when_done FOR EVENT finished OF cl_gui_timer. ENDCLASS. "lcl_event_handler DEFINITION CLASS lcl_handler IMPLEMENTATION. METHOD when_done. cl_gui_cfw=>set_new_ok_code( new_code = 'ONLI' ). "ONLI = Execute ENDMETHOD. "explode ENDCLASS. "lcl_event_handler IMPLEMENTATION PARAMETERS: pa_carr TYPE s_carrid DEFAULT 'AA'. DATA: timer TYPE REF TO cl_gui_timer. DATA: href TYPE REF TO lcl_handler. AT SELECTION-SCREEN OUTPUT. * Создадим экземпляры классов CREATE OBJECT: timer, href. * Зарегистрируем обработчик события таймера SET HANDLER href->when_done FOR timer. * Установим интервал срабатывания таймера timer->interval = 10. * Запустим таймер timer->run( ). START-OF-SELECTION. * После запуска программы отключим таймер timer->cancel( ). WRITE 'Программа запущена'. |