IBM Systems magazine - January/February 2020 - 15

*

*

manage passwords and
passphrases
Managing JES attributes for
jobs, such as destination and
resource use
Controlling SMF record writing,
switching and dumping

Because of the flexibility available in program logic, exit routines can be tailored to the exact
sort of processing an installation
needs. Exit routines can perform
tasks such as reading data sets
and performing table lookups on
external data, calling RACF* or
other security systems to check
on authorizations, sending emails,
checking the time of day or indeed
any other function that any program can perform. This gives exit
routines enormous power. Virtually every z/OS installation depends
upon some exit routines, whether in z/OS itself or in JES, TSO,
DFSMShsm or other subsystems.

What's the Risk?
Exit routines have all of the
advantages of functioning like
programs, but they also have
some of the drawbacks. While the
z/OS and subsystem exit points
are well defined and the parameter lists and return codes are well
documented, there's no guarantee
that the parameters and values
for the exit point will not change
between one z/OS release and another. So even if there's no change
in the logic, the exit routine must
at least be recompiled for every
release.
This brings up a second drawback. While programs (such as exit
routines) are infinitely variable in
the number and type of tasks they
can perform, once written, they're
difficult to change. Any change in
the logic of the program requires
updating the source code and
again, recompiling. And, of course,
any time a program is changed, it
should be thoroughly tested to ensure the change doesn't introduce
any problems.

Exit routines can provide valuable functions,
accessing data and performing tasks that
ordinary parameter members can't provide to
z/OS or its subsystems.

There are also some unique and
important challenges to exit routines for z/OS and its subsystems.
Some exits are supported by the
dynamic exits facility introduced
by IBM many years ago. Dynamic
exits are somewhat easier to manage, because they can be enabled,
disabled and updated by command, and multiple exit routines
can be associated with an exit
point. Unfortunately, not all exit
routines can use the dynamic exits
facility. In fact, most cannot, and
activating, deactivating or changing non dynamic exits routines
can be challenging.

Experts Needed
In general, exit routines in z/OS
systems must be written in
re-entrant Assembler language,
which requires skills that are nowadays increasingly scarce. Furthermore, many of the most important
exits must be written to run in a
privileged status-often in
supervisor state and system key.
This makes testing still more
difficult and extremely important.
An error in a privileged environment can result in a security exposure at the least or a catastrophic
failure at worst. Testing privileged
routines, however, can require
expertise that your organization
may have to outsource, meaning
unplanned expense.
The difficulties with exit routines arise not with the exits themselves, which are a powerful way to
provide detailed, granular processing that can be very useful. Instead,
what often keeps installations from
taking advantage of the flexibility
and functionality of exits is a lack of

knowledge in them, which is needed to build, maintain and test critical, reliable, Assembler-language
routines.

Overcoming Exit
Routine Difficulties
Exit routines can provide valuable
functions, accessing data and performing tasks that ordinary parameter members can't provide to z/OS or
its subsystems. So it's worth considering what can be done to overcome
some of the difficulties described
above. While Assembler language
skills are in short supply, some
installations may be able to leverage
programmers' C* language experience with IBM's Metal C compiler to
generate Assembler-source output.
For exits that are supported
by the dynamic exits facility, exit
routines can be written and tested
independently of existing exits
by specifying the jobname on
SETPROG EXIT commands. For
exits that cannot take advantage of
the dynamic exits facility, testing
can often be done on a separate
"sandbox" LPAR. And, of course,
vendor products are available that
address these issues.

Sample Exits From IBM
Every z/OS installation has a "wish
list" of items that would be nice
to have to make the installation
smooth. Sometimes, the functions
needed for those items are already
in your shop-all you need is a system exit. Each of IBM's "Installation
and Customization" manuals that
describe exit points include sample
exit routine uses. A look at these
sample suggestions can trigger
some ideas.

IBMSYSTEMSMAG.COM JANUARY/FEBRUARY 2020 | 15


http://www.IBMSYSTEMSMAG.COM

IBM Systems magazine - January/February 2020

Table of Contents for the Digital Edition of IBM Systems magazine - January/February 2020

