Difference between revisions of "Information Systems:Overnight ENDOFDAY"

From uniWIKI
Jump to navigation Jump to search
Line 161: Line 161:
 
EXCASWPGM PGM(DIC801) PARM(N)
 
EXCASWPGM PGM(DIC801) PARM(N)
 
 
/* Generate purchase suggetions. */
+
/* Generate purchase suggestions. */
 
 
 
RTVASWPAR PGM(INVC431) PAID(PURSUG2MAI) USER(*ALL)
 
RTVASWPAR PGM(INVC431) PAID(PURSUG2MAI) USER(*ALL)
Line 176: Line 176:
 
CPYF FROMFILE(UP1480BFVA/SROPUL) +
 
CPYF FROMFILE(UP1480BFVA/SROPUL) +
 
TOFILE(UP1480BFVA/SROPUL.B1) MBROPT(*REPLACE)
 
TOFILE(UP1480BFVA/SROPUL.B1) MBROPT(*REPLACE)
  +
 
 
/* Update ASW Item Cost With Effective VEBA From CCP */
 
 
CALL PGM(IXRUP880)
 
 
/* Note that we can operate if the following jobs are not run.
 
/* Note that we can operate if the following jobs are not run.
   
Line 195: Line 199:
 
RTVASWPAR PGM(FSC880) PAID(ARAPREBLD) USER(*ALL)
 
RTVASWPAR PGM(FSC880) PAID(ARAPREBLD) USER(*ALL)
 
EXCASWPGM PGM(FSC880) PARM(N)
 
EXCASWPGM PGM(FSC880) PARM(N)
+
  +
/* Calculate items that will have a 5% increase in cost or 5% decrease */
/* Update ASW Item Cost With Effective VEBA From CCP */
 
+
/* in gross margin %, and email buyer. */
CALL PGM(IXRUP880)
 
 
 
 
/* CALCULATE ITEMS THAT WILL HAVE A 5% INCREASE IN COST OR 5% DECREASE */
 
/* IN GROSS MARGIN % and email buyer (This must be done before Domino */
 
/* is taken down) */
 
 
 
 
CALL PGM(IXRIQ405)
 
CALL PGM(IXRIQ405)
MONMSG MSGID(CPF0000)
 
 
 
/* SEND ANY 'READY' PROMOS TO ECU */
+
/* Send any 'READY' promos to ECU */
 
 
 
ECUPROMO
 
ECUPROMO
MONMSG MSGID(CPF0000)
 
 
 
/* ADJUST DEMAND BY ITEMS ON PROMO */
+
/* Adjust demand by items on promo. This is so that purchase */
  +
/* suggestions for regular stocked items are not inflated by promo sales.*/
 
 
 
PXDEMAND
 
PXDEMAND
MONMSG MSGID(CPF0000)
+
  +
/* Use average purchase cost for warehouse MAI in SROSRO to update */
 
/* USE AVERAGE PURCHASE COST FOR MAIN WAREHOUSE IN SROSRO TO UPDATE */
+
/* average purhcase cost in SROSRO for RET, and average purchase cost */
 
/* in base item master file SROPRG */
/* PURCHASE COST FOR RET WAREHOUSE IN SROSRO AND AVERAGE PURCHASE */
 
/* COST IN BASE MASTER FILE SROPRG */
 
 
/* do not share open data path, as SRBPRG may not be open for update */
 
/* do not share open data path, as SRBPRG may not be open for update */
 
 
 
OVRDBF FILE(SRBPRG) TOFILE(SRBPRG) SHARE(*NO)
 
OVRDBF FILE(SRBPRG) TOFILE(SRBPRG) SHARE(*NO)
 
CALL PGM(AVGCST01)
 
CALL PGM(AVGCST01)
MONMSG MSGID(CPF0000)
 
 
 
/* RUN MISCELLANEOUS BILLING */
+
/* Run miscellaneous billing */
 
 
 
CALL PGM(CXBILL)
 
CALL PGM(CXBILL)
 
MONMSG MSGID(CPF0000)
 
MONMSG MSGID(CPF0000)
 
 
/* FTP SALES ORDERS WITH NO INVOICED LINES */
+
/* FTP SALES ORDERS WITH NO INVOICED LINES */
 
 
 
CALL PGM(INVCUP300)
 
CALL PGM(INVCUP300)
MONMSG MSGID(CPF0000)
+
+
/* REBUILD PROMO RESULTS FILES */
/* REBUILD PROMO RESULTS FILES */
 
 
 
 
CALL PGM(PXRESBUILD)
 
