*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