Table of Contents
Editor's Desk: A new IBM Z cloud era
Currents: Bringing new talent to the mainframe workforce
Currents: On the web
Currents: Accessing electricity in Africa
Currents: Solutions
Currents: AI keeps pets engaged and entertained
Partner POV: The flexibility of z/OS means industry interoperability, but with it comes application programming risks
Hot Topics: Networking support and best practices for zCX
Cover Story: IBM Z Integration: The Next Chapter of the Cloud Journey: Data protection, privacy and enhanced functionality enable enterprises to confidently expose data and applications to the cloud
Feature 1: Cutting-Edge Innovation: Red Hat OpenShift, IBM Cloud Paks and more facilitate digital transformation
Feature 2: DevOps and IBM Z: You've Come a Long Way: IBM's three-pronged DevOps approach helps organizations leverage the IBM Z platform, tools and open-source strategies
TECH Showcase: Leveraging IBM z15, Parallel Sysplex, IBM Z Open Development, zCX and more is key for modernization
Techbits: IBM Lab Services enables next-gen IBM Z and LinuxONE systems
Techbits: Ask the Expert: EKMF and pervasive encryption
Beyond the Box: Everledger CEO and Founder Leanne Kemp on running an organization with purpose
Reference Point - Global Events, Education, Resources for IBM Z
2020 IBM Z Solutions Directory
IBM Systems magazine - January/February 2020 - Intro
IBM Systems magazine - January/February 2020 - Cover1
IBM Systems magazine - January/February 2020 - Cover2
IBM Systems magazine - January/February 2020 - 1
IBM Systems magazine - January/February 2020 - 2
IBM Systems magazine - January/February 2020 - 3
IBM Systems magazine - January/February 2020 - Table of Contents
IBM Systems magazine - January/February 2020 - 5
IBM Systems magazine - January/February 2020 - Editor's Desk: A new IBM Z cloud era
IBM Systems magazine - January/February 2020 - 7
IBM Systems magazine - January/February 2020 - Currents: Bringing new talent to the mainframe workforce
IBM Systems magazine - January/February 2020 - Currents: Solutions
IBM Systems magazine - January/February 2020 - Currents: AI keeps pets engaged and entertained
IBM Systems magazine - January/February 2020 - 11
IBM Systems magazine - January/February 2020 - 12
IBM Systems magazine - January/February 2020 - 13
IBM Systems magazine - January/February 2020 - Partner POV: The flexibility of z/OS means industry interoperability, but with it comes application programming risks
IBM Systems magazine - January/February 2020 - 15
IBM Systems magazine - January/February 2020 - Hot Topics: Networking support and best practices for zCX
IBM Systems magazine - January/February 2020 - 17
IBM Systems magazine - January/February 2020 - 18
IBM Systems magazine - January/February 2020 - 19
IBM Systems magazine - January/February 2020 - Cover Story: IBM Z Integration: The Next Chapter of the Cloud Journey: Data protection, privacy and enhanced functionality enable enterprises to confidently expose data and applications to the cloud
IBM Systems magazine - January/February 2020 - 21
IBM Systems magazine - January/February 2020 - 22
IBM Systems magazine - January/February 2020 - 23
IBM Systems magazine - January/February 2020 - 24
IBM Systems magazine - January/February 2020 - 25
IBM Systems magazine - January/February 2020 - Feature 1: Cutting-Edge Innovation: Red Hat OpenShift, IBM Cloud Paks and more facilitate digital transformation
IBM Systems magazine - January/February 2020 - 27
IBM Systems magazine - January/February 2020 - 28
IBM Systems magazine - January/February 2020 - 29
IBM Systems magazine - January/February 2020 - 30
IBM Systems magazine - January/February 2020 - 31
IBM Systems magazine - January/February 2020 - Feature 2: DevOps and IBM Z: You've Come a Long Way: IBM's three-pronged DevOps approach helps organizations leverage the IBM Z platform, tools and open-source strategies
IBM Systems magazine - January/February 2020 - 33
IBM Systems magazine - January/February 2020 - 34
IBM Systems magazine - January/February 2020 - 35
IBM Systems magazine - January/February 2020 - 36
IBM Systems magazine - January/February 2020 - 37
IBM Systems magazine - January/February 2020 - 38
IBM Systems magazine - January/February 2020 - TECH Showcase: Leveraging IBM z15, Parallel Sysplex, IBM Z Open Development, zCX and more is key for modernization
IBM Systems magazine - January/February 2020 - 40
IBM Systems magazine - January/February 2020 - 41
IBM Systems magazine - January/February 2020 - 42
IBM Systems magazine - January/February 2020 - 43
IBM Systems magazine - January/February 2020 - 44
IBM Systems magazine - January/February 2020 - Techbits: IBM Lab Services enables next-gen IBM Z and LinuxONE systems
IBM Systems magazine - January/February 2020 - 46
IBM Systems magazine - January/February 2020 - Techbits: Ask the Expert: EKMF and pervasive encryption
IBM Systems magazine - January/February 2020 - Beyond the Box: Everledger CEO and Founder Leanne Kemp on running an organization with purpose
IBM Systems magazine - January/February 2020 - Cover3
IBM Systems magazine - January/February 2020 - Cover4
IBM Systems magazine - January/February 2020 - Reference Point - Global Events, Education, Resources for IBM Z
IBM Systems magazine - January/February 2020 - SD
IBM Systems magazine - January/February 2020 - 2020 IBM Z Solutions Directory
IBM Systems magazine - January/February 2020 - CoverSD2
IBM Systems magazine - January/February 2020 - SD1
IBM Systems magazine - January/February 2020 - SD2
IBM Systems magazine - January/February 2020 - SD3
IBM Systems magazine - January/February 2020 - SD4
IBM Systems magazine - January/February 2020 - CT1
IBM Systems magazine - January/February 2020 - CT2
IBM Systems magazine - January/February 2020 - SD5
IBM Systems magazine - January/February 2020 - SD6
IBM Systems magazine - January/February 2020 - SD7
IBM Systems magazine - January/February 2020 - SD8
IBM Systems magazine - January/February 2020 - SD9
IBM Systems magazine - January/February 2020 - SD10
IBM Systems magazine - January/February 2020 - SD11
IBM Systems magazine - January/February 2020 - SD12
IBM Systems magazine - January/February 2020 - SD13
IBM Systems magazine - January/February 2020 - SD14
IBM Systems magazine - January/February 2020 - SD15
IBM Systems magazine - January/February 2020 - SD16
IBM Systems magazine - January/February 2020 - SD17
IBM Systems magazine - January/February 2020 - SD18
IBM Systems magazine - January/February 2020 - SD19
IBM Systems magazine - January/February 2020 - SD20
IBM Systems magazine - January/February 2020 - SD21
IBM Systems magazine - January/February 2020 - SD22
IBM Systems magazine - January/February 2020 - SD23
IBM Systems magazine - January/February 2020 - SD24
IBM Systems magazine - January/February 2020 - SD25
IBM Systems magazine - January/February 2020 - SD26
IBM Systems magazine - January/February 2020 - SD27
IBM Systems magazine - January/February 2020 - SD28
IBM Systems magazine - January/February 2020 - SD29
IBM Systems magazine - January/February 2020 - SD30
IBM Systems magazine - January/February 2020 - SD31
IBM Systems magazine - January/February 2020 - SD32
IBM Systems magazine - January/February 2020 - SD33
IBM Systems magazine - January/February 2020 - SD34
IBM Systems magazine - January/February 2020 - SD35
IBM Systems magazine - January/February 2020 - SD36
IBM Systems magazine - January/February 2020 - SD39
IBM Systems magazine - January/February 2020 - SD40
IBM Systems magazine - January/February 2020 - SD41
IBM Systems magazine - January/February 2020 - SD42
IBM Systems magazine - January/February 2020 - SD43
IBM Systems magazine - January/February 2020 - SD44
IBM Systems magazine - January/February 2020 - SD45
IBM Systems magazine - January/February 2020 - SD46
IBM Systems magazine - January/February 2020 - SD47
IBM Systems magazine - January/February 2020 - SD48
IBM Systems magazine - January/February 2020 - SD49
IBM Systems magazine - January/February 2020 - SD50
IBM Systems magazine - January/February 2020 - SD51
IBM Systems magazine - January/February 2020 - SD52
IBM Systems magazine - January/February 2020 - SD53
IBM Systems magazine - January/February 2020 - SD54
IBM Systems magazine - January/February 2020 - SD55
IBM Systems magazine - January/February 2020 - SD56
IBM Systems magazine - January/February 2020 - CoverSD3
IBM Systems magazine - January/February 2020 - CoverSD4
http://www.ibmsystemsmagmainframedigital.com/mspcomm/ibmsystemsmag/ibmsystems_mainframe_20201112
http://www.ibmsystemsmagmainframedigital.com/mspcomm/ibmsystemsmag/ibmsystems_mainframe_20200910
http://www.ibmsystemsmagmainframedigital.com/mspcomm/ibmsystemsmag/ibmsystems_mainframe_20200708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20200506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20200304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20200102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/2020mfse
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20191112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20190910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20190708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20190506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20190304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/relevantz_20190102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/2019mfse
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20190102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20181112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20180910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20180708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20180506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20180304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20180102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/2018mfse
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20171112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20170910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20170910_v2
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20170708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20170506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20170304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_sesupp
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20170102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_linuxsupp
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20161112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/MainframeSecurity
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20160910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20160708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20160506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20160304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20160102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20151112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150910_se
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150910
http://www.ibmsystemsmagmainframedigital.com/MFSkills
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150506_supp
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20150102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20141112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20140910_v2
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20140910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20140708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_gt_201405
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/BigData
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20140506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20140304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20140102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20131112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20130910_v2
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20130910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20130708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20130506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20130304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20130102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20121112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/buyersguide2013
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20120910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20120708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20120506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20120304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20120102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/ibmsystems_mainframe_2012bg
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20111112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20110910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20110708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20110506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20110304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20110102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20101112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20100910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20100910_bg
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20100708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20100506
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20100304
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20100102
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20091112
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20090910
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20090708
http://www.ibmsystemsmagmainframedigital.com/nxtbooks/ibmsystemsmag/mainframe_20090506
https://www.nxtbook.com/nxtbooks/ibmsystemsmag/mainframe_20090304
https://www.nxtbookmedia.com