EXITS provided with z/OS by IBM

What exactly is an EXIT in z/OS? An EXIT is nothing more than a subroutine invoked by a program that can be customised to implement a predefined event in the execution of that same program. Confused? In that case imagine an EXIT as a way to customise the execution of a program or your z/OS system. That’s what an EXIT in z/OS is. 🙂

A simple example could be an EXIT provided by a Sort program to add the functionality of comparing records. The procedures customised and provided by the user (the EXIT) take the place of the default routines provided by the Sort program.

IBM provides several EXITS with z/OS that you, as a systems programmer, can customise and implement:

BCP Exits
Exit Description
USER1(name) Exit routine is given control after each record is read by SMF dump program
USER2(name) Exit routine is given control only when the dump program selects a record to be written
USER3(name) Exit routine is given control after the output dataset is closed by SMF dump program
IEAVTRML Allows installation to supply resource management routines
IXZXIT01 Allows installation to view, modify, or reroute a message or acknowledgement before the message arrives at the receiving member’s mailbox.
IXZXIT02 Allows installation to view or modify a message before it is retrieved from a mailbox.
IXZXIT03 Allows installation to attach to or detach from an installation-defined JES XCF group.
TSO Exits
Exit Description
ADRS exit Perform additional processing whenever a user selects the ADRS option from the Information Centre Facility
REXX attention handling Perform special attention processing
CHSFEXIT Change default space parameters that VM/PC servers use to dynamically allocate MVS datasets
Edit exit for RENUM, MOVE, and COPY subcommands Tailor the way line numbering is done
Edit exit for syntax checkers Supply syntax checker with dataset attributes
REXX exec initialisation Access or update REXX variables
REXX exec processing Perform special processing before REXX exec executes
REXX exec termination Access or update REXX variables
ICQAMFX1 Application manager function pre-initialisation
ICQAMFX2 Application manager function post-termination
ICQAMPX1 Application manager panel pre-display
ICQAMPX2 Application manager panel post-display
IDYTSINI TSOLIB initialisation
IKJADINI ALTLIB initialisation
IKJCNXCI CONSPROF initialisation
IKJCNX50 CONSOLE 80% message capacity
IKJCNX60 CONSOLE 100% message capacity
IKJCT43I EXEC initialisation
IKJCT43T EXEC termination
IKJCT44B Add installation-written CLIST built-in functions
IKJCT44S Add installation-written CLIST statements
IKJEESX0 SEND initialisation


SEND pre-display


SEND pre-save


SEND failure


SEND termination
IKJEESX5 LISTBC initialisation
IKJEESX6 LISTBC pre-display
IKJEESX9 LISTBC pre-allocate
IKJEFD21 FREE initialisation
IKJEFD22 FREE termination
IKJEFD47 ALLOCATE command initialisation
IKJEFD49 ALLOCATE command termination
IKJEFLD Logon pre-prompt
IKJEFLD1 Logon authorised pre-prompt
IKJEFLD3 Logon post-prompt
IKJEFLN1 Logon pre-display
IKJEFLN2 Logon post-display
IKJEFY11 OUTDES initialisation
IKJEFY12 OUTDES termination
IKJEFY60 PRINTDS initialisation
IKJEFY64 PRINTDS termination
IKJEGASI TESTAUTH subcommand initialisation
IKJEGAST TESTAUTH subcommand termination
IKJEGAUI TESTAUTH initialisation
IKJEGCIE TEST subcommand initialisation
IKJEGCTE TEST subcommand termination
IKJEGMIE TEST initialisation
IKJEGMTE TEST termination
IKJPRMX1 PARMLIB initialisation
IKJPRMX2 PARMLIB termination
INMCZ21R TRANSMIT/RECEIVE NAMES dataset pre-allocation


RECEIVE initialisation


RECEIVE termination


RECEIVE notification
INMRZ05R RECEIVE acknowledgment notification
INMRZ06R RECEIVE pre-acknowledgment notification


RECEIVE dataset preprocessing


RECEIVE dataset postprocessing


