SeanHoppe.com Cleo Code Samples
/*****************************************************************************/ /* CL RUNS CLEO'S FA REPORT. REPORT WILL list send/receive rejected FAs. */ /* Report will be tailored 1st daily report will list FA rejected between */ /* 5:00-08:30. The 2nd report will list rejected FAs between 8:31 AND 15:31 */ /* */ /*****************************************************************************/ PGM DCL VAR(&JOB) TYPE(*CHAR) LEN(10) DCL VAR(&USER) TYPE(*CHAR) LEN(10) DCL VAR(&NBR) TYPE(*CHAR) LEN(6) DCL VAR(&SYSDATE) TYPE(*CHAR) LEN(6) DCL VAR(&YESTERDAY) TYPE(*DEC) LEN(8 0) DCL VAR(&LILIAN) TYPE(*CHAR) LEN(4) DCL VAR(&JUNK1) TYPE(*CHAR) LEN(8) DCL VAR(&JUNK2) TYPE(*CHAR) LEN(23) DCL VAR(&WDATE) TYPE(*CHAR) LEN(8) DCL VAR(&TDATE) TYPE(*CHAR) LEN(8) DCL VAR(&HOUR) TYPE(*CHAR) LEN(2) ADDLIBLE LIB(EXTSYSF) MONMSG MSGID(CPF0000) ADDLIBLE LIB(EXTSYS) MONMSG MSGID(CPF0000) ADDLIBLE LIB(WINSPOOL) MONMSG MSGID(CPF0000) DLTSPLF FILE(LLGPF4R$) MONMSG MSGID(CPF0000) DLTSPLF FILE(LLMPF5R$) MONMSG MSGID(CPF0000) /* RETRIEVE CURRENT DATE AND HOUR OF DAY */ RTVSYSVAL SYSVAL(QDATE) RTNVAR(&SYSDATE) RTVSYSVAL SYSVAL(QHOUR) RTNVAR(&HOUR) /* &LILIAN WILL CONTAIN THE NUMBER OF DAYS BETWEEN TODAY AND */ /* AND OCT 14, 1582. */ CALLPRC PRC(CEELOCT) PARM(&LILIAN &JUNK1 &JUNK2 *OMIT) /* CONVERT LILLIAN TO MMDDYYYY DATE */ CALLPRC PRC(CEEDATE) PARM(&LILIAN 'MMDDYYYY' &TDATE *OMIT) /* SUBTRACTING 1 FROM &LILIAN WILL PRODUCE YESTERDAY'S DATE */ CHGVAR VAR(%BIN(&LILIAN)) VALUE(%BIN(&LILIAN) - 1) /* CONVERT LILLIAN TO MMDDYYYY DATE */ CALLPRC PRC(CEEDATE) PARM(&LILIAN 'MMDDYYYY' &WDATE *OMIT) CHGVAR VAR(&YESTERDAY) VALUE(&WDATE) /* TEST TO SEE IF HOUR <= 09 */ /* IF HOUR IS 0831 THEN SUBTRACT 1 DAY, AND REPORT */ /* EXTOL INBOUND ERRORS BETWEEN 3:00PM PREVIOUS DAY */ /* TO 8:30AM CURRENT DAY */ IF (&HOUR *LT '09') DO /* RUN EXTOL CMD FOR INBOUND/OUTBOUND ERRORS BETWEEN 15:00-08:30 */ PRTGRPLOG FROMCNNDT(&WDATE) FROMCNNTM(150000) + TOCNNDT(&TDATE) TOCNNTM(083000) + FSTS(*ERROR) DRCD(B) /* RUN EXTOL CMD FOR INBOUND/OUTBOUND FA ERR BETWEEN 15:00-08:30 */ PRTLOMAR PERIOD((150000 &WDATE) (083000 &TDATE)) + ASTSSLT(B X) RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR) /* MAIL SPOOL FILE TO RECIPIENTS */ MAILRPT FILE(LLGPF4R$) JOB(&NBR/&USER/&JOB) + TOADDRESS(xxxxx@xxx.com + xxxx@xxxx.com) CONVTYPE(PDF) + RPTDESC('EXTOL 8:30 AM Inbound EDI error + report') MONMSG MSGID(CPF0000) /* MAIL SPOOL FILE TO RECIPIENTS */ MAILRPT FILE(LLMPF5R$) JOB(&NBR/&USER/&JOB) + TOADDRESS(xxxxx@xxxx.com + xxxx@xxxxx.com) CONVTYPE(PDF) + RPTDESC('EXTOL 8:30 AM Inbound EDI FA error + report') MONMSG MSGID(CPF0000) ENDDO /* TEST TO SEE IF HOUR IS 1500 */ /* IF HOUR >= 09 THEN REPORT EXTOL INBOUND ERRORS */ /* BETWEEN 8:31 AND 15:31 OF CURRENT DAY */ IF (&HOUR *GE '09') DO /* RUN EXTOL CMD FOR INBOUND/OUTBOUND ERRORS BETWEEN 08:31-15:00 */ PRTGRPLOG FROMCNNDT(&TDATE) FROMCNNTM(083100) + TOCNNDT(&TDATE) TOCNNTM(150000) + FSTS(*ERROR) DRCD(B) /* RUN EXTOL CMD FOR INBOUND/OUTBOUND FA ERR BETWEEN 08:31-15:00 */ PRTLOMAR PERIOD((083100 &TDATE) (150000 &TDATE)) + ASTSSLT(B X) RTVJOBA JOB(&JOB) USER(&USER) NBR(&NBR) /* MAIL SPOOL FILE TO RECIPIENTS */ MAILRPT FILE(LLGPF4R$) JOB(&NBR/&USER/&JOB) + TOADDRESS(xxxxx@xxxxxx.com + xxxx@xxxxx.com) CONVTYPE(PDF) + RPTDESC('EXTOL 3:30 PM Inbound EDI error + report') MONMSG MSGID(CPF0000) /* MAIL SPOOL FILE TO RECIPIENTS */ MAILRPT FILE(LLMPF5R$) JOB(&NBR/&USER/&JOB) + TOADDRESS(xxxxxxxx@xxxxx.com + xxxxx@xxxxx.com) CONVTYPE(PDF) + RPTDESC('EXTOL 3:30 PM Inbound EDI FA error + report') MONMSG MSGID(CPF0000) ENDDO ENDPGM