User exits
This chapter contains an approach to spell out the similarities and the differences between the JES3 user exits you might be running and how they could be implemented into JES2 exits.
 
8.1 JES3 user exits
Table  on page 113 contains a list of all the JES3-provided user exits and a brief description of the purpose of the exit.
The first step is to identify if you are using the exit or not. Some exits might be written by your installation, others might be provided by products that need to communicate with or monitor JES3: a batch job scheduler, for example.
All JES3 user exits are called IATUXnn. You do not have to do anything in JES3 to tell it that you want to use a given user exit. You simply assemble and link edit the user exit and place the module in a load library that is accessible to JES3. It is strongly recommended that you use SMP/E to manage your JES3 user exits because the macros that they use can be changed by JES3 service. If you do use SMP/E, SMP/E can be used to determine which exits you are using.
If you are not using SMP/E to manage the exits, use the *I_X_M=IATUXnn command to display information about every JES3 exit. The response to this command, as shown in Example 8-1, reports the load module size, the link edit date, and the number of times the load module has been used. This information helps you determine if the exit is in use or not. Note that the IBM provided exit stubs are not all the same size. Some are x’40’ bytes, some are x’80’ bytes, and some are other sizes. The IBM provided stubs reside in SYS1.SIATLIB and SYS1.SIATLPA.
Example 8-1 Obtaining information about JES3 user exit load modules
*I X M=IATUX03
IAT8476 IATUX03 - RES=00005 USE=00001 LOADS=00001 EP=1A7C1FA0
DELETE=Y
IAT8476 REL=HJS7780 DATE=04/04/11 TIME=14:34 APAR=NONE PTF=1.13.0
IAT8476 SIZE=00000040 AMODE=31 RMODE=ANY
Before you do any work to create a JES2 version of an existing JES3 exit, we strongly recommend reviewing the function of the exit to determine if you still require that function or not. Also, verify that the function provided by the exit would still be required following the migration to JES2 - might be JES2 or some other product provides that function without requiring an exit? Test and updating user exits is one of the most time-consuming activities during system upgrades, so the more exits you can eliminate, the better.
Using Table 8-1, identify the JES2 exit points that correlate to the exit functions that you will still require after the migration.
Table 8-1 JES3 user exits and corresponding JES2 exits
JES3 exit
Description
JES2 exit
IATUX03
Examine/Modify Converter/Interpreter Text Created from JCL
 
IATUX04
Examine the Job Information
 
IATUX05
Examine the Step Information
 
IATUX06
Examine the DD Statement Information
 
IATUX07
Examine/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/Response
 
IATUX14
Validate Fields in Spool Control Blocks During a JES3 Restart
 
IATUX15
Scan an Initialization Statement
 
IATUX17
Define Set of Scheduler Elements
 
IATUX18
Command Modification and Authority Validation
 
IATUX19
Examine/Modify Temporary OSE
 
IATUX20
Create and Write Job Headers for Job Output
 
IATUX21
Create and Write Data Set Headers for Output Data Sets
 
IATUX22
Examine/Alter the Forms Alignment
 
IATUX23
Create and Write Job Trailers for Job Output
 
IATUX24
Examine the Net Id and the Devices Requested
 
IATUX25
Examine/Modify Volume Serial Number
 
IATUX26
Examine MVS Scheduler Control Blocks
 
IATUX27
Examine/Alter the JDAB, JCT, and JMR
 
IATUX28
Examine the JOB JCL Statement
 
IATUX29
Examine the Accounting Information
 
IATUX30
Examine Authority Level for TSO/E Terminal Commands
 
IATUX32
Override the DYNALDSN Initialization Statement
 
IATUX33
Modify JCL EXEC Statement and JES3 Control Statement
 
IATUX34
Modify JCL DD Statement
 
IATUX35
Validity Check Network Commands
 
IATUX36
Collect Accounting Information
 
IATUX37
Modify the JES3 Networking Data Set Header for Local Execution
 
IATUX38
Change the SYSOUT Class and Destination for Networking Data Sets
 
IATUX39
Modify the Data Set Header for a SYSOUT Data Set
 
IATUX40
Modify Job Header for a Network Stream Containing a Job
 
IATUX41
Determine the Disposition of a Job that Exceeds the Job JCL Limit
 
IATUX43
Modify Job Header for a Network Stream Containing SYSOUT Data
 