RECEIVE dataset decryption
INMRZ15R RECEIVE post-prompt
INMRZ21R RECEIVE log dataset pre-allocation


TRANSMIT startup


TRANSMIT termination


TRANSMIT encryption
INMXZ21R TRANSMIT log dataset pre-allocation
IRXINITX REXX pre-environment initialisation


REXX post-environment initialisation
IRXTERMX REXX environment termination
Names service exit Track changes made to Information Centre Facility names directories
Session Manager Initialisation/stream monitoring/termination
JES2 Exits
Exit Description
Exit 0 Pre-initialisation
Exit 1 Print/Punch Separators
Exit 2 JOB Statement Scan
Exit 3 JOB Statement Accounting Field Scan
Exit 4 JCL and JES2 Control Statement Scan
Exit 5 JES2 Command Preprocessor
Exit 6 Converter/Interpreter Text Scan
Exit 7 JCT Read/Write (JES2)
Exit 8 Control Block Read/Write (USER)
Exit 9 Job Output Overflow
Exit 10 $WTO Screen
Exit 11 Spool Partitioning Allocation ($TRACK)
Exit 12 Spool Partitioning Allocation ($STRAK)
Exit 13 TSO/E Interactive Data Transmission Facility Screening and Notification
Exit 14 Job Queue Work Select — $QGET
Exit 15 Output Dataset/Copy Select
Exit 16 Notify
Exit 19 Initialisation Statement
Exit 20 End of Input
Exit 21 SMF Record
Exit 22 Cancel/Status
Exit 23 FSS Job Separator Page (JSPA) Processing
Exit 24 Post-initialisation
Exit 25 JCT Read (FSS)
Exit 26 Termination/Resource Release
Exit 27 PCE Attach/Detach
Exit 28 Subsystem Interface (SSI) Job Termination
Exit 29 Subsystem Interface (SSI) End-of-Memory
Exit 30 Subsystem Interface (SSI) Dataset OPEN and RESTART
Exit 31 Subsystem Interface (SSI) Allocation
Exit 32 Subsystem Interface (SSI) Job Selection
Exit 33 Subsystem Interface (SSI) Dataset CLOSE
Exit 34 Subsystem Interface (SSI) Dataset Unallocation
Exit 35 Subsystem Interface (SSI) End-of-Task
Exit 36 Pre-security Authorisation Call
Exit 37 Post-security Authorisation Call
Exit 38 TSO/E Receive Dataset Disposition
Exit 39 NJE SYSOUT Reception Dataset Disposition
Exit 40 Modifying SYSOUT Characteristics
Exit 41 Modifying Output Grouping Key Selection
Exit 42 Modifying a Notify User Message
Exit 43 Transaction Program Select/Terminate/Change
Exit 44 JES2 Converter Exit (Main Task)
Exit 45 Pre-SJF Exit Request
Exit 46 Transmitting an NJE Data Area
Exit 47 Receiving an NJE Data Area
Exit 48 Subsystem Interface (SSI) SYSOUT Dataset Unallocation
Exit 49 Job Queue Work Select — QGOT
Exit 50 End of Input
Exit 51 Job Phase Change Exit ($QMOD)
Exit 52 JOB JCL Statement Scan (JES2 User Environment)
Exit 53 JOB Statement Accounting Field Scan (JES2 User Environment)
Exit 54 JCL and JES2 Control Statement Scan (JES2 User Environment)
Exit 55 NJE SYSOUT Reception Dataset Disposition
Exit 56 Modifying an NJE Data Area before Its Transmission
Exit 57 Modifying an NJE Data Area before Receiving the Rest of the NJE Job
JES3 Exits
Exit Description
IATUX03 Examine or modify converter/interpreter text created from JCL
IATUX04 Examine the job information from the JCL
IATUX05 Examine the step information from the JCL
IATUX06 Examine DD statement information from the JCL
IATUX07 Examine or substitute unit, type and volume serial information
IATUX08 Examine setup information
IATUX09 Examine final job status, JST and JVT
IATUX10 Generate a message
IATUX11 Inhibit printing of the LOCATE request or response
IATUX14 Job validation/restart LOCATE request or response
IATUX15 Scan an initialisation statement
IATUX17 Define set of scheduler elements
IATUX18 Check input authority level for consoles
IATUX19 Examine or modify temporary OSE
IATUX20 Examine or modify data written on job header pages
IATUX21 Create and write dataset headers for output datasets
IATUX22 Examine or alter the forms alignment
IATUX23 Examine or modify data written to trailer pages
IATUX24 Examine the Net-id and the devices requested
IATUX25 Examine or modify volume serial number
IATUX26 Examine MVS scheduler control blocks
IATUX27 Examine or alter the JDAB, JCT and JMR
IATUX28 Examine the accounting information as provided by the JOB statement
IATUX29 Examine the accounting information as provided by the JCT, JDAB and JMR
IATUX30 Examine authority level for TSO/E terminal commands
IATUX32 Override the DYNALDSN initialisation statement
IATUX33 JES3 control statement and JCL EXEC statement installation exit
IATUX34 JCL DD statement user exit and JCL EXEC statement installation exit
IATUX35 Validity check network commands
IATUX36 Collect accounting information
IATUX37 Modify the JES3 networking dataset header
IATUX38 Change SYSOUT class for networking datasets
IATUX39 Modify the dataset header for a SYSOUT dataset
IATUX40 Modify job header
IATUX41 Determines the disposition of job over JCL limit
IATUX42 TSO/E interactive data transmission facility screening and notification
IATUX43 Modify job header segments
IATUX44 Examine and modify the JCL
IATUX45 Examine and modify data sent to an output writer FSS
IATUX46 Select processors eligible for C/I processing
IATUX48 Override operator modification of output datasets
IATUX49 Override address space selected for C/I processing
IATUX50 Process user defined BSIDMOD codes for C/I processing
IATUX57 Select a single WTO routing code for JES3 MSGROUTE
IATUX58 Modify security information before JES3 security processing
IATUX59 Modify security information after JES3 security processing
IATUX60 Determine action to take when a TSO/E user is unable to receive a dataset
IATUX61 During MDS processing, chooses whether a job should be cancelled or sent to the error queue
IATUX62 Overrides the decision to accept a tape or disk mount
IATUX66 Assigns transmission priority to a SNA/NJE data stream
IATUX67 Determines action when remote dataset is rejected by RACF®
IATUX69 Determines if a message is to be sent to the JES3 global address space
IATUX70 Performs additional message processing
VTAM Exits
Exit Description
ISTAUCAG Calculates and records time during which a terminal user or an application program is logged onto an application program
ISTAUCAT Validates a logon request to an application program
ISTEXCVR Provides ACF/VTAM with an ordered list of virtual routes for path selection to transmit data through network
ISTINCDT User supplies supplementary tables to session-link unformatted system services table which ACF/VTAM uses to handle command input and message output
ISTINCLM User can change IBM-supplied logon mode table which contains parameters representing protocols for telecommunications session or user can supply supplementary tables
ISTINCNO User supplies supplementary tables to operation-level unformatted system services tables which handle commands from an ACF/VTAM operator and messages to an ACF/VTAM operator
ISTMGC00 Communication network management (CNM) table routes unsolicited network service requests to application programs to record and report maintenance statistics
ISTPUCWC Virtual route pacing window size calculator specifies limits to data flow through a network to avoid congestion in nodes along a virtual route
ISTRACON Module containing constants used to control functions not suitable for modification by operator command or start option
RACF Exits
Exit Description
ICHCCX00 Command exit
ICHCNX00 Command exit
ICHDEX01 RACF® password authentication
ICHFRX01 RACROUTE request=FASTAUTH preprocessing
ICHFRX02 RACROUTE request=FASTAUTH postprocessing
ICHPWX01 New password exit
ICHRCX01 RACROUTE request=AUTH preprocessing
ICHRCX02 RACROUTE request=AUTH postprocessing
ICHRDX01 RACROUTE request=DEFINE preprocessing
ICHRDX02 RACROUTE request=DEFINE postprocessing
ICHRIX01 RACROUTE request=VERIFY preprocessing
ICHRIX02 RACROUTE request=VERIFY postprocessing
ICHRLX01 RACROUTE request=LIST pre/postprocessings
ICHRLX02 RACROUTE request=LIST selection
ICHRSMFE RACF report writer
IRRACX01 ACEE compression/expansion
IRREVX01 Common command exit
ICHRFX03 RACROUTE request=FASTAUTH preprocessing
ICHRFX04 RACROUTE request=FASTAUTH postprocessing
IRRSXT00 SAF callable services router
Exit Description
CBRHADUX Object access method (OAM) auto-delete
CBRUXCUA Change use attribute installation exit
CBRUXEJC Cartridge eject installation exit
CBRUXENT Cartridge entry installation exit
IDAEOVXT VSAM EOV installation exit
IEFXVNSL Automatic volume recognition (AVR) nonstandard label processing
IFG0EX0A Format-1 DSCB not found during OPEN or EOV
IFG0EX0B Take control during OPEN for a DCB
IFG01991 Open, close, end of volume abnormal conditions
IFG0193G ISO/ANSI/FIPS Version 3 label exits for volume access, file access, label validation, and label validation suppression


