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

Reply via email to