Pre-design background. System normally closes at 20:00 on another machine and that days' data files are created and delivered to the IBM for reporting.
The files are normally to be received before midnight. That the correct data file, from the correct business day, is used, needs to be verified. OS: DOS/VSE Design. It is fine if the COBOL program is running after 20:00 and before midnight. But... what about the date, is it correct? So, ask the OPs. Get confirmation that "today" is today. Oooh. That midnighty thing. Better check for that as well. If it is after midnight, need to subtract one from the date. Get them to confirm that. Hey, this is exciting. Oooh. Leap years as well. Code 'em up, always fun. Implementation. In the 12 programs, coded by three different programmers, there were four different ways the conversation with the OPS was carried out, and four ways the leap years was deal with. All. All. Of each. All. Were either wrong or plain stupid beyond comprehension. Steps were included in one 12-step job. All were secretly "coached" through various tests by those responsible for the code. Operations were trained. Productionon Needless to say, when "for real" came along the batch was actually starting at 23:30-00:30. DOS has a "TIME card" (it just punches-in with the rest of us). You want to change the current day (for this JOB), just put in a TIME card. Which meant that some jobs needed a TIME card, some didn't. Some needed one "part way through", some needed one for their entirety. Some programs, because of the "conversation" started before midnight but actually got into their work after midnight. This lasted a week. Some of the logs and complaints from OPs were hilarious. Did I mention that one of the files transferred contained the business date? No? OK, I'll mention it now. It was the 12th file. After a week of this nuttiness, we junked the 12 programs (can you imagine, a simple read-a-file-write-a-file program which was so bad it was not worth retaining?), wrote 12 new ones (OK, one new one and 12 copies, OK two new ones and 11 copies). Transferred the date file first, with all transfers in individual JOBs, and verified everything to the date file, using the new headers on the transfer files, and verifying the new trailers for counts and hash-totals. No operator involvement at all, no errors (not their fault, it wasn't even running long enough for them to accidentally screw it up, but it would have happened). Even when all is well, operators are users. They make typos. Having entered something correctly they can typo the verification. Having entered something incorrectly, they can typo the verification. Without a load of "DID YOU REALLY MEAN THAT?" 'conversation', find another way to do it. It'll be vastly simpler. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN