*DECK     SSCUTD
USETEXT TEXTSS
PROC SSCUTD;
# TITLE SSCUTD - UPDATE TIME OF DAY.                                   #
  
      BEGIN  # SSCUTD # 
# 
**    SSCUTD - UPDATE TIME OF DAY.
* 
*     F. HOU.                81/08/27.
* 
*     THIS PROCEDURE OBTAINS THE CURRENT TIME OF DAY FROM THE OPERATING 
*     SYSTEM AND CHECKS FOR NEXT FIRE TIME PASSED.
* 
*     PROC SSCUTD 
* 
*     ENTRY                  NONE.
* 
*     EXIT                   TIME OF DAY IS UPDATED.
* 
*     NOTES                  NONE.
* 
*     METHOD
* 
*     REQUEST TIME-OF-DAY FROM OPERATING SYSTEM.
*     IN BOTH PACKED FORMAT AND DISPLAY CODE. 
*     IF NEXT-FIRE-TIME LESS THAN OR EQUAL TO TIME-OF-DAY,
*     CALL SSSAWR TO MAKE WORKLIST ENTRY FOR SSCRTR.
*     RETURN TO CALLER. 
* 
# 
  
# 
****  PROC SSCUTD - XREF LIST.
# 
  
      XREF
        BEGIN 
        PROC PDATE;          # PACKED DATE AND CLOCK, YYMMDDHHMMSS     #
        PROC DATE;           # OBTAIN DATE, YY/MM/DD.(DISPLAY CODE)    #
        PROC CLOCK;          # OBTAIN TIME, HH.MM.SS.(DISPLAY CODE)    #
        PROC RTIME;          # GET RTIME,(SECONDS,MILLISECONDS)        #
        PROC SSSAWR;         # ACCEPT WORKLIST REQUEST                 #
        END 
  
# 
****
# 
  
      ITEM TEMP       C(10); # TEMP FOR DATE AND CLOCK                 #
      ITEM TEMPI      U;     # TEMP INTEGER FOR RTIME                  #
  
CONTROL EJECT;
  
      PDATE(TEMPI);          # PACKED DATE & CLOCK                     #
      CTM$PWD[0]=TEMPI; 
  
      DATE(TEMP);            # OBTAIN DATE (DISPLAY CODE)              #
      CTM$DATE[0]=TEMP; 
  
      CLOCK(TEMP);           # UPDATE CURRENT TIME (DISPLAY CODE)      #
      CTM$CLOCK[0]=TEMP;
  
      RTIME(TEMPI);          # UPDATE RTIME                            #
      CTM$RT[0]=TEMPI;
  
      IF (CTM$FTIME[0] LQ CTM$RTSEC[0]) 
      THEN
        BEGIN 
        SSSAWR(SSCRTRW);     # ACCEPT WORKLIST REQUEST FOR SSCRTR      #
        END 
  
      END  # SSCUTD # 
  
      TERM
