CONTROL - M For zOS Getting Started Guide PDF
CONTROL - M For zOS Getting Started Guide PDF
Supporting
Version 7.0.00 of Control-M for z/OS
September 2010
www.bmc.com
Telephone
Fax
Fax
Customer support
You can obtain technical support by using the BMC Software Customer Support website or by contacting Customer
Support by telephone or e-mail. To expedite your inquiry, see Before contacting BMC.
Support website
You can obtain technical support from BMC 24 hours a day, 7 days a week at http://www.bmc.com/support. From this
website, you can
read overviews about support services and programs that BMC offers
find the most current information about BMC products
search a database for issues similar to yours and possible solutions
order or download product documentation
download products and maintenance
report an issue or ask a question
subscribe to receive proactive e-mail alerts when new product notices are released
find worldwide BMC support center locations and contact information, including e-mail addresses, fax numbers, and
telephone numbers
product information
product name
product version (release number)
license number and password (trial or permanent)
messages received (and the time and date that you received them)
(USA or Canada) Contact the Order Services Password Team at 800 841 2031, or send an e-mail message to
[email protected].
(Europe, the Middle East, and Africa) Fax your questions to EMEA Contracts Administration at +31 20 354 8702, or send
an e-mail message to [email protected].
(Asia-Pacific) Contact your BMC sales representative or your local BMC office.
Contents
About This Guide
15
15
17
17
20
20
21
Chapter 1
23
Introduction to Control-M
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Main Components of Control-M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Facility Primary Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Toggling Between Display of Commands and Options . . . . . . . . . . . . . . . . . . . . .
Filtering the Active Environment Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Confirming a Job Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Checking the Log for the Job from the Active Environment Screen . . . . . . . . . . .
Checking the Sysout for the Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Holding and Deleting Active Environment Screen Job Orders . . . . . . . . . . . . . . .
Return to the Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Saving Job Scheduling Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting a Table from the Table List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formats of the Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exiting the Online Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
24
24
26
26
36
36
37
39
41
42
44
46
46
48
50
50
51
52
Chapter 2
55
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sections of the Job Scheduling Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Parameters Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basis Scheduling Parameters Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Runtime Scheduling Parameters Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Post-Processing Parameters Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conditions, Date Qualifiers, and Job Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
56
56
57
59
60
64
67
70
5
91
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Preparations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Defining Restart in the Job Scheduling Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Editing JCL from the Active Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Restarting the Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Chapter 4
105
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Preparations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Creating a SMART Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
SMART Table Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Planned Logic of the Job Scheduling Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Jobs Scheduling Definitions in the SMART Table. . . . . . . . . . . . . . . . . . . . . . . . . . 115
Saving the Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Points to Remember Concerning SMART Table Scheduling . . . . . . . . . . . . . . . . 126
SMART Table Entity Ordering and Job Ordering. . . . . . . . . . . . . . . . . . . . . . . . . . 127
Advantages of SMART Table Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Chapter 5
133
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Preparations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Using AutoEdit System Variables in the JCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
System Date, Working Date and ODATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Date System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Non-Date System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Introduction to AutoEdit Control Statements and Functions . . . . . . . . . . . . . . . . . . . 140
AutoEdit Function Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
%%$CALCDTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
%%$JULIAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Available Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supplying Variable Values through the Job Scheduling Definition. . . . . . . . . . . . . .
Checking AutoEdit Syntax and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activating Utility CTMAESIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AutoEdit Variables in Other Job Scheduling Definition Statements . . . . . . . . . .
Supplying Variable Values through an External Member. . . . . . . . . . . . . . . . . . . . . .
Pointing to External Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional AutoEdit Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Complex AutoEdit Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Local Variables and Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Global Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global Variable Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global Variable Access by Another Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global Variable Update by Another Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JCL Setup Operation Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
142
142
144
144
146
147
150
151
153
154
155
156
156
158
159
160
162
163
165
166
Chapter 6
167
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Closer Look At Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying the List of Available Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changing Active Environment Display Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a Note to a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying Table Names for Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying Job Dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying Execution Information from Job Runs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Job Order Execution History Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sysout Viewing Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Forcing an OK Status for a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying Statistics for a Job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying Jobs Belonging to a Specific SMART Table . . . . . . . . . . . . . . . . . . . . . . . .
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
168
168
169
173
175
176
179
180
182
182
184
186
188
189
190
190
Chapter 7
193
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Job Ordering Through Utility CTMJOB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New Day Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Daily Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining the JCL of a User Daily Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining the Date Control Record for a User Daily Job. . . . . . . . . . . . . . . . . . . . .
Defining the Job Scheduling Definition of a User Daily Job . . . . . . . . . . . . . . . . .
Contents
194
194
194
197
198
198
199
201
7
Additional Features
207
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Preparations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Defining Calendars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Structure of the IOA Calendar Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . 214
Responding to External Events through CMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Event Types Handled by CMEM - Available ON Statements. . . . . . . . . . . . . . . . 221
Creating On Spool Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Defining On Spool Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Bringing the Job On Spool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Additional Points About On Spool Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Batch Utility IOACND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Miscellaneous Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
History Jobs File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Journaling and Restoration Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Accumulating Statistics: Statistics Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Automatic Tape Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Simulating Job Execution and Forecasting Resource Usage . . . . . . . . . . . . . . . . . 234
Control-M/Restart Dataset Cleanup Utility CTRCCLN (R2) . . . . . . . . . . . . . . . . 235
Reporting Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Exit the Online Session. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Appendix A
Sample JCLs
239
Chapter 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
JOB1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
JOB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Chapter 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
JOB3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
JOB4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Chapter 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
JOB5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Chapter 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
JOB1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
JOB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
JOB3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
JOB4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
JOB5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Chapter 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
JOB6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
JOB7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
8
JOB8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JOB9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JOB3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JOB5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapter 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
JOB10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EXT1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
245
245
246
246
247
247
248
248
248
Index
249
Contents
10
Figures
Control-M Scheduling Definition Facility - Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . 26
Control-M Scheduling Definition Facility - Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . 27
Job Scheduling Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Job Scheduling Definition Screen Showing Completed Fields . . . . . . . . . . . . . . . . . . 30
Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Confirm Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Job Order Messages Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Control-M Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Show Screen Filter Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Filtered Display in the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Confirmation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Log Option in the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Control-M Log Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Job Order Execution History Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Sysout Viewing Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Delete Option in the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Job List Screen Exit Option Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Control-M Table List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Control-M Scheduling Definition Facility - Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . 57
Job Scheduling Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Option P (PLN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Job Scheduling Plan Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Job Scheduling Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Job Scheduling Definition for job IDJOB4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Why Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Confirmation Window for Adding Condition in Why Screen . . . . . . . . . . . . . . . . . . . 80
IOA Conditions/Resources Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Add Resources Window in IOA Conditions/Resources Screen . . . . . . . . . . . . . . . . . 82
Zoom Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Job Scheduling Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Confirm Restart Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Restart Step List Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
SMART Table Entity Scheduling Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Basic Scheduling Parameter Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Post-Processing Parameter Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Runtime Scheduling Parameter Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Figures
11
12
Tables
Job Scheduling Definition Screen Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Values for Job Scheduling Definition Screen Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Commands to Display Job List Screen Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Job Scheduling Definition Screen General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 60
Basic Job Scheduling Definition Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Runtime Scheduling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Post-Processing Parameters ON and DO Statements . . . . . . . . . . . . . . . . . . . . . . . . . . 67
PF Keys and Screen Navigation Commands for
Job Scheduling Plan Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
DO IFRERUN: Selected FROM Keyword values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Valid Values For the ON TABLE-END Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Non-Date AutoEdit System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Other AutoEdit Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Pointing to External Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Additional AutoEdit Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Valid AutoEdit Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
IDJOB8 SET VAR Statement Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Anticipated Results of Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Job Dependency Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Job Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Job Execution Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Format of the Second Date Control Record
(For Enhanced Daily Checkpointing Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Non-Routine Job Ordering Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
ON Statements Available to CMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
CMEM Action Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Job To Be Brought On Spool - Values for Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
CMEM Rule - Values for Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Job Scheduling Definition - Values for Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Qualifiers and Entity Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Report Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Tables
13
14
a list of recommended source material on the topics that were covered in the
chapter
The exercises in this guide are designed to be progressive, with each exercise building
on what was learned in a previous exercise. The chapters are organized the same
way, with each building sequentially upon earlier material. A brief explanation of
each chapter is shown below.
15
16
WARNING
The commands, instructions, procedures, and syntax illustrated in this guide presume that the
keyboards at your site are mapped in accordance with the EBCDIC character set. Certain
special characters are referred to in this documentation, and you must ensure that your
keyboard enables you to generate accurate EBCDIC hex codes. This is particularly true on
keyboards that have been adapted to show local or national symbols. You should verify that
$ is mapped to x'5B'
# is mapped to x'7B'
@ is mapped to x'7C'
If you have any questions about whether your keyboard is properly mapped, contact your
system administrator.
17
Preconfigured PFKeys
Many commands are preconfigured to specific keys or key combinations. This is
particularly true with regard to numbered PF keys, or pairs of numbered PFKeys. For
example, the END command is preconfigured to, and indicated as, PF03/PF15. To
execute the END command, press either the PF03 key or the PF15 key.
Instructions to enter commands may include
only the name of the command, such as, enter the END command
only the PF keys, such as, press PF03/PF15
or both, such as, press PF03/PF15, or enter the END command
User Entries
In situations where you are instructed to enter characters using the keyboard, the
specific characters to be entered are shown in this UPPERCASE BOLD text, for
example, type EXITNAME.
Syntax statements
In syntax, the following additional conventions apply:
A vertical bar ( | ) separating items indicates that you must choose one item. In the
following example, you would choose a, b, or c:
a | b| c
18
An ellipsis ( . . . ) indicates that you can repeat the preceding item or items as many
times as necessary.
Square brackets ( [ ] ) around an item indicate that the item is optional. If square
brackets ( [ ] ) are around a group of items, this indicates that the item is optional,
and you may choose to implement any single item in the group. Square brackets
can open ( [ ) and close ( ] ) on the same line of text, or may begin on one line of text
and end, with the choices being stacked, one or more lines later.
Braces ({ }) around a group of items indicates that the item is mandatory, and you
must choose to implement a single item in the group. Braces can open ( { ) and
close ( } ) on the same line of text, or may begin on one line of text and end, with the
choices being stacked, one or more lines later.
Screen Characters
All syntax, operating system terms, and literal examples are
presented in this typeface. This includes JCL calls, code examples, control
statements, and system messages. Examples of this are:
calls, such as
CALL CBLTDLI
19
Help Information
Variables
Variables are identified with italic text. Examples of this are:
Special elements
This book includes special elements called notes and warnings:
NOTE
Notes provide additional information about the current subject.
WARNING
Warnings alert you to situations that can cause problems, such as loss of data, if you do not
follow instructions carefully.
Help Information
Help information is readily available while using Control-M. Help screens can be
accessed by using the HELP command by typing HELP in the COMMAND line or by
pressing PF01/PF13 from any Control-M screen.
Use standard scrolling conventions (PF08/PF20 and PF07/PF19) to scroll forward and
backward through the help information. To return to the original screen, use the END
command (PF03/PF15).
Related Publications
Related Publications
Control-M for z/OS Planning and Implementation Guide
Practical guide for determining implementation objectives and, for planning and
performing the implementation of Control-M
21
Related Publications
22
Chapter
Introduction to Control-M
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Main Components of Control-M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Facility Primary Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Toggling Between Display of Commands and Options . . . . . . . . . . . . . . . . . . . . .
Filtering the Active Environment Display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Confirming a Job Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Checking the Log for the Job from the Active Environment Screen . . . . . . . . . . .
Checking the Sysout for the Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Holding and Deleting Active Environment Screen Job Orders . . . . . . . . . . . . . . .
Return to the Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Saving Job Scheduling Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting a Table from the Table List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formats of the Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exiting the Online Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to Control-M
24
24
24
26
26
36
36
37
39
41
42
44
46
46
48
50
50
51
52
23
Overview
Overview
Control-M is an automated production control and scheduling system that manages
and automates the setup, scheduling and execution of jobs in the z/OS data center.
The Control-M for z/OS Getting Started Guide provides you with an introduction to the
functionality of Control-M, and teaches you how to use Control-M, one step at a time,
with each step building upon what was learned in the previous step. Of necessity, the
explanations of topics in this book are not comprehensive. For comprehensive
explanations of topics, you should refer to the relevant guide, such as the Control-M
for z/OS User Guide, INCONTROL for z/OS Administrator Guide, and so on.
The first chapter of the Control-M for z/OS User Guide provides an introduction to
Control-M. You might find it useful to read that chapter before using this guide;
however, you can still easily use this guide without having read that chapter in the
User Guide.
This guide begins with a discussion of the main components of Control-M:
Before you are introduced to the main components of Control-M, you should prepare
the jobs that you will need in order to perform the exercises in this chapter.
Preparations
Create the JCL for two trivial jobs, identified throughout this guide as IDJOB1 and
IDJOB2. Define the jobs to execute IEFBR14. For purposes of this guide, identify the
JCL library as CTM.TEST.JCL.
24
You specify these instructions in job scheduling definitions that you define in the
Job Scheduling Definition screen. Each job scheduling definition must be defined
only once; it can then be used as often as needed. Job scheduling definitions are
stored in tables, or members, in a scheduling library.
2. Using the instructions you provided in the job scheduling definitions, Control-M
automatically tracks and controls the setup, scheduling, and execution of the job.
Control-M provides you with constant feedback on job processing, and enables
you to manually intervene in the processing of jobs, through a series of screens.
Tracking and Control facility is a general term that applies to the screens that
provide feedback on job processing, and enable manual intervention. The main
screen in this facility is the Active Environment screen, which provides status and
other information for currently scheduled and recently completed jobs, and
accepts your commands and instructions. The Active Environment screen also acts
as a gateway to other screens in the Tracking and Control facility.
You will take a first look at these components by doing the following in your first set
of exercises:
You will use the Scheduling Definition facility to create job scheduling definitions
for the two trivial jobs you just defined.
You will make submission of the first job dependent on a manual intervention
performed in the Active Environment screen.
You will make submission of the second job dependent on successful
completion of the first job.
You will observe the results in the Active Environments screen. Along the way,
you will become familiar with several commands, options and windows in the
Active Environment screen. You will also become familiar with the Control-M Log
screen.
To do this, enter the IOA Online facility, take a look at the main components of
Control-M, and perform the exercises.
Chapter 1
Introduction to Control-M
25
1 Request Option 2 from the IOA Primary Option menu, to access the Scheduling
Definition facility.
The Scheduling Definition Facility entry panel is displayed.
Figure 1
===>
===> N
===> N
(Y/N)
(Y/N)
23.00.04
26
2 Fill in the LIBRARY, TABLE, and JOB name fields in the entry panel. The request
appears similar to Figure 2.
Figure 2
===>
===> N
===> N
(Y/N)
(Y/N)
23.00.04
After entering the entry panel request, the Job Scheduling Definition screen is
displayed. A full job scheduling definition, which contains more lines than your
screen can display, is illustrated in Figure 3 on page 28.
Note that the first line in the screen, which is displayed above the COMMAND line,
contains the same information about the job that you provided in the entry panel.
Chapter 1
Introduction to Control-M
27
Figure 3
JOB: JOB1
LIB CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB1
MEMLIB
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP
DESC
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB1
DOCLIB
===========================================================================
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 00
D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY
SAC
CONFIRM
TIME ZONE:
===========================================================================
OUT
AUTO-ARCHIVE Y
SYSDB
Y
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
11.17.00
The Job Scheduling Definition screen is divided into sections, with each section
separated from another by a line of equal signs (= =). Later, you will learn more about
these sections and the fields they contain. The following table describes the fields of
the Job Scheduling Definition screen that you will complete during these exercises.
Table 1
28
Field
Description
MEMNAME
MEMLIB
GROUP
DESC
Table 1
Field
Description
DAYS
CONFIRM
OUT
Field
MEMNAME
IDJOB1. This value, taken from the entry panel, already appears,
because you specified the JCL member name in the JOB field of the
entry panel.
MEMLIB
GROUP
IDGRP1. This name will later be used to filter the display of jobs in
the Active Environment screen by Group name.
DESC
THIS JOB MUST BE RUN BEFORE IDJOB2 (to remind you what
this job does).
DAYS
CONFIRM
OUT
IDJOB1-ENDED-OK ODAT + (After specifying IDJOB1ENDED-OK, press Tab to get to the field in which to enter ODAT.)
Chapter 1
Introduction to Control-M
29
Figure 4
JOB: IDJOB1
LIB CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB1
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP1
DESC
THIS JOB MUST BE RUN BEFORE IDJOB2
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB1
DOCLIB
===========================================================================
DAYS
ALL
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY 00 SAC
CONFIRM Y
TIME ZONE:
===========================================================================
OUT
IDJOB1-ENDED-OK
ODAT +
AUTO-ARCHIVE
SYSDB
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
11.17.00
30
4 Exit the Job Scheduling Definition screen. The Job List screen is displayed.
Figure 5
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME ----- DESCRIPTION --------------------------------------------------IDJOB1
THIS JOB MUST BE RUN BEFORE JOB2
====== >>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<<<<< =====
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 15.37.39
The format of the Job List screen may be different than the format indicated in the
screen example shown above. The different formats of the Job List screen will be
discussed later in this chapter. The following procedure will ensure that you are
working with the desired format.
6 Type I (Insert) in the OPT (Option) field to the left of the entry for IDJOB1, and
press Enter.
Chapter 1
Introduction to Control-M
31
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME ----- DESCRIPTION --------------------------------------------------I
IDJOB1
THIS JOB MUST BE RUN BEFORE IDJOB2
====== >>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<<<<< =====
The Job Scheduling Definition screen is displayed. When you create a new job using
the I (Insert) option in the Job List screen, the newly created job contains most of
values defined in the job by which you specified the I option. Only the MEMNAME,
DOCMEM, and DESCRIPTION values are not carried over; instead, these fields are
left blank.
JOB:
LIB CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2 Y DFLT N
APPL
GROUP IDGRP1
DESC
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM
DOCLIB
===========================================================================
DAYS
ALL
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
TIME: FROM
UNTIL
PRIORITY 00 DUE OUT
SAC
CONFIRM Y
TIME ZONE:
===========================================================================
OUT
IDJOB1-ENDED-OK
ODAT +
AUTO-ARCHIVE
SYSDB
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
11.17.00
7 Type JOB2 in the MEMNAME field. The DOCMEM field will automatically be
filled in with the same value. Leave the DESC field blank.
32
+-----------------------------------------------------------------------------+
MEMNAME IDJOB2
MEMLIB
CTM.TEST.JOBLIB
OWNER
M44
TASKTYPE JOB
PREVENT-NCT2 Y DFLT N
APPL
GROUP IDGRP1
DESC
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB2
DOCLIB
===========================================================================
8 In the IN field, define the same value you had defined as the OUT value in JOB1
(IDJOB1-ENDED-OK ODAT). You should press Tab before typing ODAT, as you
did in IDJOB1. The + from the OUT value is not specified. After defining the IN
value, delete the Y from the CONFIRM field.
===========================================================================
IN
IDJOB1-ENDED-OK
ODAT
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY 00 SAC
CONFIRM
TIME ZONE:
===========================================================================
9 Change the plus sign (+) to a minus sign (-) in the OUT statement.
===========================================================================
OUT
IDJOB1-ENDED-OK
ODAT AUTO-ARCHIVE
SYSDB
MAXDAYS
MAXRUNS
The IN and the OUT fields are used for specifying conditions. These conditions can
be used to create job dependencies.
In this exercise, you used condition IDJOB1-ENDED-OK to ensure that IDJOB2
would not be submitted until IDJOB1 successfully completed:
Chapter 1
Introduction to Control-M
33
Specifying the same condition as an OUT condition with a minus sign in IDJOB2
removes the condition once IDJOB2 has successfully ended. This ensures that an old
occurrence of the condition will not satisfy the IN criteria.
Note also that every condition has an associated date value. This can be an explicitly
defined date, such as 0909, or a valid keyword value that represents a date. ODAT is a
keyword value that defaults to the current original scheduling date of the job. The
original scheduling date, and other date concepts, are discussed in Chapter 5,
AutoEdit and JCL.
10 Exit the job scheduling definition for IDJOB2. The Job List screen is displayed.
IDJOB2 now appears in the list, but since you did not define a description for it, no
description appears for the job.
Figure 6
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME -------- DESCRIPTION -----------------------------------------------IDJOB1
THIS JOB MUST BE RUN BEFORE IDJOB2
IDJOB2
====== >>>>>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<< =====
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 14.58.14
Notice the options at the bottom of the Job List screen. You will now use one of them,
the O (Order) option, to order these two jobs.
11 Request option O (Order) in the OPT field for both IDJOB1 and IDJOB2.
12 If a confirm window is displayed, confirm the job order by entering Y in the
CONFIRM field.
34
Figure 7
Confirm Window
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
+-------------------------------+
SCROLL===> CRSR
OPT NAME --|
CONFIRM Y
ODATE 020201
| ----------------O
IDJOB1
<===========|
ASK FOR EACH ONE Y
|
O
IDJOB2
+-------------------------------+
====== >>>>>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<< =====
For each job ordered, the Job Order Messages screen with messages similar to the
following will be displayed:
Figure 8
13 Press PF03/PF15 or enter the END command to exit the Job Order Messages screen
each time it is displayed.
The Job List screen is displayed.
You can now enter the Active Environment screen and check the results of the job
orders. You do not have to return to the IOA Primary Option Menu to request
Option 3, the Active Environment screen. Instead, by preceding an option with an
equal sign (=), you can move directly there from where you are.
Chapter 1
Introduction to Control-M
35
Filter:
COMMAND ===>
O Name
Owner
CICSPROD M22
CICSTEST M22
BRIVPCC IVP
BRCC0001 IVP
BRCC0002 IVP
BRCC0003 IVP
BRCCIND IVP
BRUPDT02 IVP
BRREP001 IVP
BRREP002 IVP
BRIVPCCE IVP
CRCCEND IVP
INTR0001 M22
------- Control-M
Active
Environment ------ UP
<D>
(3)
SCROLL ==> CRSR
Odate Jobname JobID Typ ------------ Status ------------020201 CICSPROD/04368 CST EXECUTING (RUN 1) GROUP=CICS-PROD
020201 CICSTEST/04372 CST EXECUTING (RUN 2) GROUP=CICS-TEST
020201 BRIVPCC /04369 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRCC0001/04382 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRCC0002/04383 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRCC0003/04384 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRCCIND /04385 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRUPDT02/04387 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRREP001/04388 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201 BRREP002/04389 JOB ENDED "OK"
GROUP=BR-IVP-CC
020201
/
JOB WAIT SCHEDULE
GROUP=BR-IVP-CC
020201
/
JOB WAIT SCHEDULE
GROUP=BR-IVP-CC
020201
/
JOB HELD WAIT SCHEDULE
GROUP=INTER-PRODUCTION
INTR0002 M22
020201
/
JOB HELD WAIT SCHEDULE
GROUP=INTER-PRODUCTION
INTR0003 M22
020201
/
JOB WAIT SCHEDULE
GROUP=INTER-PRODUCTION
INTR0004 M22
020201 INTR0004/04371 JOB ENDED- NOT "OK" - ABENDED
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
15.15.48
This screen is most probably displaying a number of jobs from your site that are not
relevant to these exercises. Soon, you will filter the display so that only the relevant
jobs are displayed. But first, look at the list of available commands or options at the
bottom of the screen.
36
The first command listed is OPt, and the bottom line actually explains that command
OPt can be used to toggle between the command display and the option display.
15 Enter OPT in the COMMAND field to toggle to the option display. The list of
available options is displayed at the bottom of the screen.
Opt: ? Why L Log H Hold Z Zoom R Rerun A Activate O Force OK V View Sysout
N Net D Del F Free S Stat G Group U Undelete J JCL Edit C Confirm 15.46.0
16 Again, enter OPT in the COMMAND field to redisplay the list of available
commands at the bottom of the screen.
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
15.15.48
One or the other of the two lists will be particularly relevant for different steps, and
you will be instructed, as necessary, to display the appropriate screen. Now that
the Command display appears, notice the SHOW command. You will be using the
SHOW command in the next set of steps.
17 Enter SHOW in the COMMAND field. The Show Screen Filter window is
displayed.
Chapter 1
Introduction to Control-M
37
Figure 10
The Show Screen Filter window enables you to filter the display based on certain
fields and values. The following steps explain what you need to know in order to
create the filter for use in these exercises. Filtering is explained in greater detail in A
Closer Look At Filters on page 169.
18 Specify that you want to create and save a filter called IDGS by entering IDGS in
the Filter field, and Y in the Save field. Specify a description for the filter by typing
GS-EXERCISES in the Desc field.
19 Define the filtering criteria by specifying IDGRP in the Group field. The filter
appears as shown below:
+------------------- Show Screen Filter -----------(3.SHOW)+
| Filter IDGS
Save Y (Y/N) Desc: GS-EXERCISES
|
| Memname
|
| Group
IDGRP
|
| Sch Lib
Tbl________|
The Group field works on a prefix basis. By assigning the IDGRP prefix value, the
filter will only display jobs whose Group name begins with IDGRP. This means
only the current jobs in group IDGRP1. In later chapters, it will also display jobs
belonging to groups idGRP2, idGRP3, and so on.
20 Press Enter to exit the window. The Active Environment now displays only IDJOB1
and IDJOB2.
38
Figure 11
Filter: IDGS
COMMAND ===>
O Name
Owner
IDJOB1
ID
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------020201
JOB Wait Confirmation (for
Schedule)
IDJOB2
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
A data line for each job order displays information about the job. This information
includes the job name, job owner and the job order date (ODATE), as well as other
information.
the status of each job order is displayed in the Status field for each data line.
When you examine the status of these jobs you will see the following:
satisfied, and this can only occur after IDJOB1 successfully ends.
To confirm that JOB1 should be submitted you need to enter the appropriate option
in the O (option) field by the job name.
You can now see that to confirm the scheduling of a job, you should enter line
command C (Confirm).
Chapter 1
Introduction to Control-M
39
Filter: IDGS
COMMAND ===>
O Name
Owner
c IDJOB1
ID
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------020201
JOB Wait Confirmation (for
Schedule)
IDJOB2
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Confirmation Window
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
+------------------------+ ---------- Status ------------C IDJOB1
<========|
Confirm Y
(Y/N)
| Wait Confirmation (for
+------------------------+ Schedule)
IDJOB2
ID
020201
Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
The Status field display changes for each of the two jobs, as they are executed.
40
Checking the Log for the Job from the Active Environment Screen
Checking the Log for the Job from the Active Environment
Screen
You can use the L (Log) option of the Active Environment screen to check the job log
for these jobs. The log is then displayed in the Control-M Log screen. If this option is
specified for multiple jobs in the Active Environment screen, the log displays will be
stacked. Each time PF03/PF15 is pressed, the next log in the stack is displayed, until all
logs have been displayed.
Figure 13
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------L IDJOB1
ID
020201 M21JOB1 /21309
JOB Ended "OK"
L IDJOB2
ID
020201 M21JOB2 /21310
JOB Ended "OK"
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
25 Type L (Log) in the O (Option) field to the left of IDJOB1 and IDJOB2, and then
press Enter. The log for IDJOB1 is displayed.
Figure 14
You can see the clear progression of messages that were generated as the job executed
under the control of Control-M. You can scroll the display forward to see additional
lines.
26 Press PF03/PF15.
Chapter 1
Introduction to Control-M
41
NOTE
If Control-M/Restart is not operational at your site, or if SYSDATA is not archived, skip the
remaining exercises in this section, and proceed to the topic Holding and Deleting Active
Environment Screen Job Orders below.
Enter option V for job IDJOB1 to check the sysout of job IDJOB1.
42
OPTION:
S SELECT
02.52.14
The Job Order Execution History screen, and the Sysout Viewing screen shown
below, are discussed in Chapter 6, Navigating The Active Environment.
28 Enter option S for the job run of IDJOB1 to request the desired Sysout.
The Sysout Viewing screen is displayed. You can scroll down and up, and right
and left, through the Sysout.
Chapter 1
Introduction to Control-M
43
Figure 16
29 Exit the Sysout Viewing screen, and then exit the Job Order Execution History
screen, to the Active Environment screen.
30 Type D (Delete) in the O (Option) field for both jobs, as shown below, and press
Enter.
Figure 17
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------D IDJOB1
ID
020201 M21
/21309
JOB Ended "OK"
D IDJOB2
ID
020201 M21
/21310
JOB Ended "OK"
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
44
The jobs are not deleted. Instead, a message appears at the top of the screen, as shown
below:
CTM653E CANNOT DELETE TASK
COMMAND ===>
O Name
Owner
Odate
D IDJOB1
ID
020201
D IDJOB2
ID
020201
========= >>>>>>>>>>>>>
UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------M21
/24861
JOB Ended "OK"
M21
/24866
JOB Ended "OK"
Bottom of Jobs List
<<<<<<<<<<<<< ========
The message, CTM653E CANNOT DELETE TASK IDJOB1 ODATE 020201 - NOT
HELD, indicates that the first requested deletion, that of job IDJOB1, could not be
performed because the job is not Held. In fact, any action that affects a job order, or
the status of a job order, cannot be performed until the job order is place in Held
status. To hold a job order, specify option H (Hold).
31 Replace the D option by each of the jobs with an H option and press Enter to place
the jobs in Held status.
The status of each job order changes to Requested Held Ended OK, and messages
at the top of the screen indicate the change. The last issued message for IDJOB2
remains displayed at the top of the screen.
CTM659I HOLD OF TASK IDJOB2 GROUP "IDGRP1 " ODATE 020201 PERFORMED
- (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB1
ID
020201 M21
/24861
JOB Requested Held Ended "OK"
IDJOB2
ID
020201 M21
/24866
JOB Requested Held Ended "OK"
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Chapter 1
Introduction to Control-M
45
CTM659I DELETE OF TASK IDJOB2 GROUP "IDGRP1 " ODATE 020201 PERFORMED
(3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Do not confuse deleting a job order from the Active Environment screen with
deleting a job scheduling definition from the Job List screen. Deleting the job order
impacts only that order. The job scheduling definition itself remains unaffected
and can be ordered again. If you delete a job scheduling definition from the Job
List screen, the job scheduling definition itself is gone, and the job can no longer be
ordered from the table.
46
Figure 18
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAN +-----------------------------------------------------------+ ===> CRSR
OPT N |
PLEASE SELECT EXIT OPTION
| --------i |
|
i |
SAVE
CREATE
|
===== |
| <<< =====
|
LIBRARY CTM.TEST.SCHEDULE
|
|
TABLE
IDGS1
|
|
|
+-----------------------------------------------------------+
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 16.22.13
The LIBRARY and TABLE fields indicate the library and table in which the job
scheduling definitions were defined. The specified values can be modified, for
example, to save the job scheduling definitions in a different table.
The window also contains SAVE and CREATE fields. The Exit Option window
enables you to perform many actions.
To create a new table in a library and save the job scheduling definitions in that
table, specify Y (Yes) in the CREATE field of the window, leaving the SAVE field
blank, and exit the window.
Because you specified a new table name in the entry panelone that had not
previously existedyou are now going to permanently create that table as well.
Therefore, the values you entered in this chapter are the values that you will use.
If you changed the library and table fields of the window to reflect a currently nonexisting table, you would also use these values.
To cancel the changes you made, specify N (No) in the both the SAVE and
CREATE fields of the window, and exit the window.
Chapter 1
Introduction to Control-M
47
To close the Exit Option window and remain in the Job List screen, with the
changes remaining in memory, press PF04/PF16 to execute the RESET command.
37 Specify Y in the CREATE field and leave the SAVE field blank.
The new table is created and the job scheduling definitions are saved in the table.
The Entry Panel is displayed.
NOTE
Normally, when you exit the Job List screen, the Table List screen is displayed. However, if
the Table List screen was bypassed when you entered the Scheduling Definition facility,
that is, if you specified a TABLE value in the entry panel, which you did, the Table List
screen is not displayed upon exiting the Job List screen; instead, the Entry Panel is
displayed.
38 Ensure that correct library name is entered in the LIBRARY field of the entry panel
and that the TABLE field is blank.
The Table List screen is displayed. Unless you are using a library dedicated to this
set of exercises, other table names appear in the Table list screen.
Figure 19
48
-------------(2)
SCROLL===> CRSR
CHANGED
SIZE INIT
MOD ID
00/05/09 00:50
70
70
0 O01
00/05/09 00:50
180
180
0 O01
00/05/09 00:50
41
41
0 O01
00/05/09 00:50
5
5
0 S07
00/05/09 00:50
9
9
0 S07
00/05/09 00:50
14
14
0 S07
00/05/09 00:50
5
5
0 S07
00/05/09 00:50
70
70
0 O01
00/05/09 00:50
180
180
0 O01
00/05/09 00:50
41
41
0 O01
00/05/09 00:50
5
5
0 S07
00/05/09 00:50
9
9
0 S07
00/05/09 00:50
14
14
0 S07
00/05/09 00:50
5
5
0 S07
00/05/09 00:50
180
180
0 O01
00/05/09 00:50
41
41
0 O01
00/05/09 00:50
5
5
0 S07
00/05/09 00:50
9
9
0 S07
00/05/09 00:50
14
14
0 S07
00/05/09 00:50
5
5
0 S07
GRAPHIC FLOW B BROWSE D DELETE 15.38.37
Among the options of the Table List screen are the options S (Select) and B (Browse).
Both these options bring you to the Job List screen, where the list of jobs in the table
are displayed, but each displays the Job List screen in a different mode:
The Select option displays the Job List screen in Edit mode. When you then select a
job from the Job List screen, you can edit and update the job scheduling definition.
The Browse option displays the Job List screen in Browse mode. When you then
select a job from the Job List screen, the job scheduling definition can be viewed,
but it cannot be edited or updated.
You will not edit the job scheduling definition at this point, so use the B (Browse)
option.
39 Either page down until the table name is visible, or perform an ISPF LOCATE to
locate your table. Ensure that the cursor is in the OPTION field for your table.
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME ----- DESCRIPTION --------------------------------------------------IDJOB1
THIS JOB MUST BE RUN BEFORE IDJOB2
IDJOB2
====== >>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<<<<< =====
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 15.37.39
From the Job List screen, you can now use the S (Select) option to browse either the
IDJOB1 or the IDJOB2 job scheduling definition in the table.
In addition to the screen shown above, there are other possible formats of the Job List
screen.
Chapter 1
Introduction to Control-M
49
Command
Description
DATA
STAT
Command STAT displays, next to the job name, the following ISPFlike statistical information about the job: Version and modification
numbers, creation date, last modification date, and user ID.
Alternate between specifying the DATA, STAT, and DESC commands in the
COMMAND field of the Job List screen, and note the differences in the display
following the entry of each command. Ensure that the last command you enter is
DESC, because that is the format you are using in the exercises in this guide.
Note that whichever format you use, the actual jobs listed in the screen, that is, jobs
IDJOB1 and IDJOB2, remain the same. The format of the Job List screen does not
affect which jobs are listed. It only affects the accompanying data that is displayed for
those jobs.
Review
Review
In this chapter you
created a job scheduling definition directly from the Entry panel, and then created
a second job scheduling definition by using the I (Insert) option in the Job List
screen
learned about and utilized the following job scheduling definition fields while
creating your job scheduling definitions
MEMNAME
MEMLIB
GROUP
DESC
DAYS
IN
CONFIRM
OUT
used IN and OUT conditions to create a dependency between the two jobs
Chapter 1
Introduction to Control-M
51
Recommended Reading
displayed the Active Environment screen, and toggled between display of the list
of commands and the list of options at the bottom of the screen
used the L (Log) option in the Active Environment screen to display the message
log for the job orders in the Control-M Log screen
used the V option to display the Job Order Execution History screen and from
there displayed the Sysout of a job execution in the Sysout Viewing screen
used the H (Hold) option so that you could delete job orders from the Active
Environment screen
used the D (Delete) option in the Active Environment screen to delete the job
orders when they were no longer needed
used the Exit Option window of the Job List screen to create a new table and save
your two job scheduling definitions in the table
learned the difference between the S (Select) and B (Browse) options of the Table
List screen
exited the Online facility by working your way up the screen hierarchy as you
exited individual screens
Recommended Reading
Before continuing with the next chapter, you should read the following in the
Control-M for z/OS User Guide
52
Recommended Reading
In Chapter 1
In Chapter 2
Description of the layout of the Job Scheduling Definition screen and the fields in
the screen
Introduction to the Active Environment screen and the description of its fields
In Chapter 3
Detailed descriptions of the parameters you have already used: CONFIRM, DAYS, DESC,
GROUP, IN, MEMLIB, MEMNAME, OUT
NOTE
The description of the parameter DAYS is quite detailed. Read it for a general understanding
of parameter usage and possible parameter formats, without trying to memorize all the detail.
For now, you can skip the information related to subparameters DCAL and AND/OR.
Chapter 1
Introduction to Control-M
53
Recommended Reading
54
Chapter
56
56
57
59
60
64
67
70
71
74
76
78
79
80
81
81
82
83
84
86
88
89
55
Overview
Overview
In the previous chapter, you were introduced to the Scheduling Definition Facility
and the Active Environment screen. In this chapter, you will
take a much closer look at the job scheduling definition screen, the sections into
which it is divided, and the many of the fields of those sections, including a focus
on
Basic Scheduling parameters
Runtime Scheduling parameters
Post-Processing parameters
use the Why screen, IOA Conditions/Resources screen, and the Zoom screen to
intervene when a job is not submitted
Preparations
In this chapter, you are going to create two new jobs and their job scheduling
definitions. In the last chapter, you used the names IDJOB1 and IDJOB2. In this
chapter, you will use the names IDJOB3 and IDJOB4, respectively. (You will use the
same library and table that you used in the last chapter.)
For the JCL of IDJOB4, use a copy of the same trivial JCL that you used for IDJOB1 &
IDJOB2that is, a job that does basically nothing, but ends successfully.
For IDJOB3, you need a JCL that will result in an error condition. For this purpose,
you will use a test utility in which you indicate the desired error return code.
You can now create the JCL for those jobs.
56
Create trivial job IDJOB3 to run utility TESTUTIL and define it to return a
condition code of C0008.
2 Enter your library and table names in the LIBRARY and TABLE fields, and IDJOB3
in the JOB field. The request appears as shown below:
Figure 21
===> N
===> N
(Y/N)
(Y/N)
23.00.04
57
JOB: IDJOB3
LIB CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB3
MEMLIB
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP
DESC
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB3
DOCLIB
===========================================================================
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
RETRO N MAXWAIT 00
D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
RESOURCE
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
11.17.00
IDJOB3 should be submitted only if the previous execution of the job (during the
previous month) ended OK.
58
IDJOB3 should be submitted from sometime between the hours of 11:00 p.m. on
Friday night and 4:00 a.m. on Saturday Morning.
If IDJOB3 ends OK, the appropriate reports are generated by the application.
If the budget for IDJOB3, as defined in the application, was exceeded, the job
returns a condition code of C0008 or above, depending on the amount by which
the budget was exceeded, and the job should end NOTOK.
If IDJOB3 ends NOTOK, that is, if it has a condition code of C00088 or higher, the
following should occur:
A condition should be created stating that the job ended NOTOK.
An appropriate message should be sent, or shouted, to user OPER1.
An auxiliary job, called IDJOB4, should be run to perform additional processing.
You can now fill in the job scheduling definition of IDJOB3. Note that fields are
described only briefly in the following sections, and that not all fields are discussed.
Detailed descriptions for all fields of the Job Scheduling Definition screen are
discussed in the Control-M for z/OS User Guide.
59
The General parameters, some of which you have seen earlier, provide basic
information about the job, and are shown in the following table.
Table 4
Parameters
Type of Information
MEMNAME, MEMLIB
OWNER
TASKTYPE
Type of job
DESC
Job description
APPL, GROUP
DOCMEM, DOCLIB
3 Specify the name of your test JCL library in the MEMLIB field
4 Specify IDGRP2 in the GROUP field.
5 Specify FISCAL RESULTS ON LAST FRIDAY OF MONTH in the DESC field.
The section looks as follows:
+-----------------------------------------------------------------------------+
MEMNAME IDJOB3
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP2
DESC
FISCAL RESULTS ON LAST FRIDAY OF MONTH
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB3
DOCLIB
===========================================================================
60
These basic scheduling parameters determine on what day the job is scheduled,
specifically, on what days the job becomes a candidate for execution. Scheduling days
can be expressed in many ways, according to need. Several of the basic scheduling
parameters are explained in the following table:
Table 5
Parameter
Explanation
DAYS
Days within the specified months on which to schedule the job. For
more information, see MONTHS in this table.
Values can be expressed in various formats, the simplest of which is
straight values. For example, values 01 and 15 would mean the
first and fifteenth day of the month, respectively.
Value ALL means all days of the month.
WDAYS
AND/OR
MONTHS
DATES
Several examples of how these parameters might be used are shown below.
61
===========================================================================
DAYS
01,15
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
In your job scheduling definition, you want to schedule the job on the last Friday of
the month. For this you need to know that in the DAYS parameter, a value of L1 means
the last day of the month, L2 is the second to the last day of the month, and so on.
62
NOTE
This example assumes your site-defined start of week is Monday. If the start of week is
defined as Sunday, use a WDAYS value of 6 instead of 5. If you do not know the sitedefined start of week, it does not really matter which value you use in this exercise.
But to use this parameter successfully in your real job scheduling definitions, you need to
know, and should find out from your INCONTROL administrator, your site-defined start
of week.
9 Make no changes to the MONTHS values, because they are correctly set to Y (Yes)
for all months.
This section of your screen appears as shown below:
===========================================================================
DAYS
L1,L2,L3,L4,L5,L6,L7
DCAL
AND/OR A
WDAYS
5
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
The values of the DAYS parameter limits the scheduling to the last week of the
month.
The A (And) value in the AND/OR field requires that both sets of criteria be
satisfied. This limits the scheduling to the last Friday in the last week of the month.
The Y (Yes) value for all months ensures that the scheduling on the last Friday of
the month will occur every month.
63
NOTE
The PIPE parameter is only displayed if MAINVIEW Batch Optimizer (MVBO) is installed at
your site.
The Runtime Scheduling parameters define runtime criteria that must be satisfied
before the job can be submitted. You have already seen the IN parameter and
CONFIRM parameters. Table 6 explains several of the Runtime Scheduling parameters.
Table 6
Parameter
Explanation
CONTROL
E Exclusive
S Shared
64
Table 6
Parameter
Explanation
TIME
FROM
UNTIL
TIME FROM indicates the earliest time that Control-M can submit
the job. If specified, the job is not submitted before this time of the
scheduling day.
TIME UNTIL indicates the latest time by which a job can be
submitted. If Control-M is unable to submit the job before this time
(for example, if a required resource is not available before the UNTIL
time), the job is not submitted.
Either value or both, or neither, can be specified. No value means
that a time factor is irrelevant for job submission.
Note: It is possible to specify the FROM/TO offset in days in
addition to the FROM/TO time. For details, see the Control-M for
z/OS User Guide.
PRIORITY
You had previously determined the following submission criteria for the job:
The job can be submitted only if the previous months execution of the job ended
OK.
The job must be submitted between the hours of 11:00 p.m. (Friday) and 4:00 a.m.
(Saturday).
65
11 Press Tab after specifying the condition name, to place the cursor in the DATE
field.
17 In the TIME FROM field, specify 2300. In the UNTIL field specify 0400.
18 In the PRIORITY field, specify *5.
19 In the CONFIRM field, which you defined in the previous exercise, delete the Y
value.
This section of the job scheduling definition appears as shown below:
===========================================================================
IN
IDJOB3-ENDED-OK
PREV
CONTROL
RESOURCE IDTAPE-DRIVE
0001
IDCPOWER
0005
PIPE
FROM TIME 2300
+
DAYS
UNTIL TIME 0400 +
DAYS
DUE OUT TIME
+
DAYS
PRIORITY *5
SAC
CONFIRM
TIME ZONE:
===========================================================================
66
Explanation
ON
67
Table 7
Explanation
DO
Note that this section contains a SHOUT WHEN statement. This statement, which is
not examined in this chapter, is different than the DO SHOUT statement.
You had previously decided to request the following post-processing activities:
If the job ends OK, which is a condition code of less than C0008
the prerequisite condition of the successful run from the previous month,
should be deleted
a new prerequisite condition indicating that the job ended OK should be
created.
If the job ends NOTOK, that is, it has a condition code of C0008 or higher
a condition must be created to indicate that the job ended NOTOK.
an appropriate message must be shouted to your user ID.
auxiliary job IDJOB4 must be run to perform additional processing.
ODAT +
After filling in the second condition, a new, blank OUT condition line is opened to
enable you to specify another condition.
68
21 In the ON block, specify ANYSTEP in the PGMST (program step) field, and
specify the value >C0007 in the CODES field. A value equal to or greater than
C0008 is synonymous with a value greater than C0007.
ODAT +
TO
URGENCY
TABLE
LIBRARY
JOB
DATE
DO
27 In the DO FORCEJOB statement, specify the current table name (IDGS1)in the
TABLE field; specify IDJOB4 in the JOB field; specify ODAT in the DATE field;
and specify the current scheduling library name in the LIBRARY field.
This section of the job scheduling definition appears as shown below:
69
===========================================================================
OUT
IDJOB3-ENDED-OK
ODAT +
AUTO-ARCHIVE
SYSDB
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
MAXRERUN
RERUNMEM
INTERVAL
STEP RANGE
FR (PGM.PROC)
.
TO
ON PGMST ANYSTEP PROCST
CODES >C0007
DO COND
IDJOB3-END-NOTOK
ODAT +
DO SHOUT
TO ID
URGENCY U
= FRIDAY FISCAL RESULTS RUN FAILED
DO FORCEJOB TABLE
IDGS1
JOB
IDJOB4
LIBRARY CTM.TEST.SCHEDULE
DO
ON PGMST
PROCST
CODES
DO
FROM
FROM
.
A/O
DATE ODAT
A/O
70
A condition is actually identified by the combination of its name and date. Two
conditions having the same name but different dates are considered two different
conditions. In the last chapter, you wanted the run of IDJOB2 to be dependent on the
run of IDJOB1 from the same day. Therefore, not only did the condition names of
both jobs have to match, but so did the dates. Use of the keyword ODAT for both the
IN and the OUT condition ensured that match. Had they run on different original
scheduling dates, there would have been no match.
In this chapter you create another type of dependencya dependency between
different runs of the same job on different dates. IDJOB3 cannot run this month unless
it successfully ran last month. The same condition name is used (IDJOB3-ENDEDOK), but with different dates for the IN condition and OUT condition.
The date of the OUT condition is the date of the current job run; in other words,
ODAT.
The IN condition can only be satisfied by the run from the previous month.
Therefore, the date of the OUT condition is PREV, a keyword that resolves to the
previous original scheduling date (that is, the last run) of the job.
71
Figure 23
Option P (PLN)
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME ----- DESCRIPTION --------------------------------------------------IDJOB1
THIS JOB MUST BE RUN BEFORE JOB2
IDJOB2
IDJOB3
FISCAL RESULTS ON LAST FRIDAY OF MONTH
====== >>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<<<<< =====
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 15.37.39
29 Enter option P for IDJOB3. A window containing FROM DATE and TO DATE
fields opens. This window enables you to specify the time period for which the
scheduling plan should be displayed.
Figure 24
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME -------- DESCRIPTION -----------------------------------------------IDJOB1
+---------------------+ FORE JOB JOB2
IDJOB2
| FROM DATE 020201 |
P
IDJOB3
| TO DATE
040301 | FRIDAY OF MONTH
====== >>>>>
+---------------------+ S IN TABLE
<<<<<<<<<<<<<<<< =====
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 11.16.50
The default FROM DATE value is the current working date. The default TO DATE
value is one month, or thirty days, following the current working date.
72
30 Set the FROM DATE to the first day of the current month. Set the TO DATE to the
last day of the current month, and press Enter.
The Job Scheduling screen is displayed.
Figure 25
2001
JOB SCHEDULING
MON
TUE
WED
THU
01
FRI
02
SAT
03
SUN
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
*
24
25
26
27
28
11.32.19
The Job Scheduling screen displays a calendar in graphic format. The dates within the
specified date range on which the job is to be scheduled are marked with an asterisk.
NOTE
If the specified date range spans multiple months, a different calendar panel is displayed for
each month, beginning with the first month. You can move between panels by pressing
relevant PF keys. PF keys and their associated commands are explained in the following table.
Table 8
PF Keys
Associated Commands
PF07/PF19
UP (scroll backward)
PF08/PF20
PF10/PF22
PF11/PF23
73
Defining JOB4
Months in the date range in which the job is not scheduled are not displayed.
You can also display the Job Scheduling screen from the Job Scheduling Definition
screen. To do so, enter PLAN in COMMAND field. This is especially useful for
checking your definition of a complex schedule while you are working on it.
31 Exit the Job Scheduling screen to display the Job List screen.
Defining JOB4
Save the definition of IDJOB3 and create IDJOB4, as explained in the following steps.
33 Specify Y in the SAVE field and leave the CREATE field blank.
The job scheduling definition is saved in the table. Because you bypassed the Table
List screen when you entered the job scheduling definition, the entry panel is
displayed.
You can now create JOB4 by specifying a new JOB name in the entry panel, as was
done when you created IDJOB1 and IDJOB3, or by performing an Insert procedure
in the Job List screen, as was done when you created IDJOB2.
Because JOB4 will be very similar to JOB2, you should use the Insert method.
Before going to the Job List screen, however, you should first enter the Table List
screen and select the table you want to use as a template for the new job.
34 Ensure the TABLE and JOB name fields are blank in the Entry panel, and enter the
correct library name.
The Table List screen is displayed.
74
Defining JOB4
JOB: IDJOB4
LIB CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB4
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2 Y DFLT N
APPL
GROUP IDGRP2
DESC
AUXILIARY JOB WHEN IDJOB3 ENDS NOTOK
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB4
DOCLIB
===========================================================================
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
IDJOB3-END-NOTOK
ODAT
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY 00 SAC
CONFIRM
TIME ZONE:
===========================================================================
OUT
IDJOB4-ENDED-OK
ODAT +
AUTO-ARCHIVE
SYSDB
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
75
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
11.17.00
40 Specify Y in the SAVE field and leave the CREATE field blank.
This time, because you entered the Table List screen on the way to the job
scheduling definition, the Table List screen is displayed.
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME ----- DESCRIPTION --------------------------------------------------IDJOB1
THIS JOB MUST BE RUN BEFORE IDJOB2
IDJOB2
IDJOB4
AUXILIARY JOB WHEN IDJOB3 ENDS NOTOK
IDJOB3
FISCAL RESULTS ON LAST FRIDAY OF MONTH
76
An ordered job is placed in the active environment only if its Basic scheduling criteria
are satisfied when the job is ordered, that is, only if the job should otherwise be
ordered for that day. This was the case when you ordered IDJOB1 and IDJOB2,
because both jobs had a DAYS value of ALL and a Y (Yes) value for every month,
which means that the Basic scheduling criteria of the job are satisfied every single day
of the year.
In this last exercise, you made IDJOB3 eligible for ordering on the last Friday of each
month. If you try to order the job on any other day, it will not be placed in the active
environment. There is an option, however, that enables you to force the job into the
active environment even when its Basic Scheduling criteria are not satisfied. This is
the F (Force) option that is shown at the bottom of the Job List screen.
The following procedure explains how to force the scheduling of IDJOB3. You should
be aware that you do not force IDJOB4, because IDJOB4 is a conditional job that is
forced by a DO FORCEJOB statement when job IDJOB3 fails with a condition code of
C0008 or above.
42 Enter option F (Force) for IDJOB3, as shown in the following Job List screen.
Figure 28
JOB LIST
LIB: CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
OPT NAME ----- DESCRIPTION --------------------------------------------------IDJOB1
THIS JOB MUST BE RUN BEFORE IDJOB2
IDJOB2
IDJOB4
AUXILIARY JOB WHEN IDJOB3 ENDS NOTOK
F
IDJOB3
FISCAL RESULTS ON LAST FRIDAY OF MONTH
====== >>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
<<<<<<<<<<<<<<<<<<< =====
OPTIONS S SEL D DEL I INS O ORDER F FORCE J JCL C COPY P PLN T JOBSTAT 15.37.39
77
Why Screen
You can now display the Active Environment screen and see the results of the
forced scheduling of IDJOB3.
46 Ensure that filter IDGS is displayed. If it does not appear in the Filter field, enter
SHOW IDGS in the COMMAND field.
47 If the Option line is not displayed at the bottom of the screen, enter OPT in the
COMMAND field to display the options.
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB3
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Opt: ? Why L Log H Hold Z Zoom R Rerun A Activate O Force OK V View Sysout
N Net D Del F Free S Stat G Group U Undelete J JCL Edit C Confirm 20.59.34
Through a combination of screens, you can determine why the job is in a Wait
Schedule status and correct the problems so that the job is submitted. Some of those
screens are displayed and explained in the following sections.
Why Screen
To see why the job did not run, request the ? (Why) screen. This screen can be
accessed from the Active Environment screen by requesting the ? option for the job.
The ? option is the first option listed in the option information line at the bottom of
the screen.
78
Why Screen
------------------------ IDJOB3
COMMAND ===>
OPT DESCRIPTION
TIME LIMIT
FROM
2300
RESOURCE
IDTAPE-DRIVE
RESOURCE
IDCPOWER
CONDITION IDJOB3-ENDED-OK
====== >>>>>>>>>>>>>>>>>>>>>
END OF "WHY"
OPTION:
UNTIL
0400
QUANTITY 0001
QUANTITY 0005
ODATE 0202
LIST
<<<<<<<<<<<<<<<<<<<<< =====
A ADD CONDITION
15.48.23
There is a TIME LIMIT problemthe job must be submitted between 11:00 p.m.
and 4:00 a.m. This problem does not appear in the Why screen if you happen to be
working on this guide during those hours.
NOTE
Your site-defined start of workday, that is, the time of New Day Processing, can impact
how the TIME FROM and UNTIL range determines when the job should be submitted.
For more information, see the discussion of date definition concepts in Chapter 1,
Introduction to Control-M, and the description of the TIME parameter in the
Control-M for z/OS User Guide.
79
The problems listed above are the runtime scheduling requirements that prevent
your job from running.
Runtime scheduling requirements are defined for a purpose, and it is generally not
desirable to nullify them or work around them. However, sometimes it does become
desirable to manually intervene to enable job submission, and Control-M allows for
such intervention. The following sections illustrate how you can correct the problems
and enable the job run.
------------------------ IDJOB3
COMMAND ===>
OPT DESCRIPTION
TIME LIMIT
FROM
2300
UNTIL
0400
RESOURCE
IDTAPE-DRIVE
QUANTITY 0001
RESOURCE
IDCPOWER
+-------------------------+
A CONDITION IDJOB3-ENDED-OK
<--------| CONFIRM Y
DDMM 0202 |
====== >>>>>>>>>>>>>>>>>>>>>
END OF "WH
+-------------------------+
OPTION:
A ADD CONDITION
14.45.44
The condition disappears from the Why screen, and a message appears at the top of
the screen stating that the condition has been added.
80
The IOA Conditions/Resources screen displays the list of existing Control and
Quantitative resources, which are stored in the Control-M Resources file, and the list
of existing conditions stored in the IOA Conditions file.
81
52 Enter ID in the PREFIX field. Ensure that the COND, CONTROL and RES values
are set to Y (Yes) to display conditions, Control resources and Quantitative
resources.
Only the condition you previously added in the Why screen should appear, unless
there are other conditions and resources that are prefixed by your ID. The display
appears as shown below:
-------------------------- IOA CONDITIONS/RESOURCES ------------------------(4)
COMMAND ===>
SCROLL ===> CRSR
PREFIX ===> ID
COND Y CONTROL Y RES Y STAT Y
DATE 0202 - 0202
OPT TYPE
CONDITION/RESOURCE
IOAID USE QUANTITY MAX *P
RBA
DATE
COND
idJOB3-ENDED-OK
0202
======== >>>>>>>>>>>>>>>> B O T T O M
O F
L I S T <<<<<<<<<<<<<<<< ========
54 Enter IDTAPE-DRIVE in the NAME field and 0001 in the COUNT field, and press
Enter.
Figure 32
The window is closed and the resource is added to the Control-M Resources list in the
specified quantity.
55 Repeat the previous step, but specify IDCPOWER in the NAME field, and a 0005
in the COUNT field.
The IOA Conditions/Resources screen now contains the required condition and
the necessary quantities of the required resources.
82
Note that the condition you added from the Why screen could have instead been
added using the ADD command in the IOA Conditions/Resources screen. In this case,
the command would have been ADD CONDITION instead of ADD RESOURCE. A Control
resource can be add using the command ADD CONTROL.
Note also, in accordance with the instruction line at the bottom of the screen, that the
IOA Conditions/Resources screen permits the deletion of resources and conditions.
TIME LIMIT
FROM
2300
UNTIL
====== >>>>>>>>>>>>>>>>>>>>>
END OF "WHY" LIST
0400
<<<<<<<<<<<<<<<<<<<<< =====
You can correct this remaining problem in a screen called the Zoom screen, which is
described in the following section.
83
Zoom Screen
Zoom Screen
The Zoom screen is very similar to the Job Scheduling Definition screen. Instead of
displaying the permanently defined job scheduling definition, however, the Zoom
screen displays the job scheduling definition of the requested job order.
In the Zoom screen, you can change or delete TIME FROM and TIME UNTIL criteria
for a job order. You can now display the Zoom screen, which is requested from the
Active Environment screen.
59 Enter option H for IDJOB3. Press Enter several times until the status of the job is
changed to Held Wait Schedule.
84
Zoom Screen
Zoom Screen
There are differences between the permanent definition displayed in the Job
Scheduling Definition screen, and the job order definition displayed in the Zoom
screen. For example, the definition in the Zoom screen does not display Basic
scheduling parametersthese parameters are irrelevant once the job order is in the
Active Environment. And the Zoom screen displays parameters such as SEARCH
COUNTER, which are not found in the job scheduling definition, but which are
relevant to the job order processing and have values set by Control-M.
The runtime scheduling parameters you defined for IDJOB3 appear in the Zoom
screen.
===========================================================================
IN
IDJOB3-ENDED-OK
0202
RESOURCE IDTAPE-DRIVE
0001
IDCPOWER
0005
PIPE
FROM TIME 2300
+
DAYS
UNTIL TIME 0400 +
DAYS
DUE OUT TIME 1159 +
DAYS
PRIORITY *5 SAC
CONFIRM N
TIME ZONE:
WAIT FOR ODATE:
CPU-ID
NODE NAME
NJE
SEARCH COUNTER 00000
===========================================================================
Of the runtime scheduling criteria you defined, the TIME FROM and TIME UNTIL
range remains the only problem. You can resolve this by simply changing the TIME
values in the Zoom screen.
85
61 Change TIME FROM to a value that is an hour earlier than your current system
time. Change the UNTIL value to a time that is several hours after the current
system time.
At this point, it is important that you note the following:
Any change to a job order in the Zoom screen changes the value for that job
order only. The permanent definition that you defined in the Job Scheduling
Definition screen remains unchanged.
You can now exit the Zoom screen and see the result.
62 Enter SAVE in the COMMAND field of the Zoom screen. The Active environment
screen is displayed.
63 Enter option F for the job order for IDJOB3. A message at the top of the screen
indicates that the freeing of the job is performed. The status of the job changes to
Requested Free Wait Schedule.
86
CTM659I FREE OF TASK IDJOB3 GROUP " " ODATE 020201 PERFORMED
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB3
ID
020201
JOB Requested Free Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
IDJOB3 changes to Wait Schedule status, and then goes through the regular
submission process. The job ends NOTOK (with a condition code of C0008).
The Shout message you defined is sent to your terminal. The message is similar
to the following:
CTM- FRIDAY FISCAL RESULTS RUN FAILED
CN(INTERNAL)
02.02 14:12
As a result of the condition code from IDJOB3, job IDJOB4 is forced and is
displayed in the Active Environment screen. Job IDJOB4 ends OK.
Filter: IDGS
------- CONTROL-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB3
ID
020201 M21
/31866
JOB Ended- Not "OK" Due to CC
IDJOB4
ID
020201 M21
/31867
JOB Ended "OK"
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
If desired, you can check the results of the job runs in the Log file. As you did in the
last chapter, you can enter option L for either or both jobs.
Alternatively, you can enter =5 in the COMMAND line to request option 5 of the IOA
Primary Option menu. This option displays the IOA Log screen. Once in the IOA Log
screen, you can define a filter to filter the job display in much the same way that you
did in the Active Environment screen.
87
Review
Review
In this chapter you
looked closely at the sections in the Job Scheduling Definition screen, and learned
about the following parameters that were not discussed in the last chapter
WDAYS
MONTHS
(DATES)
CONTROL
RESOURCE
TIME FROM / UNTIL
PRIORITY
ON
DO COND
DO SHOUT
DO FORCEJOB
88
viewed the scheduling plan of a job in the Job Scheduling Plan screen
used the Why screen to see why a job didnt run, and to add a missing condition
filtered the display of the IOA Conditions/Resources screen, and used the screen
to add Quantitative resources
used the Zoom screen to alter the runtime parameters of a job order
learned more prerequisite conditions and their associated dates, including the
PREV date
Recommended Reading
Recommended Reading
Before continuing with the next chapter, it is recommended that you read the
following in the Control-M for z/OS User Guide.
In Chapter 2
Description of the Job Scheduling Plan screen, Why screen, Zoom screen and IOA
Conditions/Resources screen
In Chapter 3
Detailed parameter descriptions of the parameters you have used (mentioned above,
under Review)
NOTE
The descriptions of the ON and WDAYS parameters are quite detailed. Read those descriptions
for a general understanding of parameter usage and possible parameter formats, without
trying to memorize all the detail. For now, you can skip the information related to
subparameter WCAL in the WDAYS parameter description.
89
Recommended Reading
90
Chapter
91
Overview
Overview
In the last chapter, you used a DO FORCEJOB statement in an ON/DO block to force
a remedial job following a job failure. However, rather than run a remedial job
following job failure, it is more likely that you will want to correct the problem and
then restart the job that failed.
In this chapter, you will learn to use Control-M/Restart to perform job restarts when
they become necessary. Before you do, however, you should be clear about the
difference between a job rerun and a job restart.
Job rerun is the re-execution of a scheduled job, starting from the beginning. For
example, if a job fails, the entire job can be rerun. At best, rerunning a job can waste
processing time on already successfully completed job steps; and unless certain
precautions are taken, if successful job steps from the prior run performed updates
before the job failed, rerunning the job can create problematic results by repeating
those updates.
Job restart is the re-execution of a job beginning at a particular step. In general, the
results of successful job steps before the failure are utilized, and re-execution
continues from the end of the last successful step.
Control-M/Restart automates restart by identifying the step at which to initiate a job
restart, and by performing necessary tasks to ensure that job restart is error-free.
Two separate processes are required for Control-M/Restart to restart under
Control-M:
In this chapter, you will define restart parameters in the job scheduling definition,
and then, following job failure and correction of the problem, see and involve
yourself in the process of restart.
Preparations
For this chapter, you will create a new job and its job scheduling definitions. You will
use the name IDJOB5, and the same library and table that you used in the preceding
chapter.
92
To create the JCL for IDJOB5, begin with a copy of the TESTUTIL JCL, such as the JCL
you used for IDJOB3. Recall that for job IDJOB3 this JCL had one step, which you
defined to end with a condition code of C0008. For IDJOB5, you should make the
following changes:
1. Change the step so that it ends with a condition code of C0000 (so the step ends
OK).
2. Copy the changed step and its accompanying DD statements four times, so that
you have five steps in the job. Name those steps S1, S2, S3, S4, and S5, respectively.
3. Change the third step (S3) so that it ends with a condition code of C0008.
Your job should now have five steps, four of which end okay, but one, the third, that
ends with a condition code of C0008.
You can now continue with the first part of these exercises; the creation of the job
scheduling definition.
In the MEMNAME field, specify IDJOB5. Fill in the appropriate JCL library
name in the MEMLIB field.
In the DAYS field, specify ALL, and specify Y in all the MONTHS fields. These
are the only Basic Scheduling parameters you should define.
ODAT
You are now ready to define the ON and DO statements. These will include your
restart parameters.
Chapter 3
93
3 In the ON block, specify ANYSTEP as the program step (PGMST) value. Specify
>C0004 as the codes value.
The meaning of the >C0004 value should be clear. Generally, a step is considered
to have ended OK if the routine returns a code of C0004 or lower. Therefore, a
CODES value of >C0004 instructs Control-M to perform the accompanying DO
statements if the job ended NOTOK.
In the preceding chapter, and again in this step, you specified ANYSTEP as the
PGMST step values. These ON step values should be examined more closely.
ON Steps
The ON step fields identify the possible steps against which Control-M will check
for the specified CODES values.
Two types of step values can be specified:
You can specify either or both types of values, but you must specify at least one value
if you use an ON block.
Valid step values can be any of the following:
94
You can then specify this step range name, preceded by an asterisk, as the step
value in the ON statement. The asterisk prefix in the ON statement instructs
Control-M to check the program step range defined in the STEP RANGE field,
rather than looking for an actual program step by that name.
DO statements are performed if the CODES criteria are satisfied for any program
step in the step range.
DO IFRERUN
DO RERUN
Chapter 3
95
NOTE
The CONFIRM field of the DO IFRERUN statement is similar in meaning to the CONFIRM
runtime scheduling parameter that you used in Chapter 1, Introduction to Control-M.
However, it applies only to restarted jobs, whereas the CONFIRM runtime scheduling
parameter applies to all job runs.
A TO step value can only be a literal value, such as S3, if this is a step name, or
blank. If no TO value is specified, job processing continues to the end.
The FROM field allows specification of either a literal value or a keyword that
represents a step. Some of the valid keyword values for the FROM step are
listed in the following table:
Table 9
Keyword
Description
$FIRST
$ABEND
Step of the job that ended NOTOK due to system abend, user
abend, condition code C2000 (PL/1 abend), or JFAIL (job failed
on JCL error). $ABEND is a subset of $EXERR, described below.
$FIRST.$ABEND
$EXERR
Job step that ended with any error, including an abend, or that
ended with a condition code that is redefined using the ON and
DO statements, as ENDED NOTOK
10 In the OUT condition line, add the following condition as the second condition on
that line:
IDJOB5-END-NOTOK
96
ODAT
If the job fails, and then successfully finishes following restart, this OUT condition
deletes the DO COND condition that was added by the job failure. If the job does not
fail, there is no IDJOB5-END-NOTOK condition to delete. In this case, no deletion
occurs and processing continues.
Your job scheduling definition appears as shown in Figure 34.
Figure 34
JOB: IDJOB5
LIB CTM.TEST.SCHEDULE
TABLE: IDGS1
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB5
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGS3
DESC
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB5
DOCLIB
===========================================================================
DAYS
ALL
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY
SAC
CONFIRM Y
TIME ZONE:
===========================================================================
OUT
IDJOB5-ENDED-OK
ODAT +
IDJOB5-END-NOTOK
ODAT AUTO-ARCHIVE Y
SYSDB
Y
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST ANYSTEP PROCST
CODES >C0004
A/O
DO COND
IDJOB5-END-NOTOK
ODAT +
DO SHOUT
TO ID
URGENCY R
= IDJOB5 RUN FAILED. CORRECT PROBLEM AND RESTART
DO IFRERUN
FROM $EXERR
.
TO
.
CONFIRM Y
DO RERUN
DO
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
14.20.57
Chapter 3
97
11 Exit the Job Scheduling Definition screen to the Job List screen.
12 Exit the Job List screen and save the changes, by entering Y in SAVE field of the
Exit Option window. The Table List screen is displayed.
13 Reenter the Job List screen for the table, and order job IDJOB5. The Job Order
Messages screen is displayed. and the job is ordered.
14 Exit the Job Order Messages screen and display the Active Environment screen by
entering =3 in the COMMAND field. The Active Environment screen is displayed.
15 Ensure that filter IDGS is displayed. If it does not appear in the Filter field, enter
SHOW IDGS in the COMMAND field).
16 Refresh the display as often as needed. A message similar to the following message
is Shouted to your terminal:
CTM- IDJOB5 RUN FAILED. CORRECT PROBLEM AND RESTART
The job goes through a process of submission and execution, and finally ends with
the status: Ended- Not OK Due to CC - Rerun Needed:
The Active Environment screen appears as follows. If the jobs from the exercises in
the preceding chapter have not been deleted by site maintenance, they will also
appear in the screen.
Filter: IDGS
COMMAND ===>
O Name
Owner
IDJOB5
ID
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------020201 M21
/29162
JOB Ended- Not "OK" Due to CC Rerun Needed
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
The CC in the status refers to a condition code. You can now review the job log and
identify the condition code problem.
17 Call up the log for the job by entering L in the OPTION field. The Control-M Log
screen is displayed for the job.
98
12.44.23
Each event in the life cycle of the job appears as a message issued by Control-M. Note
the following messages:
SEL214I indicates that rerun is needed, reflecting what you deliberately defined in
the job.
18 Exit the Control-M Log screen. The Active Environment screen is displayed.
Note the option J (JCL) at the bottom of the screen. If the list of commands is
displayed instead of the list of options, enter the OPT command to toggle to the list
of options.
Chapter 3
99
19 Enter option J for the job. The JCL is displayed in ISPF edit mode.
20 Change the condition code of C0008 in step S3 to C0000, and exit the JCL. The
Active Environment screen is displayed. You can now restart the job.
Filter: IDGS
COMMAND ===>
O Name
Owner
R IDJOB5
ID
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------020201 M21
/29162
JOB Ended- Not "OK" Due to CC +---------------------------------(3.R)+
========= >>>>>>>>>>>>>
| Job
IDJOB5
Is to be Rerun | < ========
| Please Confirm
(Y/N) |
| With
Restart Y
(?/Y/N) |
| ---------------------------------- |
| From Step/Proc S3
.
|
| To
Step/Proc
.
|
| Recapture Abend Codes
(Y/N) |
| Recapture Cond
Codes
(Y/N) |
| Step Adjustment
(Y/N) |
| Restart Parm Member Name IDJOB5
|
+--------------------------------------+
Opt: ? Why L Log H Hold Z Zoom R Rerun A Activate O Force OK V View Sysout
N Net D Del F Free S Stat G Group U Undelete J JCL Edit C Confirm 15.46.06
100
The bottom half of the window deals with restart information. In this exercise, you
will only look at the first line, which tells you from which step, and to which step, the
restart will be performed.
The FROM value is S3. This makes sense because steps S1 and S2 ended
successfully.
The TO step is blank, which means that once restart begins, it will continue till the
end of the job. Consider the following:
If you do not want the steps after the restart step to run again, you can specify
restart step S3 as the TO step.
If you defined the JCL so that steps after the failed step do not run, and you
want them to run following the restart, you should leave the TO value blank.
At this point, all you need to do is enter Y in the CONFIRM field, and the job will
restart. However, you should not take that action at this time.
There might be instances in which you want the job to restart from a different step
than the one determined by Control-M/Restart as the logical restart step. It is
possible to change the FROM and TO steps in the Confirm Restart window. To
facilitate this change, you can display the list of steps in the job.
Notice that ? is a valid value for the With Restart field. Entering ? displays the list of
steps.
22 Enter ? in the With Restart field. The Restart Step List window is opened over the
Restart Window.
101
Figure 36
Filter: IDGS
COMMAND ===>
O Name
Owner
R IDJOB5
ID
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------020201 M21
/29162
JOB Ended- Not "OK" Due to CC +---------------------------------(3.R)+
========= >>>>>>>>>>>>>
| Job
IDJOB5
Is to be Rerun | < ========
| Please Confirm
(Y/N) |
| +----------- Control-R Step List ------------+
| | Command ==>
|
| | O Num Pgm-stp Proc-stp Pgm=
Comp
|
| |
001 S1
IOATEST
C0000 |
| |
002 S2
IOATEST
C0000 |
| |
003 S3
IOATEST
C0008 |
| |
004 S4
IOATEST
C0000 |
| |
005 S5
IOATEST
C0000 |
+- |
|
|
|
|
|
|
|
|
|
| Opt: F From T To O Only
|
+--------------------------------------------+
Opt: ? Why L Log H Hold Z Zoom R Rerun A Activate O Force OK V View Sysout
N Net D Del F Free S Stat G Group U Undelete J JCL Edit C Confirm 15.46.06
The Control-M/Restart Step List window sequentially lists all the steps in the job,
assigning each of them a sequence number.
At the bottom of the window are three options that can be specified in the O (Option)
field for the appropriate step:
You can specify option F for step S3, but this is not necessary, since that value is
already indicated in the Restart Window. So just exit the Restart Step List window.
23 Press PF03/PF15 to exit the Restart Step List window. The Restart Step List window
is closed, and the Restart Window is displayed.
24 Enter Y in the Please Confirm field. The Restart window is closed, and the rerun
with restart now begins.
Notice the progression of status changes for the job in the Active Environment screen.
When the rerun with restart is complete, the job appears as shown below:
102
Filter: IDGS
COMMAND ===>
O Name
Owner
IDJOB5
ID
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------201200 M21
/29191
JOB Ended "OK" (Restarted) (Run 2)
Prior Run: Ended- Not "OK" Due
to CC - Rerun was Needed
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Notice that there are two status descriptions for the jobeach belonging to one of the
runs:
The current status, Ended OK (Restarted), applies to Run2. The job was
successfully restarted.
The original status with the problematic CC now appears as being associated with
the prior run.
You can now look at the message log for the restarted job.
25 Call up the log of the job by entering L in the OPTION field. The Control-M Log
screen is displayed for the job.
--------------------- LOG MESSAGES FOR JOB(S) IDJOB5
-----------------(3.LOG)
COMMAND ===>
SCROLL===> CRSR
SHOW LIMIT ON ==> USERID GROUP MEM/MIS
DATE 020201 - 020201
DATE
TIME
ODATE USERID
CODE
------ M E S S A G E -------------------020201 135255 020201 ID
CTM65AI JOB IDJOB5 OID=0008Y ODATE 020201 RERUN
PERFORMED BY ID
020201 135256 020201 ID
SEL220I JOB IDJOB5 OID=0008Y WILL BE RERUN
020201 135256 020201 ID
SEL203I JOB IDJOB5 OID=0008Y ELIGIBLE FOR RUN
020201 135257 020201 ID
SUB133I JOB IDJOB5 M21 /08223 OID=0008Y
SUBMITTED FROM LIBRARY (P) CTMP.V610.JCL
020201 135311 020201 ID
CTR082I JOB IDJOB5 M21 /08223 OID=0008Y
RESTARTING FROM STEP S3 . TO STEP S5 .
020201 135311 020201 ID
CTR066I JOB IDJOB5 M21 /08223 OID=0008Y NUMBER
OF SKIPPED STEPS 2 WITH A TOTAL ELAPSED
TIME 00.00 CPU TIME 0MIN 00.36SEC
020201 135311 020201 ID
SPY28GI JOB IDJOB5 M21 /08223 OID=0008Y TAPE
DRIVE UNITS USED=00 00
020201 135311 020201 ID
SPY281I JOB IDJOB5 M21 /08223 OID=0008Y START
01033.1352 STOP 01033.1353 CPU 0MIN
01.37SEC SRB 0MIN 00.07SEC 0.21 6AOS35
020201 135311 020201 ID
SPY254I JOB IDJOB5 M21 /08223 OID=0008Y SCANNED
020201 135311 020201 ID
SEL208I JOB IDJOB5 M21 /08223 OID=0008Y ENDED
"OK"
CMDS: SHOW, GROUP, CATEGORY, SHPF
13.54.12
Notice the message SEL208I. This message indicates that the job ended OK.
103
Review
Review
In this chapter you
learned valid restart step keyword values and specified that the job should restart
from step $EXERR
entered the JCL of the failed job from the Active Environment screen by entering
the J (JCL) option, and corrected the JCL
confirmed a rerun/restart request (Option C) for the failed job in the Active
Environment screen, and in the process you displayed the Confirm Restart
Window and Restart Step List window, in which you confirmed the restart
checked the log of the job following the failed run, and again following the restart
Recommended Reading
Before continuing with the next chapter, it is recommended that you read the
following:
104
Chapter
106
106
107
108
115
115
126
126
127
130
131
132
105
Overview
Overview
When defining job scheduling definitions, it is good practice to group together
related job scheduling definitions. This is not a requirementrelated jobs can belong
to different groups, or not belong to any groupbut it can be useful. For example, if
related jobs belong to the same group, you can use the group name to filter the Active
Environment screen so that only the jobs in that group are displayed. But greater
functionality than just ease of filtering a display can be provided by assigning a set of
jobs to a SMART Table.
The major advantage of defining SMART Tables is that they enable you to define
basic scheduling criteria, runtime scheduling criteria and post processing criteria that
apply to the jobs in the SMART Table as a whole.
Preparations
In the exercises in the previous chapters of this guide, you created the JCL for five
jobs, IDJOB1 through IDJOB5. To simplify preparation for this chapter, you will
utilize all five of these JCLs.
In addition, you will utilize one of the job scheduling definitions that you created in
Chapter 1, Introduction to Control-M, the job scheduling definition for IDJOB1, in
table IDGS1. For the remaining jobs, you will creates new job scheduling definitions
in a new table (IDGS2), as part of the exercises.
Before continuing with the exercises, you should perform the following preparatory
steps:
In the JCL of IDJOB5, change the JCL of step S5 so that it sets a return code of
C0008 instead of C0000.
Ensure the following, which should be the case if you completed all of the steps in
the previous chapters of this guide:
The JCL for step S1 in IDJOB3 sets a return code of C0000, and not C0008.
All conditions from previous exercises in this guide do not appear in, or are
deleted from, the IOA Conditions/Resources screen.
All job orders from previous exercises in this guide do not appear in, or are
deleted from, the Active Environment screen.
You are now ready to look at SMART Table scheduling. For purposes of these
exercises, you should assume that the new table contains jobs that must run at end of
week and at end of month.
106
===>
===> N
===> N
(Y/N)
(Y/N)
23.00.04
In this chapter, you will create a new table called IDGS2; in the previous chapters of
this guide you used a table called IDGS1.
Notice the field SMART TABLE. Valid values for this field are Y (SMART Table) or
[Enter] (Table that handles jobs individually). In previous chapters of this guide, you
ignored this field because the default value [Enter] served your purpose when you
worked with table IDGS1. Now, however, you want to define the new table, IDGS2,
to be a SMART Table.
A SMART Table contains a mechanism for defining parameters that apply to the table
as a whole.
In the previous chapters, whenever you defined a job scheduling definition in table
IDGS1, the parameters in the job scheduling definition could only be applied to that
job. For example, a TIME FROM value, or a DO SHOUT value, in the job scheduling
definition for IDJOB3, applied only to IDJOB3. If you wanted to apply the same
parameters to IDJOB4, you had to define the parameters in the job scheduling
definition of IDJBO4.
Chapter 4
107
2 In the Entry Panel, enter IDGS2 in the TABLE field and Y in the SMART TABLE
field.
SPECIFY LIBRARY, TABLE, JOB
LIBRARY ===> CTM.TEST.SCHEDULE
TABLE
===> IDGS2
JOB
===>
TBL
CTM.TEST.SCHEDULE(IDGS2)
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
TABLE
GROUP
OWNER
ID
APPL
DESC
ADJUST CONDITIONS N
TBL MAXWAIT 05
SET VAR
DOCMEM
DOCLIB
===========================================================================
SCHEDULE RBC
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
===========================================================================
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
11.51.58
108
Although the SMART Table Entity scheduling definition is similar to the job
scheduling definition, there are differences. The first thing to note is that the term TBL
in the upper left corner identifies the definition as a SMART Table Entity.
The next thing to note is that the first field in the definition, under the COMMAND
line, is the TABLE field, followed by the GROUP field on the same line. Note also that
there is no MEMLIB field.
In a regular job scheduling definition, the MEMNAME parameter contains the name of
the JCL member of the job. However, a SMART Table Entity does not have a JCL
member. Therefore, any value can be specified in the MEMNAME field. But keep in
mind that whatever name you specify in the MEMNAME field automatically gets
placed in the DOCMEM field.
3 In the TABLE field, specify the value GRPSCHD, which is the name of our
SMART Table. In the GROUP field, specify the name IDGRP4, which is the name
of our group.
4 In the DESC field, specify SMART TABLE ENTITY FOR TABLE IDGS2. The
entries in the General parameters section appear as shown below:
+----------------------------------------------------------------------------+
TABLE GRPSCHD
GROUP
IDGRP4
OWNER
ID
APPL
DESC
SMART TABLE ENTITY FOR TABLE IDGS2
ADJUST CONDITIONS N
TBL MAXWAIT 05
SET VAR
DOCMEM GRPSCHD
DOCLIB
===========================================================================
5 In the SCHEDULE RBC field, specify the name EOW, which stands for END-OFWEEK. In the WDAYS field, specify the value 0, which means the last day of the
week.
Chapter 4
109
===========================================================================
SCHEDULE RBC EOW
DAYS
DCAL
AND/OR
WDAYS
0
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
SCHEDULE RBC
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
Notice that a new, blank set of Basic Scheduling criteria opens up.
Thus far, in each of your job scheduling definitions, you have been limited to defining
only one set of Basic scheduling parameters. This is because a job scheduling
definition can have only one occurrence of the Basic Scheduling parameter section.
SMART TABLE Entities, on the other hand, can have multiple occurrences of the
Basic scheduling parameters section. Once you have defined a set of Basic Scheduling
parameters, a new, blank section of Basic Scheduling parameters opens to enable you
to define another set.
You distinguish between the sets of Basic Scheduling parameters in the SMART
TABLE Entity by assigning a name to each set in the SCHEDULE RBC field.
In the Preparations section above, you determined that the jobs in this table will
run at the end of the week and at the end of the month. You have just defined the
basic scheduling criteria for the end of the week run. You can now define the basic
scheduling criteria for the end of the month run.
6 In the empty SCHEDULE RBC field, specify the name EOM, which stands for
END-OF-MONTH. In the DAYS field, specify the value L1, which means the last
day of the month.
In an actual operational environment, these sets of Basic Scheduling criteria would
be enough to achieve your goals. However, because you want to be able to perform
these exercises on any day of the month, you will define one more set of Basic
scheduling criteria for purposes of this guide only.
7 In the blank SCHEDULE RBC field, specify the name EXERCISES. In the DAYS
field, specify the value ALL.
110
Your entries in the Basic Scheduling parameter section are displayed as shown in
Figure 38.
Figure 38
===========================================================================
SCHEDULE RBC EOW
DAYS
DCAL
AND/OR
WDAYS
0
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
SCHEDULE RBC EOM
DAYS
L1
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
SCHEDULE RBC EXERCISES
DAYS
ALL
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
SCHEDULE RBC
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05
SCHEDULE RBC ACTIVE FROM
UNTIL
===========================================================================
Chapter 4
111
Value
Description
OK
NOTOK
Not all DO statements that are valid in the job scheduling definition are valid in the
SMART Table Entity. The DO statements listed below can be specified in the SMART
Table Entity. Several of these DO statements have not been described in this guide,
but they are all described in the Control-M for z/OS User Guide:
DO COND
DO OK
DO MAIL
DO FORCEJOB
DO SET
DO NOTOK
DO SHOUT
You can now fill in the Post-processing parameters of the SMART Table Entity.
112
14 In the next DO field, specify SHOUT, and enter the following message in the DO
SHOUT statement:
PROBLEM WITH TABLE PROCESSING. AT LEAST ONE JOB DID NOT END
OK.
Your entries in the Post-processing parameter section are displayed as shown in
Figure 39.
Figure 39
+-----------------------------------------------------------------------------+
OUT
IDGS2-ENDED-OK
ODAT +
ON TABLE-END OK
DO SHOUT
TO TSO-M21
URGENCY R
= PROCESSING OF TABLE IDGS2 ENDED OK
DO
ON TABLE-END NOTOK
DO COND
IDGS2-END-NOTOK
ODAT +
DO SHOUT
TO TSO-M21
URGENCY R
= PROBLEM WITH TABLE PROCESSING. AT LEAST ONE JOB DID NOT END OK
DO
ON TABLE-END
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
=======
>>>>>>>>>>>>>>>>>>>>> END OF TABLE PARAMETERS <<<<<<<<<<<<<<<<<< ======
Chapter 4
113
The SMART Table Entity is used to help determine and control the processing of
the jobs in the table.
You defined the following three sets of Basic Scheduling Criteria:
EOW criteria result in jobs being scheduled on the last day of the of week.
EOM criteria result in jobs being scheduled on the last day of the month.
EXERCISES criteria result in jobs being scheduled every day, for purposes of the
exercises in this guide.
You will soon see how these sets of scheduling criteria apply to the job scheduling
definitions in this table.
You defined an OUT condition that is set only when all scheduled jobs in table
IDGS2 end OK. This condition can be used as an IN condition to some other job
that requires successful completion of the jobs in table IDGS2 as a prerequisite.
You are about to exit the SMART Table Entity and create the job scheduling
definitions in table IDGS2. However, before doing so, outline the logic you would like
to see in the job scheduling definitions.
114
Table IDGS2 will contain jobs IDJOB2, IDJOB3, IDJOB4, and IDJOB5.
IDJOB2 should be run both at end of week and end of month, and during the
exercise.
IDJOB3 should be run following IDJOB2, at end of week or month, and during the
exercise, provided that the day is a weekday, that is, on Monday, Tuesday,
Wednesday, Thursday, or Friday.
IDJOB4 should be run both at end of week and at end of month, but should also
run on several other days of the month: the 8th, the 14th, and, so the exercise will
work, the day that you perform this exercise.
IDJOB5 should run following IDJOB4, but only at end of week and end of month,
and during the exercise. It should not run the other days specified.
15 Exit the SMART Table Entity. Upon exiting the SMART Table Entity the first time,
a blank Job Scheduling Definition screen is displayed.
Chapter 4
115
As with all job scheduling definitions, JOB: is displayed in the upper left corner.
Notice, however, that the GROUP field already has a value, which is IDGRP4. The
name specified in the GROUP field of the SMART Table Entity is not automatically
assigned as the GROUP name of the jobs in the SMART Table. Only jobs whose
GROUP name is blank are assigned the GROUP name from the SMART Table Entity.
JOB:
LIB CTM.TEST.SCHEDULE
TABLE: IDGS2
COMMAND ===>
SCROLL===> CRSR
+----------------------------------------------------------------------------MEMNAME
MEMLIB
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP4
DESC
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM
DOCLIB
===========================================================================
SCHEDULE RBC
RELATIONSHIP (AND/OR) O
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
07.38.42
Notice that job scheduling definitions in SMART Tables contain two Basic Scheduling
parameter fields not found in tables with disabled SMART Table attributes:
SCHEDULE RBC and RELATIONSHIP.
The SCHEDULE RBC field enables you to assign to the job scheduling definition any
desired sets of basic scheduling criteria that you defined in the SMART Table Entity.
16 Specify IDJOB2 in the MEMNAME field and the name of the JCL library you are
using in the MEMLIB field.
17 Specify JOB2 in the DESC field. Your entries in the General parameters section are
displayed as follows:
+----------------------------------------------------------------------------MEMNAME IDJOB2
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP4
DESC
JOB2
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB2
DOCLIB
===========================================================================
116
18 Specify EOW in the SCHEDULE RBC field. A new SCHEDULE RBC field opens
up.
19 Specify EOM in the new SCHEDULE RBC field, and then specify EXERCISES in
the third SCHEDULE RBC field that opens up.
This job is now eligible for scheduling if either the EOW or EOM sets of basic
scheduling criteria in the SMART Table Entity are satisfied. The EXERCISES criteria
must also be satisfied to enable you to complete these instructions.
Your entries in the Basic Scheduling parameters section are displayed as follows:
===========================================================================
SCHEDULE RBC EOW
SCHEDULE RBC EOM
SCHEDULE RBC EXERCISES
SCHEDULE RBC
RELATIONSHIP (AND/OR) O
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
===========================================================================
The Post-processing section requires an OUT condition for this job because it is a
prerequisite to IDJOB3. But you must decide whether to define Post-processing
parameters in case the job ends NOTOK, that is, you need to decide whether the
SMART Table Entity post-processing parameters are sufficient, or whether IDJOB2
requires its own additional post-processing definitions. For purposes of this exercise,
assume that the SMART Table Entity Post-processing actions are sufficient.
Chapter 4
117
21 Save this job scheduling definition and exit the job scheduling definition. The Job
List screen is displayed.
JOB LIST
LIB: CTM.TEST.SCHEDULE
COMMAND ===>
OPT NAME --- TYP --- DESCRIPTION ----- GROUP: IDGRP4
GRPSCHD
T SMART TABLE ENTITY IN TABLE IDGS2
IDJOB2
J PRELIMINARY CALCULATIONS
====== >>>>>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
TABLE: IDGS2
SCROLL===> CRSR
---------
<<<<<<<<<<<<<<<< =====
Both the SMART Table Entity and the job scheduling definition that you created are
listed in the Job List screen. Note the TYP field. This field identifies the type of entity
listed. Valid values are: T, which identifies SMART Table Entity, and J, which
identifies Job Scheduling Definition.
You can now create the remaining job scheduling definitions, beginning with IDJOB3.
23 Specify IDJOB3 in the MEMNAME field (the MEMLIB field is already filled in).
24 Specify JOB3 in the DESC field. The Basic Scheduling parameters found in IDJOB2
appear in IDJOB3.
118
===========================================================================
SCHEDULE RBC EOW
SCHEDULE RBC EOM
SCHEDULE RBC EXERCISES
SCHEDULE RBC
RELATIONSHIP (AND/OR) O
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
Recall that you want this job to be scheduled at end of week and end of month (just
like IDJOB2), but only if those days do not fall on a Saturday or Sunday. Therefore,
you will keep these Basic Scheduling parameter values, and specify several
additional values as well.
Previously, you learned that the SCHEDULE RBC field is followed by a
RELATIONSHIP field and a set of Basic Scheduling Criteria:
The Basic Scheduling criteria allow you to define scheduling criteria apart from the
criteria found in the Schedule RBCs.
The RELATIONSHIP field determines the relationship between these criteria and
the Schedule RBCs. Valid values are A (And) or O (Or):
The A value is more restrictive. In addition to the Schedule RBC criteria being
satisfied, the basic scheduling criteria of the job, itself, must also be satisfied.
The O value is less restrictive. Even if the Schedule RBC criteria of the job are not
satisfied, the job can be scheduled if its basic scheduling criteria are satisfied.
You should schedule job IDJOB3 only if the EOM, EOW (or EXERCISES) criteria are
satisfied and the day is weekday (Monday through Friday).
Chapter 4
119
Your entries in the Basic Scheduling parameters section are displayed as follows,
except as adjusted to ensure that the WDAYS field contains your current working
day:
===========================================================================
SCHEDULE RBC EOW
SCHEDULE RBC EOM
SCHEDULE RBC EXERCISES
SCHEDULE RBC
RELATIONSHIP (AND/OR) A
DAYS
DCAL
AND/OR
WDAYS
1,2,3,4,5
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
28 Delete the OUT condition. The Post-processing parameter section will be empty,
and the entire job scheduling definition is displayed as follows:
120
JOB: IDJOB3
LIB CTM.TEST.SCHEDULE
TABLE: IDGS2
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB3
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP4
DESC
JOB3
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB3
DOCLIB
===========================================================================
SCHEDULE RBC EOW
SCHEDULE RBC EOM
SCHEDULE RBC EXERCISES
SCHEDULE RBC
RELATIONSHIP (AND/OR) A
DAYS
DCAL
AND/OR
WDAYS
1,2,3,4,5
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
IDJOB2-ENDED-OK
ODAT
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY
SAC
CONFIRM
TIME ZONE:
===========================================================================
OUT
AUTO-ARCHIVE Y
SYSDB
Y
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
13.52.12
29 Exit the job scheduling definition. You can now create the job scheduling definition
for IDJOB4.
30 Perform an INSERT (I) next to IDJOB3. A job scheduling definition similar to that
belonging to IDJOB3 is displayed.
Chapter 4
121
122
Figure 41
JOB: IDJOB4
LIB CTM.TEST.SCHEDULE
TABLE: IDGS2
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB4
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP4
DESC
JOB4
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB4
DOCLIB
===========================================================================
SCHEDULE RBC EOW
SCHEDULE RBC EOM
SCHEDULE RBC
RELATIONSHIP (AND/OR) O
DAYS
02,08,14
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY
SAC
CONFIRM
TIME ZONE:
===========================================================================
OUT
IDJOB4-ENDED-OK
ODAT +
AUTO-ARCHIVE Y
SYSDB
Y
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
15.01.32
41 Perform an INSERT (I) next to IDJOB4. A job scheduling definition similar to that
belonging to IDJOB4 is displayed.
Chapter 4
123
43 Specify JOB5 in the DESC field. The Basic Scheduling parameters found in IDJOB4
appear in IDJOB5.
You can now make the necessary changes.
44 Replace all deleted schedule RBCs so that the job scheduling definition contains
schedule RBCs EOW, EOM, and EXERCISES.
124
JOB: IDJOB5
LIB CTM.TEST.SCHEDULE
TABLE: IDGS2
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB5
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP4
DESC
JOB5
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB5
DOCLIB
===========================================================================
SCHEDULE RBC EOW
SCHEDULE RBC EOM
SCHEDULE RBC EXERCISES
SCHEDULE RBC
RELATIONSHIP (AND/OR)
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 05 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
IDJOB4-ENDED-OK
ODAT
CONTROL
RESOURCE
PIPE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY
SAC
CONFIRM
TIME ZONE:
===========================================================================
OUT
IDJOB5-ENDED-OK
ODAT +
AUTO-ARCHIVE Y
SYSDB
Y
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
15.18.22
48 Exit the job scheduling definition. The Job List screen is displayed as shown in
Figure 42.
Chapter 4
125
Figure 42
JOB LIST
LIB: CTM.TEST.SCHEDULE
COMMAND ===>
OPT NAME --- TYP --- DESCRIPTION ----- GROUP: IDGRP4
GRPSCHD
T SMART TABLE ENTITY IN TABLE IDGS2
IDJOB2
J JOB2
IDJOB3
J JOB3
IDJOB4
J JOB4
IDJOB5
J JOB5
====== >>>>>>>>>>>>>>>>>>>
NO MORE JOBS IN TABLE
TABLE: IDGS2
SCROLL===> CRSR
---------
<<<<<<<<<<<<<<<< =====
126
Only the SMART Table Entity can be ordered. Individual jobs in the SMART Table
cannot be ordered, although they can be forced.
When a SMART Table Entity is ordered, its schedule RBCs are checked to see if the
SMART Table Entity is eligible for scheduling. If none of the sets of scheduling
criteria for the SMART Table Entity is satisfied, neither the SMART Table Entity,
nor any of its jobs, are ordered. In this case, even if a the basic scheduling criteria of
the job itself are satisfied, and an OR relationship is defined, the job is not
scheduled.
If at least one set of scheduling criteria is satisfied, each job is checked to see if it
can be scheduled according to the combination of its schedule RBCs, basic
scheduling criteria, and the defined AND/OR relationship.
53 Enter the Active Environment screen and filter the display using the IDGS filter.
The screen is displayed as follows:
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------GRPSCHD ID
020201
TBL Wait Schedule
IDJOB2
ID
020201
JOB Wait Schedule
IDJOB3
ID
020201
JOB Wait Schedule
IDJOB4
ID
020201
JOB Wait Schedule
IDJOB5
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Notice
that the SMART Table Entity, and all its jobs, have a status of Wait Schedule.
54 Request the Why screen, Option ?, for the SMART Table Entity.
------------------------ GRPSCHD
COMMAND ===>
OPT DESCRIPTION
CONDITION JOB1-ENDED-OK
====== >>>>>>>>>>>>>>>>>>>>>
ODATE 0202
<<<<<<<<<<<<<<<<<<<<< =====
55 Display the Job List screen for table IDGS1 and job order IDJOB1.
56 Return to Active Environment screen. Job IDJOB1 is scheduled and awaiting
confirmation.
57 Confirm IDJOB1 and then watch the impact on the SMART Table Entity and jobs
in table IDGS2.
Chapter 4
127
From that point on, the processing continues. Once job IDJOB2 ends OK, job IDJOB3
is submitted; once IDJOB4 ends OK, job IDJOB5 is submitted.
Job IDJOB3 ends OK, but IDJOB5 does not, due to the condition code C0008. Because
at least one of the jobs in the SMART TablesIDJOB5ended NOTOK, the SMART
Table Entity ends NOTOK. At the end of processing, the status of the jobs appears as
follows:
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------GRPSCHD ID
020201
TBL Ended- Not "OK"
IDJOB2
ID
020201 M21
/14373
JOB Ended "OK"
IDJOB3
ID
020201 M21
/14375
JOB Ended "OK"
IDJOB4
ID
020201 M21
/14374
JOB Ended "OK"
IDJOB5
ID
020201 M21
/14376
JOB Ended- Not "OK" Due to CC
IDJOB1
ID
020201 COURSE7A/14372
JOB Ended "OK"
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
You can go back and correct the JCL for IDJOB5, and then rerun the job.
58 Edit the JCL for IDJOB5, which you can do using the JCL option in the current
screen, and change the output condition code in step S5 from C0008 to C0000. Then
exit back to the Active Environment screen
In the previous chapter, you learned about reruns in context of restarts, but it is
also possible to rerun a failed job from the beginning. Do this for IDJOB5.
59 Enter option R (Rerun) for job IDJOB5. The Rerun/Restart window is displayed. In
this case, the With Restart value is N (No restart).
128
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------GRPSCHD ID
020201
TBL Ended- Not "OK"
IDJOB2
ID
020201 +---------------------------------(3.R)+
IDJOB3
ID
020201 | Job
IDJOB5
Is to be Rerun |
IDJOB4
ID
020201 | Please Confirm Y
(Y/N) |
R IDJOB5
ID
020201 | With
Restart N
(?/Y/N) |o CC
IDJOB1
ID
020201 | ---------------------------------- |
========= >>>>>>>>>>>>>
| From Step/Proc
.
| < ========
| To
Step/Proc
.
|
| Recapture Abend Codes
(Y/N) |
| Recapture Cond
Codes
(Y/N) |
| Step Adjustment
(Y/N) |
| Restart Parm Member Name IDJOB5
|
+--------------------------------------+
60 Enter Y (Yes) in the Confirm field of the window. The job is rerun.
The second run of the job ends OK, and so does the SMART Table Entity. The
Active Environment screen is displayed as follows:
Filter: IDGS
COMMAND ===>
O Name
Owner
GRPSCHD ID
IDJOB2
ID
IDJOB3
ID
IDJOB4
ID
IDJOB5
ID
------- Control-M
Odate
020201
020201
020201
020201
020201
IDJOB1
ID
020201
========= >>>>>>>>>>>>>
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------TBL Ended "OK"
M21
/14373
JOB Ended "OK"
M21
/14375
JOB Ended "OK"
M21
/14374
JOB Ended "OK"
M21
/14393
JOB Ended "OK" (Run 2)
Prior Run: Ended- Not "OK" Due
to CC
COURSE7A/14372
JOB Ended "OK"
Bottom of Jobs List
<<<<<<<<<<<<< ========
Go into the IOA Conditions/Resources screen and see the results of these job runs.
Chapter 4
129
130
Review
If you want to define Post-processing that should be performed only if any of the
jobs ended NOTOK, it is much easier to define the conditional Post-processing
once in the SMART Table Entity, rather than repeatedly in each job scheduling
definition.
If you want to define Post-processing that should be defined if all the jobs ended
OK, this is also easier to do in SMART Tables if there are jobs not belonging to the
same hierarchy of dependence.
Review
In this chapter you
defined a SMART Table Entity with multiple sets of scheduling criteria and with a
dependency on successful completion of a job from another table
defined additional criteria for two of the jobs in the SMART Tableusing an AND
relationship with the additional criteria in one of the jobs, and using an OR
relationship in the other job
defined two separate lines of dependency in the jobs in the SMART TableIDJOB3
dependent on IDJOB2, and IDJOB5 dependent on IDJOB4but no dependency
between IDJOB3 and IDJOB4
ordered the SMART Table Entity with the result that all jobs in the table that
should have been scheduled that day were also ordered
observed that the SMART Table Entity ended NOTOK when one of the jobs in the
SMART Table ended NOTOK
Chapter 4
131
Recommended Reading
learned the advantages of using a SMART Table over a table that handles jobs
individually
Recommended Reading
Before continuing with the next chapter, you should read the following in the
Control-M for z/OS User Guide:
In Chapter 2
reasons in the Why screen related to SMART Table jobs and SMART Table Entities
In Chapter 3
132
Chapter
134
135
135
137
138
139
140
142
142
142
144
144
146
147
150
151
153
154
155
156
156
158
159
160
162
163
165
166
133
Overview
Overview
In the production environment, JCL must often be manually modified prior to
submission of a job, as in the following cases:
Manual modification of the JCL is inconvenient at best, and it can be error-prone and
lead to serious problems. The JCL and AutoEdit facility offers an automated
alternative to manual JCL update.
The JCL and AutoEdit facility enables AutoEdit terms, variables, functions, and
control statements to be specified in the JCL, in place of values that change from job
submission to job submission. AutoEdit terms are prefixed by a pair of percent
symbols, %%, which distinguishes them from other terms. For example, the term
%%ODAY is recognized as an AutoEdit term.
At time of job submission, AutoEdit terms in the JCL are resolved to, or replaced by,
their actual values. The inclusion of AutoEdit terms in the job stream can eliminate
the need to change JCL once it is defined.
Certain AutoEdit terms can also be used within job scheduling definitions, and can
include system and user-defined variables, functions, operators, and control
statements.
Control-M provides an AutoEdit simulation facility that enables you to check the
results of AutoEdit inclusion before you run a job in the production environment.
You can also define Global AutoEdit variables in a database that allows the variables
to be accessed and updated by different jobs.
In this chapter, you will
134
see the results of using AutoEdit terms in the JCL of the job, and examine a number
of AutoEdit variables
look at the online utility facility and use the AutoEdit simulation facility to check
the results of our AutoEdit usage
Preparations
Preparations
For this chapter, do the following:
In table IDGS3, create four very basic job scheduling definitions, for IDJOB6,
IDJOB7, IDJOB8 and IDJOB9, as follows:
In the MEMNAME field, specify, respectively: IDJOB6, IDJOB7, IDJOB8, or
IDJOB9.
In the GROUP field, specify: IDGRP5.
In the DESCRIPTION field, specify: THIS IS IDJOB6 (or, respectively, IDJOB7,
IDJOB8, or IDJOB9).
In the DAYS field, specify: ALL.
In the MONTHS field, specify: Y.
Do not specify any IN or OUT conditions, nor any Runtime Scheduling
parameters.
Do not specify any Post-processing parameters.
In your JCL table, create separate JCLs that do nothingfor example, IEFBR14
for jobs IDJOB6, and IDJOB7, IDJOB8, and IDJOB9. Use the JCL from IDJOB1 as the
basis for this JCL.
You will make changes to the JCL and job scheduling definitions, as required, during
the performance of these exercises.
1 Edit the JCL of IDJOB6, add the following comment lines, and then exit:
//*
//*
//*
//*
135
2 Enter the Scheduling Definition facility and order IDJOB6 (in table IDGS3). The
Message screen is displayed indicating that the job ran.
3 Go to the Active Environment screen and request the Sysout display for the job
(enter option V for the job to display the Job Order Execution History screen, and
then enter option S to display the Sysout Viewing screen). The Sysout for job
IDJOB6 is displayed.
4 Page down, or enter the command N (NEXT) in the COMMAND field (Command
NEXT is discussed in Chapter 6, Navigating The Active Environment.).
The Sysout contains the comment lines you inserted in the JCL, as shown in Figure 43
on page 136). Notice that the AutoEdit variables in the JCL resolved to their
appropriate values.
Figure 43
It you were to run this job again tomorrow, then the variables would resolve
accordingly. It should be apparent, that use of AutoEdit system variables such as
%%ODATE can eliminate the need to manually update the JCL before a job is run.
Before continuing with the exercise, take a closer look at certain date concepts and
AutoEdit date variables.
136
System Date
System date corresponds to the actual calendar date. At any hour on the 9th of
September in the year 2000, the system date is the 090900. At the end of the day, when
midnight is reached, the system date changes to the 10th of September (100900).
(Of course, your system clock can be set incorrectly. For example, if the system clock
is an hour slow, then your system date will not advance at midnight, but rather at
1:00 a.m. Assume that your system clock is set correctly, and that the system time and
date correspond to the true time and date.)
A job that runs at 11:00 p.m. on September 9th, 2000 has the following dates
(yymmdd format):
System date: 000909
Current working date: 000909
A job that runs at 3:00 a.m. on September 9, 2000 has the following dates (yymmdd
format):
System date: 000910
Current working date: 000909
137
ODATE
You have seen the term ODAT several times when using date references in conditions
in IN and OUT and DO COND statements. ODAT is a four-letter abbreviation of
ODATE; the term is abbreviated in conditions because the date field of conditions
only allows entry of four characters.
ODATE is a keyword that means Original scheduling date, and it refers to (and
resolves to) the working date on which the job was originally scheduled.
The important points to note are that:
The ODATE may in some cases be different than the current working date. For
example, if a job was delayed so that it did not run on its ODATE, but instead ran
on the next working day, then its current working date would be one day later
than its ODATE.
The ODATE allows Control-M (and you) distinguish between different orders of the
same job, and determine which job order of the job applies to which date. The same
applies to conditions.
Predefined system date variables have values that are not user-supplied, but are
resolved from values that are system-supplied.
The AutoEdit facility recognizes many system date variables. These are listed and
defined in the JCL and AutoEdit facility chapter of the Control-M for z/OS User Guide.
However, rather than considering them individually, it is easier to think of system
date variables in terms of groupings. Once you have considered the groupings, you
can probably anticipate the correct variable name, as illustrated below:
138
Date variables can be used for system date, original scheduling date, and current
working date.
For example, you saw %%DATE resolve to the system date and %%ODATE
resolve to the original scheduling date. You also could have specified %%RDATE,
which resolves to the current working date.
While there is no special prefix to indicate system dates, original scheduling date
variables have a prefix of %%O, and current working date variables have a prefix
of %%R.
Julian day variables can also be requested. These are all suffixed JULDAY.
%%JULDAY, %%OJULDAY, and %%RJULDAY are examples of valid Julian date
variables.
Years in the variables described above are 2-character years. If a 4-character year is
desired, a $ should follow the %%.
For example, %%$DATE, %%$ODATE, and %%$RDATE each return the
appropriated date in yyyymmdd format, or a different 4-character year format,
depending upon the standards in place at your site.
139
Table 11
Variable
Description
%%.
Concatenation symbol.
%%APPL
%%BLANK
Blank.
%%BLANKn
%%GROUP
%%JOBNAME
%%ORDERID
%%OWNER
%%RN
Run number (can exceed one for cyclic and rerun and restarted jobs).
%%TIME
%%$MEMNAME
Name of the JCL member from which the job is submitted. (This
corresponds to the value specified in the job scheduling definition.)
%%$QNAME
%%$SCHDLIB
%%$SCHDTAB
Name of the table that contains the job scheduling definition of the
job.
%%$SIGN
%%$RBC
Name of the Schedule RBC by which the job was scheduled. If the
SMART Table was forced, or if the job was scheduled based on basic
scheduling criteria other than a Schedule RBC, this value resolves to
blanks.
Thus far, you have used AutoEdit predefined system variables. These included date
system variables, such as %%ODATE, and non-date system variables, such as
%%ORDERID.
140
You can now examine the components of the preceding %%SET statement.
%% SET
where %%SET is an AutoEdit control statement.
Control statements are used to define the AutoEdit environment, and to control
AutoEdit processing, in the JCL. Control statements can appear anywhere in the JCL
member to be submitted. When a control statement is detected in a JCL line, for
example, in a JCL remark statement, the line containing the control statement is
submitted as part of the job. If the control statement appears in a non-JCL line, for
example, in a line beginning without a // symbol, the control statement is resolved
and the resolved value can be applied to subsequent JCL lines, but the control
statement is not submitted as part of the job.
Control statement %%SET sets values of user-defined variables. The format of the
statement is:
%%SET %%varname=expression
where:
%%A
%%A is a user-defined AutoEdit variable.
Unlike system variables whose names and meanings are predefined and recognized
by Control-M, user-defined variables are defined by the user. You could just as easily
have called this variable %%FRED or, if you wanted a more meaningful name,
%%BACKDATE.
%%$CALCDTE
%%$CALCDTE is an AutoEdit function. Like system variables, AutoEdit functions
are predefined and have set meanings. In the JCL, AutoEdit functions can only be
specified in a %%SET control statement.
141
In this step of your exercise, %%$CALCDTE subtracts one day from the ODATE.
NOTE
A related function, %%CALCDATE, makes the same calculation for dates having a 2character year, that is, dates resolving to format yymmdd. This function has a 366 day limit on
the number of days that can be added or subtracted. The %%CALCDATE function is
supported for reasons of backward compatibilityit is recommended that %%$CALCDTE be
used whenever possible.
%%$JULIAN
You can examine one more function before exiting the JCL.
6 Add the following lines below the %%$CALCDTE function in the JCL:
142
%%$JULIAN
where date must be, or must resolve to, a date in format yyyymmdd.
In your exercise, you know that %%A, which is defined in the preceding
%%$CALCDTE function, resolves to your ODATE -1. Therefore, %%B should
resolve to the Julian version of this date.
In the first comment statement, ODATE resolves to the current original scheduling
date.
In the second and third comment lines, %%A resolved to the previous day.
In the fourth comment line, %%B resolved to the Julian value of %%A.
143
NOTE
All date-related functions with a $ symbol, that is, those beginning %%$, require and return 4character years, in format yyyy.
Table 12
Function
Description
%%$GREG
%%$LEAP
%%$WCALC
%%$WEEK#
%%$WEEKDAY
%%$YEARWK#
%%SUBSTR
144
If the variables are system variables, the values, by definition, are automatically
supplied by the system. But if the variables are user-defined variables, the user must
somehow provide the values for those variables. One method of providing those
values is through the job scheduling definition.
For example, suppose the JCL must be provided the ID of a tape that is being
mounted and used. A user-defined AutoEdit variable representing the tape ID can be
placed in the JCL. Then, before the job is run, the value for that tape ID can be
provided in the job scheduling definition.
You can now add a user-defined variable for the tape ID to the JCL, and set its value
in the job scheduling definition. To keep this exercise at a basic level, you will again
place the variable in a comment line in a trivial JCL.
10 Edit the JCL of IDJOB7, add the following comment line, and then exit the JCL:
//* TAPE ID PROVIDED: %%TAPEID
You can now edit the job scheduling definition for IDJOB7.
The SET VAR statement is used for specifying a value for a user-defined AutoEdit
variable. Assume that the ID of the tape is 046453.
145
JOB: IDJOB7
LIB CTM.TEST.SCHEDULE
TABLE: IDGS3
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB7
MEMLIB
CTM.TEST.JCLLIB
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP5
DESC
THIS IS IDJOB7
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR %%TAPEID=046453
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB7
DOCLIB
===========================================================================
13 Exit the job scheduling definition, and then exit the Job List screen. Save the
changes in the Exit Option window of the Job List screen.
Before running the job, take a look at the AutoEdit Simulation facility.
In JCL Library mode, the utility checks the AutoEdit statements in the JCL of the
job, but not in the job scheduling definition.
This mode becomes operational when you specify a JCL member in the utility
panel; in this case, the table that contains the job scheduling definition is unknown
to the utility, and the job scheduling definition therefore remains unchecked.
146
In Scheduling Library mode, the utility not only checks the AutoEdit statements in
the JCL of the job, it also checks the impact that SET VAR statements in the job
scheduling definition have on the JCL.
This mode becomes operational when you specify a job scheduling definition in
the utility panel. Because the job scheduling definition points to the JCL member,
both the job scheduling definition and the JCL can be, and are, checked.
NOTE
If Option 6 from the IOA Primary Option Menu does not bring you to the Utilities menu,
ask your INCONTROL administrator to assist you in accessing the Utilities menu from
TSO, or advise you how to access utility CTMAESIM directly.
The IOA Online Utilities menu is displayed. The particular options displayed in
the menu depend on the INCONTROL products available at your site, as well as
any limitations your INCONTROL administrator may have placed on the display.
The IOA Online Utilities menu, and available Control-M utilities, are described in
detail in the INCONTROL for z/OS Utilities Guide.
------------------------------ ON-LINE UTILITIES -----------------------------OPTION ===>
USERID
- M21
TIME
- 18:06
TERMINAL - 3278
I1 PREREQ CONDITION - Add/Check/Delete a Prerequisite Condition
M1 JOB ORDER ISSUE
- Issue a Job Order
M2 AUTOEDIT SIMUL
- Perform an AutoEdit Simulation
M3 SIMUL/TAPE PULL
- Prepare Simulation/Tape Pull List Job
M4 PARAM PROMPTING
- Parameter Prompting Facilities
M5 QUICK SCHEDULE
- Quick Schedule Definition
M6 USER INTERFACE
- End-User Job Order Interface
R1 CONTROL-R SIMUL
- Control-R Simulation
R2 DATASET CLEANUP
- Control-R Dataset Cleanup
R3 JOB DATASET LIST - Prepare a Job Dataset List
R4 STANDALONE
- Control-R Standalone
U1 DOCU/TEXT
- Invoke DOCU/TEXT
X
EXIT
147
Figure 44
------------------COMMAND ===>
-------------------
===>
===>
===>
===>
===>
===>
===> CTM.TEST.SCHEDULE
===>
===>
PARAMETER LIBRARY
WDATE
ODATE
FUNCTION
===>
===>
===>
===>
===>
CTM.TEST.PARM
02 02 01
02 02 01
LIST
(DD MM YY)
(DD MM YY)
(LIST/SUBSCAN/SUBMIT)
16 Fill in the SCHEDULING LIBRARY MODE parameters with the name of the
scheduling library, table, and job scheduling definition, and enter YES in the
ENTER YES TO CONTINUE field. Do not change the default values in the
GLOBAL LIBRARY, WDATE and ODATE fields; and type LIST in the FUNCTION
field.
The screen should look similar to the following before you press Enter:
148
------------------COMMAND ===>
-------------------
===>
===>
===>
===>
===>
===>
===> CTM.TEST.SCHEDULE
===> IDGS3
===> IDJOB7
PARAMETER LIBRARY
WDATE
ODATE
FUNCTION
===>
===>
===>
===>
===> YES
CTM.TEST.PARM
02 02 01
02 02 01
LIST
(DD MM YY)
(DD MM YY)
(LIST/SUBSCAN/SUBMIT)
149
Notice that in the comment line you added to the JCL, the user-defined AutoEdit
variable is resolved to, or replaced by, the value provided by the SET VAR statement
in the job scheduling definition:
//* TAPE ID PROVIDED: 046453
You can now see that if you run this job, the user-defined variable will resolve
correctly.
150
AutoEdit terms can also be specified in the following statements in the job scheduling
definition:
17 Create a member IDTAPE in a work library. For purposes of this exercise, you will
call the library CTM.TEST.AUTOEDIT.
151
B Add the following statements to the JCL, then exit the JCL:
//* %%LIBSYM CTM.TEST.AUTOEDIT %%MEMSYM IDTAPE
//* TAPE ID PROVIDED: %%BRANCH01_TAPE
//* TAPE ID PROVIDED: %%BRANCH03_TAPE
20 Enter the AutoEdit Simulation utility and run the simulation for IDJOB6. The
results of the simulation look similar to those shown in Figure 45. Observe the
resolved values for the two //* TAPE ID PROVIDED: statements.
Figure 45
152
AutoEdit Term
Description
%%LIBSYM
%%MEMSYM
%%INCLIB
%%INCMEM
153
AutoEdit Term
Description
%%LABEL lblnam
%%GO lblnam
%%IF
%%THEN
%%ELSE
%%ENDIF
%%RANGE
%%RESOLVE
154
Two variables can be joined to form a single complex variable by linking them
together, as follows:
%%BACKUP_TAPE%%ODAY%
On the third day of the month, the variable partially resolves to
%%BACKUP_TAPE03.
If the value of %%BACKUP_TAPE03 is known to Control-M as EE1022, this
statement would fully resolve to EE1022
Two variables can be concatenated into two distinct but joined variables by placing
a period between them.
%%ODAY.%%OMONTH
On the 4th of December, %%ODAY.%%OMONTH resolves to 0412
Two variables can be concatenated into two distinct variables joined by a period,
by placing two periods between them.
%%ODAY..%%OMONTH
On the 4th of December, %%ODAY..%%OMONTH resolves to 04.12
155
Operators
Operators
AutoEdit operators are used to add or subtract values from AutoEdit variables in the
JCL. These operators can only be specified in a %%SET statement. Valid AutoEdit
operators are shown in the following table:
Table 15
Operator
Description
%%PLUS
%%MINUS
where
Only one operator can be specified in each %%SET statement. Increase the number of
generations (%%GENERATION_NUMBER) by one, as follows:
// %%SET %%GENERATION_NUMBER=%%GENERATION_NUMBER %%PLUS 1
Shortly, you will create Global variables and demonstrate their global nature. Before
doing that, however, you should observe the local nature of the Local variables.
21 Enter the job scheduling definition for IDJOB6 and add the following SET VAR
statements, and then exit the job scheduling definition:
SET VAR
SET VAR
%%LOC1=111
%%BRANCH01_TAPE=222222
22 Enter the job scheduling definition for IDJOB7 and delete the SET VAR definition.
The job scheduling definition now contains no SET VAR definition.
26 Check the results of the job orders in the Active Environment screen. Job IDJOB6
ended OK, but job IDJOB7 was not submitted.
28 Edit the JCL for job IDJOB7, delete the following comment line, and then exit the
JCL:
//* LETS SEE IF THIS RESOLVES: %%LOC1
157
29 Rerun job IDJOB7 through Option R in the Active Environment screen. The second
run of IDJOB7 ended OK.
The job order line appears as follows in the Active Environment screen:
IDJOB7
ID
020201 M21
30 Request SYSOUT of job IDJOB7, using Option V in the Active Environment screen
followed by Option S in the Job Order Execution History screen, and scroll down
to find the value for BRANCH01_TAPE.
%%BRANCH01_TAPE resolved to the original value from %%MEMSYM member,
5554444, not the value set by the SET VAR statement in IDJOB6:
//* BRANCH01_TAPE HAS THE VALUE: 5554444
Clearly, the SET VAR statement in IDJOB6 did not impact the value in the external
member, which indicates that %%BRANCH01_TAPE is a local variable.
Now that youve seen the limitations of Local variables, take a look at Global
Variables.
31 Enter the job scheduling definition for IDJOB8 and add the following SET VAR
statements. When you define a SET VAR statement and press Enter, a new, blank
SET VAR statement is opened to allow definition of the next SET VAR statement.
SET VAR
SET VAR
SET VAR
158
%%\VAR1=AAA
%%..\VAR2=BBB
%%..\IDJOB9\VAR1=CCC
From this sysout, you can see that the AutoEdit variables resolved as they should.
However, because they appeared in the job scheduling definition and the JCL of
the same job, you have not yet demonstrated their global nature.
You will demonstrate the global nature of these variables shortly, but first, take a
look at Global variable syntax.
A Global variable is assigned an owner at time of creation. This owner can be the
component that creates the variable, such as the job, or it can be any other
component in the database, such as the job, group, application, or even Control-M.
The IOA Global Variable Database has a hierarchical structure to reflect this
component hierarchy.
Backslashes are used to describe the hierarchical structure of the IOA Global
Variable Database, much like they are used to describe the directory and
subdirectory structure in Unix and DOS.
The full path of the IOA Global Variable database is indicated as follows:
%%\product\application\group\job\variablename
159
Paths can be specified using the same rules and shortcuts that are available with
directories and subdirectories, instead of the full path:
A job or SMART Table Entity can assign a Global variable to itself by specifying
a backslash immediately following the %% symbol.
Paired dots followed by a backslash (..\) indicate movement to the next level up.
Based on the above, you can see that the variables created in IDJOB8 SET VAR
statements have the following owners:
Table 16
Variable
Owner
%%\VAR1=AAA
%%..\VAR2=BBB
%%..\IDJOB9\
VAR1=CCC
Two variables with the same name but different paths are different variables. This
is comparable to the fact that two Unix or DOS files with the same name but
different paths are different files.
In our example, %%\VAR1=AAA and %%..\IDJOB9\VAR1=CCC result in different
variables. As indicated in the above table
the Global variable %%\VAR1 that equals AAA belongs to IDJOB8
the Global variable %%\VAR1 that equals CCC belongs to IDJOB9
If the particular path has no Group and/or no Application, for example, the job
does not belong to a group or application, Control-M utilizes the keyword values
NO_APPL and NO_GROUP in the path, as needed.
36 Enter the job scheduling definition for IDJOB9 and do the following:
160
E Add a second DO SHOUT statement whose destination is your user ID, and
which contains the following message text:
SECOND SHOUT: %%..\VAR2
F Add a third DO SHOUT statement whose destination is your userID, and which
contains the following message text:
THIRD SHOUT: %%..\IDJOB8\VAR1
Shout
FIRST SHOUT:
CCC
The Shout in IDJOB9 specifies Global variable %%\VAR1, which
refers to a Global variable %%\VAR1 that is owned by itself
(IDJOB9).
Job IDJOB8 assigned the value CCC to the Global variable
%%\VAR1 that is owned by IDJOB9.
SECOND SHOUT:
BBB
The Shout in IDJOB9 specifies Global variable %%..\VAR2,
which refers to a Global variable %%\VAR2 that is owned its
group (IDGRP3).
Job IDJOB8 assigned the value BBB to the Global variable
%%\VAR2 that is owned by group IDGRP3.
161
Table 17
Shout
THIRD SHOUT:
AAA
The Shout in IDJOB9 specifies Global variable
%%..\IDJOB8\VAR1, which refers to a Global variable
%%\VAR1 that is owned by IDJOB8.
Job IDJOB8 assigned the value AA A to the Global variable
%%\VAR1 that is owned by itself (IDJOB8).
These values clearly indicate that these variables have been globally accessed. You
can demonstrate that these variables can be globally updated.
%%\VAR1=XXX
%%..\VAR2=YYY
%%..\IDJOB8\VAR1=ZZZ
40 Enter the job scheduling definition for job IDJOB8 and delete the SET VAR
statements. Then exit the job scheduling definition.
The SET VAR statements in job IDJOB9 have updated the Global variables with
the new values.
Because the SET VAR statements were removed from job IDJOB8, this job
should not have changed the values that were newly set by IDJOB9.
Therefore, you can expect that the JCL of job IDJOB8 used the new values set by
IDJOB9.
43 Check the sysout of job IDJOB8. The following comments should appear in the
sysout:
//* VAR1 FROM JOB JOB8 EQUALS ZZZ
//* VAR2 FROM GROUP GRP3 EQUALS YYY
//* VAR1 FROM JOB JOB9 EQUALS XXX
The above values clearly indicate that Global variables can be globally updated.
All JCL setup operations are performed during job submission. At this time,
Control-M processes the JCL of the job line by line.
Control-M scans each line for AutoEdit terms, which are identified by the %%
symbol prefix, and, unless otherwise instructed, tries to resolve them. Control-M
resolves all AutoEdit terms in one line before it moves to the next line.
All changes made during JCL processing, such as variable resolution, are retained
only until Control-M has finished submission of the job.
Control-M resolves system variables by taking the values from the system.
Control-M resolves Global variables by taking the values from the IOA Global
Variable database.
163
Values for Local user-defined variables can be taken from any of several possible
sources, as described below. When Control-M detects a Local user-defined variable in
the JCL line being processed, it checks these possible sources in a specific order until a
value is found for the variable. Control-M creates a user-defined variable
environment in which it places each user-defined variable and its value.
The potential sources for Local user-defined variable values are listed below in the
order in which they are generally checked:
The order in which Control-M checks potential sources for possible AutoEdit variable
resolution is important because once Control-M has resolved a variable, it generally
stops checking other sources. Potential values from other sources are ignored, and
resolved values are not overridden except by %%SET statements in subsequent JCL
lines.
164
Review
Because JCL is processed sequentially one line at a time, the line being processed can
only be affected by external members and %%SET control statements that have
previously been processed. If a line contains an undefined variable that is only
defined in a subsequent line, the variable cannot be resolved.
By default, if Control-M cannot resolve a variable, it stops submission of the job. This
default, however, can be overridden by specifying the %%RESOLVE control
statement with a value of NO or OFF.
Review
In this chapter you
looked at and used AutoEdit system variables (date and nondate variables) in the
JCL of a job
learned about the difference between System date, Current Working date, and
ODATE
used the AutoEdit %%SET control statement in your JCL, and learned about other
AutoEdit control statements
used the SET VAR statement in the job scheduling definition to supplied values to
user-defined variables in the JCL of your job
165
Recommended Reading
learned the syntax of, and defined and updated Global AutoEdit variables
Recommended Reading
Before continuing with the next chapter, you should read the following in the
Control-M for z/OS User Guide:
166
Chapter
168
168
169
173
175
176
179
180
182
182
184
186
188
189
190
190
167
Overview
Overview
You are now going to look at and use some additional options, screens and
capabilities of the Active Environment.
In this chapter, you will
look more closely at the fields in the Show Screen Filter window, define a new
filter, and display a list of available filters
add a note to a job in the Zoom screen and display the content of the note in the
Active Environment screen
display the scheduling library and table names of jobs in the Active Environment
screen
display the list of dependent jobs, both predecessors and successors, in the Job
Dependency Network screen
display the execution history of job orders in the Job Order Execution History
screen, and display job Sysout information in the Sysout Viewing screen
display the Table to which a job belongs in the Active Environment screen
Preparations
In this chapter, you will be using the following, and their respective JCLs:
Each job, from IDJOB2 through IDJOB5, and the table IDGS2 SMART Table Entity
168
ensure that job IDJOB1 in table IDGS1 does not require manual confirmation
adding, in the job scheduling definition of IDJOB3, OUT condition IDJOB3ENDED-OK ODAT +.
adding, in the job scheduling definition of IDJOB6, OUT condition IDJOB6ENDED-OK ODAT +
ensure that batch utility CTMJSA has been run in the current working day
If CTMJSA is not run as part of New Day processing, run it yourself or request that
it be run by your administrator
2 Enter the Active Environment screen and activate the filter IDGS. The following
screen is displayed:
169
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB1
ID
020201 M21
/08915
JOB Ended "OK"
GRPSCHD ID
020201
TBL Active - In Error
IDJOB2
ID
020201 M21
/08916
JOB Ended "OK"
IDJOB3
ID
020201 M21
/08917
JOB Ended- Not "OK" Due to CC
IDJOB4
ID
020201
JOB Wait Schedule
IDJOB5
ID
020201
JOB Wait Schedule
IDJOB6
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
14.13.03
These results are not surprising. Job IDJOB3 did not end OK due to condition code
C0008. And because of the defined job dependencies, the remaining jobs have a status
of Wait Schedule.
You can now take a closer look at filters in the Active Environment screen. In
Chapter 1, Introduction to Control-M, you created filter IDGS, and in subsequent
chapters, you activated this filter by entering the SHOW IDGS command.
To display the filter criteria of this same filter for editing, you should add the
keyword EDIT at the end of the command. You can now edit filter IDGS.
3 Enter the command SHOW IDGS EDIT. The Show Screen Filter window displays
the filtering criteria for filter IDGS.
170
Figure 46
You have already seen that you choose whether to save a new filter by specifying
Y, or N, in the Save field, and pressing Enter. You can use this same field to choose
whether to save changes to an existing filter.
NOTE
Specifying N (No) does not cancel changes made to a filter. It only means that they will not be
permanently saved. They will, however, remain in memory. This applies even if you are
editing a new filter, that is, specifying N and exiting the filter leaves the new filter in memory.
To cancel changes to a filter, close the window by pressing PF04/PF16 to enter the RESET
command. The changes are canceled regardless of the value specified in the Save field.
The purpose in filtering the display was to ensure that the screen only displays those
jobs that you used in your exercises. You took two steps to accomplish this purpose
1. You ensured that all jobs in the exercises belonged to a Group prefixed by IDGRP.
2. You then filtered the display based on this Group name prefix of IDGRP.
You could have accomplished the purpose using the following filter criteria:
Because you prefixed each member name with IDGS, you could have filtered using
that Memname prefix.
If you ran no other jobs, you could have filtered on Owner ID.
171
Clearly, filtering on Odate would not have accomplished your purpose. However,
Odate is useful for filtering when you only want to see jobs scheduled for a specific
Odate.
The middle portion of the window is divided into three columns. These columns are
all status related. For example, you can include (or exclude) jobs that have a Wait
Schedule, Wait Confirmation, and/or Ended OK status. To learn the details of the
relationship between these status columns, and their header topics, In Process,
Ended, State, refer to the description in the Control-M for z/OS User Guide.
If you filter on such values as a common member name or group prefix, you are likely
to display related or connected jobs. By contrast, if you filter only on a status such as
Wait Schedule, you are likely to see completely unrelated jobs in the display. This,
however, is still very valuable. An operator, for example, may need to check which
jobs still have a Wait Schedule or a Wait Confirmation status.
Multiple filtering criteria can be specified. All specified criteria must be satisfied. You
can, for example, specify a filter on your Owner name and on a Wait Schedule status.
This way, you can see only your jobs that are Waiting Scheduling.
The filter window for filter IDGRP is currently displayed. You can, of course, close it
without making changes. And, as mentioned above, you can make changes and either
save them or keep them in memory.
But you can also use this filter as the basis for another filter by making the desired
changes and specifying a new name in the Filter field.
You can define a new filter that shows only jobs with a group name prefix of IDGRP
that have a Wait Schedule status. Name this filter IDWS, as described in the following
steps.
The window is displayed as follows. This illustration shows the changes from the
previous filter indicated in bold.
--------------------------- Show Screen Filter -----------------------(3.SHOW)Filter IDWS
Save Y (Y/N) Desc: GS-WAITSCHED
Memname
Group
IDGRP
======== In Process Y ======= | Ended
N | ======= State Y ========
--------------------------------------------------------------------------Wait Sched
Y Wait time
N | Ended "OK"
Y | Free
Y Forced OK Y
Wait Conf
N Wait Cond
N | Not "OK"
Y | Held
Y Tbl Held Y
Wait SUB
N Wait quant N | Rerun
Y | On Req
Y CMEM Forc Y
Submitted
N Wait contrl N | Disappeared
Y | Deleted
N Note
Y
Wait Exec
N Tbl Active N | Abended
Y | Late
Y Restarted Y
Executing
N
| Unexpected CC Y | Pseudo
Y
On Out Queue N
| JCL Error
Y |
Task Type: Job Cyc Emr Stc Cst Est Ecj Ecs Wrn Grp
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Res Name
Resource Type: In Y Out Y Conds Y Resource Y Control Y
Owner
Odate: From
To
Priority
Job
Appl
CPU Id
LPAR
Sch Lib
----------------------------------------------------------------------------OPt command toggles between Commands and Options display
11.07.49
10 Press Enter to exit the window. The Active Environment screen is displayed with
the newly defined filter.
Filter: IDWS
* ------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB4
ID
020201
JOB Wait Schedule
IDJOB5
ID
020201
JOB Wait Schedule
IDJOB6
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
173
You can then select a filter from the Display Filters window for activation or editing.
11 Enter the command SHOW ? in the COMMAND field. The Display Filters
window is opened, displaying the list of available filters.
Figure 47
Filter: IDWS
* ------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB4
ID
020201
JOB Wait Schedule
IDJOB5
ID
020201
JOB Wait Schedule
IDJOB6
ID
020201
JOB Wait Schedule
=====+-----------------------------------+obs List
<<<<<<<<<<<<< ========
|
DISPLAY FILTERS
|
| CMD ==>
SCROLL==> CRSR |
| O NAME
DESCRIPTION
|
|
CONFIRM WAIT CONFIRM. JOBS
|
|
DEL
ONLY DELETED JOBS
|
|
END
ALL ENEDED JOBS
|
|
ENDNOTOK ENEDED NOT-OK JOBS
|
|
ENDOK
ENEDED OK JOBS
|
|
EXEC
EXECUTING JOBS
|
|
LATE
LATE JOBS
|
|
WAIT
JOBS ON WAIT QUEUE
|
|
ECSALL
ALL JOBS IN AJF
|
|
IDGS
GS-EXERCISES
|
|
IDWS
GS-WAITSCHED
|
| OPTIONS S SELECT E EDIT
|
Comma+-----------------------------------+Fresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
14.13.03
Description
NAME
DESCRIPTION
NOTE
Control-M supplied filters do not display descriptions.
You can select a filter from the list for activation or editing by specifying the
appropriate option in the O (option) field to the left of the filter name: Valid options
are
174
Option
Description
S (SELECT)
E (EDIT)
Display the filter's filtering criteria in the Show Screen Filter window
to enable editing of the filter.
12 Enter S in the OPTION field by filter IDGS to activate filter IDGS. The window is
closed, but the Active Environment screen display has not changed, because you
are at the bottom of the display.
13 Use the PFKeys to scroll to the top of the screen. The Active Environment screen
display conforms to the criteria of filter IDGS.
Filter: IDGS
------- Control-M Active Environment ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB1
ID
020201 M21
/08915
JOB Ended "OK"
GRPSCHD ID
020201
TBL Active - In Error
IDJOB2
ID
020201 M21
/08916
JOB Ended "OK"
IDJOB3
ID
020201 M21
/08917
JOB Ended- Not "OK" Due to CC
IDJOB4
ID
020201
JOB Wait Schedule
IDJOB5
ID
020201
JOB Wait Schedule
IDJOB6
ID
020201
JOB Wait Schedule
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
NOTE
To deactivate all filters, that is, to display the full Active Environment screen without any
filter showing, you can enter the command SHOW nonfilter EDIT, where nonfilter is NOT the
name of an existing filter. Delete the name from the Filter field, and press Enter.
14 Enter DI A in the COMMAND field. The All Fields display type of the Active
Environment screen is displayed.
175
Figure 48
Filter: IDGS
------- Control-M Active Environment ------ UP
<A> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------IDJOB1
ID
020201 M21
/26288
JOB Ended "OK"
OrderID 001M6 Grp IDGRP1
MaxRC
Res. Use: Y
Time Fr:
Time Un:
Priority:
Due-In: 1158 Due-Out: 1159 Late:
Avg Elaps: 0001
RBA: 00013A
GRPSCHD ID
020201
TBL Active - In Error
OrderID 001M7 Grp IDGRP4
G
MaxRC
Res. Use: Y
Time Fr:
Time Un:
Priority:
Due-In: 1156 Due-Out: 1159 Late:
Avg Elaps: 0003
RBA: 00013C
IDJOB2
ID
020201 M21
/26289 JOB Ended "OK"
OrderID 001M8 Grp IDGRP4
G
MaxRC
Res. Use: Y
Time Fr:
Time Un:
Priority:
Due-In: 1158 Due-Out: 1159 Late:
Avg Elaps: 0001
RBA: 00013E
IDJOB3
ID
020201 M21
/26290 JOB Ended- Not "OK" Due to CC
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
14.35.40
Notice that this display type includes many fields not displayed in the Default
display type. Because of the larger number of lines displayed for each job, each screen
display shows far fewer jobs than the default display type.
16 Place job IDJOB6 in Held status and display the Zoom screen for the job by
entering Option H, and pressing Enter until the job has a status of Held Wait
Schedule. Then enter option Z).
176
17 Enter command NOTE in the COMMAND field of the Zoom screen. A Note line is
opened inside the Zoom screen between two lines of equal signs, as follows:
----------------------------- CONTROL-M ZOOM SCREEN ----------------------(3.Z)
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDJOB6
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT- N
SCHDTAB IDGS3
SCHDLIB CTM.TEST.SCHEDULE
APPL
GROUP IDGRP5
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
JOBNAME
JOBID
ODATE 020201 ORDERID 001MC
MAXWAIT 05
RESTART DECISION-FROM
.
TO
.
CONFIRM N
DESC
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDJOB6
DOCLIB
===========================================================================
NOTE
===========================================================================
IN
IDJOB5-ENDED-OK
0202
CONTROL
RESOURCE
PIPE
TIME: FROM
UNTIL
PRIORITY
CONFIRM N
COMMANDS: SAVE DOC NOTE
20.51.11
When you enter text in one line, a new blank line is opened to enable you to enter
more text.
18 In the NOTE line, enter the text: THIS NOTE COULD BE IMPORTANT. BUT
ITS NOT.
The NOTE section is displayed as follows:
===========================================================================
NOTE THIS NOTE COULD BE IMPORTANT. BUT IT'S NOT.
NOTE
===========================================================================
Save this new note by typing SAVE in the command line and pressing Enter.
177
Filter: IDGS
COMMAND ===>
O Name
Owner
IDJOB1
ID
GRPSCHD ID
IDJOB2
ID
IDJOB3
ID
IDJOB4
ID
IDJOB5
ID
IDJOB6
ID
------- Control-M
Odate
020201
020201
020201
020201
020201
020201
020201
========= >>>>>>>>>>>>>
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------M21
/08915
JOB Ended "OK"
TBL Active - In Error
M21
/08916
JOB Ended "OK"
M21
/08917
JOB Ended- Not "OK" Due to CC
JOB Wait Schedule
JOB Wait Schedule
JOB Wait Schedule
*** Note ***
Bottom of Jobs List
<<<<<<<<<<<<< ========
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
21.04.46
Observe the Note command in the list of commands at the bottom of the screen.
20 Enter NOTE in the COMMAND field. The text of the note is displayed in the
Status field.
Filter: IDGS
COMMAND ===>
O Name
Owner
IDJOB1
ID
GRPSCHD ID
IDJOB2
ID
IDJOB3
ID
IDJOB4
ID
IDJOB5
ID
IDJOB6
ID
------- Control-M
Odate
020201
020201
020201
020201
020201
020201
020201
========= >>>>>>>>>>>>>
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------M21
/08915
JOB Ended "OK"
TBL Active - In Error
M21
/08916
JOB Ended "OK"
M21
/08917
JOB Ended- Not "OK" Due to CC
JOB Wait Schedule
JOB Wait Schedule
JOB Wait Schedule
*** Note *** THIS NOTE COULD BE
IMPORTANT. BUT IT'S NOT.
Bottom of Jobs List
<<<<<<<<<<<<< ========
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display
21.04.46
21 Enter NOTE in the COMMAND field again. The text of the note is hidden.
178
This is because the NOTE command acts as a toggle between displaying and hiding
the text of each note appended to a job order.
23 Enter the TABLE command. The name of the scheduling library and table are
displayed for each job in the Status field.
Filter: IDGS
COMMAND ===>
O Name
Owner
IDJOB1
ID
GRPSCHD
ID
IDJOB2
ID
IDJOB3
ID
IDJOB4
ID
IDJOB5
ID
IDJOB6
ID
Commands: OPt
OPt
------- Control-M
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Odate Jobname JobID
Typ ----------- Status -----------020201 M21
/08915
JOB Ended "OK"
SCHED-LIB=CTM.TEST.SCHEDULE
(IDGS1)
020201
TBL Active - In Error
SCHED-LIB=CTM.TEST.SCHEDULE
(IDGS2)
020201 M21
/08916
JOB Ended "OK"
SCHED-LIB=CTM.TEST.SCHEDULE
(IDGS2)
020201 M21
/08917
JOB Ended- Not "OK" Due to CC
SCHED-LIB=CTM.TEST.SCHEDULE
(IDGS2)
020201
JOB Wait Schedule
SCHED-LIB=CTM.TEST.SCHEDULE
(IDGS2)
020201
JOB Wait Schedule
SCHED-LIB=CTM.TEST.SCHEDULE
(IDGS2)
020201
JOB Wait Schedule
DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
command toggles between Commands and Options display
21.29.12
24 Enter the TABLE command again. The names of the scheduling libraries and tables
are hidden.
179
25 Enter REFRESH in the COMMAND field. A message indicates that the display has
been refreshed.
Toggle to the list of options at the bottom of the Active Environment screen, so you
can see exactly which option you will use to display the Job Dependency Network
screen.
26 Enter OPT in the COMMAND field. The list of available options is displayed.
One of these options is N (Net). It displays the list of dependencies for a job; that is,
the list of predecessor and successor job of the selected job. Specify this option for
job IDJOB5.
27 Enter N in the OPTION field next to IDJOB5. The Job Dependency Network screen
is displayed (with display type N).
Filter: IDGS
------- CONTROL-M NETWORK OF M21JOB5 ------ UP
<N> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Level ----- N a m e ----- DueIN/Out Elaps Late Prio Res ------ Status -----4
IDJOB1
1158 1159 0001
Ended "OK"
-3
IDJOB2
1158 1159 0001
Ended "OK"
-2
IDJOB3
1156 1159 0003
Ended- Not "OK" Due
to CC
-1
IDJOB4
1158 1159 0001
Wait Schedule
--> IDJOB5
1158 1159 0001
Wait Schedule
+1
IDJOB6
1156 1159 0003
Wait Schedule
*** Note ***
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Opt: ? Why L Log H Hold Z Zoom R Rerun A Activate O Force OK V View Sysout
N Net D Del F Free S Stat G Group U Undelete J JCL Edit C Confirm 10.44.26
180
The Job Dependency Network screen is a special case of the Active Environment
screen. It indicates predecessor and successor jobs, and the levels of those jobs,
relative to the selected job.
Note the following about the jobs listed in the screen:
An arrow appears beside the job for which the N option was requested. This job is
the starting point for looking at predecessor and successor jobs.
Immediately below IDJOB5 is its the only successor job, IDJOB6, with a level
number of +1. The plus sign indicates that IDJOB6 is a successor job; the integer 1
indicates that IDJOB6 is only one level removed from IDJOB5, that is, it is an
immediate successor.
Above IDJOB5 is the list of predecessor jobs, each displaying a negative level
number. The minus signs in the level numbers indicate that these are predecessor
jobs of IDJOB5. The integer in the level number indicates the number of levels the
job is removed from IDJOB5. For example, IDJOB4, level -1, is the immediate
predecessor; IDJOB2, level -3, is three levels away from IDJOB5.
Jobs appear in the screen in job flow order, from earliest predecessor to latest
successor.
Job dependencies are determined according the prerequisite IN and OUT conditions
of the job. DO COND conditions are ignored because they are conditional rather than
constant.
The screen also displays the following information about the jobs, much of it also
found in the Zoom screen:
Table 18
Field
Description
DueIN
DueOut
Due out time. Time by which the job must finish executing.
Elaps
Elapse time. Expected time (in minutes) for the job to execute.
Late
Prio
181
Table 18
Field
Description
Res
Status
To refresh the display with the latest information, enter the REFRESH command as you
did before displaying the screen. The time of the last refresh is displayed on the top
line of the Job Dependency Network screen.
You can change display types in the Job Dependency Network screen, but there is
little point in doing so because it is this display type that shows the dependency
levels.
28 Press PF03/PF15 to exit from the Job Network Dependency screen back to the Active
Environment screen.
29 Enter option V for job IDJOB1. The Job Order Execution History screen for IDJOB1
is displayed.
NOTE
This facility requires that Control-M/Restart be operational at your site. If
Control-M/Restart is not installed, skip to Forcing an OK Status for a Job below.
182
OPTION:
S SELECT
00.00.34
The following information about the job is displayed at the top of the screen:
Table 19
Job Information
Field
Description
MEMNAME
OWNER
ORDERID
ODATE
Field
Description
JOBNAME
Job name.
JOBID
DATE
START
ELAPSED
PAGES
MAX RC
STATUS
183
NOTE
The above display type is the Default display type. Your INCONTROL administrator can
create additional display types. To change display types, entering the command DI x, as you
did to change display types in the Active Environment screen.
30 Enter option S for the job run of IDJOB1. The Sysout Viewing screen is displayed.
Figure 49 illustration is obviously more than one screen length. It shows the full
sysout.
Figure 49
184
You can scroll down, up, right, and left through the sysout.
The sysout is divided into sections that you can navigate using the N (NEXT) and P
(PREV) commands. The following line appears at the end of each section:
**** END OF DATA SET - ADDED BY CONTROL M **** DO NOT USE IT IN YOUR PROGRAM !!
31 Enter N in the COMMAND field. The next section of the sysout is displayed.
------------- CONTROL-M/CONTROL-R SYSOUT VIEWING -----PAGE
2 OF
3
COMMAND ===>
SCROLL===> CRSR
MEMNAME IDJOB1
OWNER ID
JOBNAME M21
ODATE 020201
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
1 //M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=ID,
//
MSGLEVEL=(1,1)
//*---- SUBMITTED BY CONTROL-M (FROM MEMLIB)
ODATE=010202
//*---- SCHEDULE CTM.TEST.SCHEDULE(IDGS1)
//*---- JCL
CTM.TEST.JCL(IDJOB1)
//*---- CONTROL-M JOB IDENTIFICATION: ORDER ID=001JW RUN NO.=00001
2 //S1 EXEC PGM=IEFBR14
**** END OF DATA SET - ADDED BY CONTROL M **** DO NOT USE IT IN YOUR PROGRAM !!
ICH70001I STCUSER LAST ACCESS AT 18:03:22 ON FRIDAY, FEBRUARY 02, 2001
ICH70001I STCUSER LAST ACCESS AT 18:03:22 ON FRIDAY, FEBRUARY 02, 2001
IEF142I M21 S1 - STEP WAS EXECUTED - COND CODE 0000
CPU (Total) Elapsed
CPU (TCB)
-Program Stepname ProcStep
RC
I/O hh:mm:ss.th hh:mm:ss.th hh:mm:ss.th
-IEFBR14 S1
00
0
00.02
00.18
00.02
-DD Name Unit
I/O Count
------------------------------------------------------------------------------COMMANDS: LEFT, RIGHT, FIND str, FIND str PREV, N n, P n, END
18.17.39
32 Enter N in the COMMAND field again. The next section of the sysout is displayed.
185
18.17.39
33 Exit the Sysout Viewing screen and then exit the Job Order Execution History
screen. The Active Environment screen is displayed.
186
Filter: M21GS
COMMAND ===>
O Name
Owner
IDJOB1
ID
GRPSCHD ID
IDJOB2
ID
O IDJOB3
ID
IDJOB4
ID
IDJOB5
ID
IDJOB6
ID
------- Control-M
Odate
020201
020201
020201
020201
020201
020201
020201
========= >>>>>>>>>>>>>
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------M21
/26288
JOB Ended "OK"
TBL Active - In Error
M21
/26467
JOB Ended "OK"
M21
/26468
JOB Ended- Not "OK" Due to CC
JOB Wait Schedule
JOB Wait Schedule
JOB Wait Schedule
*** Note ***
Bottom of Jobs List
<<<<<<<<<<<<< ========
------- Control-M
Odate
210101
210101
210101
210101
210101
210101
210101
========= >>>>>>>>>>>>>
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------M21
/26288
JOB Ended "OK"
TBL Active
M21
/26467
JOB Ended "OK"
M21
/26468
JOB Ended "OK" Forced OK
JOB Wait Submission
JOB Wait Schedule
JOB Wait Schedule
*** Note ***
Bottom of Jobs List
<<<<<<<<<<<<< ========
------- Control-M
Odate
020201
020201
020201
020201
020201
020201
020201
========= >>>>>>>>>>>>>
Active
Environment ------ UP
<D> - (3)
SCROLL ==> CRSR
Jobname JobID
Typ ----------- Status -----------M21
/26288
JOB Ended "OK"
TBL Ended "OK"
M21
/26694
JOB Ended "OK"
M21
/26695
JOB Ended "OK" Forced OK
M21
/26696
JOB Ended "OK"
M21
/26697
JOB Ended "OK"
M21
/26693
JOB Ended "OK"
*** Note ***
Bottom of Jobs List
<<<<<<<<<<<<< ========
187
22.39.56
For each computer with statistics on the job, an Average Statistics line is displayed
followed by individual job or SMART Table Entity statistics for each execution:
The Average Statistics Line contains the SYSID and SMF ID of the computer for
which statistics are calculated, as well as the average ELAPSED, CPU and SRB time
for the job on that computer.
The Individual Execution and/or SMART Table Entity Statistics Line contains the
JOBID, Start time, End time, Elapsed time, CPU time, and SRB time for the
execution or SMART Table Entity.
188
38 Enter SHOW nonsense EDIT. The filter window is displayed with the default edits
set, and the nonsense name in the Filter field.
39 Blank out the Filter name and press Enter. The Active Environment screen is
displayed with the default filter edits, that is, the equivalent of no filter.
40 Scroll to the top of the screen. The full Active Environment is displayed.
41 Find the listing of one of the jobs in the SMART Table (IDJOB2 through IDJOB5),
and enter Option T for the job. The Table screen is displayed.
Figure 50
Table Screen
Filter:
------- CONTROL-M
TABLE - TBLSCHD ------ UP
<D> - (3)
COMMAND ===>
SCROLL ==> CRSR
O Name
Owner
Odate Jobname JobID
Typ ----------- Status -----------TBLSCHD ID
020201
TBL Ended "OK"
IDJOB2
ID
020201 M21
/26694
JOB Ended "OK"
IDJOB3
ID
020201 M21
/26695
JOB Ended "OK" Forced OK
IDJOB4
ID
020201 M21
/26696
JOB Ended "OK"
IDJOB5
ID
020201 M21
/26697
JOB Ended "OK"
========= >>>>>>>>>>>>>
Bottom of Jobs List
<<<<<<<<<<<<< ========
Opt: ? Why L Log H Hold Z Zoom R Rerun A Activate O Force OK V View Sysout
N Net D Del F Free S Stat G Group U Undelete J JCL Edit C Confirm 00.15.01
The Table screen is a variation of the Active Environment screen. It contains the
SMART Table Entity, and all jobs belonging to the SMART Table of the selected job.
The name of the SMART Table appears in the top line of the screen. The display can
be further filtered if desired.
Chapter 6 Navigating The Active Environment
189
Review
Review
In this chapter you
looked more closely at the fields in the Show Screen Filter window, defined a new
filter, and displayed a list of available filters
added a note to a job in the Zoom screen and displayed the contents of the note in
the Active Environment screen
displayed the scheduling library and table names of jobs in the Active
Environment screen
displayed the list of dependent jobs (predecessor and successor jobs) in the Job
Dependency Network screen
displayed the execution history of job orders in the Job Order Execution History
screen, and display job sysout in the Sysout Viewing screen
displayed the SMART Table to which a job belongs in the Active Environment
screen
Recommended Reading
Before continuing with the next chapter, you should read the following in the
Control-M for z/OS User Guide:
In Chapter 2
190
Recommended Reading
information related to filters and filtering the display in the Active Environment
screen
information about adding a note in the Zoom screen and displaying the note in the
Active Environment screen
the Job Order Execution History screen, and the Sysout Viewing screen
any other information about the Active Environment screen that you have not yet
read
191
Recommended Reading
192
Chapter
194
194
194
197
198
198
199
201
201
203
205
206
206
193
Overview
Overview
In the previous chapters of this guide, you used the O (Order) or F (Force) option in
the Job List screen to order individual jobs. These same options are available in the
Table List screen to order or force all the jobs in a particular table.
There are, however, other methods of job ordering, In this chapter of the guide, you
will look at job ordering through the following methods:
You will also see a brief description of several other methods of job ordering.
NOTE
Only relevant DD statements are illustrated in the sample JCLs for the exercises in this
chapter. Other DD statements, such as DALOG and DACNDF, are not shown.
Preparations
No special preparations are required for this chapter of the guide.
NOTE
Specify the appropriate library in place of CTM.TEST.SCHEDULE in each of the alternatives.
194
The desired job scheduling definitions are specified in ORDER control statements
included in a DAJOB DD statement.
Each ORDER control statement identifies a library, table and job scheduling
definition. To avoid repetition of the scheduling library name in each ORDER
statement, the library name was identified in a preceding DD statement.
The last ORDER statement requested a FORCE. Therefore, job IDJOB3 will be
forced regardless of its basic scheduling criteria.
The CTMJOB utility generally uses a DAJOB DD statement to identify the tables
and/or jobs to schedule, although an exception will be shown later in this chapter.
But the ORDER statements do not have to be included in line in the DAJOB
statement. They can, instead, be placed in a parameter member pointed to by the
DAJOB statement.
The following steps show how to create an alternative definition for CTMJOB that
places the order statements in a PARM member (IDPRM1).
NOTE
Be sure to specify an appropriate PARM library in place of CTM.TEST.PARM.
DD
DD
DSN=CTM.TEST.SCHEDULE DISP=SHR
DISP=SHR,DSN=CTM.TEST.PARM(IDPRM1)
3 Specify the following contents in the IDPRM1 member in the PARM library:
195
ORDER
ORDER
ORDER
FORCE
The above definitions for CTMJOB achieve the same results. The advantage of the
second method, using the PARM member, is that you do not have to change the
JCL if you want to change the list of jobs to be ordered. You merely need to change
the contents of the PARM member.
If the table being scheduled is a SMART Table, you can specify scheduling RBCs to
include or ignore in the ORDER statements.
DD
*
DDNAME=CTM.TEST.SCHEDULE MEM=IDGS2 ODATE=ODATE
RBC EXERCISES
RBC EOW
RBC EOM
Now that you have seen several instances of using ORDER statements, take a closer
look at the ORDER statement syntax.
The syntax for the ORDER statement is as follows:
ORDER{DSN=schedlib|DDNAME=dd|DD=dd},{MEMBER=table|MEM=table}[,JOB=jobnm]
[,ODATE=date|DATE=date][,ODATEOPT={VALUE|VAL|RUN}][,FORCE]
[SELECT RBC rbcname1]
[IGNORE RBC rbcname2]
196
Immediately following the ORDER statement, you must specify either the name of
scheduling library (in a DSN parameter), or the name of a DD statement that
identifies a scheduling library (in a DD or DD name parameter).
Jobname is optional. If not specified, all jobs in the table are ordered.
A date parameter, such as ODATE or DATE, is optional if a date control record has
been defined.
The FORCE parameter is optional. It forces a job even if its basic scheduling criteria
are not satisfied.
IGNORE and SELECT RBC statements are relevant for SMART Table scheduling
only.
For more information on the parameters in the ORDER statement, see the description
of the format of ORDER statements in the Control-M chapter of the INCONTROL for
z/OS Utilities Guide.
Thus far, all instances of DD statement DAJOB included, or pointed to, a PARM
member that includes ORDER statements. However, DAJOB statements can be
defined without ORDER statements.
DD
DD
DISP=SHR,DSN=CTM.TEST.SCHEDULE(IDGS1)
DISP=SHR,DSN=CTM.TEST.SCHEDULE(IDGS3)
Using this method, the schedule library and table is specified directly in DAJOB
DD statement. This method provides no advantage over in-line specification of
ORDER statements. It has the disadvantage that you cannot request specific jobs,
only whole tables.
It is also possible to use CTMJOB without specifying a DAJOB DD statement. This
is done by specifying a PARM parameter in an EXEC statement in the JCL. For
example:
//ORDERJOB EXEC
PGM=CTMJOB,
//
PARM='ORDER DSN=CTM.TEST.SCHEDULE TABLE=IDGS1 JOB=SORT ODATE=020201'
//
However, this method is of very limited usefulness because it can only be used to
order a single table or job.
If you were to submit any of the defined JCLs for CTMJOB, the specified job
scheduling definitions would be ordered. However, instead of submitting the JCLs,
for this exercise you should move on to the topic of User Daily jobs.
197
<== CHANGE
The DAJOB DD statement looks familiar because these parameters are ultimately
passed to CTMJOB. Therefore, any syntax that is valid for passing parameters to
program CTMJOB, as demonstrated in previous steps in this chapter, can be used in
the User Daily job.
But there is a difference. Note that the order statements do not contain date
parameters as they did in the previous steps. Instead the date information is provided
by a record called the Date Control record. You can now identify the Date Control
record to the job, and then create this Date Control record, using the DATEREC
parameter in the procedure that points to the member containing the Date Control
record.
198
Now note the statement DATEREC=DATERCU. You should examine this item for a
moment.
DATEREC=DATERECU
to this statement:
//
DATEREC=IDDCRU
The Date Control record contains an example date that is repeated several times in
specific columns. The integrity of these columns must be maintained. The date must
appear in the Date Control record of a User Daily job in the following columns:
01 - 06
18 - 23
25 - 30
43 - 48
50 - 55
67 - 72
Each User Daily requires its own Date Control record. You will use this model record
to create a Date Control record for the User Daily that you have just created. As you
can see from the step you just performed, you are going to call the Date Control
record for this User Daily IDDCRU.
199
Once you have created a Date Control record for a User Daily, Control-M
automatically updates the date information in the record. This is one of the great
advantage of using User Dailies to order jobs. You do not have to update date
information in a DAJOB DD statement each day, because Control-M provides the
updated information through the Date Control record.
This appearance of the date six times (instead of once) in the Date Control record of
a User Daily enables Control-M to manage the process of job ordering. At each
stage in the job ordering process, the current original scheduling date is placed in
one of these fields.
200
Column
Constant or Value
Added
Description
01 - 04
JOB=
Constant.
05 - 12
blank
13 - 23
,SERIAL_NO=
24 - 28
blank
29 - 37
,ORDERID=
38 - 42
blank
43 - 49
,GROUP=
50 - 69
blank
10 In your scheduling library, create a new table called IDUDT1, and in it create a job
scheduling definition called IDUDJ1. Define the job scheduling definition as
follows:
A Ensure that the MEMNAME and MEMLIB fields point to the JCL of IDUTJ1.
B Define the Basic Scheduling parameters so that this job scheduling definition
gets ordered every day, for example, by using a DAYS value of ALL.
201
However, even the User Daily job must be ordered. There are several ways this can be
done:
You can order the User Daily job using the Online facility. But this requires going
into the Control-M Online facilitystill a manual intervention.
You can use any the other job ordering methods available, some of which will be
described below. But this, too, involves manual intervention.
Finally, you can order User Dailies using the New Day procedure. The New Day
procedure is defined and maintained by the Control-M administrator, and is run
once each day as part of New Day processing. When User Dailies are defined to the
New Day procedure, they are automatically ordered each day that their basic
scheduling criteria are satisfied. Most sites use a combination of User Daily jobs
and the New Day procedure to completely automate daily job scheduling.
Because the New Day procedure is defined by the Control-M administrator, and is
discussed in detail in the INCONTROL for z/OS Administrator Guide, it is not
discussed in this guide.
Control-M provides two sample User Daily job scheduling definitions in member
MAINDAY in the SCHEDULE library:
DAILYSYS is a sample User Daily for scheduling system jobs
DAILYPRD is a sample User Daily for scheduling production jobs.
202
You can define as many User Daily jobs as you want, with each ordering only
those jobs that you want it to order. This leaves you great flexibility in organizing
your User Daily jobs by whatever system is useful. For example, you can organize
User Dailies according to table, application or group, department, basic and
runtime criteria of the jobs being ordered, or any other useful criteria or
combination or criteria.
You can define the scheduling criteria of the User Daily job in any way you wish.
For example, if a certain set of jobs is to be processed at the end of the work day,
there is no need for them to sit in the Active Jobs file all day. Instead, you can
ensure that they are ordered only in the evening or at night, by appropriately
defining the TIME FROM criteria of the User Daily that orders those jobs.
If you want, you can define a User Daily to run several maintenance procedures
that you would like run in succession.
Although the New Day procedure is ordered only once each day, at start of New
Day, you can order User Daily jobs whenever you wish, and as often as you wish.
Of course, you must ensure that this does not produce unwanted results. If you do
not want multiple orders of the same job, you should not run the User Daily more
than once.
You can locate your User Daily jobs as you wish. For example, if all the User Daily
jobs are placed in a single table, then by ordering that table you order all User
Daily jobs that it contains.
11 Enter the Online Utilities menu and request utility CTMJOBRQ, which is Option
M1. The Job Request Utility panel is displayed.
203
---------------------------COMMAND ===>
----------------------------
SCHEDULING LIBRARY
===> CTM.TEST.SCHEDULE
TABLE NAME
===>
JOB NAME
===>
===> 02 02 01
FORCED SCHEDULING
===> NO
(YES,NO)
===>
GROUP
===>
CALENDAR LIBRARY
===> IOA.TEST.CAL
(Optional)
specify the name of the library, table and job scheduling definition
To request all jobs in a table, specify an asterisk in the job name field.
indicate if you want the job forced if it should not be scheduled on that particular
run date
NOTE
The GROUP field is generally useful in tables whose jobs do not inherit the GROUP from the
table, and only if an * is specified in the JOB NAME field. It limits the jobs ordered to those
belonging to the specified group.
204
In general, it is probably quicker to use batch utility CTMJOB, especially if you are
ordering several jobs. Perhaps the only advantage of online utility CTMJOBRQ is that
you do not need to know the format of the order statementsyou merely fill in the
parameter fields presented in the panel. But CTMJOBRQ is definitely not a powerful
utility.
Order and Force options in the Job and Table List screens
Batch utility CTMJOB
User Daily jobs
Online utility CTMJOBRQ
Method
Description
Utility CTMBLT
CLIST CTMCJOBS
Quick submit
command CTMQSB
205
Review
Review
In this chapter you
learned to order jobs using batch utility CTMJOB, and learned several different
methods and formats that can be used to let the utility know which jobs to order
learned to define the JCL and job scheduling definition for a User Daily job, and
how to define its required Date Control record, and a second, optional Date
Control record for Enhanced Daily Checkpointing
took a look at the CTMJOBRQ online utility panel that can be used to order a job
Recommended Reading
Before continuing with the next chapter, it is recommended that you read the
following:
206
In Chapter 3 of the Control-M for z/OS Administrator Guide, the topic Job Ordering
using New Day Processing.
In Chapter 3 of the Control-M for z/OS Utilities Guide, the description of utility
CTMJOB.
Chapter
Additional Features
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preparations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Calendars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of the IOA Calendar Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . .
Responding to External Events through CMEM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Types Handled by CMEM - Available ON Statements . . . . . . . . . . . . . . .
Creating On Spool Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining On Spool Jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bringing the Job On Spool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Points About On Spool Jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Batch Utility IOACND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Miscellaneous Facilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
History Jobs File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Journaling and Restoration Capability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Accumulating Statistics: Statistics Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatic Tape Adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulating Job Execution and Forecasting Resource Usage . . . . . . . . . . . . . . . . .
Control-M/Restart Dataset Cleanup Utility CTRCCLN (R2) . . . . . . . . . . . . . . . .
Reporting Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exit the Online Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Features
208
208
209
214
215
221
222
223
227
228
229
232
232
232
233
234
234
235
235
235
236
237
207
Overview
Overview
In this, the final chapter of the Getting Started guide, you will examine several topics
not covered in the other chapters.
What you learn in this chapter will enable you to
take a look at, and create a rule in, the CMEM (Control-M Event Manager) facility
You will also learn about the availability of several miscellaneous facilities.
Preparations
To prepare for the exercises in this chapter
create a new job scheduling definition in table IDGS4, called IDJOB10, with these
characteristics:
In the MEMNAME field, specify IDJOB10
In the GROUP field, specify IDGRP5
In the DESCRIPTION field, specify THIS IS JOB10
In the OUT field, specify IDJOB10-ENDED-OK ODAT +
208
Defining Calendars
Defining Calendars
A calendar definition is a collection of parameters, in calendar form, that is used to
indicate on what dates of the year scheduling should occur.
Calendars can be very useful for providing basic scheduling criteria, especially when
scheduling dates do not follow a pattern, or follow a pattern that is not easily
specified using regular basic scheduling criteria
An example might be a WORKDAYS calendar that schedules jobs on all weekdays,
Monday through Friday, that are not holidays. Creating this schedule using basic
scheduling parameters would be problematic. Defining the weekdays is simple
enough, but excluding the holidays will be a problem.
identical detailed and complex scheduling criteria are used for many jobs
Instead of detailing the scheduling criteria in the job scheduling definition of each
job, the scheduling criteria can be specified once in a calendar, and then only the
calendar name need be specified in each the job scheduling definition. An example
might be a HOLIDAYS calendar that consists of a number of disparate dates.
Specifying this once in a calendar is easier and less error-prone than specifying the
same set of dates in many job scheduling definitions.
You can now define a calendar for use in your job scheduling definition.
1 Enter =8 in the COMMAND field. The IOA Calendar Definition Facility entry
panel is displayed.
In the LIBRARY field is the name of the default calendar library at your site. For
purposes of illustration, you will call this library IOA.TEST.CAL.
Chapter 8
Additional Features
209
Defining Calendars
Figure 51
2 In the CALENDAR field, enter the name IDCAL1 and press Enter.
SPECIFY LIBRARY, CALENDAR, YEAR
LIBRARY ===> IOA.TEST.CAL
CALENDAR ===> IDCAL1
YEAR
===>
210
11.28.41
Defining Calendars
The Calendar Definition screen is displayed for the current year, as indicated by the
label under the COMMAND field.
Figure 52
----------------------(8.Y)
SCROLL===> CRSR
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1
01
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8
02
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1
03
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
04
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1
05
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
06
-----S-------------S-------------S-------------S-------------S-------------S--TYPE Y IN ALL THE EXECUTION DAYS
11.35.33
3 Tab to the field next to the year label, and specify GETTING STARTED. The
following screen is displayed:
--------------------------- IOA CALENDAR - IDCAL1
COMMAND ===>
YEAR 2001 - GETTING STARTED
----------------------(8.Y)
SCROLL===> CRSR
It is sectioned according to months. Only the first six months are displayed. You
can page down to display the next six months.
Chapter 8
Additional Features
211
Defining Calendars
Normally, you would try to create a logical, useful calendar. However, to keep the
definition as simple as possible, you will specify Y only for the date on which you are
performing these exercises.
4 Specify Y in the field that represents the current working date. The Calendar
definition should have only one entry:
--------------------------- IOA CALENDAR - IDCAL1
COMMAND ===>
YEAR 2001 - GETTING STARTED
----------------------(8.Y)
SCROLL===> CRSR
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1
01
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8
02
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1
03
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
04
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1
05
Y
-----S-------------S-------------S-------------S-------------S-------------S--1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
06
-----S-------------S-------------S-------------S-------------S-------------S--TYPE Y IN ALL THE EXECUTION DAYS
11.35.33
5 Exit the Calendar Definition screen. The Year List screen is displayed, listing only
the definition you just created.
212
Defining Calendars
Figure 53
OPTIONS:
S SELECT
D DELETE
I INSERT
Exit the Year List screen. The Exit Option window is displayed. Type Y in the
CREATE field and press Enter to save this newly created calendar. You can now use
this calendar in your job scheduling definition.
6 From the IOA Calendar Facility Entry Panel, type =2 in the COMMAND field
and press Enter to enter the Scheduling Definition facility.
7 Edit the job scheduling definition of IDJOB10. In the DCAL field, type IDCAL1 and
press Enter, and exit the job scheduling definition.
8 Order IDJOB10. The job is scheduled, and executed, because the basic scheduling
criteria defined in calendar IDCAL1 were satisfied.
Although you specified only a calendar name in this exercise, calendars can be
used in conjunction with other basic scheduling parameters.
The relationship between DAYS values and the DCAL calendar depends on the
format of values specified for DAYS parameter. The same holds true of the
relationship between WDAYS values and the WCAL calendar. For details, refer to
the description of parameters DAYS and WDAYS in the parameters chapter of the
Control-M for z/OS User Guide.
Chapter 8
Additional Features
213
Both job scheduling definitions and calendar definitions are stored in members in a
library. Therefore, both facilities have corresponding screens at each relevant level.
The gateway to both definition facilities is an entry panel that allows
specification of a Library, member, and entity, either a calendar year or a job
scheduling definition name.
The screen at the next level lists the members in the library
The Table List screen lists the members in the Scheduling Definition facility.
The Calendar List screen lists the members in the Calendar facility.
The screen at the next level lists the entities in the member.
The Job List screen lists the entities in the Scheduling Definition facility
member.
The Year List screen lists the entities in the Calendar facility member.
214
The description you provide in the definition screen appears in the Job List screen
or the Year List screen.
9 Enter Option C in the IOA Primary Option menu, or =C from any other location.
The CMEM entry panel is displayed.
Figure 54
===> CMEM.TEST.RULES
===>
===>
22.35.51
CMEM has a library, member, and rule structure much like the library, member, and
job scheduling definition structure of the Scheduling Definition facility.
Chapter 8
Additional Features
215
This is reflected in the similarity between the Scheduling Definition entry panel and
the CMEM entry panel, which has entry fields for LIBRARY, TABLE, and RULE.
Other screens of the CMEM facility also correspond to those of the Scheduling
Definition facility:
NOTE
Many commands and options in the corresponding screens are also the same.
You can now create a CMEM table and rule. Use a test CMEM library if one exists, or
use the default CMEM rule library. For the purposes of this guide, you will call this
library CMEM.TEST.RULES.
10 In the CMEM entry panel, enter CIDM1 in the TABLE field, and rule IDRUL1 in the
RULE field. Use either the default or a test CMEM rule library. For the purposes of
this guide, this library is called CMEM.TEST.RULE.
NOTE
If Control-O is installed, your site should not be running CMEM.
===> CMEM.TEST.RULES
===> IDCM1
===> IDRUL1
216
01.37.17
The CMEM rule definition is much simpler than the job scheduling definition.
Basically, it enables specification of the following types of parameters:
parameters specify the situation or event that should trigger the rule.
DO parameters specify the actions the rule should perform.
General parameters specify general information about the rule. In the screen, the
general information appears immediately under the ON statement.
ON
The CMEM rule lacks Basic and Runtime scheduling criteria. CMEM tables are
usually ordered, or loaded to memory, when CMEM is started. They can also be
refreshed or loaded by an operator command, or manually, by using the FORCE
option in the CMEM Table List screen.
A CMEM rule in memory is triggered, that is, all its DO statements are performed, by
the occurrence of the events specified in the ON statements of the rule.
You can now define your CMEM rule. Of course, to define a rule, you need to know
its purpose. The rule you are about to define should accomplish the following:
Job IDEXT1 is a job that is NOT submitted under the Control-M monitor. However,
step S2 of job IDEXT1 performs certain processing that is required before certain
other jobs can be submitted by Control-M. Therefore, the purpose of the rule is to
inform Control-M when step S2 in job IDEXT1 ends OK.
11 In the ON statement, enter the value STEP. The ON STEP statement is displayed.
Chapter 8
Additional Features
217
+-----------------------------------------------------------------------------+
ON STEP
=
JTYPE
SMFID
SYSTEM
PROCSTEP
PGMSTEP
STEPRC
And/Or/Not
OWNER ID
GROUP
MODE PROD
RUNTSEC
THRESHOLD
DESCRIPTION
===========================================================================
DO
===========================================================================
======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====
15 Specify IDS2-IDEXT1-OK in the condition field, ODAT in the date field, and + in the
action field.
The statement is displayed as follows:
218
===========================================================================
DO COND
= IDS2-IDEXT1-OK
ODAT +
DO
===========================================================================
OPTIONS:
S SELECT
D DELETE
I INSERT
C COPY
02.32.23
In addition to displaying the rule name and description, the Rule List screen also
displays the rule type, which in this case is Z. The rule type is determined by the type
of ON statement defined. The letter Z is used to indicate that the rule is an ON STEP
rule. There are other rule type codes that will be identified later in this chapter.
Chapter 8
Additional Features
219
17 Exit the Rule List screen. The Exit Option window is displayed.
Figure 57
18 Enter Y in the CREATE field. The CMEM entry panel is displayed again.
You can now load to memory the table that contains the rule you just defined.
19 Ensure the TABLE and RULE name fields are blank and press Enter. The Table List
screen is displayed.
21 Exit the Control-M CMEM Order Messages screen. The CMEM Table List screen is
displayed.
23 Submit the JCL of job IDEXT1. Once Step S2 has ended OK, check again for
condition IDS2-IDEXT1-OK in the IOA Conditions/Resources screen.
220
The condition does not appear, due to the rule being in TEST mode, as specified in
13 on page 218. However, if the rule had been defined in PROD mode, the
condition would appear, indicating that the CMEM rule detected the successful
completion of step S2 and added the specified condition to the IOA Conditions file.
Control-M jobs that have this condition as an IN condition can now be submitted,
assuming all other scheduling and runtime criteria are satisfied.
Event
Description
DSNEVENT
JOBARRIV
JOBEND
STEP
The following list indicates the Rule type code that appears in the Rule List screen,
depending on the type of ON statements specified in the rule:
R Job arrival
X Job end
D Dataset
Z Step
Chapter 8
Additional Features
221
Table 24
Parameter
Description
DO statement
be an ON JOBARRIV rule that is triggered by the arrival of the job on the JES spool
Control-M then controls the entire life cycle of the job, except submission, according
to the instructions in the forced job scheduling definition. Because the job has already
been submitted, Control-M does not submit the job. However, if the job is held,
Control-M releases the job when the runtime scheduling criteria are met.
222
The following tables clarify the connections between the components by identifying
the values you will specify and the reasons for those values. This understanding
should be gained before you create the necessary components.
Table 25
Item
Value
Description
Member
IDEXT2
Library
CTM.TEST.
JCL
Table 26
Item
Value
Description
Rule
IDEXP2
Member
IDCM1
Library
CMEM.TEST.
RULE
ON
ON JOBARRIV
IDEXT2
DO
FORCEJOB
TABLE
IDGS4
JOB
IDEXT2
LIBRARY
CTM.TEST.
SCHEDULE
Chapter 8
Additional Features
223
Table 27
Item
Value
Description
Jobname
IDEXT2
Member
IDGS4
Library
CTM.TEST.
SCHEDULE
MEMNAME field
IDEXT2
MEMLIB field
CTM.TEST.
JCL
The job should be submitted with TYPRUN=HOLD to delay its execution and
permit Control-M to determine when to run the job.
The MSGCLASS sysout of the job should be one of the following to enable
Control-M to read the sysout for the job and perform postprocessing according
to the job scheduling definition:
For JES3 users, it must be equal to the Control-M SYSOUT held class.
For JES2 users, it can be any held SYSOUT class.
224
The ON JOBARRIV statement should have the job name value of IDEXT2 after
the = symbol. The rest of the fields can be blank.
For the General parameters, the OWNER field should contain your user ID, the
MODE field should contain the value TEST, and the DESCRIPTION field should
say CREATE ON SPOOL JOB.
26 Exit the Rule Definition screen, and the Rule List screen. In the Exit Option
window, save the rule.
Chapter 8
Additional Features
225
The MEMLIB field points to the JCL library of the arrived job, which in this
exercise is CTM.TEST.JCL.
You can now define the following parameters in this job scheduling definition:
ODAT +
226
JOB: IDEXT2
LIB CTM.TEST.SCHEDULE
TABLE: IDGS4
COMMAND ===>
SCROLL===> CRSR
+-----------------------------------------------------------------------------+
MEMNAME IDEXT2
MEMLIB
CTM.TEST.JCL
OWNER
ID
TASKTYPE JOB
PREVENT-NCT2
DFLT N
APPL
GROUP IDGRP6
DESC
ON SPOOL EXERCISE
OVERLIB
STAT CAL
SCHENV
SYSTEM ID
NJE NODE
SET VAR
CTB STEP AT
NAME
TYPE
DOCMEM IDEXT2
DOCLIB
CTM.TEST.DOC
===========================================================================
DAYS
DCAL
AND/OR
WDAYS
WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL
SHIFT
RETRO N MAXWAIT 00 D-CAT
MINIMUM
PDS
DEFINITION ACTIVE FROM
UNTIL
===========================================================================
IN
CONTROL
RESOURCE
FROM TIME
+
DAYS
UNTIL TIME
+
DAYS
DUE OUT TIME
+
DAYS
PRIORITY
SAC
CONFIRM
TIME ZONE:
===========================================================================
OUT
IDEXT2-ENDED-OK
ODAT +
AUTO-ARCHIVE Y
SYSDB
Y
MAXDAYS
MAXRUNS
RETENTION: # OF DAYS TO KEEP
# OF GENERATIONS TO KEEP
SYSOUT OP
(C,D,F,N,R)
FROM
MAXRERUN
RERUNMEM
INTERVAL
FROM
STEP RANGE
FR (PGM.PROC)
.
TO
.
ON PGMST
PROCST
CODES
A/O
DO
SHOUT WHEN
TIME
+
DAYS
TO
URGN
MS
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
COMMANDS: EDIT, DOC, PLAN, JOBSTAT
04.47.20
Chapter 8
Additional Features
227
The CMEM rule detects the arrival of job IDEXT2 on the JES spool, and forces the
job scheduling definition of job IDEXT2. Control-M then recognizes this as an On
Spool job and tracks and controls the job using the instructions in the job
scheduling definition.
34 Check the job log. The job log indicates the appropriate Control-M handling of the
job, depending on the results of the execution (assuming that the rule is in PROD
mode).
The job name specified in the ON JOBARRIV statement in this rule must match the
name of the job to be monitored. It can be a full job name, or it can be a mask if a
group of jobs is to be monitored.
The job scheduling definition must be forced by the first DO FORCEJOB statement
in the CMEM rule.
The MEMNAME value in the job scheduling definition must match the name of
the external job. A mask can be specified in the MEMNAME field if the same job
scheduling definition is used for more than one job.
Appropriate runtime scheduling criteria for the job must be defined in the job
scheduling definition. This enables Control-M to control when the job should be
run, that is, its execution.
When the job arrival event occurs, Control-M forces the requested table or job.
If the MEMNAME value in the requested table or job does not match the name
of the arriving job, the table or job is forced and processed regularly by
Control-M, which presumes that a job is submitted when its runtime scheduling
criteria are met, and so on.
If the MEMNAME value in the requested table or job matches the name of the
arriving job, the job becomes an On Spool job and Control-M
228
assigns the job ID of the job that triggered the event to the forced job
Control-M starts processing the forced job when all runtime scheduling criteria
defined in the job scheduling definition are satisfied. If there are no runtime
scheduling criteria in the job scheduling definition, Control-M starts processing the
job immediately.
Control-M looks for the job in the spool and releases it, if required.
If the external job is waiting for execution in HELD state, that is, if the job arrives
on spool with the TYPRUN parameter set to HOLD, Control-M releases it for
execution.
Otherwise, Control-M verifies that the job is still in the spool, and is waiting for
execution, executing, or ended, before performing postprocessing.
Control-M waits for the job to finish execution, reads its SYSOUT, analyzes the
execution results, and performs all the postprocessing actions defined in the job
scheduling definition.
By default, Control-M can only handle On Spool jobs that originate on the same NJE
node on which Control-M is running.
Chapter 8
Additional Features
229
36 In the pre-supplied copy of the utility, add the following control statements under
the EXEC statement:
ADD
This job must be submitted through Control-M to resolve the AutoEdit variables.
Take a closer look at the control statements you can use in this utility. All control
statements must have the following format:
action entity_type entity_name
qualifiers
where
230
Table 28
Entity Type
Qualifier
COND
cond_date
RESOURCE
resc_quantity
CONTROL
control_type
It can be activated as a started task (STC), from TSO, or from within a user
program.
Chapter 8
Additional Features
231
Miscellaneous Facilities
IOA Online Utility I1, which is described in the IOA Utilities chapter of the Control-M
for z/OS User Guide, can be used for adding, deleting or checking a prerequisite
condition in the IOA Conditions file.
Miscellaneous Facilities
The following facilities may prove of special interest to you. There are no exercises to
perform regarding these facilities, and you can find their descriptions in the
appropriate guide. They are listed below to ensure you know they are available.
Some of the following descriptions are taken from the introductory chapter of the
Control-M for z/OS User Guide.
232
The Journal file is initialized each day during New Day processing. From that point
on, for the rest of the working day, the Control-M monitor records in the Journal file
all job processing activities that impact the Control-M Active Jobs file, and all
prerequisite condition additions to and deletions from the IOA Conditions file and
the Control-M Resources file.
If the Control-M Active Jobs file, and optionally, the IOA Conditions file and the
Control-M Resources file, need to be restored, for example, following a system crash,
utility CTMRSTR can be run to restore the files. The utility uses data from the Journal
file to restore the files to the status they had at any specific time after the last run of
the New Day procedure.
The Control-M Journal file is initialized each day during New Day processing.
Therefore, the time at which the New Day procedure initialized the Journal file is the
earliest time to which the Control-M Active Jobs file, the Control-M Resources file, or
the IOA Conditions file can be restored.
Journaling and Restoration is an optional feature that can be activated by the
INCONTROL administrator. It is described in the Control-M chapter of the
INCONTROL for z/OS Administrator Guide, and activation of this feature is described
under parameter JRNL in the chapter on installing Control-M in the INCONTROL for
z/OS Installation Guide.
determining if the execution time of a job falls outside a statistically normal range
of time, which would indicate an execution delay or problem
determining when a shout message should be issued based on the elapsed time of
a job
simulating job executions and forecast the impact of changes to the system.
Chapter 8
Additional Features
233
234
Reporting Facility
Control-M supports a comprehensive reporting facility, which can produce the
following types of reports:
Table 29
Report Types
Reports
Description
Keystroke Language
Reports
Special Purpose
Reports
These reports include the Job Flow reports that are generally used to
track the dependencies between jobs, and the Job Plan reports that
are used to anticipate which jobs are scheduled each day.
Sample reports are provided in the IOA SAMPLE library. The Reporting facility is
described in the Keystroke Language (KSL) chapter of the Control-M for z/OS User
Guide. Special purpose reports are described in the INCONTROL for z/OS Utilities
Guide.
Chapter 8
Additional Features
235
Review
Review
In this chapter you
created a calendar in the IOA Calendar facility and used it to schedule a job
created a CMEM table and rule, and loaded the rule to memory
236
Recommended Reading
Recommended Reading
It is recommended that you read the following:
Chapter 8
Additional Features
237
Recommended Reading
238
Appendix
Sample JCLs
Shown below are sample JCLs used for the exercises in this book, according to
chapter and job. The samples indicate how the JCL appears at the time of preparation.
They do not indicate changes made during the course of the exercises. It may be
necessary to customize some of these JCLs, particularly when names, such as a sitedefined library name, must be specified.
Chapter 1
JOB1
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB1) - 01.05
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
JOB2
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB2) - 01.00
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
Sample JCLs
239
Chapter 2
Chapter 2
JOB3
EDIT
******
000100
001400
001500
001600
001700
001800
001900
002000
******
CTMP.JCL(M21JOB3) - 01.03
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0008'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
JOB4
EDIT
******
000001
000002
000003
******
240
CTMP.JCL(M21JOB4) - 01.00
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
Chapter 3
Chapter 3
JOB5
EDIT
******
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
000011
000012
000013
000014
000015
000016
000017
000018
000019
000020
000021
000022
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
000035
000036
******
CTMP.JCL(M21JOB5) - 01.09
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S2 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S3 EXEC PGM=IOATEST,PARM='TERM=C0008'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S4 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S5 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
Appendix A
Sample JCLs
241
Chapter 4
Chapter 4
JOB1
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB1) - 01.05
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
JOB2
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB2) - 01.00
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
JOB3
EDIT
******
000100
001400
001500
001600
001700
001800
001900
002000
******
242
CTMP.JCL(M21JOB3) - 01.03
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
JOB4
JOB4
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB4) - 01.00
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
Appendix A
Sample JCLs
243
JOB5
JOB5
EDIT
******
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
000011
000012
000013
000014
000015
000016
000017
000018
000019
000020
000021
000022
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
000035
000036
******
244
CTMP.JCL(M21JOB5) - 01.09
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S2 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S3 EXEC PGM=IOATEST,PARM='TERM=C0008'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S4 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S5 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
Chapter 5
Chapter 5
JOB6
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB6) - 01.05
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
JOB7
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB7) - 01.05
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
JOB8
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB8) - 01.05
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
JOB9
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB9) - 01.05
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
Appendix A
Sample JCLs
245
Chapter 6
Chapter 6
JOB3
EDIT
******
000100
001400
001500
001600
001700
001800
001900
002000
******
246
CTMP.JCL(M21JOB3) - 01.03
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0008'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
JOB5
JOB5
EDIT
******
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
000011
000012
000013
000014
000015
000016
000017
000018
000019
000020
000021
000022
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
000035
000036
******
CTMP.JCL(M21JOB5) - 01.09
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S2 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S3 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S4 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S5 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
Chapter 7
No special preparations required.
Appendix A
Sample JCLs
247
Chapter 8
Chapter 8
JOB10
EDIT
******
000001
000002
000003
******
CTMP.JCL(M21JOB10) - 01.00
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB APERLMAN,CLASS=A,
//
MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IEFBR14
**************************** Bottom of Data ****************************
EXT1
EDIT
******
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
000011
000012
000013
000014
000015
******
248
CTMP.JCL(M21EXT1) - 01.09
Columns 00001 00072
***************************** Top of Data ******************************
//M21 JOB ,'A.PERLMAN',CLASS=A,MSGCLASS=X,NOTIFY=M21
//S1 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
//S2 EXEC PGM=IOATEST,PARM='TERM=C0000'
//STEPLIB DD
DSN=IOAP.LOAD,DISP=SHR
//
DD DISP=SHR,DSN=SCM.DEV.I600.LOAD
//DAPARM
DD
DISP=SHR,DSN=IOAP.PARM
//
DD
DISP=SHR,DSN=SCM.DEV.I600.IOA.IOAENV
//DALOG
DD
DISP=SHR,DSN=IOAP.LOG
//SYSPRINT DD
SYSOUT=*
**************************** Bottom of Data ****************************
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index
Symbols
%% SET control statement 141
%%$CALCDTE AutoEdit function 141, 142
%%$CALCDTE function 141, 142
%%$JULIAN AutoEdit function 142
%%$JULIAN function 142
%%A AutoEdit variable 141
A
Active Environment screen 36
Changing display types 175
Checking the job log 41
Holding and deleting job orders 44
ADD command 82
AutoEdit
Checking syntax and results 146
Complex terms 155
Control statements 154
Control statements and functions 140
Functions 142, 144
%%$CALCDTE 141, 142
%%$JULIAN 142
Operators 156
Using system variables in the JCL 135
Variables
%%A 141
Job scheduling definition statements 150
Non-Date system 139
Automatic Tape Adjustment facility 234
B
Basis scheduling parameters 60
BMC Software, contacting 2
C
Calendars, defining 209
CMEM rule, creating 224
Commands
ADD 82
DOWN 73
NOTE 176
UP 73
Conditions 70
adding 82
Control statements
%% SET 141
AutoEdit 154
CONTROL-M
Active Jobs file 233
Journal file 232
Main components 24
Reporting facility 235
Restoring files 233
CONTROL-M/Restart Dataset Cleanup Utility CTRCCLN
(R2) 235
Conventions Used in This Guide 17
Creating
CMEM Rule 224
Job JCL 224
Job scheduling definition 226
On Spool jobs 222
CTMAESIM utility 146
CTMJOB utility 194
CTMJOBRQ utility 203
CTMRSTR utility 233
CTRCCLN (R2) Dataset Cleanup utility 235
customer support 3
D
Date qualifiers 70
Date system variables 138
Defining
Calendars 209
Date Control Record for a User Daily job 199
Global variables 158
JCL of a User Daily job 198
Job scheduling definition of a User Daily job 201
JOB4 74
On Spool jobs 223
Restart in the job scheduling definition 93
Displaying
Execution information from job runs 182
Job dependencies 180
Jobs belonging to a specific SMART Table 189
List of Available Filters 173
Index
249
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Scheduling plan for the Job 71
Statistics for a job 188
Table names for jobs 179
DO statement, CMEM rule 221
JCL
ODATE 137
On Spool jobs 228
ON Statements 221
ON TABLE-END parameter 112
Online facility
Exiting 50
Primary options 26
E
Enhanced Daily Checkpointing 200
Exiting the Online facility 50
External members, pointing to 153
F
Facilities, miscellaneous 232
Filtering
Active Environment display 37
IOA Conditions/Resources screen 81
Filters 169
Displaying list of available 173
Forecasting resource usage 234
Functions 144
%%$CALCDTE 141, 142
%%$JULIAN 142
G
General parameters 59
Global variables
Access by another job 160
Defining 158
Syntax 159
Update by another job 162
250
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Parameters
Basis scheduling 60
General 59
ON TABLE-END 112
Post-processing 112
Runtime scheduling
section 64
Post-processing
Parameters 112
Parameters section 67
product support 3
R
Reporting facility, CONTROL_M 235
Resource usage, forecasting 234
Resource, adding 82
Responding to external events through CMEM 215
Runtime Scheduling Parameters 111
S
Saving the Table 126
Schedule RBCs and Other Basic Scheduling Parameters
109
Screens
Active Environment 36
Changing display types 175
Checking the job log 41
Holding and deleting job orders 44
IOA Conditions/Resources 81
Filtering 81
Job List, formats 50
Job Order Execution History 182
Sysout Viewing 184
Table List, selecting a table from 48
Why 78, 83
Zoom 84
SMART Table
Entity 108
Scheduling
Advantages 130
Creating 107
Points to remember 126
SMART Table Entity
Logic of the SMART Table Entity scheduling
definition 114
Statements, ON 221
Statistics, accumulating 233
support, customer 3
Sysout Viewing screen 184
System date 137
U
User Daily jobs 198, 201
Utilities
CTMAESIM 146
CTMJOB 194
CTMJOBRQ 203
CTMRSTR 233
CTRCCLN (R2) 235
IOACND 229
Utility CTMAESIM 146
V
Variables
%%A 141
Date 138
Global
Access by another job 160
Defining 158
Syntax 159
Update by another job 162
Local and global 156
Non-Date system 139
Supplying values through an external member 151
Supplying values through the job scheduling
definition 144
W
Why screen 78, 83
Adding a missing condition in 80
Working date 137
Z
Zoom screen 84
Index
251
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
252
Notes
*120056*
*120056*
*120056*
*120056*
*120056*