Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Guidance for using Z_ENQUE_SLEEP logic for my program

Former Member
0 Kudos

Hi Experts,

I have a Classic report program with a selection screen where the user enters the userid and date and based on these values, the program accesses some db tables and fetches results.

I want to refresh these results automatically without user intervention.

Can I make use of the program below for my purpose(courtesy: Rich Heilman)

REPORT ZRICH_0010

no standard page heading.

START-OF-SELECTION.

CALL FUNCTION 'Z_ENQUE_SLEEP'

STARTING NEW TASK 'WAIT'

PERFORMING WHEN_FINISHED ON END OF TASK.

Write:/ sy-datum, sy-uzeit.

END-OF-SELECTION.

AT USER-COMMAND.

SY-LSIND = SY-LSIND - 1.

CALL FUNCTION 'Z_ENQUE_SLEEP'

STARTING NEW TASK 'INFO'

PERFORMING WHEN_FINISHED ON END OF TASK.

Write:/ sy-datum, sy-uzeit.

***********************************************************************

  • WHEN_FINISHED

***********************************************************************

FORM WHEN_FINISHED USING TASKNAME.

  • Trigger an event to run the at user-command

RECEIVE RESULTS FROM FUNCTION 'Z_ENQUE_SLEEP'.

SET USER-COMMAND 'BUMM'.

ENDFORM.

*********************************************************

My program currently is like this:

  • TABLES DECLARATION

----


tables: zsel_param.

  • INTERNAL TABLE DECLARATIONS

----


data: itab_sel type zsel_param occurs 0 with header line.

data: itab_sel1 type zsel_param occurs 0 with header line.

types: begin of z_stlog,

type like rspcprocesslog-type,

state like rspcprocesslog-state,

end of z_stlog.

data: zprocesslog type z_stlog occurs 0 with header line.

----


  • PROGRAM VARIABLE DECLARATIONS

----


DATA:

v_userid LIKE sy-uname,

v_date like sy-datum.

data: l_t_msg TYPE BAL_S_MSG.

data: zchg_time like sy-uzeit,

zchg_time1 like sy-uzeit.

data: z_jbcount like tbtco-jobcount,

zlogid like rspcprocesslog-log_id.

data: zstatus like rspcprocesslog-state,

zstatus1 like rspcprocesslog-state.

----


  • SELECTION SCREEN DECLARATIONS

----


SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME.

PARAMETER: userid LIKE sy-uname obligatory,

date like sy-datum obligatory.

SELECTION-SCREEN END OF BLOCK 1.

  • AT SELECTION-SCREEN ON VALUE-REQUEST EVENT

----


START-OF-SELECTION.

v_userid = userid.

v_date = date.

PERFORM success_or_fail USING userid date.

END-OF-SELECTION.

Form Success_or_fail actually does the entire table processing and displays results.

1 ACCEPTED SOLUTION

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Yes, just put your PERFORM call where you see the WRITE statements in my program.



REPORT ZRICH_0010
no standard page heading.

START-OF-SELECTION.

CALL FUNCTION 'Z_ENQUE_SLEEP'
STARTING NEW TASK 'WAIT'
PERFORMING WHEN_FINISHED ON END OF TASK.
<b>*Write:/ sy-datum, sy-uzeit.
v_userid = userid.
v_date = date.
PERFORM success_or_fail USING userid date.</b>

END-OF-SELECTION.



AT USER-COMMAND.
SY-LSIND = SY-LSIND - 1.
CALL FUNCTION 'Z_ENQUE_SLEEP'
STARTING NEW TASK 'INFO'
PERFORMING WHEN_FINISHED ON END OF TASK.
<b>*Write:/ sy-datum, sy-uzeit.
v_userid = userid.
v_date = date.
PERFORM success_or_fail USING userid date.</b>
PERFORM 

Regards,

Rich Heilman

1 REPLY 1

RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

Yes, just put your PERFORM call where you see the WRITE statements in my program.



REPORT ZRICH_0010
no standard page heading.

START-OF-SELECTION.

CALL FUNCTION 'Z_ENQUE_SLEEP'
STARTING NEW TASK 'WAIT'
PERFORMING WHEN_FINISHED ON END OF TASK.
<b>*Write:/ sy-datum, sy-uzeit.
v_userid = userid.
v_date = date.
PERFORM success_or_fail USING userid date.</b>

END-OF-SELECTION.



AT USER-COMMAND.
SY-LSIND = SY-LSIND - 1.
CALL FUNCTION 'Z_ENQUE_SLEEP'
STARTING NEW TASK 'INFO'
PERFORMING WHEN_FINISHED ON END OF TASK.
<b>*Write:/ sy-datum, sy-uzeit.
v_userid = userid.
v_date = date.
PERFORM success_or_fail USING userid date.</b>
PERFORM 

Regards,

Rich Heilman