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