Information Systems:EOMASW
Jump to navigation
Jump to search
/* CALCULATE CLOSING PERIOD AS YESTERDAY'S PERIOD (TODAY MINUS 1) */
/* ASW doesn't handle February 29 properly, so minus 2 instead */
CHGASWLDA TYPE(*DATDZ) RELVAL(-2) STARTPOS(001)
RTVDTAARA DTAARA(*LDA (1 8)) RTNVAR(&DATEC)
CHGVAR VAR(&DATE) VALUE(&DATEC)
GETPERIOD DATE(&DATE) PERIOD(&PERIOD)
CHGVAR VAR(&PERIODC) VALUE(&PERIOD)
/* DO A 'DEMAND ADJUSTMENT' OF PROMO SALES FOR LAST MONTH */
CALL PGM(PXCIU356) PARM(&PERIODC &DATEC)
PXDEMAND
/* CALCULATE CLOSING MONTH, AND 6 MONTHS AGO FOR ITEM SEGMENTATION */
CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)
RTVDTAARA DTAARA(*LDA (1 6)) RTNVAR(&CCYYMMA)
RTVDTAARA DTAARA(*LDA (5 2)) RTNVAR(&MONTH)
RTVDTAARA DTAARA(*LDA (1 4)) RTNVAR(&YEAR)
CHGASWLDA TYPE(*DATDZ) RELVAL(-170) STARTPOS(001)
RTVDTAARA DTAARA(*LDA (1 6)) RTNVAR(&CCYYMMB)
/* PERIOD ROLLOVER */
RTVASWPAR PGM(ASGC032) PAID(MONTHROLL) USER(*ALL)
EXCASWPGM PGM(ASGC032) PARM(Y) DTA('N +
NNY *DEVTYPE +
N -
')
CHGASWCOM COMPANY(VA)
/* PRINT INVENTORY VALUE */
OVRPRTF FILE(QPQUPRFIL) OUTQ(ELAHO) SAVE(*YES)
RUNQRY QRY(STOCKST03A)
DLTOVR FILE(QPQUPRFIL)
/* PRINT STOCK VALUATION - AVERAGE COST */
RTVASWPAR PGM(DMC604) PAID(MONTHEND1) USER(*ALL)
EXCASWPGM PGM(DMC604) PARM(N)
RTVASWPAR PGM(DMC604) PAID(MONTHEND2) USER(*ALL)
EXCASWPGM PGM(DMC604) PARM(N)
/* PRINT SUPPLIER INVOICE MATCHING */
RTVASWPAR PGM(GCFC231) PAID(MONTHEND) USER(*ALL)
EXCASWPGM PGM(GCFC231) PARM(N)
/* UWD4 START - CORRECT DATE RANGE FOR VARIANCE ANALYSIS LISTINGS */
CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)
RTVDTAARA DTAARA(*LDA (1 8)) RTNVAR(&DATEC)
CALL PGM(EOMASW01) PARM(&DATEC)
/* UWD4 END */
/* PRINT SUPPLIER INVOICE VARIANCE ANALYSIS LIST/DIS */
RTVASWPAR PGM(GCFC233) PAID(TEST) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(41) +
POSITIONS(6)
EXCASWPGM PGM(GCFC233) PARM(N)
/* PRINT SUPPLIER INVOICE VARIANCE ANALYSIS LIST/FIN */
RTVASWPAR PGM(GCFC235) PAID(MONTHEND2) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(41) +
POSITIONS(6)
EXCASWPGM PGM(GCFC235) PARM(N)
/* PRINT A/R RECONCILIATION */
RTVASWPAR PGM(FSC291) PAID(MONTHENDAR) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(091) +
POSITIONS(6)
EXCASWPGM PGM(FSC291) PARM(N)
/* PRINT A/P RECONCILIATION */
RTVASWPAR PGM(FSC291) PAID(MONTHEND) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(091) +
POSITIONS(6)
EXCASWPGM PGM(FSC291) PARM(N)
/* PRINT A/P BALANCE */
RTVASWPAR PGM(FLC040) PAID(MONTHENDAP) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(041) +
POSITIONS(6)
EXCASWPGM PGM(FLC040) PARM(N)
/* PRINT A/R BALANCE */
RTVASWPAR PGM(FKC040) PAID(MONTHENDAR) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(041) +
POSITIONS(6)
EXCASWPGM PGM(FKC040) PARM(N)
/* ACTIVE FORECAST PERIODS */
RTVASWPAR PGM(INVC522) PAID(ACTFOREPER) USER(*ALL)
EXCASWPGM PGM(INVC522) PARM(N)
/* INVENTORY CALCULATIONS */
RTVASWPAR PGM(INVC401) PAID(ICCALCS) USER(*ALL)
CHGASWLDA VALUE(&CCYYMMA) TYPE(*CHAR) STARTPOS(226) +
POSITIONS(6)
EXCASWPGM PGM(INVC401) PARM(N)
/* AVERAGE STOCK LEVEL */
RTVASWPAR PGM(INVC520) PAID(AVERSTOCK) USER(*ALL)
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(226) +
POSITIONS(6)
EXCASWPGM PGM(INVC520) PARM(N)
/* INVENTORY SEGMENTATION */
RTVASWPAR PGM(INVC441) PAID(UPDSEGCODE) USER(*ALL)
CHGASWLDA VALUE(&CCYYMMB) TYPE(*CHAR) STARTPOS(25) +
POSITIONS(6)
CHGASWLDA VALUE(&CCYYMMA) TYPE(*CHAR) STARTPOS(31) +
POSITIONS(6)
EXCASWPGM PGM(INVC441) PARM(N)
/* RUN QUERY OF ALL UNMATCHED (UNINVOICED) P.O. RECEIPTS */
RUNQRY QRY(FINUNMATCX)
/* RUN 'TURN OF THE YEAR' FOR DIS IF THIS IS END OF JANUARY */
IF COND(&MONTH = '01') THEN(DO)
RTVASWPAR PGM(DMC971) PAID(ENDOFYEAR) USER(*ALL)
EXCASWPGM PGM(DMC971) PARM(N)
ENDDO
/* TAKE COPY OF SROSRO IF THIS IS CALENDAR YEAR END */
IF COND(&MONTH = '12') THEN(DO)
CHGVAR VAR(&FILENAME) VALUE('SROSRO' || &YEAR)
CPYF FROMFILE(SROSRO) +
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
CHGVAR VAR(&FILENAME) VALUE('SRBSRO' || &YEAR)
CRTLF FILE(UP1480BFVA/&FILENAME) +
SRCFILE(XX2480BP/QDDSSRC) SRCMBR(&FILENAME)
ENDDO
/* TAKE COPY OF SROSRO IF THIS IS FISCAL YEAR END */
IF COND(&MONTH = '01') THEN(DO)
CHGVAR VAR(&FILENAME) VALUE('SROSROF' || +
%SST(&YEAR 3 2))
CPYF FROMFILE(SROSRO) +
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
CHGVAR VAR(&FILENAME) VALUE('SRBSROF' || +
%SST(&YEAR 3 2))
CRTLF FILE(UP1480BFVA/&FILENAME) +
SRCFILE(XX2480BP/QDDSSRC) SRCMBR(&FILENAME)
ENDDO
/* TAKE COPY OF GOODS RECEIVING FILE FOR RECONCILING */
CHGVAR VAR(&FILENAME) VALUE('SROGRT' || +
%SST(&PERIODC 3 4))
CPYF FROMFILE(SROGRT) +
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
MONMSG MSGID(CPF0000)
/* RUN PROGRAM TO CREATE WORK FILE OF OUT OF BALANCE PO'S */
CALL PGM(BAL001CL)
/*ADD ONHANDS TO STATISTICS FILE */
CALL PGM(BLDPERONH) PARM(' ')
/* RUN SURPLUS STOCK REPORT */
RUNQRY QRY(STOCKST06X) QRYFILE((*LIBL/SROPRG) +
(*LIBL/SROSRO))
/* FTP INVOICE DETAIL FOR ENDING MONTH TO PHARMASAVE */
SBMJOB CMD(CALL PGM(PHAFTP02CL) PARM('00000000' +
'00000000')) USER(PHARMASAVE)
/* BUILD ORDER STATISTICS FILE (SUMORDCST) FOR IN_ORDER01 */
SBMJOB CMD(CALL PGM(BLDSUMORD) PARM(&CCYYMMA))
/* FTP SALES FOR ENDING MONTH TO IMS */
SBMJOB CMD(CALL PGM(TSADUMPA)) USER(IMSTSA)
/* DELETE OLD TRANSACTIONS */
CALL PGM(PURGE01)
MONMSG MSGID(CPF0000)
/* DELETE EDI SPOOL FILES OVER TWO MONTHS OLD */
CALL PGM(OUTQCLREDI)
MONMSG MSGID(CPF0000)