Difference between revisions of "Information Systems:EOMASW"

From uniWIKI
Jump to navigation Jump to search
 
Line 1: Line 1:
/* CALCULATE CLOSING PERIOD AS YESTERDAY'S PERIOD (TODAY MINUS 1) */
+
/* CALCULATE CLOSING PERIOD AS YESTERDAY'S PERIOD (TODAY MINUS 1) */
  +
/* ASW doesn't handle February 29 properly, so minus 2 instead */
 
 
/* UWD2 CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001) */
+
CHGASWLDA TYPE(*DATDZ) RELVAL(-2) STARTPOS(001)
/* UWD2 */ CHGASWLDA TYPE(*DATDZ) RELVAL(-2) STARTPOS(001)
 
 
RTVDTAARA DTAARA(*LDA (1 8)) RTNVAR(&DATEC)
 
RTVDTAARA DTAARA(*LDA (1 8)) RTNVAR(&DATEC)
 
CHGVAR VAR(&DATE) VALUE(&DATEC)
 
CHGVAR VAR(&DATE) VALUE(&DATEC)
Line 8: Line 8:
 
CHGVAR VAR(&PERIODC) VALUE(&PERIOD)
 
CHGVAR VAR(&PERIODC) VALUE(&PERIOD)
 
 
LOGENTRY LEVEL1(TEST) LEVEL2(PERIODC) +
+
/* DO A 'DEMAND ADJUSTMENT' OF PROMO SALES FOR LAST MONTH */
LEVEL3(&PERIODC) BEGEND(B) FROMPG(EOMASW) +
 
CLASS(ASW)
 
LOGENTRY LEVEL1(TEST) LEVEL2(DATEC) LEVEL3(&DATEC) +
 
BEGEND(B) FROMPG(EOMASW) CLASS(ASW)
 
 
 
/* DO A 'DEMAND ADJUSTMENT' OF PROMO SALES FOR LAST MONTH */
+
CALL PGM(PXCIU356) PARM(&PERIODC &DATEC)
+
PXDEMAND
/* UWD1 */ CALL PGM(PXCIU356) PARM(&PERIODC &DATEC)
 
/* UWD1 */ PXDEMAND
 
LOGENTRY LEVEL1(TEST) LEVEL2(STEPA) BEGEND(B) +
 
FROMPG(EOMASW) CLASS(ASW)
 
 
 
/* CALCULATE CLOSING MONTH, AND 6 MONTHS AGO FOR ITEM SEGMENTATION */
+
/* CALCULATE CLOSING MONTH, AND 6 MONTHS AGO FOR ITEM SEGMENTATION */
 
 
 
CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)
 
CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)
Line 29: Line 21:
 
CHGASWLDA TYPE(*DATDZ) RELVAL(-170) STARTPOS(001)
 
CHGASWLDA TYPE(*DATDZ) RELVAL(-170) STARTPOS(001)
 
RTVDTAARA DTAARA(*LDA (1 6)) RTNVAR(&CCYYMMB)
 
RTVDTAARA DTAARA(*LDA (1 6)) RTNVAR(&CCYYMMB)
LOGENTRY LEVEL1(TEST) LEVEL2(STEPB) BEGEND(B) +
 
FROMPG(EOMASW) CLASS(ASW)
 
 
 
/* PERIOD ROLLOVER - EACH COMPANY SEPARATELY */
+
/* PERIOD ROLLOVER */
 
/* UWD7 RTVASWPAR PGM(ASGC032) PAID(MONTHENDVA) USER(*ALL) */
 
/* UWD7 */ RTVASWPAR PGM(ASGC032) PAID(MONTHROLL) USER(*ALL)
 
 
 
 
RTVASWPAR PGM(ASGC032) PAID(MONTHROLL) USER(*ALL)
 
