*DECK DLRT
USETEXT DLFPDEF 
USETEXT OUTCDA
PROC DLRT(CL$TIME, RT$TIME); # COMPUTE RT FOR NEXT OCCURRENCE OF CLOCK #
*IF DEF,IMS 
 #
*1DC  DLRT
* 
*     1. PROC NAME           AUTHOR              DATE 
*        DLRT                P.C.TAM             79/01/08 
* 
*     2. FUNCTIONAL DESCRIPTIONS. 
*        COMPUTE REAL TIME FOR NEXT OCCURRENCES OF GIVEN CLOCK TIME.
* 
*     3. METHOD USED. 
*        CONVERT INITIAL CLOCK TIME TO THE NUMBER OF SECONDS. 
*        CONVERT NEW CLOCK TIME TO THE NUMBER OF SECONDS
*        SUBTRACT NEW CLOCK TIME FROM INITIAL CLOCK TIME USING
*        SECONDS VALUES.
* 
*     4. INPUT PARAMETERS.
*        CL$TIME             INPUT CLOCK TIME 
*                            IN HHMMSS0 FORMAT
*        SCLHHMMSS           START TIME 
*                            IN 0HH.MM.SS. FORMAT 
* 
*     5. OUTPUT PARAMETERS. 
*        RT$TIME             CORRESPONDING DIFFERENCE IN MILLISECS
* 
*     6. COMDECKS CALLED AND SYMPL TEXTS USED.
*        DLFPDEF   OUTCDA 
* 
*     7. ROUTINES CALLED. 
*        NONE 
* 
*     8. DAYFILE MESSAGES.
*        NONE 
* 
 #
*ENDIF
# 
      EXTERNAL VARIABLES
# 
#     NONE                                                             #
# 
      INTERNAL VARIABLES
# 
      ITEM
      CL$TIME       I,       # INPUT CLOCK TIME                        #
      RT$TIME       I,       # OUTPUT CORRESPONDING DIFFERENCE         #
      HH            I,       # HOUR FIELD                              #
      HH2           I,       # HOUR FIELD                              #
      MM            I,       # MINUTE FIELD                            #
      MM2           I,       # MINUTE FIELD                            #
      SECS          I,       # CLOCK TIME CONVERTED TO SECONDS         #
      SECS2         I,       # CLOCK TIME CONVERTED TO SECONDS         #
      SS            I,       # SECONDS FIELD                           #
      SS2           I,       # SECONDS FIELD                           #
      TEMP1         I;       # TEMPORARY VARIABLE                      #
# ******************************************************************** #
      BEGIN 
      HH = (C<0,1>CL$TIME - O"33") * 10 + 
           C<1,1>CL$TIME - O"33"; 
      MM = (C<2,1>CL$TIME - O"33") * 10 + 
           C<3,1>CL$TIME - O"33"; 
      SS = (C<4,1>CL$TIME - O"33") * 10 + 
           C<5,1>CL$TIME - O"33"; 
      SECS = (HH * 60 + MM) * 60 + SS;
      HH2 = (C<1,1>SCLHHMMSS - O"33") * 10 +
            C<2,1>SCLHHMMSS - O"33";
      MM2 = (C<4,1>SCLHHMMSS - O"33") * 10 +
            C<5,1>SCLHHMMSS - O"33";
      SS2 = (C<7,1>SCLHHMMSS - O"33") * 10 +
            C<8,1>SCLHHMMSS - O"33";
      SECS2 = (HH2 * 60 + MM2) * 60 + SS2;
      TEMP1 = SECS - SECS2; 
      RT$TIME = TEMP1 * 1000; 
      RETURN; 
      END 
TERM