IATUX44
Modify JCL Statements
 
IATUX45
Change Job Information for Data Sets Processed by an Output Writer FSS
 
IATUX46
Select Processors Eligible for C/I Processing
 
IATUX48
Override Operator Modification of Output Data Sets
 
IATUX49
Override the Address Space Selected for C/I Processing
 
IATUX50
JES3 Unknown BSID Modifier Exit
 
IATUX57
Select a Single WTO Routing Code for JES3
 
IATUX58
Modify Security Information Before JES3 Security Processing
 
IATUX59
Modify Security Information After JES3 Security Processing
 
IATUX60
Determine Action to Take When a TSO User Is Unable to Receive a Data Set
 
IATUX61
Cancel Jobs Going on the MDS Error Queue
 
IATUX62
Verify a Mount Request
 
IATUX63
Provide SSI Subsystem Installation String Information
 
IATUX66
Determine Transmission Priority for a SNA/NJE Stream
 
IATUX67
Determine Action When Remote Data Set Is Rejected by RACF
 
IATUX68
Modify Local NJE Job Trailers
 
IATUX69
Determine If a Message is to be Sent to the JES3 Global Address Space
 
IATUX70
Perform Additional Message Processing
 
IATUX71
Modify a Tape Request Setup Message
 
IATUX72
Examine/Modify a Temporary OSE or an OSE Moved to Writer Queue
 
If you are trying to map JES3 exits into JES2 exits, you must consider how JES2 is handling the input stream of JCL and where its exits are located. This is what Figure 8-1 on page 114 is depicting on a global scale.
Figure 8-1 JES2 exits: an overall view
You can also list the existing JES2 exits. This is depicted in Table 8-2 on page 115.
Table 8-2 List of JES2 exits
Exit
Environment
Description
0
JES2
Initialization
1
JES2
Separator page
2
JES2
Job card
3
JES2
Accounting
4
JES2
JECL card
5
JES2
Command
6
SUBTASK
Converter
7
JES2
$CBIO
8
USER
$CBIO
9
USER
Excession
10
JES2
$WTO
11
JES2
$TRACK
12
USER
$STRAK
13
USER
Netmail (obsolete)
14
JES2
$QGET
15
JES2
DS Separator
16
JES2
Notify
17
JES2
BSC Signon
18
JES2
SNA Logon
19
JES2
Init statement
20
JES2
End of Input
21
JES2
SMF
22
JES2
Cancel/Status
23
FSS
JSPA Separator
24
JES2
Post-initialization
25
FSS
JCT I/O
26
JES2
Termination
27
JES2
PCE Attach
28
USER
Job Termination
29
USER
End of Memory
30
USER
OPEN
31
USER
Allocation
32
USER
Job Select
Table 8-3 Table 8-2 (continued)
Exit
Environment
Description
33
USER
CLOSE
34
USER
Unallocation
35
USER
End of Task
36
USER
Pre-SAF
37
USER
Post-SAF
38
JES2
TSO Receive SAF
39
JES2
NSR SAF
40
JES2
Modify Sysout
41
USER
Generic Grouping
42
USER
Notify SSI
43
USER
APPC
44
JES2
Converter
45
USER
Pre-SJF
46
JES2
NJE Hdr Xmit
47
JES2
NJE Hdr Recv
48
USER
Late Unallocation
49
JES2
QGOT
50
USER
End of Input
51
JES2
QMOD
52
USER
Job Card
53
USER
Accounting
54
USER
JECL Card
55
USER
NSR SAF
56
USER
NJE Hdw Xmit
57
USER
NJE Hdw Xmit
As you can easily figure out when comparing Table  on page 113 and Table 8-2 on page 115, there are no obvious related exits between the two. You can approximate some similarities, which are exemplified in Figure 8-2 on page 117, but no systematic one-to-one can be made.
Figure 8-2 Some potential similarities between JES3 and JES2 exits
8.2 Source code changes (usermods)
Because the source code for JES3 is delivered with the product, it is possible that you have made changes to the source. In the past, a common example of such a change was to provide the ability to log on using the same TSO ID on more than one system in the JES3 complex. However, z/OS V2R1 provided that ability to JES3, and it was already available in JES2.
Take an inventory of any changes that you made to the JES3 source, and whether those changes would still be required following a migration to JES2.
You will probably need to change MPFLSTxx to cater for JES2 rather than JES3 messages.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset