http://it.toolbox.com/wiki/index.php/Using_CL_GUI_TIMER_for_automated_screen_refreshing
Did you know that using global class CL_GUI_TIMER, you can write ABAP code that refreshes automatically. Below, I added an example of using this code. You can provide the time interval on the selection screen of this example.
- &---------------------------------------------------------------------*
- & Report ZZ_GUI_TIMER
- &---------------------------------------------------------------------*
- & Example using the CL_GUI_TIMER
- & Automatic refreshment of the screen dynpro
- &---------------------------------------------------------------------*
report zz_gui_timer.
- ---------------------------------------------------------------------*
- CLASS lcl_event_handler DEFINITION
- ---------------------------------------------------------------------*
class lcl_event_handler definition.
public section.
class-methods: on_finished for event finished of cl_gui_timer
importing sender.
endclass. "lcl_event_handler DEFINITION
- ---------------------------------------------------------------------*
- CLASS lcl_event_handler IMPLEMENTATION
- ---------------------------------------------------------------------*
class lcl_event_handler implementation.
method on_finished.
statics: ltp_refreshed type i.
add 1 to ltp_refreshed.
write: 'Refresh number:',
ltp_refreshed.
- Start timer again
sender->run( ).
endmethod. "on_finished
endclass. "lcl_event_handler IMPLEMENTATION data: rf_gui_timer type ref to cl_gui_timer.
parameters: pa_refrs type i default 10.
start-of-selection.
create object rf_gui_timer.
set handler lcl_event_handler=>on_finished for rf_gui_timer.
- Setting the refreshment interval.
rf_gui_timer->interval = pa_refrs.
rf_gui_timer->run( ).
- The session must remain active!
write 'Wait for a while:'