EXCASWPGM PGM(ASGC032) PARM(Y) DTA('N +
 
EXCASWPGM PGM(ASGC032) PARM(Y) DTA('N +
 
NNY *DEVTYPE +
 
NNY *DEVTYPE +
 
N -
 
N -
 
')
 
')
/* UWD7 */ CHGASWCOM COMPANY(VA)
+
CHGASWCOM COMPANY(VA)
LOGENTRY LEVEL1(TEST) LEVEL2(STEPC) BEGEND(B) +
 
FROMPG(EOMASW) CLASS(ASW)
 
 
 
/* RTVASWPAR PGM(ASGC032) PAID(MONTHENDPL) USER(*ALL) */
+
/* PRINT INVENTORY VALUE */
/* EXCASWPGM PGM(ASGC032) PARM(Y) DTA('N + */
 
/* NNY *DEVTYPE + */
 
/* N - */
 
/* ') */
 
/* LOGENTRY LEVEL1(TEST) LEVEL2(STEPD) BEGEND(B) + */
 
/* FROMPG(EOMASW) CLASS(ASW) */
 
 
/* PRINT INVENTORY VALUE */
 
 
 
 
OVRPRTF FILE(QPQUPRFIL) OUTQ(ELAHO) SAVE(*YES)
 
OVRPRTF FILE(QPQUPRFIL) OUTQ(ELAHO) SAVE(*YES)
 
RUNQRY QRY(STOCKST03A)
 
RUNQRY QRY(STOCKST03A)
 
DLTOVR FILE(QPQUPRFIL)
 
DLTOVR FILE(QPQUPRFIL)
LOGENTRY LEVEL1(TEST) LEVEL2(STEPE) BEGEND(B) +
+
FROMPG(EOMASW) CLASS(ASW)
+
/* PRINT STOCK VALUATION - AVERAGE COST */
 
/* PRINT STOCK VALUATION - AVERAGE COST */
 
 
 
 
RTVASWPAR PGM(DMC604) PAID(MONTHEND1) USER(*ALL)
 
RTVASWPAR PGM(DMC604) PAID(MONTHEND1) USER(*ALL)
Line 69: Line 45:
 
EXCASWPGM PGM(DMC604) PARM(N)
 
EXCASWPGM PGM(DMC604) PARM(N)
 
 
/* PRINT SUPPLIER INVOICE MATCHING */
+
/* PRINT SUPPLIER INVOICE MATCHING */
 
 
 
RTVASWPAR PGM(GCFC231) PAID(MONTHEND) USER(*ALL)
 
RTVASWPAR PGM(GCFC231) PAID(MONTHEND) USER(*ALL)
 
EXCASWPGM PGM(GCFC231) PARM(N)
 
EXCASWPGM PGM(GCFC231) PARM(N)
 
 
/* UWD4 START - CORRECT DATE RANGE FOR VARIANCE ANALYSIS LISTINGS */
+
/* UWD4 START - CORRECT DATE RANGE FOR VARIANCE ANALYSIS LISTINGS */
 
 
 
CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)
 
CHGASWLDA TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)
Line 84: Line 60:
 
/* PRINT SUPPLIER INVOICE VARIANCE ANALYSIS LIST/DIS */
 
/* PRINT SUPPLIER INVOICE VARIANCE ANALYSIS LIST/DIS */
 
 
/* RTVASWPAR PGM(GCFC233) PAID(MONTHEND) USER(*ALL) */
 
 
RTVASWPAR PGM(GCFC233) PAID(TEST) USER(*ALL)
 
RTVASWPAR PGM(GCFC233) PAID(TEST) USER(*ALL)
 
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(41) +
 
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(41) +
 
POSITIONS(6)
 
POSITIONS(6)
/* UWD3 CHGDTAARA DTAARA(*LDA (860 6)) VALUE(&PERIODC) */
 
 
EXCASWPGM PGM(GCFC233) PARM(N)
 
EXCASWPGM PGM(GCFC233) PARM(N)
 
 
/* PRINT SUPPLIER INVOICE VARIANCE ANALYSIS LIST/FIN */
+
/* PRINT SUPPLIER INVOICE VARIANCE ANALYSIS LIST/FIN */
 
 
 
RTVASWPAR PGM(GCFC235) PAID(MONTHEND2) USER(*ALL)
 
RTVASWPAR PGM(GCFC235) PAID(MONTHEND2) USER(*ALL)
 
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(41) +
 
CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(41) +
 
POSITIONS(6)
 
POSITIONS(6)
/* UWD3 CHGDTAARA DTAARA(*LDA (860 6)) VALUE(&PERIODC) */
 
 
EXCASWPGM PGM(GCFC235) PARM(N)
 
