home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
3x400
/
datespan.lzh
/
DATESPN1.CLP
< prev
Wrap
Text File
|
1987-07-17
|
4KB
|
54 lines
/*--------------------------------------------------------------------- */
/* NAME ................... DATESPAN1 */
/* FUNCTION ............... CALCULATE THE NUMBER OF DAYS BETWEEN TWO */
/* DATES. */
/* */
/* COMMAND PROCESSING PROGRAM FOR DATESPAN */
/* COMMAND. */
/* */
/* CALLED OBJECTS ......... DATESPAN CLP */
/* AUTHOR ................. TERRENCE W. MOYER */
/* DATE ................... NOVEMBER 20, 1986 */
/* */
/*--------------------------------------------------------------------- */
PGM (&DATE1 &DATE2 &SPANTYPE)
DCL VAR(&DATE1) TYPE(*DEC) LEN(6 0)
DCL VAR(&DATEA1) TYPE(*CHAR) LEN(6)
DCL VAR(&DATE2) TYPE(*DEC) LEN(6 0)
DCL VAR(&DATEA2) TYPE(*CHAR) LEN(6)
DCL VAR(&DATEN) TYPE(*CHAR) LEN(6)
DCL VAR(&DAYS) TYPE(*DEC) LEN(6 0)
DCL VAR(&DAYSA) TYPE(*CHAR) LEN(6)
DCL VAR(&FLAG) TYPE(*CHAR) LEN(1)
DCL VAR(&SPANTYPE) TYPE(*DEC) LEN(1 0)
RMVMSG PGMQ(*EXT) CLEAR(*ALL)
IF (&DATE1 = 999999) DO /* *TODAY ENTRY */
RTVSYSVAL (QDATE) (&DATEA1)
CHGVAR VAR(&DATE1) VALUE(&DATEA1)
ENDDO
IF (&DATE1 > &DATE2) DO
CHGVAR &DATEN &DATE1
CHGVAR &DATE1 &DATE2
CHGVAR &DATE2 &DATEN
ENDDO
CALL DATESPAN PARM(&DATE1 &DATE2 &SPANTYPE &DAYS &FLAG)
IF COND(&FLAG = '*') THEN(SNDPGMMSG +
MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Error +
occurred. Check input dates and resubmit +
command') TOPGMQ(*EXT) MSGTYPE(*INFO))
ELSE CMD(DO)
CHGVAR &DATEA1 &DATE1
CHGVAR &DATEA2 &DATE2
CHGVAR &DAYSA &DAYS
SNDPGMMSG MSG('Span of days between: ' *CAT &DATEA1 +
*CAT ' and ' *CAT &DATEA2 *CAT ': ' *CAT +
&DAYSA) TOPGMQ(*EXT) MSGTYPE(*INFO)
ENDDO
ENDPGM
ENDPGM