H datfmt(*ISO) H* BNDDIR(COZUTILDB1) *********************************************************************** ** GET DAY of WEEK ** Calculates the day of the week and returns it to the caller. ** ** Parameter List ** - RTNCODE Pkd(7,0) Return code from call to this program ** - INDATE Pkd(7,0) Input date in date format specified in ** the INDATEFMT parameter. ** - INDATEFMT Char(10) Input date format code. ** Any 6 or 7-digit date format can be ** specified, including the following: ** *MDY, *YMD, *DMY, *JUL, *CYMD ** *CYMD is the CL format of CYYMMDD ** where C is 0 or 1 0=19 and 1=20. ** - nDAY Pkd(7,0) Day of the week (return value). ** The resulting day of the week from ** procedure. *********************************************************************** D dtInput S D ** ERROR return codes D BADINDATE C Const(201) D BADDTEFMT C Const(202) *************************************** ** Input parameter list ** *************************************** D rtnCode S 7P 0 D inDate S 7P 0 D inDateFmt S 10A D nDay S 7P 0 /COPY qcpysrc,cozutil C *ENTRY PList C Parm rtnCode C Parm inDate C Parm inDateFmt C Parm nDay ** Check the starting date for a valid date in the ** date format specified. C Select C When InDateFmt = '*MDY' C *MDY TEST(D) inDate 73 C n73*MDY Move inDate dtInput C When InDateFmt = '*YMD' C *YMD TEST(D) inDate 73 C n73*YMD Move inDate dtInput C When InDateFmt = '*DMY' C *DMY TEST(D) inDate 73 C N73*DMY Move inDate dtInput C When InDateFmt = '*JUL' C *JUL TEST(D) inDate 73 C n73*JUL Move inDate dtInput C When InDateFmt = '*CYMD' C *CYMD TEST(D) inDate 73 C n73*CYMD Move inDate dtInput C other C eval rtncode = BADDTEFMT C return C endSL C If *IN73 C eval rtncode = BADINDATE C return C endif ** Get the actual day of the week via a call the Cozzi Utilities C eval nDay = GetDay(dtInput) C MOVE *ON *INLR C return