CALL PGM(PXRESBUILD)
MONMSG MSGID(CPF0000)
 
 
 
 
/* FOR VEDI AND COOP BILLING, SETTLE INVOICES TO TRANSFERS */
 
/* FOR VEDI AND COOP BILLING, SETTLE INVOICES TO TRANSFERS */
 
 
 
CALL PGM(CXBILL07)
 
CALL PGM(CXBILL07)
MONMSG MSGID(CPF0000)
 
 
 
 
/* CANCEL ANY HELD POS ORDERS THAT ARE FOUR DAYS OLD OR OVER */
 
/* CANCEL ANY HELD POS ORDERS THAT ARE FOUR DAYS OLD OR OVER */
 
 
 
CALL PGM(IOPMIN04)
 
CALL PGM(IOPMIN04)
  +
MONMSG MSGID(CPF0000)
 
 
 
/* DELETE ITEMS NOTES THAT HAVE EXPIRED */
 
/* DELETE ITEMS NOTES THAT HAVE EXPIRED */
 
 

Revision as of 13:54, 4 January 2016

The scheduler starts this job at 1:00AM; every morning except Sunday - when the End of Week is called. This job will -

- End all programs that use ASW or extension files, and end subsystems so users cannot sign on.

- Do a 'temporary' backup of data libraries only. This uses tape '999999', which has a retention period of one day so that it can be over written every night. It can be used if something happens during the overnight processing, to quickly restore a file the next day if needed (without having to call the tape from off site storage), and to rebuild the test environment.

- Run updates, reports, and housekeeping (clear work files and out queues, and delete unnecessary spool files).

The program is EODDAILY in library UNIPHARMIT.

- Sends the first email message - 'EOD starting (2:15 3:00 5:00 6:30)'.

- Calls EODEND2, which will end all processes that can use either ASW or extension files. This does not end Domino, so that I.T. staff will receive the emails being sent.

/* End EDI monitors for SPS Commerce and EDI Gateway */ 
                                                                               
             EDIENDMON                                                         
             EDIENDEDIG                                                        
 
/* End subsystems that run user jobs */                                                   
                                                                               
             ENDSBS     SBS(QINTER) OPTION(*IMMED)                             
             ENDSBS     SBS(QBATCH) OPTION(*IMMED)                             
             ENDSBS     SBS(DCRF) OPTION(*IMMED)                               
             ENDSBS     SBS(UP1480BS) OPTION(*IMMED)                           
             ENDSBS     SBS(TLABARCODE) OPTION(*IMMED)                         
             ENDSBS     SBS(BC400SERVR) OPTION(*IMMED)        
             ENDSBS     SBS(MONITOR2) OPTION(*IMMED)          
                                                              
/* End IMS, IMP, IOP, OMS, and EMA */           
                                                              
             CHGDTAARA  DTAARA(IMSWITCH) VALUE('STOP      ')  
             CHGDTAARA  DTAARA(IMPSWITCH) VALUE('STOP      ')
             CHGDTAARA  DTAARA(IOPSWITCH) VALUE('STOP      ') 
             CHGDTAARA  DTAARA(OMSWITCH) VALUE('STOP      ')
             CHGDTAARA  DTAARA(EMASWITCH) VALUE('STOP      ') 

             ENDIMSJOB                                        
             ENDIMPJOB
             ENDIOPJOB                                        
             ENDOMSJOB                                        
             ENDEMAJOBS                                       

             ENDIMSSUB  OPTION(*IMMED)                        
             ENDIMPSUB  OPTION(*IMMED)                        
             ENDIOPSUB  OPTION(*IMMED)                        
             ENDOMSSUB  OPTION(*IMMED)                        
             ENDEMASUB  OPTION(*IMMED)                        
                                                                               
/*  End Web servers, pause for one minute, then end subsystem */           
                                                                               
             ENDTCPSVR  SERVER(*HTTP) HTTPSVR(WEBSMART)                        
             ENDTCPSVR  SERVER(*HTTP) HTTPSVR(WEBTEST)                         
             ENDTCPSVR  SERVER(*HTTP) HTTPSVR(WEBINTER)                        
             DLYJOB     DLY(60)                                                
             ENDSBS     SBS(QHTTPSVR) DELAY(60)                                
                                                                               
/*  Explicity end Telnet server with a 5 minute delay - otherwise */
/*  there could be a problem with the RF guns */
                                                                                
             ENDTCPSVR  SERVER(*TELNET)                                        
             DLYJOB     DLY(300)                                               

- Calls EOD

