On 4 October 2018 at 12:56, Charles Mills <charl...@mcn.org> wrote:
> The dynamic exits facility does a pretty much perfect job of isolating 
> various exit routines one from another.

I agree with Charles - it's a great facility with about all the power
and convenience one could ask for. (Now why certain IBM components
continue not to use it is another matter.)

Steff Gladstone wrote:
[...]
> (or issue the equivalent CSVDYNEX macro in an assembler program) to add our
> exit routines to the system exit points SYS.IEFUSI AND SYS.IEFACTRT,
[...]

I would just watch for two possible trouble areas:

Will either or both exits get control where you don't expect it, e.g.
for things other than batch jobs/steps? Your code may need to be aware
of its invocation environment that could be TSO, a
forked/spawned/exec'd UNIX job step, or an APPC transaction. Maybe you
don't have any of these, but your code should probably be aware and
ignore them gracefully if you don't want to process them.

On the flip side, dynamically adding exit routines to SYS.xxx may not
be enough to capture everything of interest. If it's your own system
and you know what your SMFPRMxx looks like, then fine. But depending
on the SYS and SUBSYS parameters, there could be exit points for
things like TSO.xxx or IMS.yyy or ASCH.zzz. Best generalized approach
if you're going to use CSVDYNEX is to issue CSVDYNEX  REQUEST=LIST,
and then scan the result for exit point names *ending* in .IEFUSI and
.IEFACTRT (noting that the left parts can be of different lengths). Or
of course just hard code what you know you need.

And it goes without saying that these exits run in the most highly
privileged state possible, i.e. key zero and supervisor state. So code
and test very carefully...

Tony H.

----------------------------------------------------------------------
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