EXCASWPGM PGM(GCFC235) PARM(N)
 
 
/* PRINT A/R RECONCILIATION */
+
/* PRINT A/R RECONCILIATION */
 
 
 
RTVASWPAR PGM(FSC291) PAID(MONTHENDAR) USER(*ALL)
 
RTVASWPAR PGM(FSC291) PAID(MONTHENDAR) USER(*ALL)
Line 106: Line 79:
 
EXCASWPGM PGM(FSC291) PARM(N)
 
EXCASWPGM PGM(FSC291) PARM(N)
 
 
/* PRINT A/P RECONCILIATION */
+
/* PRINT A/P RECONCILIATION */
 
 
 
RTVASWPAR PGM(FSC291) PAID(MONTHEND) USER(*ALL)
 
RTVASWPAR PGM(FSC291) PAID(MONTHEND) USER(*ALL)
Line 113: Line 86:
 
EXCASWPGM PGM(FSC291) PARM(N)
 
EXCASWPGM PGM(FSC291) PARM(N)
 
 
/* PRINT A/P BALANCE */
+
/* PRINT A/P BALANCE */
 
 
 
RTVASWPAR PGM(FLC040) PAID(MONTHENDAP) USER(*ALL)
 
RTVASWPAR PGM(FLC040) PAID(MONTHENDAP) USER(*ALL)
Line 120: Line 93:
 
EXCASWPGM PGM(FLC040) PARM(N)
 
EXCASWPGM PGM(FLC040) PARM(N)
 
 
/* PRINT A/R BALANCE */
+
/* PRINT A/R BALANCE */
 
 
 
RTVASWPAR PGM(FKC040) PAID(MONTHENDAR) USER(*ALL)
 
RTVASWPAR PGM(FKC040) PAID(MONTHENDAR) USER(*ALL)
Line 127: Line 100:
 
EXCASWPGM PGM(FKC040) PARM(N)
 
EXCASWPGM PGM(FKC040) PARM(N)
 
 
/* ACTIVE FORECAST PERIODS */
+
/* ACTIVE FORECAST PERIODS */
 
 
 
RTVASWPAR PGM(INVC522) PAID(ACTFOREPER) USER(*ALL)
 
RTVASWPAR PGM(INVC522) PAID(ACTFOREPER) USER(*ALL)
 
EXCASWPGM PGM(INVC522) PARM(N)
 
EXCASWPGM PGM(INVC522) PARM(N)
 
 
/* DO A 'DEMAND ADJUSTMENT' OF PROMO SALES FOR LAST MONTH */
+
/* INVENTORY CALCULATIONS */
 
/* UWD1 CALL PGM(PXCIU356) PARM(&PERIODC &DATEC) */
 
/* UWD1 PXDEMAND */
 
 
/* INVENTORY CALCULATIONS */
 
 
 
 
RTVASWPAR PGM(INVC401) PAID(ICCALCS) USER(*ALL)
 
RTVASWPAR PGM(INVC401) PAID(ICCALCS) USER(*ALL)
/* UWD3 CHGASWLDA VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(226) + */
+
CHGASWLDA VALUE(&CCYYMMA) TYPE(*CHAR) STARTPOS(226) +
/* UWD3 */ CHGASWLDA VALUE(&CCYYMMA) TYPE(*CHAR) STARTPOS(226) +
 
 
POSITIONS(6)
 
POSITIONS(6)
 
EXCASWPGM PGM(INVC401) PARM(N)
 
EXCASWPGM PGM(INVC401) PARM(N)
 
 
/* AVERAGE STOCK LEVEL */
+
/* AVERAGE STOCK LEVEL */
 
 
 
RTVASWPAR PGM(INVC520) PAID(AVERSTOCK) USER(*ALL)
 
RTVASWPAR PGM(INVC520) PAID(AVERSTOCK) USER(*ALL)
Line 152: Line 119:
 
EXCASWPGM PGM(INVC520) PARM(N)
 
EXCASWPGM PGM(INVC520) PARM(N)
 
 
/* INVENTORY SEGMENTATION */
+
/* INVENTORY SEGMENTATION */
 
 
 
RTVASWPAR PGM(INVC441) PAID(UPDSEGCODE) USER(*ALL)
 
