|
|
|
5 Most Popular Contributions
|
|
|
Home Sample Code ABAP Reports Automatic Refresh Report - periodically refreshes
|
|
|
|
Automatic Refresh Report - periodically refreshes |
|
|
|
|
Written by SAPDev
|
|
Monday, 25 February 2008 |
The below code demonstrates how to create a simple report which automatically updates itself every 10 seconds and displays the new results on screen. This is without any intervention from the user.
* Automatic refresh report *....................................................................... *: Report: ZAUTO_REFRESH : *: : *: Author: SAPDev.co.uk : *: : *: Description: Display a report which automatically updates itself : *: every 10 seconds : *: : *:.....................................................................: REPORT zauto_refresh . DATA: g_init_once, ok_code(20), g_ref_from_timer.
TYPES: BEGIN OF t_ekko, ebeln TYPE ekpo-ebeln, ebelp TYPE ekpo-ebelp, statu TYPE ekpo-statu, aedat TYPE ekpo-aedat, matnr TYPE ekpo-matnr, menge TYPE ekpo-menge, meins TYPE ekpo-meins, netpr TYPE ekpo-netpr, peinh TYPE ekpo-peinh, END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0, wa_ekko TYPE t_ekko.
IF g_init_once <> 'X'. g_init_once = 'X'. CALL FUNCTION 'Z_ENQUE_SLEEP' STARTING NEW TASK 'WAIT' PERFORMING when_finished ON END OF TASK.
ENDIF.
WRITE:/ 'wait for 10 sec....'.
AT USER-COMMAND. CASE ok_code. WHEN 'FCT_R'. SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh UP TO 10 ROWS FROM ekpo INTO TABLE it_ekko. WRITE:/ sy-uzeit. "Time LOOP AT it_ekko INTO wa_ekko. WRITE:/ wa_ekko-ebeln, wa_ekko-ebelp. ENDLOOP. sy-lsind = 0. IF g_ref_from_timer = 'X'.
CALL FUNCTION 'Z_ENQUE_SLEEP' STARTING NEW TASK 'INFO' PERFORMING when_finished ON END OF TASK.
g_ref_from_timer = ''. ENDIF. ENDCASE.
*---------------------------------------------------------------------* * FORM WHEN_FINISHED * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> TASKNAME * *---------------------------------------------------------------------* FORM when_finished USING taskname. RECEIVE RESULTS FROM FUNCTION 'Z_ENQUE_SLEEP'.
g_ref_from_timer = 'X'.
* Trigger an event to run the at user-command SET USER-COMMAND 'FCT_R'. ok_code = 'FCT_R'. sy-ucomm = 'FCT_R'.
ENDFORM. " WHEN_FINISHED
| *Signiture for creating Function module used above FUNCTION Z_ENQUE_SLEEP. *"---------------------------------------------------------------------- *"*"Local interface: *"---------------------------------------------------------------------- wait up to 10 seconds.
ENDFUNCTION.
|
Related Items:
|
|