/* Do temporary backup.  This is to restore files if update program     */ 
/* bombs.  It can be used to do a quick restore if say, a user deletes  */ 
/* something they shouldn't.  And it is used to rebuild test libraries. */ 
                                                                             
             CALL       PGM(EODBUTEMP)                                       
                                                                             
/*  Run End of Day - updates, reports, and housekeeping                 */ 
                                                                             
             CHGASWCOM  COMPANY(VA)                                          
             CALL       PGM(EODUPD)                                          
             CALL       PGM(EODRPT)                                          
             CALL       PGM(EODCLR)                                          
                                                                             
/* Clear consolidated item master file (XXITEMP).  This is rebuilt in   */ 
/* EODREBLD, but as it is used by so many jobs, it can be cleared only  */
/* in the Application Restricted State.                                 */
                                                                          
             RCLRSC                                                          
             CLRPFM     FILE(XXITEMP)                                        
                                                                             
/* Rebuild statistics files, and update summary files.  As this can run  */ 
/* while users are on the system, submit job to QBATCH so that it will   */
/* run after the system is brought back up again.  This gets it out of   */
/* the restricted state sooner.                                          */
                                                                           
            SBMJOB     CMD(CALL PGM(EODREBLD)) JOBQ(QS36EVOKE) 

EODBUTEMP

/* Hold BRMS maintenance report so it doesn't print.                     */
                                                                         
            OVRPRTF    FILE(QP1AEP) HOLD(*YES)                           

/* Call BRMS Maintenance to expire tape '999999'.  It has a one day      */
/* retention, but still must be expired before it can be used again.     */
/* Note that this temporary backup won't work if it runs before midnight.*/ 
                                                                        
            STRMNTBRM  RMVLOGE(*NONE) RUNCLNUP(*NO) RTVVOLSTAT(*NO) +    
                         CHGJRN(*NO) PRTEXPMED(*NO) PRTVSNRPT(*NO) +     
                         PRTBKUACT(*NO) PRTRCYRPT(*NONE)                 

/* Delete BRMS maintenance report                                        */
                                                                
            DLTSPLF    FILE(QP1AEP) SPLNBR(*LAST)    

/* Run BRMS control group UNITEMP, which will save user data files only. */                    
                                                                          
            STRBKUBRM  CTLGRP(UNITEMP) SBMJOB(*NO) 

EODUPD

/* Generate bills to suppliers for COOP AND VEDI.  This has to run first */
/* so that generated entries will be included in the updates.            */
                                                                             
            CXBILL03C                                                        
            CALL       PGM(CXBILL06)                                         
                                                                             
/* Run ASW command to put the current date minus 1 (as this job is       */
/* running after nidnight) into the LDA (local data area)                */

            CHGASWLDA  TYPE(*DATDZ) RELVAL(-1) STARTPOS(001)  

/* Extract yesterday's date from the LDA and convert it to numeric       */
        
            RTVDTAARA  DTAARA(*LDA (1 8)) RTNVAR(&DATEC)                     
            CHGVAR     VAR(&DATE) VALUE(&DATEC)    

/* Call ASW program to get yesterday's fiscal period, and convert to     */
/* character.                                                            */
                            
            GETPERIOD  DATE(&DATE) PERIOD(&PERIOD)                           
            CHGVAR     VAR(&PERIODC) VALUE(&PERIOD)                          
                                                                             
/* Print invoice journal.  This will be file DMR352P in WRKSPLF EDOJOB.  */
/* There are saved parameters for this.  Just change the date and period.*/ 
                                                                             
            RTVASWPAR  PGM(DMC352) PAID(INVJOURNAL) USER(*ALL)               
            CHGASWLDA  TYPE(*DATDZ) RELVAL(-1) STARTPOS(082)                 
            CHGASWLDA  VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(090) +           
                         POSITIONS(6)                                        
            EXCASWPGM  PGM(DMC352) PARM(N)                                   
                                                                             
/* Run nightly DIS to FIN.  Again, there are saved parameters for this.   */
/* Change the date and period.                                            */ 

            RTVASWPAR  PGM(GCFC751) PAID(DIS2FIN) USER(*ALL)                 
            CHGASWLDA  TYPE(*DATDZ) RELVAL(-1) STARTPOS(082)                 
            CHGASWLDA  VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(090) +           
                         POSITIONS(6)                                        
            EXCASWPGM  PGM(GCFC751) PARM(N)  
                                
/* Clear intermediate purchase suggestions from yesterday.                */
                                                                              
            RTVASWPAR  PGM(DIC801) PAID(CLRSUGPO) USER(*ALL)                 
            CHGASWLDA  TYPE(*DATDZ) STARTPOS(1)                              
            EXCASWPGM  PGM(DIC801) PARM(N)                                   
 