RTVASWPAR PGM(INVC441) PAID(UPDSEGCODE) USER(*ALL)
Line 161: Line 128:
 
EXCASWPGM PGM(INVC441) PARM(N)
 
EXCASWPGM PGM(INVC441) PARM(N)
 
 
/* RUN QUERY OF ALL UNMATCHED (UNINVOICED) P.O. RECEIPTS */
+
/* RUN QUERY OF ALL UNMATCHED (UNINVOICED) P.O. RECEIPTS */
 
 
 
RUNQRY QRY(FINUNMATCX)
 
RUNQRY QRY(FINUNMATCX)
 
 
/* RUN 'TURN OF THE YEAR' FOR DIS IF THIS IS END OF JANUARY */
+
/* RUN 'TURN OF THE YEAR' FOR DIS IF THIS IS END OF JANUARY */
 
 
 
IF COND(&MONTH = '01') THEN(DO)
 
IF COND(&MONTH = '01') THEN(DO)
LOGENTRY LEVEL1(YEARLY) LEVEL2(ASW) +
 
LEVEL3(PROCESSING) BEGEND(B) +
 
FROMPG(EOMASW) CLASS(ASW)
 
 
RTVASWPAR PGM(DMC971) PAID(ENDOFYEAR) USER(*ALL)
 
RTVASWPAR PGM(DMC971) PAID(ENDOFYEAR) USER(*ALL)
 
EXCASWPGM PGM(DMC971) PARM(N)
 
EXCASWPGM PGM(DMC971) PARM(N)
LOGENTRY LEVEL1(YEARLY) LEVEL2(ASW) +
+
ENDDO
LEVEL3(PROCESSING) BEGEND(E) +
 
FROMPG(EOMASW) CLASS(ASW)
 
ENDDO
 
 
 
/* UWD5 - TAKE COPY OF SROSRO IF THIS IS CALENDAR YEAR END */
+
/* TAKE COPY OF SROSRO IF THIS IS CALENDAR YEAR END */
 
 
 
IF COND(&MONTH = '12') THEN(DO)
 
IF COND(&MONTH = '12') THEN(DO)
 
CHGVAR VAR(&FILENAME) VALUE('SROSRO' || &YEAR)
 
CHGVAR VAR(&FILENAME) VALUE('SROSRO' || &YEAR)
/* CRTDUPOBJ OBJ(SROSRO) FROMLIB(*LIBL) OBJTYPE(*FILE) + */
+
CPYF FROMFILE(SROSRO) +
/* NEWOBJ(&FILENAME) DATA(*YES) */
+
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
 
CPYF FROMFILE(SROSRO) +
 
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
 
 
MONMSG MSGID(CPF0000)
 
 
 
CHGVAR VAR(&FILENAME) VALUE('SRBSRO' || &YEAR)
 
CHGVAR VAR(&FILENAME) VALUE('SRBSRO' || &YEAR)
 
CRTLF FILE(UP1480BFVA/&FILENAME) +
 
CRTLF FILE(UP1480BFVA/&FILENAME) +
 
SRCFILE(XX2480BP/QDDSSRC) SRCMBR(&FILENAME)
 
SRCFILE(XX2480BP/QDDSSRC) SRCMBR(&FILENAME)
MONMSG MSGID(CPF0000)
+
ENDDO
ENDDO
 
 
 
/* UWDF - TAKE COPY OF SROSRO IF THIS IS FISCAL YEAR END */
+
/* TAKE COPY OF SROSRO IF THIS IS FISCAL YEAR END */
 
 
 
IF COND(&MONTH = '01') THEN(DO)
 
IF COND(&MONTH = '01') THEN(DO)
Line 203: Line 157:
 
CPYF FROMFILE(SROSRO) +
 
CPYF FROMFILE(SROSRO) +
 
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
 
TOFILE(UP1480BFVA/&FILENAME) CRTFILE(*YES)
MONMSG MSGID(CPF0000)
 
 
CHGVAR VAR(&FILENAME) VALUE('SRBSROF' || +
 
CHGVAR VAR(&FILENAME) VALUE('SRBSROF' || +
 
%SST(&YEAR 3 2))
 
%SST(&YEAR 3 2))
 
CRTLF FILE(UP1480BFVA/&FILENAME) +
 
CRTLF FILE(UP1480BFVA/&FILENAME) +
 