DASD precalculation and postcalculation services
IGDACSDC Automatic class selection (ACS) data class exit
IGDACSSC Automatic class selection (ACS) storage class exit
IGDACSMC Automatic class selection (ACS) management class exit
IGG026DU Catalog pre-initialisation
IGG029DM Process after DADSM SCRATCH failure
IGG029DU DADSM SCRATCH pre-initialisation
IGG030DU DADSM RENAME pre-initialisation
IGGDARU3 DADSM RENAME postprocessing


System provided DADSM pre-processing and post-processing exit routines, associated with the IGGPRE00_EXIT and IGGPOST0_EXIT dynamic exits, for allocate, extend, scratch, partial release and rename functions.
IGXMSGEX Customize messages
NSLETRLI Nonstandard label processing for input trailers


Nonstandard label processing for output trailers


Nonstandard label processing for input headers


Nonstandard label processing for output headers
NSLREPOS Volume verification using the dynamic device reconfiguration (DDR) option for nonstandard label processing
NSLRHDRI Nonstandard label processing for restarting after a checkpoint


Volume label editor for open and EOV
IPCS Exits
Exit Description
ANALYZE exit Generate data for contention analysis
ASCB exit Generate information related to the address space or ASCB being processed
BLSUGWDM validity check routine Command validation routine for IPCS
Control block formatter exit Assist in formatting a control block
Control block status (CBSTAT) exit Perform analysis and generate condensed output describing information relevant to the debugging process
CTRACE buffer find exit Locate the component trace buffers in a dump for a particular component
CTRACE filter/analysis (CTRF) exit ·      Perform statistical analysis of the component trace

·      Provide additional component trace filtering

·      Limit the number of component trace entries processed

Find exit Associate a symbol with an AREA or STRUCTURE in a dump
GTFTRACE filter/analysis exit ·      Do statistical analysis of GTF trace records

·      Provide additional GTF trace record filtering

·      Limit the number of GTF trace records processed

GTFTRACE formatting appendage Format GTF trace records containing a particular FID and EID format in the user range.
Model processor formatting (MPF) exit Dynamically interact with the formatting service to augment its function
Post-formatting exit Supply a routine for any type of structure that can be described by a parmlib data statement
Scan exit Check the validity of an AREA or STRUCTURE in a dump
Task control block (TCB) exit Generate information related to the task control block (TCB) being processed
Verb exit Format and print dump datasets created by stand-alone, SVC or SYSMDUMP dumping services
RMF Exits
Exit Description
ERBMFDUC Internal processing
ERBMFEVT User sampler
ERBMFIUC Monitor I session initialisation
ERBMFPUS Post-processor
ERBMFRUR Report writer
ERBMFTUR Termination
ERBTRACE Field tracing



1 Comment

Leave a Reply

Your email address will not be published.


This site uses Akismet to reduce spam. Learn how your comment data is processed.