/* Generate purchase suggestions.                                         */
                                                                            
            RTVASWPAR  PGM(INVC431) PAID(PURSUG2MAI) USER(*ALL)                             
            EXCASWPGM  PGM(INVC431) PARM(N)                                 
                                                                             
            RTVASWPAR  PGM(INVC431) PAID(PURSUG3MAI) USER(*ALL)             
            EXCASWPGM  PGM(INVC431) PARM(N)                                 
                                                                             
/* Keep copy of purchase suggestions as there are sometimes questions     */
/* about whether something was generated here, or manually.               */
                                                                             
            CPYF       FROMFILE(UP1480BFVA/SROPUH) +                        
                         TOFILE(UP1480BFVA/SROPUH.B1) MBROPT(*REPLACE)      
            CPYF       FROMFILE(UP1480BFVA/SROPUL) +                        
                         TOFILE(UP1480BFVA/SROPUL.B1) MBROPT(*REPLACE)      

/* Update ASW Item Cost With Effective VEBA From CCP                      */
                                                                             
            CALL       PGM(IXRUP880)     
                                                                    
/* Note that we can operate if the following jobs are not run.  
/* Rebuild the Time Axis File                                             */
                                                                             
            RTVASWPAR  PGM(DMC951) PAID(TIMEAXIS) USER(*ALL)                 
            CHGASWLDA  VALUE(&PERIODC) TYPE(*CHAR) STARTPOS(007) +           
                         POSITIONS(6)                                        
            EXCASWPGM  PGM(DMC951) PARM(N)                                   
                                                                             
/* Rebuild A/R Credit Time Axis                                           */

            RTVASWPAR  PGM(GDMC195) PAID(ARAXIS) USER(*ALL)                  
            EXCASWPGM  PGM(GDMC195) PARM(N)                                  
                                                                             
/* Rebuild A/R and A/P Totals                                             */
                                                                             
            RTVASWPAR  PGM(FSC880) PAID(ARAPREBLD) USER(*ALL)                
            EXCASWPGM  PGM(FSC880) PARM(N)                                   
                                                                              
/* Calculate items that will have a 5% increase in cost or 5% decrease   */ 
/* in gross margin %, and email buyer.                                   */ 
                                                                             
            CALL       PGM(IXRIQ405)  
                                                                             
/* Send any 'READY' promos to ECU                                        */
                                                                             
            ECUPROMO                                                         
                                                                             
/* Adjust demand by items on promo.  This is so that purchase            */
/* suggestions for regular stocked items are not inflated by promo sales.*/
                                                                             
            PXDEMAND                                                         
                                                                              
/* Use average purchase cost for warehouse MAI in SROSRO to update       */
/* average purhcase cost in SROSRO for RET, and average purchase cost    */
/* in base item master file SROPRG                                       */
/* do not share open data path, as SRBPRG may not be open for update     */
                                                                             
            OVRDBF     FILE(SRBPRG) TOFILE(SRBPRG) SHARE(*NO)                
            CALL       PGM(AVGCST01)                                         

/* Run miscellaneous billing                                             */ 
                                                                             
            CALL       PGM(CXBILL)                                           
            MONMSG     MSGID(CPF0000)                                        
                                                                             
/* FTP SALES ORDERS WITH NO INVOICED LINES                               */ 
                                                                             
            CALL       PGM(INVCUP300)                                        
                                                                              
/* REBUILD PROMO RESULTS FILES                                           */ 
                                                                             
            CALL       PGM(PXRESBUILD)                                       
                                                                             
/* FOR VEDI AND COOP BILLING, SETTLE INVOICES TO TRANSFERS              */ 
                                                                             
            CALL       PGM(CXBILL07)                                         

/* CANCEL ANY HELD POS ORDERS THAT ARE FOUR DAYS OLD OR OVER            */
                                                                            
            CALL       PGM(IOPMIN04)                                        

/* DELETE ITEMS NOTES THAT HAVE EXPIRED                                  */
                                                                            
            CALL       PGM(DMRUP101)                                        
            MONMSG     MSGID(CPF0000)                                       
                                                                            
/* TRY TO REORGANIZE CARRIER INTERFACE FILE                             */
                                                                            
            RGZPFM     FILE(ATLASPF)                                        
            MONMSG     MSGID(CPF0000)                                                                                  
                                                                       

- Sends the second email message - 'Daily overnite processing ended normally' - at about 2:15AM.

- Resets the submit time for this job on the scheduler to 1:00AM. This is in case a warehouse supervisor has delayed it.