Difference between revisions of "Information Systems:Overnight ENDOFDAY"

From uniWIKI
Jump to navigation Jump to search
Line 101: Line 101:
 
/* something they shouldn't. And it is used to rebuild test libraries. */
 
/* something they shouldn't. And it is used to rebuild test libraries. */
 
 
CALL PGM([[Overnight ENDOFDAY#EODBUTEMP|EODBUTEMP)
+
CALL PGM([[Overnight ENDOFDAY#EODBUTEMP|EODBUTEMP]])
 
 
/* Run End of Day - updates, reports, and housekeeping */
+
/* Set up production environment for company VA. */
 
 
 
CHGASWCOM COMPANY(VA)
 
CHGASWCOM COMPANY(VA)
 
 
/* Run End of Day updates. */
+
/* Run End of Day updates. */
 
 
CALL PGM(EODUPD)
+
CALL PGM([[Overnight ENDOFDAY#EODUPD|EODUPD]])
 
 
/* Run End of Day reports. */
+
/* Run End of Day reports. */
 
 
CALL PGM(EODRPT)
+
CALL PGM([[Overnight ENDOFDAY#EODRPT|EODRPT]])
 
 
 
/* Run End of Day housekeeping. */
 
/* Run End of Day housekeeping. */
 
 
CALL PGM(EODCLR)
+
CALL PGM([[Overnight ENDOFDAY#EODCLR|EODCLR]])
 
 
 
/* Clear consolidated item master file (XXITEMP). This is rebuilt in */
 
/* Clear consolidated item master file (XXITEMP). This is rebuilt in */
Line 133: Line 133:
 
SBMJOB CMD(CALL PGM(EODREBLD)) JOBQ(QS36EVOKE)
 
SBMJOB CMD(CALL PGM(EODREBLD)) JOBQ(QS36EVOKE)
   
'''EODBUTEMP'''
+
==EODBUTEMP==
   
 
/* Hold BRMS maintenance report so it doesn't print. */
 
/* Hold BRMS maintenance report so it doesn't print. */
Line 155: Line 155:
 
STRBKUBRM CTLGRP(UNITEMP) SBMJOB(*NO)
 
STRBKUBRM CTLGRP(UNITEMP) SBMJOB(*NO)
   
'''EODUPD'''
+
==EODUPD==
   
 
/* Generate bills to suppliers for COOP AND VEDI. This has to run first */
 
/* Generate bills to suppliers for COOP AND VEDI. This has to run first */
Line 223: Line 223:
 
CALL PGM(IXRUP880)
 
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. There may */
  +
/* be some 'unexpected results', but that will not stop us from receiving,*/
 
/* picking, and shipping orders. */
   
 
/* Rebuild the Time Axis File */
 
/* Rebuild the Time Axis File */
Line 293: Line 295:
 
/* Try to reorganize Carrier Interface File */
 
/* Try to reorganize Carrier Interface File */
 
 
RGZPFM FILE(ATLASPF)
+
RGZPFM FILE(ATLASPF)
 
- Sends the second email message - 'Daily overnite processing ended normally' - at about 2:15AM.
 

Revision as of 15:06, 4 January 2016

The scheduler starts this job at 1:00AM; every morning except Sunday - when the End of Week is called. It calls EODDAILY, which 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).

EODDAILY

/* send email that daily overnight process is starting                    */
                                                                            
             CHGVAR     VAR(&SMSG) VALUE('EOD starting (2:15 3:00 +         
                          5:00 6:30)')                                      
             CHGVAR     VAR(&LMSG) VALUE(&SMSG)                             
             CALL       PGM(OPMSGSEND) PARM(&SMSG &LMSG)                    
                                                                            
/* End all processes that use either ASW or extension files.  This is     */
/* so that the temporary backup can save all files, and because some of   */
/* the ASW jobs cannot run if any other jobs are using their files.       */
                                                                            
             CALL       PGM(EODEND2)                                        

/* run End of Day processing                                              */
                                                                            
             CALL       PGM(EOD)                                            
  
/* send email that daily overnight process ended normally                 */  
                                                                              
             CHGVAR     VAR(&SMSG) VALUE('Daily overnite processing +         
                          ended Normally')                                    
             CHGVAR     VAR(&LMSG) VALUE('This message means there +          
                          were no errors that halted processing.  If +        
                          this message is not sent, it means the +            
                          full backup cancelled this job.')                                  
             CALL       PGM(OPMSGSEND) PARM(&SMSG &LMSG)                      
                                                                              
/* Reset the submit time for this job on the scheduler to 1:00AM.  This is */
/* in case a warehouse supervisor has delayed it.                          */
                                                                              
             CHGJOBSCDE JOB(ENDOFDAY) ENTRYNBR(000025) +                     
                          SCDTIME('01:00:00') 

EODEND2

This 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)                                               

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)                                       
                                                                             
/* Set up production environment for company VA.                        */ 
                                                                             
             CHGASWCOM  COMPANY(VA)                                          
                                                                              
/* Run End of Day updates.                                              */ 
                                                                             
             CALL       PGM(EODUPD)                                          
                                                                             
/* Run End of Day reports.                                              */ 
                                                                             
             CALL       PGM(EODRPT)                                          
                                                                             
/* Run End of Day housekeeping.                                         */ 
                                                                             
             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. There may  */
/* be some 'unexpected results', but that will not stop us from receiving,*/
/* picking, and shipping orders.                                          */           
/* 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 purchase 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 - extract VEDI and COOP to be billed        */ 
                                                                             
            CALL       PGM(CXBILL)                                           
                                                                              
/* FTP Sales Orders with no invoiced lines.  Normally, the FTP'ed        */
/* invoice file includes cancelled order lines.  This will send orders   */
/* that haven't generated an invoice.                                    */ 
                                                                             
            CALL       PGM(INVCUP300)                                        
                                                                              
/* REBUILD PROMO RESULTS FILES for InfoNet                               */ 
              • move to EODrebld *********
            CALL       PGM(PXRESBUILD)                                       
                                                                             
/* For miscellaneous (VEDI & COOP) billing, settle invoice to transfers  */ 
                                                                             
            CALL       PGM(CXBILL07)                                         

/* Cancel any held POS orders that are four days old or more             */
                                                                            
            CALL       PGM(IOPMIN04)                                        

/* Delete item notes that have expired                                   */
                                                                            
            CALL       PGM(DMRUP101)                                        
                                                                             
/* Try to reorganize Carrier Interface File                              */
                                                                            
            RGZPFM     FILE(ATLASPF)