*DECK SSSEWP
USETEXT TEXTSS
PROC SSSEWP(ACTIVE);
# TITLE SSSEWP - EXECUTE WORKLIST PROGRAM. #
BEGIN # SSSEWP #
#
** SSSEWP - EXECUTE WORKLIST PROGRAM.
*
* S. H. FISCHER. 81/10/19.
*
* THIS PROCEEDURE CHECKS FOR QUEUED WORKLIST REQUESTS AND IF ANY
* ARE PRESENT THE HIGHEST PRIORITY ONE IS EXECUTED.
*
* PROC SSSEWP(ACTIVE)
*
* ENTRY:
* NONE.
*
* EXIT:
* ACTIVE = TRUE IF ONE *WLE* WAS EXECUTED.
*
* METHOD:
* IF ANY WORKLIST REQUESTS ARE PRESENT, THE HIGHEST PRIORITY
* REQUEST IS DETERMINED, CLEARED AND EXECUTED. ONLY ONE REQUEST
* IS PERFORMED EACH CALL WITH THE FORMAL PARAMETER SET TRUE
* ON RETURN IF A *WLE* WAS EXECUTED.
*
#
#
**** PROC SSSEWP XREF LIST.
#
XREF
BEGIN
PROC SSSCRR; # CALL REQUESTED ROUTINES #
PROC SSBCBW; # CLEAR BIT IN WORD #
PROC SSBFPB; # FIND PRIORITY BIT #
END
#
****
#
ITEM ACTIVE B; # FORMAL PARAMETER #
ITEM I I; # SCRATCH CELL #
ACTIVE = FALSE;
IF WRQ EQ 0
THEN
RETURN;
ELSE
BEGIN
SSBFPB( WRQ, I); # FIND HIGHEST PRIORITY WORKLIST REQUEST #
SSBCBW( WRQ, I); # CLEAR THE REQUEST #
I = I - 1; # ADJUST FOR BIAS IN WRQ #
SSSCRR( WDF$RADD[I]);# EXECUTE WORKLIST REQUEST #
ACTIVE = TRUE;
RETURN;
END
END # SSSEWP #
TERM