Table of Contents (exploded view)
Abstract for JES2 Installation Exits
How to send your comments to IBM
Summary of changes for z/OS Version 2 Release 2 (V2R2) as updated December, 2015
Summary of changes
z/OS Version 2 Release 1 summary of changes
Introduction
What is a JES2 exit?
Environment
General
Program authority
Exit linkage
Return codes
Installation
Writing an exit routine
Language
Operating environment
JES2 environments
Synchronization
Reentrant code considerations
Linkage conventions
Addressing mode of JES2 exits
Addressing mode requirements
Residency mode requirements
Received parameters
Return codes
Control blocks
Determining the JES2 release level
Service routine usage
Exit logic
Exit-to-exit communication
Exit point-to-exit routine communication
Exit routine-to exit point communication
Exit-to-operator communication
Required mapping macros
JES2 main task environment exits
Assuming you minimally code the following for each exit
Required macros
JES2 subtask environment exits
Assuming you minimally code the following for each exit
Required macros
Functional subsystem address space environment exits
Assuming you minimally code the following for each exit
Required macros
User environment exits
Assuming you minimally code the following for each exit
Required macros
User environment exit considerations
Reentrancy
Accessing CKPTed Data Area
Accessing $CATs
Storage considerations
One time exit initialization code
Tracing
Recovery
Loading non-JES2 modules
Controlling the loading of installation-defined load modules
Loading and placement of installation load modules
Dynamic Load Modules
Dynamic Load Module Considerations
$$$$LOAD and $$$$DEL routines
$$$$LOAD Routine
$$$$DEL Routine
Special Considerations for LPA Modules
Enabling an exit
Getting listings of JES2 data areas
Sample exit routines
Multiple exit routines in a single module
Testing your exit routine
Packaging the exit
Initializing the exit in the system
Passing control to exit routines
Job-related exits
Tracing status
Establishing installation-defined exits
Hints for coding JES2 exit routines
Assembler instructions
Constants
DSECTs
Registers
Miscellaneous
IBM-defined exits
Exit selection table
Exit implementation table
Exit 0: Pre-initialization
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 0 gets control
Register contents when Exit 0 passes control back to JES2
Coded example
Exit 1: Print/punch separators
Function
Environment
Task
AMODE/RMODE requirements
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 1 gets control
Register contents when control passes back to JES2:
Coded example
Exit 2: JOB/JOBGROUP JCL statement scan (JES2 main task)
Function
Recommendations for implementing Exit 2
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Storage recommendations
Mapping macros normally required
Point of processing
Extending the JCT control block
Programming considerations
Register contents on entry to exit 2
Register contents when exit 2 passes control back to JES2
Coded example
Exit 3: JOB/JOBGROUP statement accounting field scan (JES2 main task)
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Extending the JCT control block
Programming considerations
Register contents when Exit 3 gets control
Register contents when Exit 3 passes control back to JES2
Coded example
Exit 4: JCL and JES2 control statement scan (JES2 main task)
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 4 gets control
Register contents when Exit 4 passes control back to JES2
Coded example
Exit 5: JES2 command preprocessor
Function
The JES2 command translator migration aid:
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 5 gets control
Register contents when Exit 5 passes control back to JES2
Coded example
Exit 6: JES2 converter exit (subtask)
Function
Related exits
Recommendations for implementing Exit 6
Environment
Task
Restrictions
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Storage recommendations
Mapping macros typically required
Point of processing
Programming considerations
Register contents when Exit 6 gets control
Register contents when Exit 6 passes control back to JES2
Coded example
Exit 7: Control block I/O (JES2)
Function
Related exits
Recommendations for implementing Exit 7
Programming considerations
Point of processing
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Register contents on entry to Exit 7
Register contents when Exit 7 passes control back to JES2
Coded example
Exit 8: Control block read/write (user, subtask, and FSS)
Function
Related exits
Programming considerations
Point of processing
Environment
Task
AMODE/RMODE requirements
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Register contents on entry to Exit 8
Register contents on return to JES2
Coded example
Exit 9: Output excession options
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents on entry to Exit 9
Register contents when Exit 9 passes control back to JES2
Coded example
Exit 10: $WTO screen
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations:
Register contents when Exit 10 gets control
Register contents when Exit 10 passes control back to JES2
Coded example
Exit 11: Spool partitioning allocation ($TRACK)
Function
Related exits
Recommendations for implementing Exit 11
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 11 gets control
Register contents when Exit 11 passes control back to JES2
Coded example
Exit 12: Spool partitioning allocation ($STRAK)
Function
Related exits
Recommendations for implementing Exit 12
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 12 gets control
Register contents when Exit 12 passes control back to JES2
Coded example
Exit 14: Job queue work select – $QGET
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 14 gets control
Register contents when Exit 14 passes control back to JES2
Coded example
Exit 15: Output data set/copy select
Function
Programming considerations
Environment
Task
AMODE/RMODE requirements
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Contents of registers on entry to Exit 15
Contents of register when Exit 15 returns to JES2
Coded example
Exit 16: Notify
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 16 gets control
Register contents when Exit 16 passes control back to JES2
Coded example
Exit 17: BSC RJE SIGNON/SIGNOFF
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Storage recommendations
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 17 gets control
Register contents when Exit 17 passes control back to JES2
Coded example
Exit 18: SNA RJE LOGON/LOGOFF
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 18 gets control
Register contents when Exit 18 passes control back to JES2
Coded example
Exit 19: Initialization statement
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 19 gets control
Register contents when Exit 19 passes control back to JES2
Coded example
Exit 20: End of input
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 20 gets control
Register contents when Exit 20 passes control back to JES2
Coded example
Exit 21: SMF record
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 21 gets control
Register contents when Exit 21 passes control back to JES2
Coded example
Exit 22: Cancel/status
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 22 gets control
Register contents when Exit 22 passes control back to JES2
Coded example
Exit 23: FSS job separator page (JSPA) processing
Function
Recommendations for implementing Exit 23
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Restrictions
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 23 gets control
Register contents when Exit 23 passes control back to JES2
Coded example
Exit 24: Post–initialization
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Creating an information string through Exit 24
Programming considerations
Register contents when Exit 24 gets control
Register contents when Exit 24 passes control back to JES2
Coded example
Exit 25: JCT read
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 25 gets control
Register contents when Exit 25 passes control back to JES2
Coded example
Exit 26: Termination/resource release
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 26 gets control
Register contents when Exit 26 passes control back to JES2
Coded example
Exit 27: PCE attach/detach
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 27 gets control
Register contents when Exit 27 passes control back to JES2
Coded example
Exit 28: subsystem interface (SSI) job termination
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Expanding the JCT control block
Register contents when Exit 28 gets control
Register contents when Exit 28 passes control back to JES2
Coded example
Exit 29: Subsystem interface (SSI) end-of-memory
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 29 gets control
Register contents when Exit 29 passes control back to JES2
Coded example
Exit 30: Subsystem interface (SSI) data set OPEN and RESTART
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 30 gets control
Register contents when Exit 30 passes control back to JES2
Coded example
Exit 31: Subsystem interface (SSI) allocation
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 31 gets control
Register contents when Exit 31 passes control back to JES2
Coded example
Exit 32: Subsystem interface (SSI) job selection
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 32 gets control
Register contents when Exit 32 passes control back to JES2
Coded example
Exit 33: Subsystem interface (SSI) data set CLOSE
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 33 gets control
Register contents when Exit 33 passes back control to JES2
Coded example
Exit 34: Subsystem interface (SSI) data set unallocation
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 34 gets control
Register contents when Exit 34 passes control back to JES2
Coded example
Exit 35: Subsystem interface (SSI) end-of-task
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 35 gets control
Register contents when Exit 35 passes control back to JES2
Coded example
Exit 36: Pre-security authorization call
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 36 gets control
Register contents when Exit 36 passes control back to JES2
Coded example
Exit 37: Post-security authorization call
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 37 gets control
Register contents when Exit 37 passes control back to JES2
Coded example
Exit 38: TSO/E receive data set disposition
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 38 gets control
Register contents when Exit 38 passes control back to JES2
Coded example
Exit 39: NJE SYSOUT reception data set disposition
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 39 gets control
Register contents when Exit 39 passes control back to JES2
Coded example
Exit 40: Modifying SYSOUT characteristics
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Contents of registers when Exit 40 gets control
Register contents when Exit 40 passes control back to JES2
Coded example
Exit 41: Modifying output grouping key selection
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 41 gets control
Register contents when Exit 41 passes control back to JES2
Coded example
Exit 42: Modifying a notify user message
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 42 gets control
Register contents when Exit 42 passes control back to JES2
Coded example
Exit 43: APPC/MVS TP selection/change/termination
Function
Related exits
Recommendations for implementing Exit 43
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Locks held before entry
Restrictions
Recovery
Job exit mask
Storage recommendations
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 43 gets control
Register contents when Exit 43 passes control back to JES2
Coded example
Exit 44: JES2 converter exit (JES2 main)
Function
Related exits
Recommendations for implementing Exit 44
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 44 gets control
Register contents when Exit 44 passes control back to JES2
Coded example
Exit 45: Pre-SJF service request
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Storage recommendations
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 45 gets control
Register contents when Exit 45 passes control back to JES2
Coded example
Exit 46: Modifying an NJE data area before its transmission
Function
Related exits
Recommendations for implementing Exit 46
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 46 gets control
Register contents when Exit 46 passes control back to JES2
Coded example
Exit 47: Modifying an NJE data area before receiving the rest of the NJE job
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 47 gets control
Register contents when Exit 47 passes control back to JES2
Coded example
Exit 48: Subsystem interface (SSI) SYSOUT data set unallocation
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 48 gets control
Register contents when Exit 48 passes control back to JES2
Coded example
Exit 49: Job queue work select - QGOT
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 49 gets control
Register contents when Exit 49 passes control back to JES2
Coded example
Exit 50: End of input
Function
Recommendations for implementing Exit 50
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 50 gets control
Register contents when Exit 50 passes control back to JES2
Coded example
Exit 51: Job phase change exit ($QMOD)
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 51 gets control
Register contents when Exit 51 passes control back to JES2
Coded example
Exit 52: JOB/JOBGROUP JCL statement scan (JES2 user environment)
Function
Recommendations for implementing Exit 52
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Storage recommendations
Mapping macros normally required
Point of processing
Extending the JCT control block
Programming considerations
Register contents on entry to Exit 52
Register contents when Exit 52 passes control back to JES2
Coded example
Exit 53: JOB/JOBGROUP statement accounting field scan (JES2 user environment)
Function
Related exits
Recommendations for implementing Exit 53
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restrictions
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Extending the JCT control block
Programming considerations
Register contents when Exit 53 gets control
Register contents when Exit 53 passes control back to JES2
Coded example
Exit 54: JCL and JES2 control statement scan (JES2 user environment)
Function
Recommendations for implementing Exit 54
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Restriction
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 54 gets control
Register contents when Exit 54 passes control back to JES2
Coded example
Exit 55: NJE SYSOUT reception data set disposition
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 55 gets control
Register contents when Exit 55 passes control back to JES2
Coded example
Exit 56: Modifying an NJE data area before its transmission
Function
Related exits
Recommendations for implementing Exit 56
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 56 gets control
Register contents when Exit 56 passes control back to JES2
Coded example
Exit 57: Modifying an NJE data area before receiving the rest of the NJE job
Function
Related exits
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 57 gets control
Register contents when Exit 57 passes control back to JES2
Coded example
Exit 58: Subsystem interface (SSI) end-of-step
Function
Environment
Task
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 58 gets control
Register contents when Exit 58 passes control back to JES2
Exit 59: JES2 converter exit (subtask)
Function
Related exits
Recommendations for implementing Exit 59
Environment
Task
Restrictions
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Storage recommendations
Mapping macros typically required
Point of processing
Programming considerations
Register contents when Exit 59 gets control
Register contents when Exit 59 passes control back to JES2
Exit 60: JES2 converter exit (subtask)
Function
Related exits
Recommendations for implementing Exit 60
Environment
Task
Restrictions
AMODE/RMODE requirements
Supervisor/problem program
Recovery
Job exit mask
Storage recommendations
Mapping macros normally required
Point of processing
Programming considerations
Register contents when Exit 60 gets control
Register contents when Exit 60 passes control back to JES2
Coded example
JES2 exit migration considerations
JES2 z/OS V1R11 migration details
JES2 z/OS V1R11 checkpoint activation
JES2 z/OS V1R11 exits and macros
JES2 z/OS V2R1 migration details
JES2 z/OS 2.1 input phase processing
JES2 z/OS 2.1 conversion phase processing
JES2 z/OS 2.1 data structure processing
JES2 z/OS 2.1 Exit 6 considerations
JES2 z/OS 2.1 Exit 7 and Exit 8 considerations
JES2 z/OS 2.1 Exit 36 and Exit 37 considerations
JES2 z/OS 2.1 Exit 44 considerations
JES2 z/OS 2.1 Exit 59 considerations
JES2 exit usage limitations
Sample code for Exit 17 and Exit 18
Job-related exit scenarios
Exit sequence
Selected exits
SPOOL control blocks
Checkpoint control blocks
Checkpoint control blocks for JQEs
Update-mode JQA considerations
Other processing considerations
JQE or JQA processing considerations
Checkpoint control blocks for JOEs
Update mode JOA considerations for wait conditions
Other processing considerations
JOA processing considerations
$JCT/JMR relationship
Input phase
Job input sources
Job input service processing
Conversion phase
Execution phase
Spin phase
Output phase
Hardcopy phase
NJE hardcopy phase exits
Purge phase