Thanks for all that information. If TEE was so difficult to implement, I shudder to think about my UNIX SUBSYS= functionality! I wonder about doing something "hinkey" in OPEN. OPEN can open multiple DCBs in a single SVC. So, I wonder if it does it them sequentially. If so, I wonder if it would be possible to dynamically add my DCBs onto the end of the list. Probably not something that would be long term viable.
-- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * (817)-961-6183 cell john.mck...@healthmarkets.com * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM > -----Original Message----- > From: IBM Mainframe Discussion List > [mailto:ibm-m...@bama.ua.edu] On Behalf Of kopplin > Sent: Monday, February 01, 2010 12:36 PM > To: IBM-MAIN@bama.ua.edu > Subject: Re: Friday thought - a couple of SUBSYS= subsystems > for discussion. > > ----- Original Message ----- > From: "Martin Kline" <martin.kl...@yrcw.com> > Newsgroups: bit.listserv.ibm-main > Sent: Monday, February 01, 2010 9:09 AM > Subject: Re: Friday thought - a couple of SUBSYS= subsystems > for discussion. > > > > >I think we could use the GPSAM routines from the CBT tape > to create the > >>TEE function. > > > > Both versions of this (CBT files 290 and 648) appear to > have been written > > in > > 1982. > > /snip/ > > I wrote a subsystem to do this TEE function about 25 years > ago. It turned > out > to be sorta non-trivial. It seemed pretty obvious that the > thing to do was > to > Open the Teed files from within subsystem Open. And the > subsystem Open is > running with the SYSZTION ENQ held, so one S138 later, the fun began. > > Since dropping and reaquiring the ENQ didn't seem a good > plan, the logic was > changed to do the (possible) dynamic allocation and Open when > the first > record > was written by the application. More fun accrued. > > Seems that some applications didn't necessarily write any > data on every run. > So, trying to close a file that wasn't opened led to more interesting > results. > > Additional fun arrived when an application wrote one record > using the COBOL > of the day, which used Put Locate, so, again, no data had > arrived when the > subsystem close code was driven. > > And those applications that were casual about closing files > meant that MVS > Termination was issuing Close, and the order of the DEB chain > meant that > DCBs > were being closed in other than the expected order. An interesting > variation > on that is when, after an application abend occurs, the close > routine is > driven. > Logic was added to see if the TCB was abending. If it was, > and the DCB > indicated printer control characters, a message was generated > indicating > that > the report was terminated by an xxx abend. I thought this was really > clever. > In a quarter century, nobody else has mentioned it. > > All that being said, it was popular (in the QWEST shop), and > is still in > common use. But... > > Somebody tried it with IMS GSAM (some kinda layer over BSAM) > and it got a > S0C4 > I wasn't having any luck figuring out. Fortunately the user > wasn't overly > concerned so GSAM became a restriction. > > And 2 or 3 years ago it was reported to blow up when somebody > tried it in a > multi-tasking environment. Applications weren't doing > multi-tasking back in > the day, so another restriction. > > SVC screening was used to resolve the issues around Close for > empty files, > and > SVC screening collided with some Y2K software back in the > day. Curiously, > faced with a choice of Y2K testing software, or this > subsystem, they went > with the subsystem on the production system. Didn't see that > one coming. > > There were only two occasions where MVS upgrades forced > changes. One was > when > the Convertor changed from 24 bit to 31 bit, the other was > when they changed > PUT to operate correctly in 31 bit mode (that's Put Locate again...) > > There were over 2,500 uses of the subsystem last Thursday, so > it's still > popular. > The assembly date for the load module is still 2/20/1997. > > If someone asked for equivalent function these days, I would > give them a > sample > of SPAWN() and pipes. If they aren't willing to try that, it > ain't worth > writing > a subsystem. (the ole make 'em prove they need it concept.) > > I got a metric shipload of bonus money for writing this back > when. These > days > I wouldn't even try to get management approval. > > How things have changed. > > Lance > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO > Search the archives at http://bama.ua.edu/archives/ibm-main.html > > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html