Difference between revisions of "Information Systems:Overnight ENDOFDAY"
| 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]]) |
| − | /* |
+ | /* 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== |
|
/* 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== |
|
/* 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,*/ |
||
| ⚫ | |||
/* 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)