Last week Jim Keohane of Multi-Platforms, Inc. wrote:

>    Doess TSS or ACF2 have facilities to allow multiple 
> modules to be daisy-chained when an exit in invoked?
> 
>    If no facilities are there any popular conventions for doing same?
> 
>    This would be for the case where a vendor and the customer 
> (or multiple vendors) supply the same exit (OCO).
> 
>    One roll-your-own approach would be to have one module 
> have a weak extern to a name to which the other module is 
> renamed. The first module gets control and, if weak extern 
> resolved then invokes the second module (both linked 
> togather) before or after its own processing.

I don't believe either product has any built-in facility for this. We have
provided exits for RACF as well as TSS and ACF/2 for a long time, and
generally have provided a small front-end module in source, that contains a
vcon for our OCO exit code, and detailed instructions to allow the customer
to link it in with either their own code or another vendor's, or both.
Depending on the exit's function, it may be a requirement to have exits
driven in a particular order, and to have subsequent exits honour (or not)
the return codes from earlier ones. And there are exits from which a
non-zero RC does not mean anything is wrong. Things can get ugly.

In the case of RACF and ACF/2, it is feasible to install the exits
dynamically, even though this is unsupported by IBM and CA respectively.
This is extremely well received by customers who might otherwise face an IPL
or at least a security system restart just to install (and remove...) a
product. We load a tiny gateway module into CSA, and never delete it. Then
if another product installs its own exit after ours or otherwise de- or
re-chains itself with respect to our code, or we need to reload our exit(s),
we avoid the risk of branching to code that isn't there anymore, and various
other unpleasant results. 

We don't know how to do a dynamic exit in TSS. Although there are some
pointers to the exit at various places in storage, we have chosen not to try
to reverse engineer TSS's scheme. The nature of the one-and-only TSS exit
also makes things a bit more complicated, as there is a matrix of supported
functions, which must of course include those required for all exits that
are linked together.

We'd be happy to discuss details of what we do in this area with other
vendors or customers, to the end of making life less complex and more
reliable for all concerned.

Tony Harminc
Proginet Corporation
[EMAIL PROTECTED]
http://www.proginet.com

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to