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

Reply via email to