Login Form

Best viewed in IE 7.0

ADVERTISEMENTS
ADVERTISEMENT

Automatic Refresh Report - periodically refreshes

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.
ADVERTISEMENT
Free software downloads