SRCFILE(XX2480BP/QDDSSRC) SRCMBR(&FILENAME)
 
SRCFILE(XX2480BP/QDDSSRC) SRCMBR(&FILENAME)
MONMSG MSGID(CPF0000)
+
ENDDO
ENDDO
 
 
 
/* TAKE COPY OF GOODS RECEIVING FILE FOR RECONCILIATING */
+
/* TAKE COPY OF GOODS RECEIVING FILE FOR RECONCILING */
 
 
 
CHGVAR VAR(&FILENAME) VALUE('SROGRT' || +
 
CHGVAR VAR(&FILENAME) VALUE('SROGRT' || +
Line 219: Line 171:
 
MONMSG MSGID(CPF0000)
 
MONMSG MSGID(CPF0000)
 
 
/* RUN PROGRAM TO CREATE WORK FILE OF OUT OF BALANCE PO'S */
+
/* RUN PROGRAM TO CREATE WORK FILE OF OUT OF BALANCE PO'S */
 
 
 
CALL PGM(BAL001CL)
 
CALL PGM(BAL001CL)
MONMSG MSGID(CPF0000)
+
+
/*ADD ONHANDS TO STATISTICS FILE */
/* UWDC - ADD ONHANDS TO STATISTICS FILE */
 
 
 
 
CALL PGM(BLDPERONH) PARM(' ')
 
CALL PGM(BLDPERONH) PARM(' ')
MONMSG MSGID(CPF0000)
 
 
 
/* RUN SURPLUS STOCK REPORT */
+
/* RUN SURPLUS STOCK REPORT */
 
 
 
RUNQRY QRY(STOCKST06X) QRYFILE((*LIBL/SROPRG) +
 
RUNQRY QRY(STOCKST06X) QRYFILE((*LIBL/SROPRG) +
 
(*LIBL/SROSRO))
 
(*LIBL/SROSRO))
 
 
/* UWD9 - FTP INVOICE DETAIL FOR ENDING MONTH TO PHARMASAVE */
+
/* FTP INVOICE DETAIL FOR ENDING MONTH TO PHARMASAVE */
 
 
 
SBMJOB CMD(CALL PGM(PHAFTP02CL) PARM('00000000' +
 
SBMJOB CMD(CALL PGM(PHAFTP02CL) PARM('00000000' +
 
'00000000')) USER(PHARMASAVE)
 
'00000000')) USER(PHARMASAVE)
 
 
/* UWDA - BUILD ORDER STATISTICS FILE (SUMORDCST) FOR IN_ORDER01 */
+
/* BUILD ORDER STATISTICS FILE (SUMORDCST) FOR IN_ORDER01 */
 
 
 
SBMJOB CMD(CALL PGM(BLDSUMORD) PARM(&CCYYMMA))
 
SBMJOB CMD(CALL PGM(BLDSUMORD) PARM(&CCYYMMA))
 
 
/* UWDD - FTP SALES FOR ENDING MONTH TO IMS */
+
/* FTP SALES FOR ENDING MONTH TO IMS */
 
 
 
SBMJOB CMD(CALL PGM(TSADUMPA)) USER(IMSTSA)
 
SBMJOB CMD(CALL PGM(TSADUMPA)) USER(IMSTSA)
 
 
/* UWD6 - DELETE OLD TRANSACTIONS */
+
/* DELETE OLD TRANSACTIONS */
 
 
 
CALL PGM(PURGE01)
 
CALL PGM(PURGE01)
 
MONMSG MSGID(CPF0000)
 
MONMSG MSGID(CPF0000)
 
 
/* UWDE - DELETE EDI SPOOL FILES OVER TWO MONTHS OLD */
+
/* DELETE EDI SPOOL FILES OVER TWO MONTHS OLD */
 
 
 
CALL PGM(OUTQCLREDI)
 
CALL PGM(OUTQCLREDI)
MONMSG MSGID(CPF0000)
+
MONMSG MSGID(CPF0000)
 
LOGENTRY LEVEL1(MONTHLY) LEVEL2(ASW) +
 
LEVEL3(PROCESSING) BEGEND(E) +
 
FROMPG(EOMASW) CLASS(ASW)
 

Revision as of 12:24, 9 February 2016

/* 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)