home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / 3x400 / datespan.lzh / DATESPN1.CLP < prev   
Text File  |  1987-07-17  |  4KB  |  54 lines

  1. /*---------------------------------------------------------------------       */
  2. /*  NAME ................... DATESPAN1                                        */
  3. /*  FUNCTION ............... CALCULATE THE NUMBER OF DAYS BETWEEN TWO         */
  4. /*                           DATES.                                           */
  5. /*                                                                            */
  6. /*                           COMMAND PROCESSING PROGRAM FOR DATESPAN          */
  7. /*                           COMMAND.                                         */
  8. /*                                                                            */
  9. /*  CALLED OBJECTS ......... DATESPAN CLP                                     */
  10. /*  AUTHOR ................. TERRENCE W. MOYER                                */
  11. /*  DATE ................... NOVEMBER 20, 1986                                */
  12. /*                                                                            */
  13. /*---------------------------------------------------------------------       */
  14. PGM (&DATE1 &DATE2 &SPANTYPE)                                                   
  15.              DCL        VAR(&DATE1)  TYPE(*DEC)  LEN(6 0)                       
  16.              DCL        VAR(&DATEA1) TYPE(*CHAR) LEN(6)                         
  17.              DCL        VAR(&DATE2)  TYPE(*DEC)  LEN(6 0)                       
  18.              DCL        VAR(&DATEA2) TYPE(*CHAR) LEN(6)                         
  19.              DCL        VAR(&DATEN)  TYPE(*CHAR) LEN(6)                         
  20.              DCL        VAR(&DAYS)   TYPE(*DEC)  LEN(6 0)                       
  21.              DCL        VAR(&DAYSA)  TYPE(*CHAR) LEN(6)                         
  22.              DCL        VAR(&FLAG)   TYPE(*CHAR) LEN(1)                         
  23.              DCL        VAR(&SPANTYPE) TYPE(*DEC) LEN(1 0)                      
  24.                                                                                 
  25.              RMVMSG  PGMQ(*EXT) CLEAR(*ALL)                                     
  26.                                                                                 
  27.              IF         (&DATE1 = 999999)   DO    /* *TODAY ENTRY */            
  28.                         RTVSYSVAL  (QDATE) (&DATEA1)                            
  29.                         CHGVAR     VAR(&DATE1)    VALUE(&DATEA1)                
  30.                         ENDDO                                                   
  31.                                                                                 
  32.              IF (&DATE1 > &DATE2) DO                                            
  33.                         CHGVAR &DATEN &DATE1                                    
  34.                         CHGVAR &DATE1 &DATE2                                    
  35.                         CHGVAR &DATE2 &DATEN                                    
  36.              ENDDO                                                              
  37.                                                                                 
  38.              CALL DATESPAN PARM(&DATE1 &DATE2 &SPANTYPE &DAYS &FLAG)            
  39.                                                                                 
  40.              IF         COND(&FLAG = '*') THEN(SNDPGMMSG +                      
  41.                           MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Error +          
  42.                           occurred. Check input dates and resubmit +            
  43.                           command') TOPGMQ(*EXT) MSGTYPE(*INFO))                
  44.              ELSE       CMD(DO)                                                 
  45.                         CHGVAR  &DATEA1  &DATE1                                 
  46.                         CHGVAR  &DATEA2  &DATE2                                 
  47.                         CHGVAR  &DAYSA   &DAYS                                  
  48.              SNDPGMMSG  MSG('Span of days between: ' *CAT &DATEA1 +             
  49.                           *CAT ' and ' *CAT &DATEA2 *CAT ': ' *CAT +            
  50.                           &DAYSA) TOPGMQ(*EXT) MSGTYPE(*INFO)                   
  51.              ENDDO                                                              
  52. ENDPGM                                                                          
  53.                                            
  54. ENDPGM