Control_M
Control_M
User Guide
Supporting
CONTROL-M for z/OS version 6.2.18
Copyright 2006 BMC Software, Inc., as an unpublished work. All rights reserved.
BMC Software, the BMC Software logos, and all other BMC Software product or service names are registered trademarks
or trademarks of BMC Software, Inc.
IBM is a registered trademark of International Business Machines Corporation.
DB2 is a registered trademark of International Business Machines Corporation.
All other trademarks belong to their respective companies.
BMC Software considers information included in this documentation to be proprietary and confidential. Your use of this
information is subject to the terms and conditions of the applicable End User License Agreement for the product and the
proprietary and restricted rights notices included in this documentation.
Support website
You can obtain technical support from BMC Software 24 hours a day, 7 days a week at
http://www.bmc.com/support_home. From this website, you can
■ read overviews about support services and programs that BMC Software offers
■ find the most current information about BMC Software products
■ search a database for problems similar to yours and possible solutions
■ order or download product documentation
■ report a problem or ask a question
■ subscribe to receive e-mail notices when new product versions are released
■ find worldwide BMC Software support center locations and contact information, including e-mail addresses, fax
numbers, and telephone numbers
3
4 CONTROL-M for z/OS
Contents
About This Guide 33
Conventions Used in This Guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Information New to This Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Information Relating to CONTROL-M/Restart Users . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Contents 5
Commands and PFKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Online Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
AutoRefresh Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
IOA Under ISPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
IOA Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
IOA SET Command Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
IOA TSO Command Processor Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Table List screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Job List Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Job Scheduling Definition Screen – Defining Schedules . . . . . . . . . . . . . . . . . . . . 125
Exiting the Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Ordering (Scheduling) Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Copying Jobs to Another Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Deleting Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Displaying Graphic Jobflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Displaying a Job Scheduling Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Tracking and Control Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Global View Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
View Graph Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Why Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Deleting a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Log Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Zoom Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Confirm Scheduling Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Confirm Rerun Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
§Restart§ Confirm Restart Window (Under CONTROL-M/Restart) . . . . . . . . . 219
§Restart§Rerun and/or Restart Window (Under CONTROL-M/Restart) . . . . . 220
Rerun Flow Job List Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Step List Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
§Restart§Job Order Execution History Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
§Restart§ Sysout Viewing Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Statistics Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Job Dependency Network Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
History Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Force OK Confirmation Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
CMEM Rule Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Table List Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Rule List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Rule Definition Screen – Defining Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Entering Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Editing CMEM Rule Definitions in the Edit Environment . . . . . . . . . . . . . . . . . . 256
Exiting the CMEM Rule Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Deleting Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Ordering CMEM Rule Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Copying Rules to Another Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Contents 7
DAYS: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
DEFINITION ACTIVE: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DESC: General Job Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
DO Statement: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
DO COND: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
DO CTBRULE: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
DO FORCEJOB: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
§Restart§DO IFRERUN: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 442
DO MAIL: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
DO NOTOK: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
DO OK: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
DO REMEDY: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
DO RERUN: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
DO SET: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
DO SHOUT: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
DO STOPCYCL: Post-Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
DO SYSOUT: Post-Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
DOC: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
DOCLIB: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
DOCMEM: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
DUE OUT: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
GROUP: General Job Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
GRP MAXWAIT: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
IN: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
INSTREAM JCL: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
INTERVAL: Post–Processing Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
MAXRERUN: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
MAXWAIT: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
MEMLIB: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
MEMNAME: General Job Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
MINIMUM: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
MONTHS: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
NJE NODE: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
ON Statements: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
ON GROUP-END: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
ON PGMST: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
ON SYSOUT: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
OUT: Post–Processing Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
OVERLIB: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
OWNER: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
PDS: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
PIPE: General Job Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
§Restart§PREVENT-NCT2:General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
PRIORITY: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
RELATIONSHIP: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
RERUNMEM: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
RESOURCE: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
RETENTION: # OF DAYS TO KEEP: Post–Processing Parameter . . . . . . . . . . . . . . . 601
RETENTION: # OF GENERATIONS TO KEEP: Post–Processing Parameter. . . . . . 603
Contents 9
Chapter 5 JCL and AutoEdit Facility 741
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
System variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Non-Date System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Date System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Special System Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
User-Defined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
Valid Characters in User-Defined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
JCL Setup Operation Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Rules of Variable Resolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Order of Precedence for Multiple Value Assignments. . . . . . . . . . . . . . . . . . . . . . 767
Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
%%GLOBAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
%%GOTO and %%LABEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
%%IF, %%ELSE, %%ENDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
%%INCLIB and %%INCMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
%%LIBSYM and %%MEMSYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
%%RANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
%%RESOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
%%SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
%%$CALCDTE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
%%$GREG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
%%$JULIAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
%%$LEAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
%%$WCALC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
%%$WEEK# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
%%$WEEKDAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
%%$YEARWK# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
%%CALCDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
%%SUBSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
%%$LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
%%$TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
%%$FUNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
Testing AutoEdit Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
AutoEdit Usage in the Job Scheduling Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
Date Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
ODATE, RDATE and DATE Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
How to Obtain Date Formats – 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
How to Obtain Date Formats – 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
How to Obtain Date Formats – 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
How to Obtain the Previous Month’s Last Business Date . . . . . . . . . . . . . . . . . . . 797
Automatic Job Order for the Next Day. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
Tape Clearance System – Stage 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
Tape Clearance System – Stage 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800
Contents 11
JOB/SCAN, PRO/JCL, DOCU/TEXT Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Problem Determination for Tape Pull List Reports . . . . . . . . . . . . . . . . . . . . . . . . 854
Sample Tape Pull List Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Index 933
Contents 13
14 CONTROL-M for z/OS
Figures
Establishing Job Dependency by Prerequisite Conditions . . . . . . . . . . . . . . . . . . . . . . 70
IOA Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
IOA Primary Option Menu where only CONTROL-M is Installed . . . . . . . . . . . . . . 86
IOA Primary Option Menu when all INCONTROL Products are Installed . . . . . . . 88
IOA Version Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
IOA Log Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
PFKey Assignment Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
IOA Help Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
IOA Editor Edit Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
IOA Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
IOA SET Command Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
IOA TSO Command Processor Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
CONTROL-M Scheduling Definition Facility - Entry Panel . . . . . . . . . . . . . . . . . . . . 116
CONTROL-M Scheduling Definition Facility - Entry Panel Search Window . . . . . 118
CONTROL-M Scheduling Definition Facility Table List Screen . . . . . . . . . . . . . . . . 120
CONTROL-M Scheduling Definition Facility Job List Screen . . . . . . . . . . . . . . . . . . 122
Job Scheduling Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
General Job Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Basic Scheduling Parameters - Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Basic Scheduling Parameters - Group Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Runtime Scheduling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Post-Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Group Entity Scheduling Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Editing Job Scheduling Definitions in the Edit Environment Screen . . . . . . . . . . . . 142
Job Scheduling Definition DOC lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Save Documentation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Job List Screen Exit Option Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Order and Force Confirmation Window (Groups) . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Order and Force Confirmation Window (Jobs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Select Group window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
The Double Confirmation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Window for Copying Jobs to Another Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Delete Table Confirmation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Graphic Jobflow for Color Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Graphic Jobflow for Non-Color Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Job Scheduling Plan Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Job Scheduling Plan Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
CONTROL-M Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Display Type D (Default) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Display Type A (All Fields) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Figures 15
IOA Log Screen Display Filters Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Show Screen Filter Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Global View Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
View Graph Screen Format for Color Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
View Graph Screen Format for Non-Color Terminals . . . . . . . . . . . . . . . . . . . . . . . . . 199
Active Environment Why Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Why Screen Add Condition or Delete NOT-COND Confirmation Window . . . . . . 203
Active Environment Screen Delete Confirmation Window . . . . . . . . . . . . . . . . . . . . 206
Active Messages Log Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
CONTROL-M Zoom Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Zoom Screen for Group Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Adding or Editing a Job Order Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Exiting the Zoom Screen Confirmation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Active Environment Screen Confirm Rerun Window . . . . . . . . . . . . . . . . . . . . . . . . . 218
§Restart§ Active Environment Rerun and/or Restart Confirmation Window . . . . 221
Rerun Flow Job List Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Rerun and/or Restart Step List Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
§Restart§ Job Order Execution History Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
§Restart§ Sysout Viewing Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Active Environment Statistics Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Tape Device Usage Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Job Dependency Network Display Type N (Network) . . . . . . . . . . . . . . . . . . . . . . . . 236
History Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
CONTROL-M Active Environment FORCE OK confirmation window . . . . . . . . . . 241
CMEM Rule Definition Facility – Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
CMEM Definition Facility Table List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
CMEM Rule Definition Rule List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Rule Definition Screen - Defining Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
CMEM Rule Definition Event Selection Parameters - Example . . . . . . . . . . . . . . . . . 252
General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Rule Definition Screen Comment Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Rule List Screen Exit Option Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Rule Definition Facility Delete Table Confirmation Window . . . . . . . . . . . . . . . . . . . 259
Order and Force Confirmation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Window for Copying Rules to Another Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
IOA Variable Database Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
IOA Variable Database Facility Database List Screen . . . . . . . . . . . . . . . . . . . . . . . . . 267
IOA Values of Database Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Variable Zoom Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
IOA Conditions/Resources Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
IOA Conditions/Resources COND Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
IOA Conditions/Resources DELETE Confirmation Window . . . . . . . . . . . . . . . . . . 280
IOA Conditions/Resources CHANGE Option Window . . . . . . . . . . . . . . . . . . . . . . . 281
Resource Analysis WHY Option Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
IOA Manual Conditions Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
IOA Manual Conditions Screen NEW Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
IOA Manual Conditions Screen ERASE Confirmation Window . . . . . . . . . . . . . . . . 287
IOA Log Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
IOA Log Screen Display Filters Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Figures 17
APPL Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
APPL FORM Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
APPL TYPE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
APPL VER Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
§Restart§ AUTO-ARCHIVE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
§Restart§ AUTO-ARCHIVE Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
CM VER Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
CONFCAL Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Days When Job Scheduled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
CONFIRM Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
CONFIRM Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
CONTROL Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
CONTROL Parameter Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
CONTROL Parameter Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
CONTROL Parameter Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
CTB STEP Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
CTB STEP Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
DCAT Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
DCAT Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
DATES Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
DATES Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
DAYS Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
DAYS Parameter Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
DAYS Parameter Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
DAYS Parameter Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
DAYS Parameter Example 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
DAYS Parameter Example 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
DAYS Parameter Example 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
DAYS Parameter Example 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
DAYS Parameter Example 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
DAYS Parameter Example 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
DAYS Parameter Example 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
DEFINITION ACTIVE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DESC Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
DESC Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
DO Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
DO COND Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Long DO COND Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
DO COND Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
DO CTBRULE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
DO CTBRULE Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
DO FORCEJOB Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
DO FORCEJOB Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
DO FORCEJOB Confirmation Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
§Restart§ DO IFRERUN Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
§Restart§ DO IFRERUN Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
DO MAIL Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
DO MAIL Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
DO NOTOK Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Figures 19
MINIMUM Parameter – Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
MINIMUM Parameter – Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
MONTHS Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
MONTHS Parameter – Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
NJE NODE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
ON Statement Format Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
ON GROUP-END Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
ON GROUP-END Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
ON GROUP-END Confirmation Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
ON Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
ON PGMST Parameter – Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
ON PGMST Parameter – Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
ON PGMST Parameter – Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
ON SYSOUT Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
OUT Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Long OUT Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
OUT Parameter Example 1 – First Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
OUT Parameter Example 1 – Second Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
OUT Parameter – Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
OUT Parameter – Example 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
OVERLIB Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
OVERLIB Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
OWNER Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
OWNER Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
PDS Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
PDS Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
PIPE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
PIPE Parameter Example – Job CTLIVPWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
PIPE Parameter Example – Job CTLIVPRD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
§Restart§ PREVENT-NCT2 Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
§Restart§ PREVENT-NCT2 Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
PRIORITY Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
RELATIONSHIP Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
RELATIONSHIP Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
RERUNMEM Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
RERUNMEM Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
RESOURCE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
RESOURCE Parameter – Example 1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
RESOURCE Parameter – Example 1B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
RESOURCE Parameter – Example 1C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
RETENTION: # OF DAYS TO KEEP Parameter Format . . . . . . . . . . . . . . . . . . . . . . . 601
RETENTION: # OF DAYS TO KEEP Parameter Example . . . . . . . . . . . . . . . . . . . . . 602
§Restart§ RETENTION: # OF GENERATIONS TO KEEP Parameter Format . . . 603
RETENTION: # OF GENERATIONS TO KEEP Parameter Example . . . . . . . . . . . . 604
RETRO Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
RETRO Parameter – Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
SAC Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
SAC Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
SCHEDULE TAG Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Figures 21
DO STOPJOB Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
GROUP Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
GROUP Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
MODE Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
MODE Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
ON Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
ON DSNEVENT Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
ON DSNEVENT Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
ON JOBARRIV Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
ON JOBARRIV Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
ON JOBEND Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
ON JOBEND Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730
ON STEP Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
ON STEP Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
OWNER Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
OWNER Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
RUNTSEC Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
RUNTSEC Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
THRESHOLD Parameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
THRESHOLD Parameter Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
Illustration 1A: How CONTROL-M Formerly Handled A New Tape . . . . . . . . . . . 822
Illustration 1B: Steps Formerly Performed by the User . . . . . . . . . . . . . . . . . . . . . . . . 823
Illustration 2A: How CONTROL-M Now Handles A New Tape . . . . . . . . . . . . . . . 824
Illustration 2B: Single Step Now Performed by the User . . . . . . . . . . . . . . . . . . . . . . 825
Parameter Prompting Facility Type 2: Definition Phase . . . . . . . . . . . . . . . . . . . . . . . 827
Parameter Prompting Facility Type 2: Fetch Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
Parameter Prompting Facility Type 2: EXEC Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
The FETCH A PLAN Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830
The EXEC / ORDER A PLAN Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
PPF2DEL Utility Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
CONTROL-M Simulation Exit Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
Sample Tape Pull List Report 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Sample Tape Pull List Report 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
Sample Tape Pull List Report 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
Sample Tape Pull List Report 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
JCL for USS Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902
CONTROL-M Architecture for Unix-Oriented MVS Implementation . . . . . . . . . . . 903
Architecture of SAP R/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
Communication with the R/3 Application Layer - DB/2 Database . . . . . . . . . . . . . 906
Communication with the R/3 Application - SAP/R3 Database . . . . . . . . . . . . . . . . 907
The Edit Environment in The Job Scheduling Definition Screen . . . . . . . . . . . . . . . . 909
Example - Inserting A DO Statement - Before . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
Example - Inserting A DO Statement - After . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914
Example - Deleting A Block - Before . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
Example - Deleting A Block - After . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916
Example - Moving Statements - Before . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
Example - Moving Statements - After . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
Example - Copying Statements - Before . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
Example - Copying Statements - After . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920
Figures 23
24 CONTROL-M for z/OS
Tables
List of INCONTROL Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Job Scheduling Definition Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Runtime Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Conditions and Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
NJE Network Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Event Types Handled by CMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
KSL Report Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
IOA Core Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Date Definition Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Gregorian Date Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Supported Gregorian Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Julian Date Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Group Handling Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Prerequisite Condition Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Runtime Scheduling Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Prefixing Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Masking Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
INCONTROL Shared IOA Functions and Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
CONTROL-M Functions and Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
IOA Primary Option Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
IOA Transfer Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Basic IOA Screen Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Common PFKey Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Additional Key Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Scrolling Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Scrolling Amounts in the SCROLL Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
ISPF Commands that must be defined for PFKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
PFKey Functions Within the IOA Editor Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
IOA Editor Command Line Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
IOA Editor Row Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Scheduling Definition Facility Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Scheduling Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Options of the Table List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Commands of the Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Options of the Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Parameters of the Job Scheduling Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . 127
General Job Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Basic Scheduling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Runtime Scheduling Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Post-Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Tables 25
Parameters of the Group Entity Scheduling Definition Screen . . . . . . . . . . . . . . . . . 139
Commands of the Job Scheduling Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Save Documentation Window Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Commands for Exiting the Job Definition Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Options for Manually Ordering Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Order and Force Confirmation Window Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Fields in the Window for Copying Jobs to Another Table . . . . . . . . . . . . . . . . . . . . . 155
Color Change Options on Graphic Jobflow Window . . . . . . . . . . . . . . . . . . . . . . . . . 158
Job Scheduling Plan Window Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Job Scheduling Plan Screen Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Default Colors for Active Missions Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Predefined Display Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Fields in the Default Display Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Fields for Each Job Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Other Information in the STATUS Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Fields in the All Fields Display Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Commands of the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Options of the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Job Statuses for the Active Environment screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Group Statuses for the Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Field of the Display Filters Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Options of the Display Filters window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Fields of the Show Screen Filter Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Show Screen Filter Window Selection Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Show Screen Filter Window - Closing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Fields of the Global View Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Fields of the View Graph Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Job Status Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Fields of the View Graph Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Job Graph Status Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Fields of the Add Condition or Delete NOT-COND Confirmation Window . . . . . 204
Fields of the Job Scheduling Definition Zoom Screen . . . . . . . . . . . . . . . . . . . . . . . . . 209
Commands of the Zoom Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Fields of the Confirm Rerun Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
§Restart§ Fields of the Active Environment Rerun and/or Restart Confirmation
Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Fields of the Rerun Flow Job List Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Options of the Rerun and/or Restart Step List Window . . . . . . . . . . . . . . . . . . . . . . . 227
§Restart§ Default Display Type Fields of Job Order Execution History Screen . . . 228
§Restart§ Fields in the Job Order Execution History Screen . . . . . . . . . . . . . . . . . . . . 229
§Restart§ Commands of the Sysout Viewing Screen . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Statistics Screen Individual Execution Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Statistics Screen Group Entity Execution Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Fields of the Job Dependency Network Display Type N (Network) . . . . . . . . . . . . . 236
Parameter of the REFRESH Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Rule Definition Facility Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Fields of the Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Options of the Table List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Fields of the Rule List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Tables 27
Define Parameters and Conditions Screen – Options . . . . . . . . . . . . . . . . . . . . . . . . . 338
Fields of the Update Parameters and Set Conditions Screen . . . . . . . . . . . . . . . . . . . 341
Fields of the Define Parameters in the Master Plan Screen . . . . . . . . . . . . . . . . . . . . . 347
Options of the Define Parameters in the Master Plan Screen . . . . . . . . . . . . . . . . . . . 348
Define Parameters in the Master Plan Screen - Exit Screen Commands . . . . . . . . . . 349
Fetch Plan Screen OVERRIDE DAILY PLAN Values . . . . . . . . . . . . . . . . . . . . . . . . . 350
Format of the Update Parameter Values Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Quick Schedule Definition Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Fields of the CONTROL-M Quick Schedule Definition Screen . . . . . . . . . . . . . . . . . 356
Prerequisite Condition Format Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Formats for Prerequisite Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Fields that Affect Prerequisite Conditions Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Fields in the Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Options of the Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Category A, B, C, and D Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Runtime Scheduling Parameter Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Final Job Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Parameters Performed When the Job Ends OK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Conditional Processing Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Return and Cyclic Post-Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Group Entity Post-Processing Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
ADJUST CONDITION Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
§Restart§ AUTO-ARCHIVE Subparameter Format . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Optional CONFCAL Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Optional CONFIRM Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Mandatory CONTROL Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Optional CONTROL Subparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Optional CTB STEP Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
DAYS Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Non-Periodic Scheduling Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
Periodic Scheduling Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
DEFINITION ACTIVE Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DO Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Relationship of DO Statements with Other Statements . . . . . . . . . . . . . . . . . . . . . . . . 429
DO COND Mandatory Subparameter Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Prerequisite Condition Symbolic Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
DO CTBRULE Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
DO FORCEJOB Subparameter Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
§Restart§ DO IFRERUN Subparameter Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
DO MAIL Subparameter Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
DO REMEDY Subparameter Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
DO SET Subparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
DO SHOUT Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
DO SYSOUT Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Varying Effect of SYSOUT Handling Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
GRP MAXWAIT Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
IN Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Date Reference Values – Example 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Tables 29
ON STEP Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
ON STEP Subparameter STEPRC Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
Valid RUNTSEC Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
AutoEdit Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744
Non-Date AutoEdit System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Date AutoEdit System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
4 Character Year Date AutoEdit System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
Special AutoEdit System variable resolved after a group is ordered but before job
submission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Special AutoEdit System Variables Resolved after Job End . . . . . . . . . . . . . . . . . . . . 751
Special AutoEdit System Variable Resolved after Job Submission . . . . . . . . . . . . . . 752
IOA Global Variable Database Structure Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
Chart for Determining Priorities of Value Assignment Sources . . . . . . . . . . . . . . . . 768
%%RESOLVE Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
AutoEdit Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
Date Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
Alternative Job Ordering Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Parameter Prompting Facility Type 2: Use of CLISTS . . . . . . . . . . . . . . . . . . . . . . . . . 830
The FETCH A PLAN Screen: Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831
The EXEC / ORDER A PLAN Screen: Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832
Files Used as Input during Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
Files Produced as Output of Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
Parameters Passed to the Utility by DASIMPRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
Online Simulation Environment File Allocations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Overrides To Be Specified on IOALDNRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
Overrides To Be Specified on ADDMNCND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Override To Be Specified for Simulation Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
CTMTAPUL Subparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
DD Statements Used by CTMTAPUL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Order or Force Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
Files Accessed during the Order or Force Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
Create and/or Order or Force New Tables Return Codes . . . . . . . . . . . . . . . . . . . . . 868
Files Accessed during the Create, Order or Force Process . . . . . . . . . . . . . . . . . . . . . 868
AJF Action Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
Files Accessed during the AJF Action Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 871
Search Action Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
Files Accessed during the AJF Action Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
Selection Criteria Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
Selection Criteria Parameter Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
Files Accessed during the AJF Action Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878
Contents of Registers on Input to CTMAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880
Fixed Part Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
Status Extension Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884
Statuses Returnable under the Status Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
Status Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887
Files Accessed during the AJF Action Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
Order Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
Order Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
AJF Action Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
Tables 31
32 CONTROL-M for z/OS
About This Guide
CONTROL-M is a component member of the INCONTROL™ by BMC Software
family of products. The CONTROL-M for z/OS User Guide is the main publication that
describes the components and usage of CONTROL-M software.
This guide is designed for use by everyone who defines job schedules or who uses
CONTROL-M to actively control jobs in the production environment.
Chapter 1–Introduction
CONTROL-M introduction and overview. This chapter briefly describes the main
components of CONTROL-M from a functional perspective, and introduces the user
to CONTROL-M facilities and features, concepts and logic. INCONTROL and IOA
components and concepts are also described.
It is highly recommended that all users read this chapter before reading other
chapters in the guide.
Guide to using CONTROL-M and IOA online facilities. CONTROL-M and IOA
screens are illustrated and discussed in logical sequence.
Guide to the CONTROL-M AutoEdit facility, and its application to JCL. Usage of
AutoEdit terms in the JCL can eliminate the need for manual changes to the JCL prior
to job submission.
Usage of the IOA Edit environment for editing job scheduling definitions.
Usage of the IOA Edit environment for editing CMEM rule definitions.
Instructions for using CONTROL-M to perform an MVS restart (for sites that do not
have CONTROL-M/Restart installed).
Index
Keys that appear on the standard keyboard are identified in boldface, for example,
Enter, Shift, Ctrl+S (a key combination), or Ctrl S (a key sequence).
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.
Preconfigured PFKeys
■ 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
Most screens contain a command line, which is primarily used to identify a single
field where commands, or options, or both, are to be entered. These fields are usually
designated COMMAND, but they are occasionally identified as COMMAND/OPT or
COMMAND/OPTION.
Option field headings appear in many screens. These headings sometimes appear in
the screen examples as OPTION, or OPT, or O.
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
■ 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
■ 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
■ calls, such as
CALL ’CBLTDLI’
Variables
Special elements
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.
NOTE
CONTROL-M/Restart was called CONTROL-R in earlier versions.
■ The same §Restart§ symbol is placed at the conclusion of each unbroken block of
text material that contains CONTROL-M/Restart material, regardless of whether
the material spans more than one heading level, paragraph, or sentence. For
example, if a first level CONTROL-M/Restart topic includes second and/or third
and/or fourth and/or fifth level topic headings, with no intervening material that
is not related to CONTROL-M/Restart, the §Restart§ symbol will be placed at the
end of the text in the lowest level sentence of unbroken CONTROL-M/Restart
material.
If CONTROL-M/Restart is not installed at your site, you can skip any material in this
guide that is identified with the §Restart§ symbol.
Related Publications
CONTROL-M for z/OS Getting Started Guide
A comprehensive listing and explanation of all IOA and INCONTROL messages and
codes.
Describes utilities designed to perform specific administrative tasks that are available
to INCONTROL products.
1
1 Introduction to CONTROL-M
This chapter includes the following topics:
IOA
The Integrated Operations Architecture (IOA) is at the heart of the INCONTROL
family of products. IOA has a common core of shared code as the foundation of its
architecture design. INCONTROL's IOA environment has several inherent design
advantages, including a common user interface and a shared data repository. A key
feature of the IOA environment is its integrated application design, which includes:
INCONTROL
The INCONTROL family of products includes:
Functional Approach
CONTROL-M automates job processing in your data center.
Main Components
The following components are essential to CONTROL-M:
Job scheduling definitions only need be defined once for each job in the production
environment. The mechanism used to define job scheduling definitions is discussed
in Chapter 2, “Online Facilities.” Once defined, a job scheduling definition is saved. It
can be modified later if required, and the changes saved.
Job scheduling definitions are stored in members in partitioned data sets (libraries),
as follows:
■ Job scheduling definitions for related applications are generally placed in a single
member, called a scheduling table.
■ Multiple scheduling tables are stored in partitioned data sets, called scheduling
libraries.
Only jobs in the Active Jobs file are candidates for submission by the CONTROL-M
monitor.
CONTROL-M Monitor
The CONTROL-M monitor handles and controls job processing:
We have already explained that basic scheduling criteria for each job are defined in its
job scheduling definition, and that a copy of the job scheduling definition is placed in
the Active Jobs file when the basic scheduling criteria are satisfied.
The mechanism used to place job scheduling definitions automatically in the Active
Jobs file is called New Day processing.
At a set time each day (defined during installation as the start of day at the site),
CONTROL-M performs New Day processing, during which:
■ Job scheduling definitions are selected from the scheduling tables (based on their
basic scheduling criteria) and are placed in the Active Jobs file. These jobs can then
be submitted and tracked by the CONTROL-M monitor.
The implementation of automated job scheduling and New Day processing, and the
components of New Day processing, are discussed in detail in the INCONTROL for
z/OS Administrator Guide.
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 permits AutoEdit terms, such as AutoEdit 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 %%,
which distinguishes them from non-AutoEdit terms. For example, the term
%%ODAY is recognized as an AutoEdit term.
The values of user-defined variables that have been defined as Sysplex-wide, using
the XAE facility, remain both in memory and in a Coupling facility. These values can
be used for additional triggering of the same job or other CONTROL-M jobs, in the
same computer or in different computers of the same Sysplex.
At time of job submission, AutoEdit terms in the JCL are resolved to their actual
values.
The inclusion of AutoEdit terms into the job stream and job scheduling definitions
can eliminate the need to change JCL once it is defined. AutoEdit usage can be further
simplified and enhanced through the Parameter Prompting facility, which is
described in “M4: Parameter Prompting Facilities” on page 331 and “Parameter
Prompting Facilities” on page 821.
The JCL and the AutoEdit facility is described in detail in Chapter 5, “JCL and
AutoEdit Facility.”
Examples
Monitoring of Resources
Three types of runtime criteria require CONTROL-M to monitor the existence of
conditions and the availability of resources system-wide. These conditions and
resources are mentioned briefly below and are discussed in greater detail in
“CONTROL-M Concepts” on page 61:
The condition and resource requirements of a job are defined in the job scheduling
definition.
Prerequisite conditions are tracked by the IOA Conditions file. Existing and available
Quantitative resources and Control resources are tracked by the CONTROL-M
Resources file. Prior to version 6.0.00, conditions and resources were stored in a single
file, the Conditions/Resources file.
When the prerequisite conditions and resources required by a job are available, the
job can be submitted by the monitor, if all other runtime scheduling criteria are
satisfied.
Notification is issued by the Shout facility, which can send messages to a variety of
destinations including the operator console, a TSO user, and the IOA Log file.
These jobs can be placed in the History Jobs file during New Day processing. This is
an optional feature that can be activated by the INCONTROL administrator.
Activation of this feature is described under the HIST parameter in the INCONTROL
for z/OS Administrator Guide.
Jobs in the History Jobs file can by request be restored to the Active Jobs file, for
subsequent restart.
Jobs remain in the History Jobs file until they are deleted according to criteria defined
in the job scheduling definition.
The contents of the History Jobs file can be viewed from the History Environment
screen, which is described in Chapter 2, “Online Facilities.”
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, the CTMRSTR utility 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.
■ add a prerequisite condition to, or delete a prerequisite condition from, the IOA
Conditions file
This can trigger or prevent the submission of a job in the Active Jobs file.
■ force the placement of a job scheduling definition into the Active Jobs file,
regardless of the basic scheduling criteria of the job
■ send a message by mail to the recipient identified by the mail name prefix
This includes changing its class, deleting it, rerouting it to another node, releasing
it for printing, or copying it to another location.
■ rerun a job
■ perform an MVS job restart; for more information, see “OUT: Post–Processing
Parameter” on page 560
Utilities
Utilities provided with CONTROL-M are used to perform a variety of management
functions and generate reports that assist in the efficient use of CONTROL-M. Batch
utilities are described in the INCONTROL for z/OS Utilities Guide. Online utilities are
described in Chapter 2, “Online Facilities.”
CONTROL-M differentiates between host and remote nodes in the NJE network as
follows:
An NJE job is a job submitted by the CONTROL-M monitor for execution on a remote
node. CONTROL-M can detect the status of jobs running on a remote node so that
once these jobs finish executing, CONTROL-M can assign a status to them.
Through rules defined online through the CMEM Rule Definition facility, which is
described in Chapter 2, “Online Facilities,” the user specifies actions CONTROL-M
must perform in response to external events.
For more information, see “Job Ordering and Job Forcing” on page 66.
■ add prerequisite conditions to, or delete prerequisite conditions from, the IOA
Conditions file and the CONTROL-M Resources file
■ bring under the control of the CONTROL-M monitor a job submitted outside the
control of the CONTROL-M monitor, such as a job submitted by a TSO user
Such a job is called an On Spool job, and the control of On Spool jobs is one of the
most important functions of CMEM.
The CMEM facility, and On Spool jobs, are described in Chapter 4, “CONTROL-M
Event Manager (CMEM).”
Calendars are defined in the Calendar facility. Each calendar is assigned a unique
name that can be specified in job scheduling definitions. A particular calendar (that is,
schedule) need only be defined once.
Specifying the name of a calendar in job scheduling definitions causes that calendar
to be used to schedule those jobs.
■ regular
■ periodic
Regular Calendars
Regular calendars consist of scheduling dates or days of the week that can be defined
according to monthly patterns.
For example
■ QUARTERLY – schedules jobs on the last date in each quarter: March 31, June 30,
September 30, December 31.
Regular calendars are especially useful when many jobs have the same schedule.
Defining the schedule once in a calendar, and entering the calendar name in the job
scheduling definition of the jobs with that schedule, makes it unnecessary to
individually define that schedule in each job scheduling definition.
Periodic Calendars
Periodic calendars are especially useful when scheduling dates do not easily conform
to fixed date or day of the week or month patterns.
For example
■ PAYCAL – Calendar used for jobs that are scheduled every other Wednesday
(such as payroll jobs). Scheduling occurs on the first, third, and (if there is one) fifth
Wednesday of some months. Scheduling may occur on the second and fourth
Wednesday of other months.
Periodically, a statistics utility may be used to scan and analyze the IOA Log file. This
utility gathers information about the start time of each job, its elapsed run time, CPU
utilization time, and so on. The utility places this information in the Statistics file,
where averages of these values can be maintained for each job.
■ to calculate DUE-IN time for use by the Deadline Scheduling facility, which is
discussed under “Automatic Job Flow Adjustment” on page 74
■ to determine when a shout message must be issued based on the elapsed time of
the job
■ to simulate job executions and forecast the impact of changes to the system
(described briefly below)
The Simulation and Forecasting facility enables you to forecast anticipated job load
for a specified time in the future, and to forecast the effects of possible changes to the
system, such as the impact of:
The Simulation and Forecasting facility can improve the efficiency of your site. It can
help with resource and configuration decisions, and it can help with the planning of
workload scheduling to achieve maximum utilization of resources.
Reporting Facility
CONTROL-M supports a comprehensive reporting facility, which can produce the
following types of reports:
Sample reports are provided in the IOA SAMPLE library. The Reporting facility is
described in the KeyStroke Language (KSL) User Guide.
Minus-One Support
Minus-One support is provided as part of CONTROL-M and enhances Parallel
Sysplex support (CTMPLEX). With Minus-One support, CONTROL-M users that
implement several CONTROL-M monitors in a Sysplex environment can run several
installations of CONTROL-M with different maintenance releases or different
versions, in parallel. This enables CONTROL-M users to implement installation and
upgrade procedures without having to shut down their entire complex.
Minus-One support is available even at sites that are not operating in a Sysplex
environment.
WARNING
When upgrading a specific CONTROL-M instance to a new release, you must not utilize
features of the new release until all other components (members of the Sysplex, application
servers, and so on) are similarly migrated. Doing so may lead to unpredictable results on
CONTROL-Ms which have not been migrated.
MVBO/Job Optimizer Pipes uses pipes to replace sequential job processing with
parallel processing wherever feasible. Jobs and job steps normally run sequentially
because they depend on data files that become available only after the application
that creates them completes execution. When pipes are used, an application does not
need to finish running before the data it generates is available to other applications.
This significantly reduces I/O operations and delays, and speeds up processing,
because pipes enable movement of data using processor storage instead of writing
and reading data to and from external storage.
The online user interface is provided through online facilities that are accessed
through the IOA Primary Option menu.
Certain online facilities are unique to CONTROL-M, and other facilities are shared by
many or all products.
All IOA and CONTROL-M online facilities are discussed in detail in Chapter 2,
“Online Facilities.” They are all outlined briefly on the following pages.
NOTE
Your INCONTROL administrator can limit the options displayed on a user-by-user basis and
can modify option numbers and customize option descriptions. Default options are discussed
in this overview.
■ scheduling tables
■ job scheduling definitions
NOTE
Ordering places the requested job in the Active Jobs file only if its basic scheduling criteria
are met. Forcing places the requested job in the Active Jobs file regardless of its basic
scheduling criteria.
The main screen of this facility is the Active Environment screen. (Prior to version
6.0.00, this screen, which displays the status of each job order in the Active Jobs file,
was referred to as the Status screen.) All screens and windows available in the Online
Tracking and Control facility are accessed through the Active Environment screen. In
the Online Tracking and Control facility, you can perform the following functions:
■ view the status of each job order in the Active Jobs file
■ obtain a statistical overview of the status of jobs in the Active Environment screen
■ see why a job in the Active Jobs file has not been submitted. If job submission is
held up due to missing prerequisite conditions, you can optionally add those
conditions manually
■ display the Log file of a job to view all messages issued for the job
This includes not only the job scheduling definition parameters, but also
parameters determined by the CONTROL-M monitor at runtime. Manual update
of some of these parameters for the job order is permitted.
■ add notes to a job, for example, to document actions that were taken
■ §Restart§ view the execution history of all orders of a job, and view the job order
sysouts
■ view the list of job dependencies for a specific job, that is, the predecessor and
successor jobs of the selected job, and perform manual job flow adjustment, such as
priority adjustment
You can filter which jobs in the Active Jobs file are displayed in the Active
Environment screen.
The user can load rule tables to memory from the CMEM Rule Definition facility.
Rule tables can also be loaded to memory by an operator command.
The user can filter IOA Log file contents displayed in the IOA Log screen.
■ conditions that are never automatically added by scheduled jobs because manual
confirmation is always desired, for example, TAPE-ARRIVED
■ conditions that are normally added automatically by scheduled jobs, but the jobs
that add them are not scheduled
For the conditions listed in the Manual Conditions screen to be added to the IOA
Conditions file, manual intervention is required.
The IOA Calendar facility enables the user to create, define, modify and delete IOA
calendars.
CONTROL-M Concepts
Having discussed CONTROL-M from a functional viewpoint, and having briefly
outlined the online user interface to CONTROL-M, it is now worthwhile to discuss
certain important concepts in CONTROL-M functioning.
Shared IOA files are collectively referred to as the IOA Core. The IOA Core consists of
the following files:
The working date, that is, the time at which the date changes at the
site, is defined in the CONTROL-M installation parameters. New
Day processing generally begins at the start of the new working date.
Original scheduling Job orders and prerequisite conditions managed by CONTROL-M
date are assigned an original scheduling date, which is referred to as
ODATE. For the full implications of using ODATE, see “ODATE” on
page 151. For details of the enhanced meaning of ODATE as of
version 6.1.00, see “Enhanced Definition of ODATE” on page 63.
Example 1
A computer is down for repairs on February 2nd and 3rd. When it is brought up on
February 4th, a two-day backlog of jobs must be run in addition to the jobs of the
current day.
When the New Day procedure scans scheduling tables on February 4th, it places job
orders in the Active Jobs file for all three days. Jobs that ought to have run on
February 2nd are assigned an ODATE of February 2nd, jobs for February 3rd are
assigned an ODATE of February 3rd, and so on.
In this manner, each job is executed as if it had run on the working date on which it
was originally scheduled.
Example 2
ODATES are calculated according to the working date, and not the calendar date.
If you define a job to run on 5 December at 3 A.M., and the working day begins (and
the New Day procedure operates) at 5 A.M., the job will not run until 3 A.M. on
6 December, because that is still part of the working day of 5 December.
While prior to version 6.1.00 the ODATE was only a VALUE date, it can now be both
a RUN date and a VALUE date.
In most cases, ODATE by default has the attribute VALUE. This means that it is a
VALUE date, and is not one of the runtime criteria.
When ODATE has the attribute VALUE, it has the following characteristics:
■ ODATE is a logical date that is used by CONTROL-M when adding jobs to the
Active Jobs file for execution. The ODATE is assigned to a job by manual order or
by operation of the New Day procedure.
■ The ODATE is a 24 hour period. It begins at the New Day time. During the 24 hour
period that follows that New Day time, all job scheduling is based on the ODATE,
which corresponds to the calendar date at that New Day time, rather than the
calendar date at the time when the job runs.
■ The ODATE can coincide with, precede, or follow the calendar date. If no value is
set for the DAYTIMEM parameter in the CTMPARM member, the ODATE
coincides with the calendar date. If the DAYTIMEM parameter is set using a -
(Minus) sign, the ODATE precedes the calendar date by the number of hours and
minutes specified in that parameter. If a + (Plus) sign is used, the ODATE follows
the calendar date in a similar manner.
■ When the end of the ODATE arrives, the New Day procedure may remove jobs
with that ODATE from the Active Jobs file, depending on the setting of the
MAXWAIT parameter of the specific job. Jobs removed in this way cease to be
eligible for submission.
Although by default ODATE has the attribute VALUE, it may also have the attribute
RUN, if either set by the user, or the New Day procedure. In such cases, a job can only
run when its ODATE is the same as, or after, the CONTROL-M logical date. In other
words, the ODATE becomes a runtime criteria.
In this context, runtime criteria are the criteria that determine the eligibility
“window” for the submission of the job, that is, the period of time during which the
job can be submitted. This eligibility window is determined by the ODATE and the
TIME ZONE parameter setting.
For information on changing the attribute of ODATE from VALUE to RUN, see the
description of the Time Zone feature in the INCONTROL for z/OS Administrator Guide,
and the description of the CTMJOB utility in the INCONTROL for z/OS Utilities Guide.
Gregorian Dates
Gregorian dates are indicated in the guide by the following symbols:
Whether a field holds a 4-character date (month and day), a 6-character date (month,
day and 2-digit year) or an 8-character date (month, day and 4-digit year) depends on
the field definition. However, the format of the 4-character, 6-character or 8-character
date depends on the date standard defined during installation.
INCONTROL products support three date standards for Gregorian dates. Each
standard has an 8-character format, a 6-character format and a 4-character format.
Only one Gregorian date standard is defined at any site.
These supported Gregorian date standards are described in the chart below.
Julian Dates
Julian dates (also supported by INCONTROL products) are indicated in the guide by
the following symbols:
Julian date fields have either three, five, or seven characters. Whether a Julian date
field holds a 3-character date (day of year only), 5-character date (day of year and
2-digit year) or a 7-character date (day of year and 4-digit year) depends on the field
definition. However, the format of the date depends on the installation-defined date
standard.
For example, the Julian date for the calendar date of 28 February 2001 would be
represented in jjj or ddd format as 059, in yyjjj or yyddd format as 01059, and in
yyyyjjj or yyyyddd format as 2001059.
Most production jobs are automatically ordered during New Day processing.
However, jobs can be manually ordered, as well.
Job forcing is the placing of a job scheduling definition in the Active Jobs file
regardless of the basic scheduling criteria of the job.
Although any job can be forced, job forcing is generally requested for special purpose,
or exception, jobs that are not normally scheduled:
■ Jobs can be automatically forced as part of the post-processing of another job. For
example, a particular job may be required only if a certain other job abends. In this
case, it is forced during the post-processing for the abended job.
■ Jobs can also be forced manually. For example, a routine job that is generally
ordered automatically according to its scheduling criteria can be manually forced,
if required, on a day it is not normally scheduled.
Rerun is the re-execution of a job from the beginning. Job rerun is a CONTROL-M
feature.
§Restart§ Instructions for rerun and restart can be defined in the job scheduling
definition. Rerun is defined with the DO RERUN statement. Restart is defined with
the DO IFRERUN statement. They can be defined to be performed automatically or to
be performed upon manual confirmation. For more information, see “DO RERUN:
Post–Processing Parameter” on page 457, “§Restart§DO IFRERUN: Post–Processing
Parameter” on page 442, and the CONTROL-M/Restart User Guide. §Restart§
Order ID
CONTROL-M can handle multiple orders of the same job. To distinguish between the
job orders, CONTROL-M assigns each job order a unique order ID. Therefore, it is not
uncommon to see the same job name with multiple order IDs, each representing a
different job order, in the Active Environment screen.
SYSDATA
SYSDATA is the term used to designate the data in three job sysout data sets:
SYSDATA data sets are usually produced for each execution of a job or started task.
However, not all three data sets are necessarily present in all cases. For example, in
JES2, if a job is canceled by the operator before execution, the system output messages
data set might not be produced.
For jobs, the output class for this data is defined by one of the following:
However, the Scheduling Definition facility also supports the handling of jobs as a
group. Such jobs are defined in a special scheduling table, called a Group scheduling
table. Each Group scheduling table has a special job scheduling definition, called a
Group Entity. Group handling criteria for the entire group of jobs are specified in this
Group Entity. These include:
The additional jobs must be jobs that belong to the group. They may be either or both
of the following:
For more information about using the Dynamic Group Insert facility, see the
description of the job ordering facility CTMJOB in the CONTROL-M Utilities chapter
of the INCONTROL for z/OS Utilities Guide.
Prerequisite Conditions
The prerequisite condition concept is one of the key concepts of CONTROL-M
production control.
Prerequisite conditions enable the establishment of job dependencies and, when a job
normally requires manual intervention, such as determination that a cartridge
arrived on-site, ensures that the manual conditions are satisfied before the job is
submitted.
Example
Because the condition required by job PRINTPAY is not created unless job PAYCALC
terminates successfully, the dependency of job PRINTPAY on job PAYCALC is
established.
■ jobs can add and/or delete more than one prerequisite condition
■ the same prerequisite condition can be added by more than one job (caution must
be used)
■ the same prerequisite condition can be used as an IN condition for more than one
job
Example
JOB_A and JOB_B each run daily, and JOB_B is dependent on JOB_A.
Certain Date keywords can be specified in place of, and resolve to, actual date values.
For example, keyword ODAT is automatically replaced by the original scheduling
date of the job.
Another important keyword for use in place of an actual date is STAT. STAT is used
as a date reference for conditions that are static, that is, not date-dependent.
For example, condition IMS_ACTIVE is added when IMS is brought up, and only
deleted if IMS is brought down. The date of the condition is irrelevant to jobs
requiring that condition. Therefore, this condition would be referenced with a date
value of STAT.
NOTE
Before STAT was introduced, date 0101 was recommended to be used in conditions that were
not date-dependent. Unlike 0101, STAT is not a date, and it operates differently. Always use
STAT when defining conditions that are not date-dependent.
Deleting Conditions
The last job to require a particular prerequisite condition, that is, in an IN statement,
can also mark that condition for deletion, that is, in an OUT statement. The deletion of
unnecessary conditions can serve the following purposes:
It can eliminate unnecessary clutter from the IOA Conditions file and the
CONTROL-M Resources file, and the IOA Conditions/Resources screen.
When dependent jobs are scheduled multiple times each day, it can prevent the
execution of the earlier scheduled “predecessor” job from incorrectly causing the
submission of the later scheduled “successor” job.
Example
Maybe Jobs
In some cases, job dependencies created by prerequisite conditions are desired only if
the predecessor jobs are scheduled. If the predecessor jobs are not scheduled, ignore
the dependencies.
Such dependencies are called Maybe dependencies, and the unscheduled predecessor
jobs that are ignored if they are not scheduled are called Maybe jobs. Conditions set
by unscheduled Maybe jobs appear in the Manual Conditions file.
The Manual Conditions file and the handling of Maybe jobs are discussed in
Chapter 6, “Selected Implementation Issues.”
Quantitative Resources
Specification of Quantitative resource requirements for a job provides a solution for
the allocation of quantitative computer resources, such as cartridge drives, CPU
utilization, and database access-rate. It increases computer throughput by controlling
access to these resources, thus preventing execution bottlenecks.
The quantity of each resource that is available in the data center is specified using
CONTROL-M utilities. An authorized user can dynamically change these quantities
manually from the IOA Conditions/Resources screen.
Control Resources
Specification of resource control requirements for a job provides a solution for the
problem of resource sharing between different jobs. The mode (Exclusive or Shared)
in which a resource is required by a job can be specified.
For example, a job that reads a database without performing updates can access the
database in Shared mode; any other job requiring read-only access to the database
can access the database at the same time. Conversely, a job that updates the database
may require Exclusive control of the database at the time of update such that no other
jobs can share the database.
In the example just presented, the database can be defined as a Control resource, and
the type of control required by the job (Exclusive or Shared) can be specified for the
resource.
Job Priority
The job scheduling definition may include a specification of an internal priority for
the job. When competing for the same resource, jobs with higher priority take
precedence over jobs with lower priority. Users can also assign a “critical path”
priority to jobs that must be submitted with the least delay possible. A job with
critical path priority is allocated required resources as the resources become available.
When all its required resources are available, the job is submitted.
Noncritical jobs are not allocated resources until all required resources are available
at the same time.
From the network of predecessor and successor jobs, critical paths can be identified.
A critical path is a chain of jobs that must be executed in their appropriate sequence in
order for a specified job to run. A job can have more than one critical path, if different
jobs set the same OUT condition, or if a job has OR logic in its IN conditions.
The Job Dependency Network screen, accessed through the Active Environment
screen, enables you to view the network of predecessor and successor jobs for a
specified job and determine the critical paths for the job.
In some cases, it may become desirable to adjust the priorities or due out dates and
times of certain job orders.
Examples
■ A high priority successor job is waiting for the submission (and completion) of a
lower priority predecessor job.
■ A predecessor job cannot terminate early enough for a successor job to terminate
by the due out date and time of the successor.
Both types of job flow adjustments can be requested from the Job Dependency
Network screen:
■ Priority Propagation
The priority value of each non-Held predecessor and successor job is checked and
(if necessary) modified so all jobs in the chain have a priority, and no job has a
lower priority than any of its successor jobs.
■ Deadline Adjustment
Starting with the latest eventual successor job in the job flow, the anticipated
elapsed time (that is, anticipated execution time) is subtracted from the DUE OUT
date and time to determine DUE OUT date and time of the immediate
predecessors of that job.
This process of subtracting elapse times of a job to determine the DUE OUT date
and time of the immediate predecessor jobs are repeated until the DUE OUT date
and time of the initial or current job is determined.
■ If the user entered an ELAPSE time value in the Online Tracking and Control
facility Zoom screen, this value is used for the above calculation.
■ If the user did not enter an ELAPSE time value, the anticipated elapse time is
determined by the average runtime taken from the CONTROL-M Statistics file.
■ By subtracting the ELAPSE time of a job from its DUE OUT date and time, the
CONTROL-M monitor calculates a DUE IN date and time (that is, the date and
time by which the job must be submitted) for each job. The DUE IN time,
ELAPSE time, and DUE OUT time are also displayed in the Job Dependency
Network screen.
■ The ELAPSE time, DUE OUT date and time, DUE IN date and time, and
PRIORITY values for a job are also displayed in the Zoom screen, which is
accessed through the Active Environment screen.
■ DUE OUT date and time, ELAPSE time and PRIORITY values can also be
manually modified in the Zoom screen, but it is recommended that this not be
done, and that automatic job flow adjustment be requested instead.
Deadline adjustment will work correctly only if all the jobs have the same time zone,
or all the jobs have no time zone.
2
2 Online Facilities
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
IOA Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
General IOA Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
IOA Entry Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
IOA Primary Option Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Multi-Screen Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Fast Exit from the IOA Online Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Screen Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Commands and PFKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
AutoRefresh Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
IOA Under ISPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
IOA Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
IOA SET Command Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
IOA TSO Command Processor Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Entry Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Table List screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Job List Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Job Scheduling Definition Screen – Defining Schedules . . . . . . . . . . . . . . . . . . . . 125
Exiting the Scheduling Definition Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Ordering (Scheduling) Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Copying Jobs to Another Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Deleting Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Displaying Graphic Jobflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Displaying a Job Scheduling Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Tracking and Control Facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Active Environment Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Global View Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
View Graph Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Why Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Deleting a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Log Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Zoom Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Overview
The Online facility is the basic means of communication between the user and
CONTROL-M for z/OS.
Online job scheduling definition gives users the ability to define and modify job
production parameters in the CONTROL-M production environment.
Online tracking displays the current status of all variables relating to a specific job, a
group of jobs or all jobs scheduled under CONTROL-M.
Online control enables authorized users to modify variables relating to a specific job,
a group of jobs or all jobs scheduled under CONTROL-M.
The following pages describe the main features available under the Online facility.
IOA Features
This section discusses the IOA features common to all INCONTROL products.
■ Customization
■ Environment Support
■ Terminal Support
■ Special Character Usage on Terminals
■ Color Support
■ Prefixing
■ Character Masking
Customization
IOA screens, constants, messages, colors, commands, and PFKey definitions can be
site-modified to adapt them to local needs. For further details, see the INCONTROL
for z/OS Installation Guide.
INCONTROL products can be customized globally, that is, for the whole site, using
the INCONTROL Installation and Customization Engine (ICE), according to profile
variables defined during installation.
Customization issues are discussed in the INCONTROL for z/OS Installation Guide.
NOTE
Due to customization, the screens and examples illustrated in this guide may differ from the
ones used at your site. The $$ACTDOC member of the IOA MSG library contains information
that is useful for customizing the CONTROL-M Active Environment screen and creating and
modifying display types for screens 3, 3.N, 3.G and the History Environment screen.
Environment Support
The Online facility can be activated under the following environments:
■ TSO (native)
■ TSO/ISPF
■ ROSCOE/ETSO
■ CICS
■ VTAM
■ IMS/DC
■ IDMS/DC
■ COM-PLETE
Cross memory interfaces (to the Online monitor) are optional under native TSO,
TSO/ISPF, and ROSCOE/ETSO. They are always used under the other
environments.
There are slight differences in the operation of the Online facility under the different
environments. Special notes are provided in this guide where applicable.
Terminal Support
IOA supports the following models of IBM 3270 terminals:
NOTE
When using the IOA online facility under IMS/DC and IDMS/DC, all model types display 24
lines and 80 columns.
IOA adjusts to the screen size in order to use the maximum available data area on the
screen.
Color Support
When INCONTROL products are activated from a screen with extended seven-color
support, they make extensive use of the color attributes of the screen. The concept of
management by color is emphasized in INCONTROL screens.
Like all screen attributes, the color attribute for each field is defined externally to the
program and can be locally modified by the site.
NOTE
IOA does not automatically recognize IMS/DC and IDMS/DC terminals as supporting
extended color attributes. If your IMS/DC or IDMS/DC terminal supports extended color
attributes and you want IOA to recognize this, refer to the INCONTROL for z/OS Administrator
Guide for more information.
At this time, IOA does not support extended color attributes under COM-PLETE.
Due to ISPF characteristics, color changes cannot occur in adjacent columns but must
be separated by an attribute byte without color, that is, black. Therefore, some IOA
screens have a different appearance under ISPF than under other online
environments, such as native TSO and CICS.
Prefixing
For fields that automatically support prefixing, selection strings are always treated as
prefixes. Selection is made if a segment of the text beginning with the first letter, that
is, any prefix, matches the selection criteria.
Examples
Assume the following names exist: A3, A4, M, M01, M03, M12, M13, M22, M23, M30,
M33, M103, M135, M301.
Character Masking
For fields that support masking, mask characters function as follows:
For fields that do not automatically support prefixing, a prefix value can be specified
by ending the selection string with an asterisk.
Examples
Assume the following names exist: A3, M, M3, M01, M03, M13, M23, M33, M103,
M435, M2243.
NOTE
Display of the IOA Entry Panel is optional. If your INCONTROL administrator determined
that the entry panel is bypassed, the IOA Primary Option menu, which is discussed in the
following section, is displayed.
+-----------------------------------------------------------+
| |
| USER ID ===> |
| |
| PASSWORD ===> |
| |a
| NEW PASSWORD ===> ===> |
| |
+-----------------------------------------------------------+
Type your user ID and password and press Enter. If you enter a correct user ID and
password, the IOA Primary Option menu is displayed.
The IOA Online facility allows three attempts to enter a valid user ID and password
combination. After the third unsuccessful attempt, the program is terminated.
To change a password, type the new password twice: Once in the NEW PASSWORD
field and once in the confirmation field to the right of the NEW PASSWORD field.
If only CONTROL-M is installed at your site, and you are authorized to access all
functions and facilities, the following screen is displayed:
NOTE
When the Online facility is activated as an ISPF application, option 6 is displayed as “6
UTILITIES Online Utilities.” In this case, option 6 activates the Online utilities under ISPF.
When the Online facility is not activated under TSO or TSO/ISPF, option 6 is inactive.
To select an option, type the option number or letters in the OPTION field and press
Enter. Alternatively, for a number option, press the PFKey with the same number.
For example, to select the LOG option, press PF05/PF17.
NOTE
Your INCONTROL administrator can limit the options displayed on a user-by-user basis, and
can alter option numbers and customize option descriptions. Product-supplied default
options are discussed in this guide.
Certain IOA commands, functions, and facilities (options) are shared by all
INCONTROL products. These shared IOA commands, functions and facilities are
described later in this chapter, and outlined in Table 18.
NOTE
Entering =1 in the command line of any other screen returns you to the IOA Primary Option
Menu that is displayed at your site.
The following IOA Primary Option menu is displayed at sites supporting all
currently available INCONTROL mainframe products.
NOTE
Option OK (KOA Recorder facility) is available only under IOATSO, and not under IOAISPF
or IOAMON.
When the IOA online facility is activated as an ISPF application, option 6 is displayed
as “6 UTILITIES Online Utilities.” In this case, option 6 activates the Online utilities
under ISPF. When the online facility is not activated under TSO or TSO/ISPF, option
6 is inactive.
Figure 4 IOA Primary Option Menu when all INCONTROL Products are Installed
--------------------- IOA PRIMARY OPTION MENU ------------------(1)
OPTION ===> USER N06
NOTE
Entering =1 in the command line of any other screen returns you to the IOA Primary Option
Menu that is displayed at your site.
For a description of the options for other INCONTROL products, see the user guides
of the respective products.
Additional options available on the IOA Primary Option Menu when operating
CONTROL-M with other INCONTROL products are listed in Table 20.
QNAME, see the IOA operational parameters step, the IOAPLEX parameters step,
and the adding IOA structures to the CFRM step, all in the INCONTROL for z/OS
Installation Guide. Press Enter or END (PF03/PF15) to exit the window and return to
the IOA Primary Option menu.
Multi-Screen Control
It is not necessary to return to the IOA Primary Option menu to move from one
online facility to another.
If you use a transfer command to reach another screen, the state of the current screen
remains unchanged when you return to it by another transfer command.
The INCONTROL administrator can globally deactivate any or all of the transfer
commands.
In most cases, the =X command has the same effect as pressing END (PF03/PF15) in all
open screens and then entering X (Exit) in the IOA Primary Option menu. Any
window, such as the Exit Option window, that would be displayed when exiting an
open screen is displayed when the =X command is entered.
However, when the =X command is entered while definition screens such as the
Calendar Definition screen are open, changes to the open definition screens are
cancelled. Changes currently in definition facility list screens, for example, changes to
previously closed definition screens, are not cancelled. Those screens and all other
open screens are treated as if END (PF03/PF15) has been entered.
NOTE
The =X command is intentionally not supported on certain screens.
Screen Layout
Most IOA screens are divided into four basic areas. The example used in this section
is the IOA Log screen.
It is not necessary to enter the full command name; the shortest unique abbreviation
of the command is sufficient. If the abbreviation is ambiguous, an appropriate
message is displayed in the message area.
IOA commands are flexible; you can change command syntax or provide aliases
(synonyms) to suit your site. If you want to add or change a command syntax, consult
BMC Software Customer Support. The examples provided in this chapter exhibit the
original command syntax supplied with this INCONTROL product.
Supplied PFKey definitions are consistent throughout most of the screens. For
example: PF08/PF20 is used to scroll down (forward) on all INCONTROL screens
where scrolling is possible.
To see the PFKey assignment of the screen with which you are working, type
reserved command SHPF in the command line and press Enter. A window describing
the current PFKey assignment appears on the screen. Press Enter again to close the
window.
If you type text in the COMMAND field and press a PFKey, the text in the
COMMAND field is treated as a subparameter of the command assigned to the
PFKey.
For information on changing IOA PFKey definitions, see the appendix in the
INCONTROL for z/OS Administrator Guide, which deals with modifying IOA Online
Facility Commands.
Scrolling Commands
Scrolling conventions are very similar to the ISPF conventions of IBM. Two basic
commands are used for scrolling:
The commands can be entered by typing the command in the COMMAND field or by
pressing the predefined PFKey.
The scrolling amount is determined by the content of the SCROLL field in the right
corner of the screen header. Valid scrolling amounts are:
It is only necessary to type the first letter of the new amount in the SCROLL field in
order to change the scrolling amount.
A scrolling amount other than that shown in the SCROLL field can be used by
entering the amount directly after the scroll command itself, or by entering the scroll
amount in the COMMAND field and pressing the appropriate scrolling PFKey. The
scrolling amount in the SCROLL field remains unchanged.
Example
If PAGE is the value in the SCROLL field, to scroll to the bottom, type M (MAX) in the
COMMAND field and press PF08 (DOWN).
LOCATE Command
The LOCATE command, and its abbreviation, L, can be used to search for items in the
NAME field in all “directory type” screens that contain scrollable data, such as the
Calendar List screen. The syntax of the command is
LOCATE string
where string is the search string. Apostrophes (‘single quotes’) or quotation marks
(“double quotes”) are not required.
The search proceeds from the top of the list to the first item in the list that starts with
the specified string. The cursor is positioned on the OPTION field at the beginning of
the line containing the string, if found, or on the OPTION field of the alphabetically
closest preceding value if the specified value is not found.
FIND Command
The FIND command, and its abbreviation, F, can be used in all screens that contain
scrollable data to find and display the next occurrence of a character string. The
syntax of the command is
where:
■ PREV is the indicator that the search must move backward, instead of forward,
from the current cursor position
Optional.
General Rules
If the string contains blanks, enclose the string with apostrophes (‘single quotes’) or
quotation marks (“double quotes”). For example:
The column range searched can be limited by entering fromcol or tocol values, or by
entering both fromcol and tocol values.
The search for the string proceeds from the current cursor position forward, or
backward if PREV is entered. If the string is found, the cursor is positioned at the start
of the string.
To repeat the find, to the next or previous occurrence of the string, press PF05/PF17.
NOTE
The following situations outline where the FIND command can, or should, be further
modified to enhance its functionality.
■ Some screens enable the user to limit the number of lines searched by a FIND
command. This is discussed in the relevant screen descriptions.
■ In some screens, the FIND command does not detect information that is to the
right or left of the information displayed in the monitor. To ensure detection of the
desired string, the screen must be displayed in wraparound mode, when available,
before executing the FIND command.
The FIND command can also be used to search for text strings, in which case the
command will find all instances of the string, regardless of whether the characters
within the string are lowercase, uppercase, or mixed case. To search for a text string,
include the letter T immediately before a quoted string.
For example,
will find WAIT SCHEDULE, and it will also find wait schedule, and Wait Schedule, and
any other case variant.
Text string searches are the default. If your system default is for text strings, You do
not need to include the T if you perform a text string search. Your INCONTROL
administrator can change the default to character string. In this case you do not need
to include the C if you perform a character string search.
The FIND command can be used to search for character strings, in which case the
command will find all instances of the string, but only where the string contains
characters that match the case specified. To search for a character string, include the
letter C immediately before a quoted string.
For example,
will find WAIT SCHEDULE, but it will not find wait schedule, or Wait Schedule, or any
other case variant.
The CANCEL command cancels changes made in a definition screen, such as the IOA
Calendar Definition screen, and exits the screen.
The RESET command (PF04/PF16) can also be used in most windows, for example, the
Show Screen Filter window, to cancel changes and close the window.
Online Help
The following types of online help are available for INCONTROL screens:
Screen help
Provides information about the entire screen. This help is available on all
INCONTROL screens and is accessed by pressing the HELP key (PF01/PF13) while the
cursor is positioned on the COMMAND field in the screen.
Line-Sensitive Help
Provides information about the fields on a particular line on a screen. This help is
available on several INCONTROL screens. It is accessed by pressing the HELP key
(PF01/PF13) while the cursor is positioned on the desired line of the screen.
If line-sensitive help is not supported in a screen, pressing the HELP key (PF01/PF13)
from anywhere in the screen displays the beginning of the Help panel.
The Help member name appears on the right in the Help screen header. Members
containing the Help descriptions can be found in the IOA MSG library.
AutoRefresh Mode
Certain INCONTROL screens, as noted in this chapter where appropriate, support
AutoRefresh mode. A screen display in AutoRefresh mode is automatically updated
periodically with the most current data.
AutoRefresh mode can only be activated under native TSO or under ISPF.
AutoRefresh mode is activated by the AUTO command. The format of the command
is
AUTO n
The screen is updated when the AUTO command is issued, and then periodically
updated according to the interval (in seconds) specified in the AUTO command. A
counter at the top of the screen displays the number of times the screen has been
refreshed.
NOTE
Issuance of the AUTO command may be controlled via the IOA security interface. See the
INCONTROL for z/OS Security Guide for further details.
Example
■ For short interval values – Press Enter. Whenever Enter is pressed, or a command
is issued, AutoRefresh mode is automatically cancelled at the end of the current
interval.
Under ISPF, press Attn (PA1) or Esc once to cancel AutoRefresh mode.
The command line of the IOA Online facility is controlled by IOA. It is not possible to
enter ISPF commands in an IOA screen. Two ISPF commands must be defined to
PFKeys:
The rest of the PFKeys are controlled by IOA PFKey definitions, which are in the IOA
PARM library.
3 Type the KEYS command and press Enter. A set of key definitions is displayed.
NOTE
ISPF KEY definitions for the following ISPF commands take precedence over IOA PFKey
definitions: SPLIT, SWAP, KEYS, PRINT, PFSHOW. For example, if PF02 is defined as
SPLIT in ISPF, an IOA definition for PF02 is ignored in online screens.
For all other ISPF commands, such as UP or DOWN, the key definitions in ISPF are ignored
and the PFKey is interpreted according to the definition in the IOA Online facility.
Under ISPF, IOA Option 6 activates the Online Utilities panel, which is described
in “IOA Online Utilities Menu” on page 316. For more information about these
utilities, see the INCONTROL for z/OS Utilities Guide.
For more information on changing IOA PFKey definitions, see the appendix in the
INCONTROL for z/OS Administrator Guide that deals with modifying IOA Online
Facility Commands.
IOA Editor
The IOA Editor enables you to edit members of a partitioned data set (PDS) using an
editor similar to the ISPF editor. Enter EDMEM in the command line of any screen to
display the Edit Entry Panel window, as shown in Figure 9.
To create a new member or edit an existing member, fill in the LIBRARY and
MEMBER parameters and press Enter. The IOA Editor screen is opened for editing, as
shown in Figure 10.
NOTE
If the member already exists in the specified library, the member is displayed for editing in the
IOA Editor. Similarly, if you accessed the IOA Editor screen from line option J in either screen
2 or screen 3, the member in the library referred to in the schedule definition member will be
displayed for editing.
......
......
......
......
......
......
......
......
......
......
************************ B O T T O M O F D A T A **************************
Table 30 describes editing commands that can be executed by entering the command
in the left-most position of the applicable row.
The process of setting TRACE levels and turning off a particular TRACE, and the
process of setting language preferences for online screens and messages, begins in the
SET Command Panel.
Using the SET Command Panel to set and end TRACE Levels
Setting the TRACE level can help you monitor certain IOA Online facility and
INCONTROL functions, such as security checks.
The following steps explain how to set or turn off a TRACE level:
1 Type a TRACE level number, from 1 through 256, in the TRACE level field of the
SET Command Panel.
2 In the (Trace level 1-256, ON or OFF) field, type ON to set a TRACE level, or OFF to
turn off a TRACE level.
3 Press Enter to confirm the setting, in which case the following message is
displayed:
where
NOTE
TRACE level settings take effect immediately.
1 In the LANGUAGE field, type one of the following sets of characters to select a
language preference:
2 Press Enter to confirm the setting, in which case the following message is
displayed:
CTMA27I THE NEW LANGUAGE WILL BE USED FROM THE NEXT LOGON
TO IOA
NOTE
Language preference settings do not take effect until your next logon to the system.
The TSO screen enables activation of any TSO command without exiting the IOA
Online facility. For example, a typical program activated under the TSO screen is
ISPF. Therefore all ISPF/PDF facilities and functions, such as editing a member or
scanning job output, can be activated while you are working under the IOA Online
facility.
To activate a TSO command, type the command in the COMMAND field and press
Enter.
NOTE
CLISTs cannot be activated from the TSO screen. To activate a CLIST, first activate ISPF and
then execute the CLIST under ISPF.
TSO commands can also be activated directly from any IOA online screen by typing
TSO in the COMMAND field.
If the TSO application can issue a TSO command, it is possible to transfer control to
the IOA Online facility, and vice versa, without exiting the TSO application.
While working under the TSO application, for example, under ISPF, issue the
command:
The requested screen is displayed as it was when you transferred from it.
To return to the TSO application, use the =6 command (PF06/PF18). The application
remains in the same state as when you transferred from it.
NOTE
You must activate ISPF under the IOA Online facility if you want to use the control transfer
feature.
The job scheduling definition for a job needs to be defined only once. Once defined,
the definition is saved and used as necessary for managing job processing. Job
scheduling definitions can be modified or deleted as required.
Job scheduling definitions are stored in members called scheduling tables. Any
number of scheduling tables can be defined, and each scheduling table can contain
any number of job scheduling definitions.
Scheduling tables (members) are stored in scheduling libraries (partitioned data sets).
You can define any number of scheduling libraries. The number of scheduling tables
in a library, the number of job scheduling definitions in a scheduling table, and the
size of each job scheduling definition, are all calculated dynamically.
NOTE
The CONTROL-M Scheduling Definition facility does not support members that have been
compressed using the ISPF PACK option.
To enter the Scheduling Definition facility, select option 2 on the IOA Primary Option
menu. The Scheduling Definition Facility entry panel is displayed.
NOTE
Scheduling tables contain scheduling criteria and other job production parameters. They do
not contain the JCL of the jobs.
The Group Entity also contains a field (ADJUST CONDITIONS) that enables job
dependencies based on prerequisite conditions to apply only if predecessor jobs in
the group are scheduled.
CONTROL-M internally tracks each job group and the jobs in the group. Each order
of each group of jobs is identified as a unit.
The status of each job group that has been ordered can be viewed using option G
(Group) of the Job Status screen (Active Environment screen).
NOTE
When the IN conditions of a Group entity are satisfied (for example, they have been added to
the IOA Conditions file), the jobs in the group begin execution, assuming that their other
runtime criteria are satisfied.
By default, if jobs in a group have already begun execution and an IN condition for the job
group is deleted from the IOA Conditions file, this change does not affect the processing of the
jobs in the group; the jobs continue execution as if all the IN conditions were still satisfied.
This default is overridden if the GRPRECHK parameter in the CTMPARM member in the IOA
PARM library is set to Yes, in which case IN conditions in the Group entity are checked before
each job is selected.
Creating Tables
Tables can be created in any of the following ways:
■ by typing the new table name in the entry panel and pressing Enter
The name of a new job scheduling definition for the new table can also be entered.
■ by using the SELECT command to choose the new table name in the Table List
screen and pressing Enter
When you enter a create table request using either of the above methods, a skeletal
job scheduling definition is displayed in the Job Scheduling Definition screen if a Job
scheduling table is being created. Fill in and save this job scheduling definition. The
table is created and the job scheduling definition is the first and only job scheduling
definition in the Job list of the table. As additional job scheduling definitions are
created in the table (described below), they are added to the Job list.
When you enter a create table request using either of the above methods, a skeletal
Group Entity scheduling definition is displayed in the Scheduling Definition screen if
a Group scheduling table is being created. Fill in and save this Group Entity.
NOTE
The PGRPEMPT profile variable controls whether empty group tables (without a job
scheduling definition) may be created.
When PGRPEMPTY=Y, the table is created and only the Group entity is in the Job
List of the table. Adding a job scheduling definition to this table is described in
“Creating Job Scheduling Definitions” on page 112.
NOTE
Upon exiting the Job List screen, if changes were made in at least one job scheduling
definition, an Exit Option window is displayed. One field of the window displays the table
name. This value can be changed to a new table name. This creates a new table in which the
job scheduling definitions are saved.
Under ISPF, tables can also be created using the M5 online utility. This method is described in
“M5: Quick Schedule Definition” on page 354, and is not included in this discussion.
■ A skeletal job scheduling definition can be created by typing the name of a new job
scheduling definition in the entry panel. The table specified in the entry panel can
be either a new table if PGRPEMPT=N or an existing table if PGRPEMPT=Y. In this
case, virtually all fields of the job scheduling definition are empty.
■ A copy of an existing job scheduling definition can be created using the INSERT
option in the Job List screen, described in “Options of the Job List Screen”. In this
case, most fields of the new job scheduling definition have the same values as the
fields in the copied job scheduling definition.
NOTE
Under ISPF, job scheduling definitions can also be created using the M5 online utility. This
method is described in “M5: Quick Schedule Definition” on page 354, and is not included in
this discussion.
Some of the major operations possible within the facility are described in the
following pages. Options and commands that have not yet been explained are
explained in detail following the summary.
A table (that is, the job scheduling definitions in the table) can be browsed or edited.
When browsed, the table cannot be modified or updated. When the table is edited,
new job scheduling definitions can be added and existing job scheduling definitions
can be modified or deleted.
■ Job lists and job scheduling definitions that are in use by another user can be
viewed.
■ Access for browsing might be granted, even though access for editing might be
denied due to site security requirements.
To browse a table (and its job list and job scheduling definitions) use the BROWSE
option in the Table List screen.
Entering the table name in the entry panel or using the SELECT option in the Table
List screen provides edit access.
Depending on user profile definitions, if the table requested for editing is in use,
either access is granted in Browse mode or access is not granted.
When IOA is activated under ISPF, the member containing the JCL of a job can be
accessed by the JCL command in the Job List screen. Whether the member can be
modified and updated depends on whether the Job List screen was accessed in
Browse or Edit mode.
Jobs can be copied from one table to another by the COPY option in the Job List
screen. For more information, see “Options of the Job List Screen” on page 361.
Unneeded jobs can be deleted using the DELETE option in the Job List screen. For
more information, see “Options of the Job List Screen” on page 124. Unneeded tables
can be deleted by the DELETE option in the Table List screen. For more information,
see “Deleting Tables” on page 156.
NOTE
In order to delete the last (or only) job scheduling definition from a group table, profile
variable PGRPEMPT must be set to Y.
The job flow of jobs in a table can be displayed in graphic format by the GRAPHIC
FLOW option in the Table List screen. For more information, see “Displaying Graphic
Jobflow” on page 157.
The statistics for a job can be displayed by performing any of the following:
■ Typing S (STAT) next to the job name in the Active Environment screen.
■ Typing T (JOBSTAT) next to the job name in the Job List screen.
■ Typing the primary command JOBSTAT in the Job Scheduling Definition screen
(or the Active Environment screen).
Manually ordering a job results in the job being scheduled only if its basic scheduling
criteria are satisfied. Manually forcing a job results in its being scheduled even if its
basic scheduling criteria are not satisfied.
■ To manually order all the jobs in a table, type O (ORDER) for the table in the Table
List screen. Multiple tables can be ordered.
■ To manually force all the jobs in a table, type F (FORCE) for the table in the Table
List screen. Multiple tables can be forced.
■ To manually order specific jobs in a table, type O (ORDER) for the jobs in the Job
List screen.
■ To manually force specific jobs in a table, type F (FORCE) for the jobs in the Job
List screen.
The schedule of a job for a specified period of time, based on the basic scheduling
criteria of the job, can be displayed in calendar format by PLAN option in the Job List
screen. For more information, see “Displaying a Job Scheduling Plan” on page 159.
A job's JCL member can be tested for proper auto-edit resolution by typing %
(AutoEdit simulation) next to the job name in the Job List screen, or next to the job
name in the Active Environment screen (after the job is ordered). For more
information, see the % option in Table 35 and Table 58.
Saving Modifications
All changes made to a table and its job scheduling definitions are kept in memory
until the table is exited. Upon exiting the table, you can choose to save or cancel the
changes. For more information, see “Exiting the Scheduling Definition Facility” on
page 146.
Entry Panel
The entry panel is displayed upon entering the Scheduling Definition facility (Option
2 in the IOA Primary Option menu).
To open the desired display, fill in Entry Panel fields LIBRARY, TABLE, and JOB as
described below. Type J (scheduling table for individual jobs) or G (scheduling table
for jobs handled as a group) for TYPE OF TABLE if you are creating a new scheduling
table. If you are not creating a new table, the TYPE OF TABLE field is ignored and all
types of tables are displayed.
2. Either leave the table name blank, or type part of a table name together with
mask characters (* and ?).
3. Press Enter.
3. Press Enter.
If the table does not exist, the screen for defining a new job in the table is displayed.
■ To display the details of a specific job (Job Scheduling Definition screen), do the
following:
4. Press Enter.
If the table does not exist, or the job for the specified table does not exist, the screen
for defining a new job in the table is displayed.
NOTE
If you enter the screen for defining a new job and want to leave the screen without defining
a job, use the CANCEL command.
3. Either leave the table name blank, or type part of a table name together with
mask characters (* and ?).
4. Press Enter.
3. Press Enter.
The Job Scheduling Definition screen, for defining the first job in the new table, is
displayed.
Search Window
The Search window enables you to search for the specified job in tables in the
specified library. Tables in which the job has been found are then displayed in the
Table List screen.
To close the Search Window without performing any action, press END (PF03/PF15).
To perform a search, select one of the following choices and press Enter:
3 – UNCONDITIONAL SEARCH
The search continues uninterrupted unless and until you select Option 1 (Stop Search
Immediately).
Searches the specified number of tables in the specified library, and then pauses. The
search number can be modified. Default: 10.
If any tables are found, the Table List is displayed listing those tables.
During the search, the following information is displayed at the bottom of the
window:
■ Number of tables in library. Lists the total number of tables in the specified library.
■ Number of searched tables. Lists the cumulative number of tables searched. For
example, if you perform three searches with a specified number of 10, the figure
displayed is 30.
■ Number of selected tables. Lists the cumulative number of tables selected that
contain the job being searched.
If any tables are selected during the search, the Table List is displayed listing those
tables. If no tables are selected, the Search Window is closed and a message is
displayed.
By default, only table names are listed in the screen. However, if the default has been
modified at time of installation, statistical information is displayed for each table
name, as shown in the following screen example.
■ To scroll down the Table list, press PF08/PF20. To scroll up the Table list, press
PF07/PF19.
NOTE
If your access to options has been limited by the INCONTROL administrator, you can only
access the BROWSE option.
The SELECT command can be used to create a new table in the library. The format of
the command is:
NOTE
If the SELECT command is entered for an existing table, it acts like the S (SELECT) line option,
which is described in Table 33, and displays the list of jobs in the table.
If there are no jobs currently in the table, that is, the command is being used to create
a new table, the Job List screen is not displayed. Instead
NOTE
The names displayed on the Job List screen are the names of the members that contain the JCL
of the jobs, which is specified in the MEMNAME parameter in the job scheduling definition,
or, in the case of started tasks, the name of the STC.
If the S (Select) option was entered in the Table List screen for a table that is currently in use
(“selected”) by another user, either the Job List screen is not displayed and the Table List
screen remains displayed (the default), or the Job List screen is displayed in Browse mode (if a
user profile definition overrides the default). In either case, an appropriate message is
displayed.
■ In DESC format, the description of the job, taken from the DESC field of the job
scheduling definition, is displayed. Default.
■ In DATA format, the application and group names of the job, taken from the APPL
and GROUP fields of the job scheduling definition, are displayed.
■ If the job list is displayed for a Group scheduling table, the type of job scheduling
definition is also displayed in the DESC, DATA, and STAT formats. Type
information is not displayed for regular scheduling tables. Valid values are:
— G – Group Entity; this is always the first entry in the Job list
— J – Job
By default, the job list is displayed in DESC format. To change formats, use the DESC,
DATA or STAT commands, described below.
The order in which the jobs are displayed in the Job List screen can be sorted by the
SORT command (described below).
SORT key
NOTE
Option O (Order) is not available if the Job List screen is displayed for a Group scheduling
table.
Options I (Insert) and J (JCL) are not available for Group Entities.
If the Job List screen is displayed in Browse mode, options D (Delete) and I (Insert) are not
available.
If the Job List screen is not displayed in Browse mode, the job
scheduling definition can be edited and updated. If the Job List
screen is displayed in Browse mode, the job scheduling definition
can only be browsed; it cannot be modified.
D (DEL) Delete a job from the Job list (member). Multiple jobs can be selected.
I (INS) Insert a new job in the list (member). The Job Scheduling Definition
screen appears, with the same details of the job marked “I”, but the
MEMNAME and DESCRIPTION parameters are empty for you to
fill in. The new job is added after the job marked “I”. Only one new
job can be inserted at a time.
O (ORDER) Order a job provided that its basic scheduling criteria, as described
in “Basic Scheduling Parameters” on page 129, are satisfied. Multiple
jobs can be selected.
NOTE
The format of the Job Scheduling Definition screen for Group Entities is slightly different than
the format shown below and is described in “Scheduling Definition for Group Entities” on
page 137.
NOTE
The SCHEDULE TAG and RELATIONSHIP parameters appear only in job scheduling
definitions belonging to Group scheduling tables.
The PIPE parameter is displayed only if MAINVIEW Batch Optimizer (MVBO) is installed.
To delete a parameter on the screen, simply erase it with the EOF key or blank it out.
If additional action is required, CONTROL-M issues appropriate instructions.
A brief description of all parameters in each section of the Job Scheduling Definition
screen is provided on the following pages. A detailed explanation of these parameters
is provided in Chapter 3, “Job Production Parameters.”
NOTE
Parameters marked with the symbol M can have multiple occurrences. Whenever you fill in
the last occurrence of the parameter on the screen, CONTROL-M adds a new empty
occurrence of the parameter that you may fill in. The only limit to the number of occurrences
is the region size available for the application.
■ ‘ ‘ (Blank)
DEFINITION When a date is entered in this field within a job scheduling
ACTIVE UNTIL definition, the job will only be ordered if the current date is earlier
than that date. Valid values are:
■ ‘ ‘ (Blank)
The following parameters apply only when defining a Group Entity. For more information
on how these parameters are applied to jobs in Group Tables, see Chapter 3, “Job Production
Parameters.”
SCHEDULE TAG When a date is entered in this field within a Group scheduling
ACTIVE FROM definition, a job which refers to this Schedule Tag will only be
ordered if the current date is later than that date. Valid values are:
■ ‘ ‘ (Blank)
■ ‘ ‘ (Blank)
Post-Processing Parameters
Figure 22 Post-Processing Parameters
===========================================================================
OUT BAKCKPL02-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 ANYSTEP PROCST CODES C0008 U0048 A/O
DO
DO Actions
NOTE
To close the ticket, the CONTROL-M user will have to access the Remedy online services.
NOTE
Since DO SET values are dependent upon fulfillment of ON step or codes criteria, the values
are assigned after job execution and used for subsequent cyclic runs and rerun.
The scheduling definition for a Group Entity can also be entered directly from the
Entry Panel or from the Job List screen.
The job scheduling definition for Group Entities varies somewhat from the job
scheduling definition for jobs.
The parameters of the Group Entity are used to define basic scheduling criteria,
runtime scheduling criteria, and post-processing actions to be performed, for the jobs
in the group.
During New Day processing, if at least one set of basic scheduling criteria in the
Group Entity is satisfied, a copy of the Group Entity is placed in the Active Jobs file,
and the jobs in the Group Entity become eligible for scheduling.
The final status of the Group Entity job order is assigned after all scheduled jobs in
the table have been terminated. This Group Entity status is determined by the
execution results of those jobs:
■ If all the scheduled jobs in the table ended OK, the Group Entity is assigned an end
status of OK.
■ If at least one scheduled job in the table did not end OK, the Group Entity is
assigned an end status of NOTOK.
The Group Entity scheduling definition supports the same commands and PFKey
conventions as any job scheduling definition.
All parameters of the Job Scheduling Definition screen are described in detail in
Chapter 3, “Job Production Parameters.”
However, if one of its jobs remains in the Active Jobs file beyond this
number of days, the Group Entity remains in the Active Jobs file as
long as the job remains there.
SCHEDULE TAG Unique identifier to be applied to the accompanying set of
scheduling criteria. Multiple sets of scheduling criteria can be
defined, each with its own tag.
At least one set of basic scheduling criteria in the Group Entity must
be satisfied before the jobs in that Group scheduling table become
eligible for scheduling on any day.
Basic Scheduling The Group Entity does not contain parameters D–CAT, PDS, and
Parameters MINIMUM, which are found in job scheduling definitions.
Runtime Scheduling These parameters, IN, TIME FROM/UNTIL, PRIORITY, DUE OUT,
Parameters and CONFIRM, apply to all scheduled jobs in the group.
ON GROUP-END
Group Entity end status indicator. This parameter appears only in
the Group Entity. DO statements immediately following this
parameter are performed only if the Group Entity is assigned the
indicated status. Valid values are:
JOBSTAT (abbreviated J)
To display statistics for any job other than the current job, format of
the command is:
where:
The Edit Environment in the Job Scheduling Definition screen is accessed by typing
EDIT in the COMMAND field and pressing Enter.
Details and examples of the editing of job scheduling definitions in the Edit
environment are provided in Appendix C, “Editing Job Scheduling Definitions in the
Edit Environment.”
Job Documentation
Depending on the value of the Show Job Documentation field in the scheduling facility
entry panel, job documentation, in the form of DOC lines, is either displayed or
hidden when you first enter the Job Scheduling Definition screen:
DOC Command
The DOC command alternately displays and hides the job documentation.
Below is an example of the Job Scheduling Definition screen with the documentation
(DOC lines) displayed.
NOTE
If DOCU/TEXT is installed at your site, you can specify a DOCU/TEXT library and member
with up to 132 characters per line. However, if more than the first 71 characters in a line are
used, the line is truncated and Browse mode is forced. Browse mode is also forced if a line has
an unprintable character.
Editing Documentation
Documentation can be edited when the DOC lines of the Job Scheduling Definition
screen are displayed. Modify the DOC lines as desired. When you fill in the last DOC
line and press Enter, a new DOC line is displayed.
When modifying DOC lines, text must be left in at least one DOC line in order to save
the modifications. Changes resulting in an empty DOCMEM member are not saved.
Job documentation is written to the library and member specified in the DOCLIB and
DOCMEM fields on the Job Scheduling Definition screen. Therefore, it is also possible
to edit the documentation member directly through ISPF. This is recommended when
documentation is lengthy or the editing required is very complex.
NOTE
For LIBRARIAN and PANVALET users, the DOC command displays and hides job
documentation in Browse mode. Changes to the documentation are not permitted.
Modify the LIBRARY and MEMBER values if desired, and type Y or N in the SAVE
DOCUMENTATION field; then press Enter.
NOTE
If the Table List screen was bypassed when you entered the Scheduling Definition facility, that
is, if you entered a TABLE value in the entry panel, the Table List screen is not displayed upon
exiting the Job List screen; instead, the entry panel is displayed.
Entry Panel
The commands and options available when exiting screens depend on the screen
being exited and on whether changes have been made. If changes have been made,
the selected exit options and commands determine whether the changes are saved.
Exit options and commands are discussed below on a screen-by-screen basis.
■ If documentation changes have been made, the Save Documentation window, described
in “Auto-Save and Saving Documentation” on page 144, may be displayed.
■ For a job: If the JOB parameter in a DO FORCEJOB request is blank, a confirmation
panel, described in “DO FORCEJOB: Post–Processing Parameter” on page 438, may be
displayed.
■ For a group: If the JOB parameter in a DO FORCEJOB request is blank, a confirmation
panel, described “ON GROUP-END: Post–Processing Parameter” on page 536, may be
displayed.
END (PF03/PF15) Keep changes to the job scheduling definition in memory and exit to the
Job List screen.
The LIBRARY and TABLE fields indicate the library and table in which the job
scheduling definitions will be saved. The specified values can be modified, for
example, to save the job scheduling definitions in a new or different table.
■ To save all changes currently in memory and exit the Job List screen, type Y (Yes)
after the word SAVE or CREATE:
— Type Y after SAVE if a table with the same name already exists in the specified
library.
— Type Y after CREATE if a table with the same name does not exist in the
specified library.
NOTE
If you create a new table, the table name does not appear in the Table List screen upon
exiting the Job List screen; it first appears when you reenter the Table List screen from the
entry panel.
■ To cancel changes currently in memory and exit the Job List screen, type N (No)
after the word SAVE or CREATE.
■ To close the Exit Option window and remain in the Job List screen, with the
changes remaining in memory, press RESET (PF04/PF16).
■ When manually requesting job scheduling from the Job List screen, specific jobs
are selected. Multiple jobs can be specified.
■ When manually requesting job scheduling from the Table List screen, tables are
selected and each request applies to all the jobs in the selected tables. Multiple
tables can be specified.
Either of two options, O (Order) and F (Force), can be used in either of these screens
to manually request job scheduling. These options work as follows:
NOTE
With one exception, options O (Order) and F (Force) can be used in both the Job List screen
and Table List screen for either regular scheduling tables or Group scheduling tables.
The exception is: Option O (Order) cannot be entered for individual jobs in Group
scheduling tables.
When you use the O and F options, a confirmation window is opened. The default
confirmation window in the case where the O option has been entered for more than
one job is illustrated in Figure 28.
If the O or the F option is entered for only one job, a window similar to that in
Figure 29 appears.
This parameter is only valid if the Dynamic insert job into group
parameter is set to S or R.
ASK FOR EACH This line is displayed only if more than one order or force option is
ONE requested. It determines whether individual confirmation is required
for each order or force request.
Fill in the confirmation window and press Enter. If at least one order or force request
has been specified for a table or job, the original list screen disappears and a message
screen is displayed. This screen displays messages that contain the following
information about the jobs that were scheduled.
Each iteration of the message screen displays job information for one table only. Press
END (PF03/PF15) to exit the message display for that table. If multiple tables, or jobs in
multiple tables, have been scheduled, the messages for the next table are displayed.
When messages for all tables have been displayed, pressing END displays the Table
or Job list screen.
To select the group entity into which you force the job into the AJF, enter S on the
relevant line.
NOTE
All other commands in this screen are invalid. Note that the status of the group may change as
a result of adding the job to the group.
The SSCHTBO parameter is one of the parameters set in the Presentation Modes
minor step in the Profile Variables major step of the Customize option (Option 6) of
the INCONTROL Installation and Customization Engine (ICE). The default setting is
N (No), meaning that when a table is ordered or forced, a regular confirmation
window is opened, and not a double confirmation window.
The SSCHTBO parameter can be modified at any time. If the setting of the SSCHTBO
parameter is modified to Y (Yes), a window that requires double confirmation is
opened in response to any order or force request. An example of this window is
shown in Figure 31.
NOTE
If you change the setting of the parameter, you must exit and then reenter the IOA online
environment before the change can take effect.
The window contains the fields shown in the following table. Some fields contain
default values that can be modified.
If the specified table does not exist, the table is created when the
request is performed.
Job Name of the job to be copied. If multiple jobs are selected, the
window initially display with the first selected job. As each request
is performed or canceled, the next requested job name is displayed.
NOTE
When a job from a regular table is copied to a Group scheduling table, the job retains its basic
scheduling criteria and an empty SCHEDULE TAG field is inserted in the job scheduling
definition.
When a job from a Group scheduling table is copied to a Group scheduling table, the job
retains its original scheduling tags.
Deleting Tables
Tables can be deleted from the Table List screen.
To delete tables, type D (Delete) by the table names in the Table List screen and press
Enter.
The confirmation window illustrated below is displayed, in sequence, for each table
selected for deletion.
A message is written to the IOA Log file for each table deleted.
NOTE
If PDSMAN is operational at your site, $$$SPACE members are not deleted.
Use the shifting PFKeys to shift the Graphic Jobflow right (PF11/PF23) and left
(PF10/PF22).
Two formats for the Graphic Jobflow screen are available, one for color displays and
one for non-color displays.
PRESS END TO RETURN. LEFT AND RIGHT TO SEE MORE. COLUMNS: 001 - 080 15.38.44
NOTE
Size limits for the online display are narrower than the size limits for the printed chart. The
online display is limited to 15 levels of dependencies. If the chart cannot be displayed online
because it is too large, it can still be printed. For more information, see the description of the
CTMRFLW utility in the CONTROL-M chapter of the INCONTROL for z/OS Utilities Guide.
On color terminals, the colors used to display the boxes and arrows can be changed
by request. Available colors are sequenced in a loop. Each request changes to the next
color in the sequence. Colors can be changed as follows:
NOTE
Size limits for the online display are narrower than the size limits for the printed chart. If the
chart cannot be displayed online because it is too large, it may still be printed. For more
information, see the KeyStroke Language (KSL) User Guide.
The window contains the following fields with default values that can be modified:
To display the plan, modify the defaults if desired. Press Enter. The Job Scheduling
Plan screen is displayed.
To close the window without displaying the plan, press END (PF03/PF15) or RESET
(PF04/PF16).
NOTE
The months (within the date range) in which the job (or jobs for a group schedule) is not
scheduled are not displayed.
The dates within the date range on which the job is scheduled, according to its basic
scheduling criteria, are marked with an asterisk.
Press the END key (PF03/PF15) to exit the Job Scheduling Plan screen and return to the
Job List screen.
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 29 30
* * * * *
The Active environment contains all the jobs in the Active Jobs file, that is, all jobs
that have recently executed, are currently executing, or are scheduled for possible
execution in the near future.
The main screen of the Tracking and Control facility is the Active Environment
screen, which displays a list of all jobs and their statuses in the Active environment.
From the Active Environment screen you can request specific actions in relation to a
job, or request the display of other screens that provide additional information and
capabilities. Possible requests include
■ Change the screen display type to display different information about the jobs in
the Active environment.
■ Delete a Group entity and all its jobs from the Active environment.
■ Undelete a job that has been deleted from the Active environment.
■ Rerun a job.
■ View the list of all runs (job orders) of a particular job, and view the sysout of any
or all of those job orders.
■ Display the list or network of predecessor and successor jobs of a specific job, and
display critical path information.
■ Force END OK termination of a job that has not been submitted or that ended
NOTOK.
■ Reactivate a job that has “disappeared” or that has failed with status “Reason
Unknown”.
■ Display the list of archived jobs (in the History file) and restore desired archived
jobs to the Active environment.
It is assumed that you want to see the most recently ordered jobs first. Therefore, by
default, the bottom of the Job list is displayed upon entry to the Active Environment
screen. This default can be altered by setting Profile variable SACTMOD to T, in
which case jobs are displayed from the top of the Job list. Profile variable SACTMOD
is described in the INCONTROL for z/OS Administrator Guide.
To exit the Active Environment screen, press the END key (PF03/PF15).
For color terminals, jobs with different statuses are displayed in different colors. Each
of the colors in the following table has been defined as the default for one of these
statuses. These statuses are described more fully in Table 64, on page 2-188.
NOTE
To change color definitions, see your INCONTROL administrator.
While in the Active Environment screen, the display type can be changed by the
DISPLAY command. The DISPLAY command is described in “Commands of the
Active Environment Screen” on page 169.
The INCONTROL administrator can use display type support to tailor the display
layout by adding lines, fields, changing colors, and so on. Additional information
about display type support is provided in the section on customizing IOA display
format members in the INCONTROL for z/OS Administrator Guide.
NOTE
The $$ACTDOC member in the IOA MSG library contains information that is useful for
customizing the CONTROL-M Active Environment screen and creating and modifying
display types for screens 3, 3.N, 3.G and the History Environment screen.
The Default and All Info predefined display types, and the fields they contain, are
discussed in “Format of the Active Environment Screen” on page 165.
The Network display type, although available in this screen, is generally useful only
in the Job Dependency Network screen, and is described in “Job Dependency
Network Screen” on page 234.
The last two lines of the Active Environment screen are used to display the list of
available commands and options.
Because there are too many commands and options to list at once, the list is divided
into two parts, each part consisting of two lines, as follows:
■ Upon entry to the screen, the set of available commands is displayed. Because this
list is displayed upon entry to the screen, it is referred to as the Primary Bottom
line.
Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
OPt command toggles between Commands and Options display 15.15.48
■ Upon request (using command OPT), the set of available options is displayed (in
place of the set of commands). The list of available options is referred to as the
Alternate Bottom line.
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
To toggle back and forth between the two sets of bottom lines, type OPT in the
COMMAND field and press Enter.
Below is an example of the Default display type. It contains the most relevant
information about the job.
The information in the following table can be displayed by request, along with the
STATUS information. For more information, see “Commands of the Active
Environment Screen” on page 169.
■ O – Late Out - the job ended outside the predefined time limit
Avg Elaps Average elapsed run time of the job.
RBA Relative Byte address of the job in the Active Jobs file.
DISPLAY x (abbreviated DI x)
Example
DI N
The recalculation
AUTO n
where n is any number of seconds within the range 1 through 99. For
more information, see “AutoRefresh Mode” on page 100
JOBSTAT Displays the Statistics screen, which provides statistics for the
specified job. For more information, see “Statistics Screen” on
page 231.
NOTE {ON|OFF}
where
The current setting is kept in the user profile for the next time the
screen is displayed.
TABLE Displays or hides the name of the job scheduling library and table
from which the job was ordered.
TABLE {ON|OFF}
where
The current setting is kept in the user profile for the next time the
screen is displayed.
CPUID {ON|OFF}
where:
The current setting is kept in the user profile for the next time the
screen is displayed.
DESC Displays or hides the description of each job.
DESC {ON|OFF}
where
The current setting is kept in the user profile for the next time the
screen is displayed.
DUMP {ON|OFF}
where
■ ON – provides a DUMP
■ OFF – does not provide a DUMP
The current setting is kept in the user profile for the next time the
screen is displayed.
GROUP {ON|OFF}
where:
The current setting is kept in the user profile for the next time the
screen is displayed.
OIDL Scrolls the Active Environment screen so that the job with the
specified order-ID is displayed at the top of the screen.
OIDL ord_ID
ORDERID {ON|OFF}
where:
The current setting is kept in the user profile for the next time the
screen is displayed.
VIEW Displays the Global View screen, which provides a statistical
overview of the status of jobs running under CONTROL-M. For
(PF04/PF16) more information, see “Global View Screen” on page 194.
VIEW GRAPH Displays the View Graph screen, which provides a graphic statistical
overview of the status of jobs running under CONTROL-M. For
(VG) more information, see “View Graph Screen” on page 196.
The IOA Editor directs the output of the AutoEdit simulation to the
user’s screen, with the following header line displayed:
CONTROL-M_AUTOEDIT_SIMULATION(memname)
The user can use the IOA editor to edit the output, and save it as a
member in a library.
Notes:
You may set any or all these fields to Y, with the following effects:
■ Time Limit – All the time limit selection criteria of the job, such
as TIME FROM, TIME UNTIL, DUE OUT, and NEXT, are
ignored. The job is submitted when all other criteria are satisfied.
■ IN Conditions – All IN conditions of the job are ignored. The job
is submitted when all other criteria are satisfied.
■ Quantitative Resources – All quantitative resources of the job are
ignored. The job is submitted when all other criteria are satisfied.
■ CONTROL Resources – All CONTROL resources of the job are
ignored. The job is submitted when all other criteria are satisfied.
■ Pipes – All PIPE statements of the job are ignored. The job is
removed from the pipe sharing job collection of which it is part,
and is submitted when all other criteria are satisfied.
■ JCL – The member and library specified in the MEMNAME,
MEMLIB, and OVERLIB statements of the job are ignored. When
all run-time criteria are satisfied, a dummy job is submitted.
Note: When BYPASS JCL is specified, CONTROL-M
handles post-processing of the job as if it were a dummy
job and will ignore all ON PGMSTEP pgmstep DO blocks
in the job.
■ All BYPASS options – Enters Y in all the fields in the BYPASS
option window.
When any BYPASS option has been set to Y, the status field of
the job in the Active Environment Screen will show that the
BYPASS feature is in use, with the relevant activated field
identified. For example, the status may show BYPASS(Time + IN
+ QUANT), to indicate that the Time Limit, IN Conditions, and
Quantitative Resources fields were set to Y, and that those
criteria are being ignored.
If you set any field in the BYPASS window to Y, that setting only
remains valid for the current run of the job. When the job is rerun
or restarted, all BYPASS fields are reset to N.
Job Statuses
The following job statuses can appear in the Active Environment screen:
Example
Group Statuses
The following Group statuses can appear for the group entity in the Active
Environment screen:
A filter consists of a set of record selection criteria (selection fields and their values).
Only records that conform to selection criteria specified in the filter are displayed on
the screen.
The INCONTROL administrator may predefine filters and place them in the General
profile.
Each user can activate an existing filter in the Active Environment screen by typing
the command SHOW in the COMMAND line of the Active Environment screen.
The filtering feature utilizes two different windows, the Show Screen Filter window
and the Display Filters window:
■ Each user can define and name multiple filters for the screen by using the Show
Screen Filter window, which is described in “Editing Filter Criteria” on page 187.
User-defined filters are stored in the user profile. Filters that are kept in the user
profile can be activated only by the user who defined the filter.
■ Users can display the list of all available filters by opening the Display Filters
window.
SHOW name
You can then select a filter from the Display Filters window for activation or editing.
To open the Display Filters window, type the command SHOW ? in the COMMAND
field. The Display Filters window is opened.
NOTE
Filters that are included with CONTROL-M are those appearing in the Display Filters
window. These system-provided filters do not display descriptions.
NOTE
When you create a user-defined filter and provide a description for that filter, the filter, and its
description, are both displayed in the Display Filters window.
To select a filter in the list for activation or editing, type the appropriate option in the
O (Option) field to the left of the filter name, and press Enter.
— Type SHOW name EDIT in the Active Environment screen, where name is the
name of the filter.
— Type E (Edit) next to the filter name in the Display Filters window and press
Enter.
■ To edit the currently active filter, it is unnecessary to type the name or Edit. Just
type SHOW in the COMMAND field and press Enter, or press PF02/PF14.
■ To create a new filter, open any existing filter and enter a new name and
description in the FILTER and DESC fields, which are described in Table 63 on
page 188.
The fields listed in Table 64 define the selection criteria to be applied to the screen. Fill
in these selection criteria as desired.
NOTE
The selection criteria shown in Table 64 marked with the symbol P support masking. For more
information, see “Character Masking” on page 83.
For compatibility with versions prior to version 6.2.xx, the SACTMSK profile variable can be
used to specify how to treat character search criteria that do not use masking characters. The
default setting (Y) results in CONTROL-M treating all character search criteria as if a masking
character was entered. For example, if AB was entered as a member name to be searched, by
default this entry is treated as AB*.
■ N/Y – If all status selection criteria are set to Y, all jobs and groups
are displayed. Specifying a value of N for a specified status selection
causes the groups and jobs for the specified status selection criteria
not to be displayed. For example, if JCL Error is set to N, jobs that
ended, or did not run, because of a JCL error are not displayed.
■ S – Select jobs to be displayed. For example, to see only jobs and
groups that ended OK, set Ended “OK” to S, and set all other status
selection criteria to N. Note that this action will display all jobs and
groups that ended ok (held, non-held, and so on).
■ The CONTROL-M monitor updates the status of jobs and groups displayed in the
Active Jobs file (AJF). Therefore, if the CONTROL-M monitor is down, the status
displayed in the AJF may not be up-to-date.
For example, if a job was waiting for a prerequisite input condition when the
CONTROL-M monitor went down, the job will continue to be shown as waiting
for the condition, even if the condition is present, until the CONTROL-M monitor
updates the AJF.
■ If you set Wait Sched to Y, the values set for Wait time, Wait Cond, Wait quant, and
Wait contrl are ignored. CONTROL-M only looks at the values set for these fields if
Wait Sched is set to N.
■ Grp Active is only used for groups (and not for jobs).
■ If a job is part of a group, and the group is waiting for some criteria such as a time
requirement, a prerequisite condition, and so on, the job has the same status as the
group.
For example, if the group is waiting for a prerequisite condition, and the filter
criteria is Wait Cond, the job will be displayed as waiting for the condition even if
the condition is not required by the job scheduling definition of the job itself.
■ If the job scheduling definition of a job requires it to wait for more than one input
criteria, these criteria are not all checked at once. They are checked in the following
sequence:
— Wait time
— Wait Cond
— Wait quant
— Wait contrl
For example, if the job is so defined that it must wait for a specific time and for a
prerequisite condition, the job will be displayed in the list of jobs waiting for time,
but will not be displayed in the list of jobs waiting for prerequisite conditions.
However, when the time requirement is satisfied, if the prerequisite condition is
not available, the job will be displayed in the list of jobs waiting for prerequisite
conditions.
■ To activate and save the filter, type Y (Yes) in the Save field. Changes to the filter
are permanently saved.
■ To activate the filter without saving it, type N (No) in the Save field. Changes are
kept in memory only, but not saved.
After typing a value in the Save field, press one of the following keys:
To cancel changes made in the Show Screen Filter window, use the RESET command
(PF04/PF16). The changes are canceled regardless of the value entered in the Save field.
The window is closed, and the filter that was previously in effect is restored.
By default, using the END command (PF03/PF15) in the window works like pressing
Enter. However, the default may be modified so that END works like RESET.
This screen provides a statistical overview of the status of the jobs running under
CONTROL-M. Information is presented by GROUP name, by date (that is, separate
statistics for the same group name on different dates).
NOTE
All jobs having the same group name are grouped together, including jobs from different
tables of different types.
To return to the Active Environment screen, press the END key (PF03/PF15).
If none of the above is found within the group, the first job that is
waiting to be scheduled is displayed.
JOB STATUS Status of each job in the group. In case of error, the type of error is
shown (for example, abend code).
This screen provides a statistical overview of the status of the jobs running under
CONTROL-M, in graph form. Information is presented by GROUP name.
NOTE
All jobs having the same group name are grouped together, including jobs from different
tables of different types.
To update the screen, type the command REFRESH and press Enter, or press
PF04/PF16.
To return to the Active Environment screen, press the END key (PF03/PF15).
Two formats for the View Graph screen are available, one for color displays and one
for non-color displays. They are discussed on the following pages.
Job Graph
In the job graph (D), job statuses are differentiated by color, as follows:
NOTE
Because this guide is printed in black and white, the different colors in the screen are
represented by different shadings in this guide.
For each group in the graph, the number of columns of a particular color depends on
the number of jobs having that status.
The data lines display the following information about each group:
Job Graph
For each group in the graph, the number of columns containing a particular symbol
depends on the number of jobs having that status.
Why Screen
The Why screen (Screen 3.?) is displayed when the ? (Why) option is entered on the
Active Environment screen. The Why screen shows the reasons why a job is in WAIT
SCHEDULE status.
To return to the Active Environment screen, press the END key (PF03/PF15).
Prerequisite condition required by the job, along with its original scheduling date.
Name and quantity of a Quantitative resource not currently available for the job.
For critical path jobs, a job with a higher path priority than the current job is also
identified.
Name and type of a Control resource currently being used by another job order,
which is identified by name. For critical path jobs, path priority of the owner is also
identified.
■ CONTROL OVER resource TYPE type HELD BY priority ******** [ownership type]
IOAID ioaid
Name and type of a Control resource currently being used by another job order in
a different instance of the CONTROL-M monitor. The IOAID of the monitor
holding this resource is also shown.
PIPE pipename
The job was not run for one of the following reasons:
If the job belongs to a Group scheduling table, the Why screen displays messages
related to both the selected job and the group to which the job belongs. In this case,
the reasons indicated above may be applicable to the selected job and/or to the
group.
To enable you to distinguish between “job” reasons and “group” reasons, the job
reasons appear in the screen before the group reasons, and the two sets of reasons are
separated by the following line:
In addition to the above line, the following reasons can appear only for a job in a
Group scheduling table:
Negative conditions can be seen in the Why screen. They can be identified by the
description NOT-COND.
If the Why screen indicates that a job is waiting for a NOT-COND (negative
condition) that is preventing the job from running, the NOT-COND can be deleted
manually. This enables the job to run despite the fact that the NOT-COND is true.
■ If, however, the user profile has been customized accordingly, the following
confirmation window is always displayed when either A or D is entered.
Fill in or modify the fields of the confirmation window as follows and press Enter.
Deleting a Job
CONTROL-M only allows deletion of WAIT SCHEDULE jobs, or jobs that have
finished executing. To be deleted, a job must be in HELD status. The deletion request
is recorded in the IOA Log file. The job is logically deleted, that is, flagged as deleted,
from the Active Jobs file immediately. It is physically deleted from the disk the next
time cleanup (for example, New Day processing) is performed.
NOTE
Logically deleted jobs can be undeleted by option U (Undelete). When jobs are undeleted they
are added back to the Active Jobs file with the same status they had prior to deletion.
To delete a job, type D (Delete) in the Option field to the left of the job and press
Enter.
1 Remove the critical path priority of the job using the Zoom screen (Screen 3.Z).
3 When the job reverts to WAIT SCHEDULE status, hold the job.
If all the jobs within a group are deleted, you can delete the Group Entity itself
through the following steps:
1 Put the group on hold. If it is already held, free it, then put it on hold again.
The reason for freeing a held group and then putting it on hold again before
attempting to delete it is that, for efficiency, when a group is held, CONTROL-M does
not check the status of the jobs in it.
■ If, however, the user profile has been customized accordingly, the following Delete
Confirmation window is displayed, in sequence, for each deletion request.
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 16.28.18
Log Screen
To display the Log screen, type option L (Log) in the Active Environment screen. The
Log screen displays all Log messages of the specified job.
Usage of the Log screen is explained in detail in “IOA Log Screen” on page 288.
However, if you entered the Log screen by option L on the Active Environment
screen instead of by option 5 on the IOA Primary Option menu, note the following
differences in usage:
■ Only filter options related to CONTROL-M (and CMEM) are displayed in the
Show Screen Filter window.
If you enter L (Log) in the O (Option) column for multiple jobs in the Active
Environment screen, the log displays are stacked. Each time the END key (PF03/PF15)
is pressed, the next log in the stack is displayed, until all logs have been displayed.
Zoom Screen
The Zoom screen “zooms in” on the details of a specific job order. To display the
Zoom screen, type Z (Zoom) on the Active Environment screen.
NOTE
To save changes made in the Zoom screen, the job must be placed in HELD state before
entering the Zoom screen.
NOTE
The Zoom screen is displayed in Browse mode if the requested job order is already being
zoomed by another user. In this case, updates are not permitted.
The Zoom screen is similar to the Job Scheduling Definition screen used for defining
job production parameters, but it is different in several respects:
■ The Zoom screen contains fields that do not appear in the Job Scheduling
Definition screen (and vice versa).
■ Some fields on the Zoom screen cannot be modified at all. Other fields can or
cannot be modified depending on the status of the job.
■ Changes to a field in the Zoom screen affect only the current job order, not the job
scheduling definition.
For information about most fields in the Zoom screen, see “Job Scheduling Definition
Screen – Defining Schedules” on page 125.
Fields of the Zoom screen that are not in the Job Scheduling Definition screen are
described below:
This line appears only in PSEUDO jobs, meaning jobs in a group that
were automatically changed by CONTROL-M into DUMMY jobs
when they were ordered.
■ When the CTMJOB utility was used to order the job, if the
ODATEOPT parameter was set to RUN, the value is Y.
■ If the job was pre-ordered using the Time Zone feature in the
New Day procedure, and the ODATEOPT parameter was
automatically set to RUN, the value is Y.
■ If the job was ordered or forced from the Job List Screen, and the
WAIT FOR ODATE field in the Job List Exit Option window
was set to Y, the value that appears in the Zoom screen is also Y.
BMC Software recommends that you do not purge jobs from the
spool on the Remote node. However, if a job was purged from the
spool on the Remote node, you must notify CONTROL-M of the
event by changing the value in the NJE field back to ' ' (Blank). After
a short time, the job status changes to Disappeared.
■ If the search is pointless (for example, you know the job has been
deleted from spool), change the SEARCH COUNTER to 99999
thereby causing a DISAPPEARED status.
LPAR Identity of the MVS system (the logical partition) on which the job is
being, or has been, executed.
NXT RUN For rerun situations or for cyclic jobs that use the INTERVAL option,
this field indicates the next time the job is submitted (if other
submission criteria are satisfied). Format: yymmdd hhmm.
ON PGMST trigger This field appears at the end of the ON PGMST line, to the right of
the A/O field. In Figure 50 an asterisk can be seen in this field. The
field is used to indicate if the ON PGMST statement was triggered.
Possible values are:
Only specific dates (or ****, $$$$ or STAT) can be used as valid condition date
references. Therefore, if symbolic date references (such as ODAT or PREV) are
entered as condition date references (in the parameters IN, OUT, CODES, COND,
and so on) in the job scheduling definition, the real date values are derived and
displayed in the Zoom screen.
§Restart§ The restart decision parameters (FROM, TO, CONFIRM) contain a value
other than blank only if
■ the DO IFRERUN parameters have been specified in the Job Scheduling Definition
screen (Screen 2)
and
When and if the job is restarted, these parameters are used. You can modify the value
of these parameters.
The DOC command can be used to alternately display and hide the documentation
(DOC lines). Documentation cannot be updated in the Zoom screen.
As noted earlier, a job must be placed in the Held state before entering the Zoom
screen if changes are to be saved. When a Group entity is held, changes to jobs within
the Group can be saved without having to separately place a hold on each job.
All information applicable to the regular Zoom screen applies to the Group Entity
Zoom screen as well. All fields in the Group Entity Zoom screen also appear in the
Zoom screen for regular job scheduling definitions. For a description of the fields in
the Group Entity Zoom screen, refer to the descriptions of the regular Zoom screen,
the Job Scheduling Definition screen, and the Group Entity screen.
NOTE
When a SAVE command is processed by CONTROL-M, all SHOUT requests, even those
which were already actioned, are re-queued, which may possibly cause redundant SHOUTs.
To prevent specific SHOUTs from being re-queued, delete these SHOUT requests in the Zoom
screen before the SAVE. These changes affect only the current job order, not the original job
scheduling definition.
To add a note, type NOTE in the command line of the Zoom screen and press Enter.
A new NOTE line is opened for entering additional notational text.
Add or edit the text in the note lines as desired. When text is added to an empty note
line, a new blank note line is opened. To delete a note, delete all note lines.
When the note is as you want it, type SAVE in the Command line and press Enter.
After all changes to the Zoom screen are made, free the Held job in the Active
Environment screen. When a job order contains a note, an indicator is placed in the
Status field of the Active Environment screen.
■ By default, END (PF03/PF15) performs a cancel, and the changes are not saved (that
is, no changes are made to the job entry on the Active Jobs file). To save changes,
the SAVE command must be entered.
To bypass the window if it is normally displayed, exit the Zoom screen as follows:
■ Type SAVE in the Zoom screen to save changes (not available in Browse mode).
Upon saving changes, the status of the job becomes REQUESTED CHANGE HELD.
Wait until the REQUESTED CHANGE status disappears (indicating that the
CONTROL-M monitor has accepted the change), and then free the job in the Active
Environment screen.
To confirm the scheduling of the job for submission, type C (Confirm) for the job, in
the Active Environment screen. A confirmation window is then opened. The same
confirmation window is opened when requesting the rerun of a job in the Active
Environment screen. For the description and an example of the confirmation
window, see “Confirm Rerun Window.”
In such cases, however, rerun of the job can be manually requested by entering R
(Rerun) in the Active Environment screen.
NOTE
§Restart§ If CONTROL-M/Restart is available, a different window is opened for job rerun.
For more information, see “§Restart§Rerun and/or Restart Window (Under
CONTROL-M/Restart)” on page 220.
■ Y (Yes) – The job is restarted along with all its successor jobs.
■ N (No) – Only the selected job is restarted.
■ Y (Yes) – The job is restarted along with all its predecessor jobs.
■ N (No) – Only the selected job is restarted.
View Jobs in Flow Whether to generate a Rerun Flow Job List. This list enables the user
to select specific jobs in the selected flow or flows to be restarted. For
more information, see “Rerun Flow Job List Window” on page 224.
■ Y (Yes) – The Flow Rerun Job List screen is displayed. The list
contains:
— The job's successors (if Y was specified in Forward Flow)
— The job’s predecessors (if Y was specified in Backward Flow)
— The jobs’s successors and predecessors (if Y was specified in
both fields).
■ N (No) – The Rerun Flow Job List is not displayed.
If the job is a group entity, and Y was not specified in either the
Forward Flow or Backward Flow fields, the generated list contains
the jobs in the group. (If Y was not specified in either of the fields,
and the job is not a group entity, then this value is ignored and no list
is displayed.)
■ A MAXRERUN value greater than zero is defined in the job scheduling definition,
but the number of reruns specified in this field has not yet been performed. In this
case, restart can be confirmed by entering option C (Confirm) for the job.
To confirm restart or rerun for such a job, enter option C (Confirm) for the job. A
restart confirmation window is then opened. The same confirmation window is
opened when requesting the rerun (option R) of a restart job in the Active
Environment screen. For the description and an example of the confirmation
window, see the following section. “§Restart§Rerun and/or Restart Window (Under
CONTROL-M/Restart)”.
Manual intervention is required for the job restart in the following cases:
To manually request rerun and/or restart for such a job, enter option R (Rerun) for
the job.
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 08.36.28
■ Y (Yes) – The job is restarted along with all its successor jobs.
■ N (No) – Only the selected job is restarted.
Backward Flow Whether to enable the restart of a preceding series of jobs, ending
with the selected job:
■ Y (Yes) – The job is restarted along with all its predecessor jobs.
■ N (No) – Only the selected job is restarted.
View Jobs in Flow Whether to generate a Rerun Flow Job List. This list enables the user
to select specific jobs in the selected flow or flows to be restarted. For
more information, see “Rerun Flow Job List Window” on page 224.
■ Y (Yes) – The Flow Rerun Job List screen is displayed. The list
contains:
— The job's successors (if Y was specified in Forward Flow)
— The job’s predecessors (if Y was specified in Backward Flow)
— The jobs’s successors and predecessors (if Y was specified in
both fields).
■ N (No) – The Rerun Flow Job List is not displayed.
If the job is a group entity, and Y was not specified in either the
Forward Flow or Backward Flow fields, the generated list contains
the jobs in the group. (If Y was not specified in either of the fields,
and the job is not a group entity, then this value is ignored and no list
is displayed.)
Restart Parm Member Name of the member that contains control parameters for the job
Name restart. The specified value must be a valid member name of 1
through 8 characters. The default value, displayed in the window, is
the member that contains the JCL of the job. This member is either
the value in the MEMNAME field of the Zoom screen, or the NAME
field of the Active Environment screen.
Note the following points about From Step/Proc and To Step/Proc values:
■ Pgmstep name can be any specific program step name or $FIRST. $FIRST resolves
to the first step of the job if procstep name is blank. Otherwise, $FIRST resolves to
the first step in the procedure identified by procstep.
■ $ABEND and $EXERR are not recognized by CONTROL-M/Restart and must not
be specified as restart steps in this window. ($ABEND and $EXERR are valid only
in job scheduling definitions.)
■ If specifying a procstep name when there are nested procedures, specify the
procstep name of the innermost procedure in which the program is included.
■ Entering $FIRST in the first From Step/Proc field followed by $CLEANUP in the
adjacent (second) From Step/Proc field reruns the job for Cleanup (that is, run the
CONTROL-M/Restart cleanup step and flushes the job). All other parameters
entered in the Restart window are ignored.
NOTE
AutoEdit resolution is performed at time of cleanup job submission. For example, if a job with
AutoEdit date variable %%DATE is submitted for cleanup the day after the original run, the
resolution of the variable during cleanup varies from that of the original run.
Filter: ------- RERUN FLOW --- JOB LIST ------ UP <F> - (3)
COMMAND ===> SCROLL ==> CRSR
O Level ----- N a m e ----- Rerun? ------ Status -----
-1 ADDRESOR YES Ended "OK"
-1 SOURCERN YES Ended "OK"
-2 CEDOLXRX YES Ended "OK"
-1 CTDORDER YES Ended "OK"
-1 QD61P38 YES Ended "OK"
--> QD61P38 YES Ended "OK"
========= >>>>>>>>>>>>> Bottom of Jobs List <<<<<<<<<<<<< ========
The following fields are displayed for each job in the list:
When the list is first generated, this field is set to YES for all jobs.
Status Job (task) status. A complete list of job statuses is found in “Job
Statuses” on page 180. One of the listed statuses appears only in this
window:
■ Type I (Include) next to specific jobs to rerun/restart them. The status for the
selected job(s) is changed to YES.
■ Type E (Exclude) to prevent specific jobs from being rerun/restarted. The status
for the selected job(s) is changed to NO.
To specify rerun/restart options for the entire Rerun Flow Job List at once:
■ Type IN (Include) on the command line to rerun/restart all jobs in the list. The
status for all jobs are changed to YES.
■ Type EX (Exclude) on the command line to prevent all jobs in the list from being
rerun/restarted. The status for all jobs are changed to NO.
Pressing the END key (PF03/PF15) to close the Rerun Flow Job List window causes all
included jobs to be rerun. To exit the window without rerunning any of the included
jobs, type CANCEL on the command line.
To display the list of job steps, type a ? symbol in the With Restart field of the Restart
window, and press Enter. The Step List window, below, is opened. This “window
within a window” contains the list of job steps.
To locate a specific step, type the LOCATE command in the Command field of the
CONTROL-M/Restart Stop List window and press Enter. The format of the
command is:
LOCATE stepname
Steps selected in the Step List window are displayed in the appropriate field of the
Restart window. To select steps, type the appropriate selection values in the Option
(O) field by the step names. Valid selection values are shown in Table 77.
NOTE
If a step cannot be used as a From Step/Proc and/or To Step/Proc for restart, the Option field
is protected, and an option cannot be entered, for that step.
Pressing the END key (PF03/PF15) closes the Step List window and automatically
updates the From Step/Proc and To Step/Proc fields of the Restart window with the
appropriate steps.
Typing the command RESET, or pressing the RESET key (PF04), closes the Step List
window without updating the Restart window.
This option is used for jobs that have executed at least once and whose SYSDATA has
been automatically archived by the CONTROL-M monitor as part of
CONTROL-M/Restart processing (Auto-Archive=Y). The V option does not support
the viewing of output on the spool or output that has been archived by a
CONTROL-M SYSOUT F function.)
By default, older data are displayed before more recent data (that is, in FIFO order –
first in, first out), so that the first run of the job is shown first. If, however, the user
profile has been customized accordingly, data is displayed in LIFO order (last in, first
out).
The Job Order Execution History screen is pre-configured to the D (Default) display
type. Additional display types may be defined by the INCONTROL administrator. To
display a different display type on the screen, type command DISPLAY x
(abbreviated DI x) where x is the identifying letter of the display type (such as DI D).
To return to the Active Environment screen, press the END key (PF03/PF15).
Table 78 §Restart§ Default Display Type Fields of Job Order Execution History
Screen
Field Description
MEMNAME Name of the member containing the job’s JCL.
OWNER User ID of the owner of the job.
ORDERID Job order ID.
ODATE Original scheduling date of the job.
■ To display job sysout for specific executions of the job, type the option S (Select) in
the OPTION field of the selected executions and press Enter.
■ To display job sysout for all executions of the job, type the command VIEWALL
(abbreviated V) in the COMMAND field and press Enter.
■ If the option S (Select) was typed in the Job Order Execution History screen for
specific executions of the job, the sysout for those executions are displayed.
■ If the command VIEWALL was entered in the Job Order Execution History screen,
the sysout for all executions is displayed.
Job orders are displayed in the same order (LIFO/FIFO) in this screen as in the Job
Order Execution History screen.
To return to the Job Order Execution History screen, press END (PF03/PF15).
For color terminals, display colors for the sysout are defined in the user profile. If you
want to change the default colors, see your INCONTROL administrator.
Statistics Screen
The Statistics screen displays the most current run statistics for a particular job. The
screen is displayed when any of the following actions is performed:
■ Option S (STAT) is typed next to the jobname in the Active Environment screen.
■ Option T (JOBSTAT) is typed next to the job name in the Job List screen.
■ Command JOBSTAT is typed in Command field of the Job Scheduling Definition
screen or the Active Environment screen.
Job statistics are collected for executions that ended OK. A separate set of statistics is
collected for each group on each computer in which the job is run. Statistics for a job
are retained for a maximum of 20 executions (that ended OK) in each group on each
computer.
To return to the Active Environment screen, press the END key (PF03/PF15).
NOTE
Update of the Statistics file is performed by the CTMJSA utility, which must be scheduled
periodically. The CTMJSA utility is described in the INCONTROL for z/OS Utilities Guide.
WARNING
If statistics that exist for a job are not displayed, refresh the display by entering the REFRESH
command (PF04/PF16).
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.
When displaying the execution statistics for a group entity, the Average Statistics
Line always shows the following:
■ SYSID: 1
■ SMFID: *GRP
■ the average elapsed time of all of the group entities that are displayed on the
screen
■ the CPU and SRB times are set to 0
NOTE
The SYSID consists of one or two digits, left-justified.
Fields of the Group Entity Execution statistics have different meanings than
corresponding fields of the Individual Execution statistics.
If the AUTOTAPE parameter in the CTMPARM member in the IOA PARM library is
set to Yes, tape device usage information is accumulated for every CONTROL-M job
execution that ended OK. This information is used by the Automatic Tape
Adjustment facility to automatically allocate the appropriate number of tape drives
for a job at job order time. This allocated value overrides any specified tape device
usage value in the RESOURCE parameter. For more information, see the discussion
of using the automatic tape adjustment facility in the INCONTROL for z/OS
Administrator Guide.
This information (shown below) can be displayed by scrolling to the right of the
Statistics screen (using PF11/PF23):
The tape usage information consists of fields JOBID and START date (from the
Statistics screen) so that tape usage of a specific job execution can be easily identified,
and an additional field, DEVICES USED, which is described below.
The DEVICES USED field contains tape device types and number of devices of each
type that were used by the job. This field has the following format:
devtype1=quant1;devtype2=quant2;...devtypex=quantx;
where:
Tape device types are displayed in the order specified by the INCONTROL
administrator in the UNITDEF member of the CONTROL-M PARM library.
If the tape device usage information occupies more than the visible screen, scroll
again to the right (using PF11 or PF23) to view additional device usage information.
The maximum length of tape device usage data is 255 characters.
Job dependencies are determined according the prerequisite IN and OUT conditions
of the job. DO COND statements are not used for this purpose because the
dependencies they create are conditional rather than constant.
The Job Dependency Network screen is a special case of the Active Environment
screen, and therefore contains most of the same features. A filter that is active in the
Active Environment screen also remains active in the Job Dependency Network
screen (and vice versa).
Jobs are listed in job flow order (that is, level) relative to the selected job. The selected
job is indicated by level 0. Predecessor jobs are indicated by a minus sign and
successor jobs are indicated by a plus sign.
To return to the Active Environment screen, press the END key (PF03/PF15).
Features of the Job Dependency Network screen that have already been described
earlier for the Active Environment screen are not described below. Refer to the Active
Environment screen for information about those features. However, note the
following points:
■ The RBAL command of the Active Environment screen is not supported in the Job
Dependency Network screen. This difference is also reflected in the Primary
Bottom lines of the two screens.
For a description of the fields in the D (Default) display type and the A (All Info)
display type, see “Format of the Active Environment Screen” on page 165.
The Network display type is intended for use by the INCONTROL administrator and
operations personnel. Basic information is displayed for each job.
REFRESH parm
Jobs in the History Jobs file can be displayed in the History Environment screen.
The History Environment screen is a special case of the Active Environment screen. It
is displayed when command HISTORY is typed in the Command field in the Active
Environment screen.
Because the History Environment screen is a special case of the Active Environment
screen, the features of the two screens are almost identical, and are described in
“Active Environment Screen” on page 162. Differences between the screens are as
follows:
The selection of line options available in the History Environment screen is different
than the selection of line options available in the Active Environment screen. Below is
the Alternate Bottom line of the History Environment screen.
Upon exiting the History Environment screen (by pressing PF03/PF15), the Active
Environment screen is displayed.
NOTE
Group entities are not supported in the History environment. Therefore, jobs originating in
group scheduling tables are restored as regular (non-group) jobs.
The R Restore option restores the specified job to the Active Jobs file and marks it as
deleted in the History Jobs file. The restored job appears in the Active Jobs file in
Held status.
For a description of the remaining options, see “Options of the Active Environment
Screen” on page 175.
This feature is available only when using the IOA Online environment under TSO,
not under the IOA Online monitor.
■ If the job status is WAIT SCHEDULE, the status is changed to ENDED OK without
submitting the job. As a result, all resources required by the job are freed, and OUT
and SHOUT WHEN OK job post-processing are performed as if the job terminated
with status ENDED OK.
■ If the job has an ON PGMST code of FORCE, and it terminates with status ENDED
NOTOK, the status is changed to ENDED OK. In addition, ON PGMST post
processing is performed for the following DO actions: DO COND, DO FORCEJOB,
DO SETVAR, and DO SHOUT. For more information about the code FORCE, see
the table of parameter values for use with the “ON” Post Processing Parameter in
“ON Statements: Post–Processing Parameter” on page 534.
The same effect is achieved if a job has the ON PGMST parameter with value
ANYSTEP specified with the code OK, if the FRCOKOPT parameter in the
CTMPARM member in the IOA PARM library is set to Y, and if the command
FORCE OK is requested.
NOTE
If CONFIRM=Y was entered in the DO IFRERUN parameter in the job scheduling definition,
and you want to implement a Force OK request, you must type C (Confirmation) and respond
with CONFIRM=Y in the restart confirmation window. This does not cause the job to restart,
but instead implements the Force OK request.
In the case of a cyclic job, Force OK works only after the job has reached an ENDED
status, such as the result of a DO STOPCYCLE command.
A Force OK request is not performed if the job is currently being executed or rerun.
In the case of a Group Entity, Force OK works only if the Group Entity has an
ENDED status.
When requesting Force OK, the Force OK confirmation window is displayed, unless
the user profile has been modified to suppress the window. The Force OK
confirmation window is illustrated in Figure 64.
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 14.50.56
You can specify in the Force OK confirmation window whether the following DO
actions are performed:
■ DO COND
■ DO FORCEJOB
■ DO SET
■ DO SHOUT
If you specify that these actions must be performed, this overrides the value specified
in the FRCOKOPT parameter in the CTMPARM member in the IOA PARM library.
For more information about the FRCOKOPT parameter, see the INCONTROL for z/OS
Installation Guide.
These actions are only performed if the following additional conditions are satisfied:
NOTE
If CODES is set to FORCE, the DO actions are performed regardless of the value set in the
With Post-Processing field.
1. To confirm the Force OK request, type Y in the Force OK field. To cancel the
Force OK request, type N in this field.
2. If you do not want the DO actions listed above performed, type N in the With Post-
Processing field. If you want these DO actions performed, leave the Y default
setting in this field unchanged.
NOTE
If the user profile has been modified to suppress the Force OK Confirmation window, the
value set in the FRCOKOPT parameter is used for all jobs that are Forced OK.
A CMEM rule for a specific situation needs to be defined only once. Once defined, the
rule is saved and used as necessary for managing events. CMEM rules may be
modified or deleted as required.
CMEM rules are stored in members called rule tables. In many environments, several
rules can work together as a group to handle a specific situation. In these cases, it is
common to define all such related rules in a single rule table.
Any number of rule tables may be defined, and each rule table may contain any
number of CMEM rules.
CMEM rule tables (members) are stored in rule libraries (partitioned data sets). You
may define any number of rule libraries.
The number of rule tables in a library, the number of rules in a rule table, and the size
of each rule definition, are all calculated dynamically and are not dependent on
parameter specifications.
NOTE
The CMEM Rule Definition facility does not support members that have been compressed
using the ISPF PACK option.
To enter the CMEM Rule facility, type C in the OPTION field in the IOA Primary
Option menu and press Enter. The CMEM Rule entry panel is displayed.
Creating Tables
CMEM rule tables can be created in one of the following ways:
1. By typing the new table name in the entry panel and pressing Enter. The name of a
new rule for the new table may also be entered.
Upon using this method to request that a table be created, a skeletal CMEM rule
(that is, one with most fields not filled in) is displayed in the CMEM Rule
Definition screen.
Fill in and save this rule definition. The table is created and the rule is the first and
only rule in the Rule list of the table. As additional rules are created in the table
(described below), they are added to the Rule list.
2. Upon exiting the Rule List screen, if changes have been made to at least one rule,
an Exit Option window is displayed. One option of the window allows creation of
a new table in which the rules are saved.
1. A skeletal rule definition can be created by typing the name of a new rule in the
entry panel. The table specified in the entry panel may be either a new or an
existing table. In this case, the fields in the rule definition are empty.
2. A basic copy of an existing rule can be created using the INSERT option in the Rule
List screen. In this case, most fields of the new rule definition contain the same
values as the fields in the copied rule. The INSERT option is described in “Options
of the Rule List Screen” on page 250.
Below is a brief summary of some of the major operations possible in the facility.
Options and commands that have not yet been explained are explained in detail
following the summary.
When browsed, the table cannot be modified or updated. When the table is edited,
new rules may be added and existing rules may be modified or deleted.
To browse a table, and its rule list and the rules it contains, use the BROWSE option in
the Table List screen.
Typing the table name in the entry panel or using the SELECT option in the Table List
screen provides edit access.
Depending on user profile definitions, if the table requested for editing is in use,
either access is granted in Browse mode or access is not granted.
Unneeded rules can be deleted by the DELETE option in the Rule List screen,
described in “Options of the Rule List Screen” on page 250. Unneeded tables can be
deleted by the DELETE option in the Table List screen, described in “Deleting Tables”
on page 156.
Rule tables are ordered by option ORDER or FORCE in the Table List screen,
discussed in “Ordering CMEM Rule Tables” on page 260.
Saving Modifications
All changes made to a table and its rules are kept in memory until the table is exited.
Upon exiting the table, you may choose to save or cancel the changes, as described in
“Exiting the CMEM Rule Definition Facility” on page 257.
Entry Panel
The entry panel is displayed upon entering the CMEM Rule Definition facility (option
C on the IOA Primary Option menu).
If this field is specified without filling in the TABLE field, the list of
tables in the specified library is displayed in the Table List screen.
TABLE Name of the desired rule table. Optional.
If this field is specified without filling in the RULE field, the list of
rules in the specified member is displayed in the Rule List screen. If a
new table name is specified, a new rule definition is displayed in the
Rule Definition screen.
RULE Name of the desired rule. Optional.
By default, only table names are listed in the screen. However, if the default has been
modified at time of installation, statistical information is displayed for each table
name (as shown below).
NOTE
Users whose access to options has been limited by the INCONTROL administrator can only
access the Browse option.
■ R – Job arrival
■ X – Job end
■ D – Data set
■ Z – Step
DESCRIPTION The description of the rule. This appears in the DESCRIPTION field
of the rule definition.
This screen can be entered directly from the entry panel or the Table List screen, or
upon exiting from the Rule Definition screen.
NOTE
If the S (Select) option was typed in the Table List screen for a table that is currently in use
(“selected”) by another user, either the Rule List screen is not displayed and the Table List
screen remains displayed (the default), or the Rule List screen is displayed in Browse mode (if
a user profile definition overrides the default). In either case, an appropriate message is
displayed.
NOTE
If the Rule List screen is displayed in Browse mode, options D (Delete) and I (Insert) are not
available.
If the Rule List screen is not displayed in Browse mode, the rule
definition may be edited and updated. If the Rule Definition screen
is displayed in Browse mode, the rule definition may only be
browsed; it cannot be modified.
D (DELETE) Delete a rule from the Rule list (member). Multiple rules can be
selected for deletion.
I (INSERT) Insert a new rule in the list. The Rule Definition screen appears, with
the same details of the rule marked “I”. Only one rule may be
inserted at a time.
C (COPY) Copy the rule to another table. Multiple rules can be selected. For
more information, see “Copying Rules to Another Table” on
page 262.
This screen can be entered directly from the entry panel or from the Rule List screen.
Update of parameters is not permitted in Browse mode.
To delete a parameter on the screen, simply erase it by the EOF key or blank it out. If
additional action is required, CONTROL-M issues appropriate instructions.
NOTE
Parameters marked with the M symbol may have many occurrences. Whenever you fill in the
last occurrence of the parameter on the screen, CONTROL-M adds a new empty occurrence of
the parameter that can be filled in. The only limit to the number of occurrences is the region
size available for the application.
General Parameters
The following are General parameters that apply to the rule.
Action Parameters
Action parameters specify actions to be performed by CMEM.
DO STOPJOB
DO
DO STOPJOB Stop execution of the remaining steps of the job that triggered the
rule.
DO SHOUT Issue a message to a console, TSO user, ROSCOE user, IOA Log or
the system administrator using the CONTROL-O Shout facility.
Commands used to exit the Rule Definition screen are described in “Exiting the Rule
Definition Screen” on page 257.
Entering Comments
Comments are free text descriptions of rule definition parameters that are stored in a
rule definition. It is recommended that comments be inserted within rule definitions
for clarification and documentation purposes. Comment lines begin with the symbols
/* , and are not processed during rule execution.
■ Decide where you want the comment to be inserted. Position the cursor on the
preceding line, and press CMNT (PF04/PF16) to open the comment line. If you need
more than one line, press Enter at the end of each line.
■ Type CMNT in the COMMAND field and move the cursor to the line before which
the comment is to be inserted. Press Enter.
The Edit environment in a Rule Definition screen is accessed by typing EDIT in the
COMMAND field and pressing Enter.
Details and examples of the editing CMEM rule definitions in the Edit environment
are provided in Appendix D, “Editing CMEM Rule Definitions in the Edit
Environment.”
NOTE
If the Table List screen was bypassed when you entered the CMEM Rule Definition facility
(that is, if you entered a TABLE value in the entry panel), the Table List screen is not
displayed upon exiting the Rule List screen; instead, the entry panel is displayed.
■ Entry panel
The commands and options available when exiting screens depend on the screen
being exited and on whether changes have been made. If changes have been made,
the selected exit options and commands determine whether the changes are saved.
Exit options and commands are discussed below on a screen-by-screen basis.
NOTE
The END command retains changes to the rule in memory. To permanently save the changes
to disk, you must request that the changes be saved when you exit the Rule List screen.
The LIBRARY and TABLE fields indicate the library and table in which the rule
definitions are saved. The specified values can be modified (for example, to save the
rule definitions in a new or different table).
■ To save all changes currently in memory and exit the Rule List screen, type Y (Yes)
after the word SAVE or CREATE:
— Type Y after SAVE if a table with the same name already exists in the specified
library.
— Type Y after CREATE if a table with the same name does not exist in the
specified library.
NOTE
If you create a new table, the table name does not appear in the Table List screen upon
exiting the Rule List screen; it first appears when you reenter the Table List screen from the
entry panel.
■ To cancel changes currently in memory and exit the Rule List screen, type N (No)
after the word SAVE or CREATE.
■ To close the Exit Option window and remain in the Rule List screen (with the
changes remaining in memory), press the RESET key (PF04/PF16).
Deleting Tables
Tables can be deleted from the Table List screen.
To delete tables, type option D (Delete) by the table names in the Table List screen
and press Enter.
The confirmation window illustrated below is displayed, in sequence, for each table
selected for deletion.
A message is written to the IOA Log file for each table deleted.
NOTE
If PDSMAN is operational at your site, $$$SPACE members are not deleted.
When rule definitions are updated or modified, the rule table must be ordered again.
The newly ordered version of the rule table automatically replaces the previous
version of the rule table. Rule tables can be deleted from the Active environment by
an operator command. For details, see Chapter 6, “Selected Implementation Issues.”
To order a rule table, type O (Order) or F (Force) in the OPT field to the left of the
table name in the Table List screen. Because there are no basic scheduling criteria in
CMEM rules, the Order and Force options work the same way. More than one rule
table can be ordered at the same time.
When you order rule tables, the following default confirmation window is opened. If
the default has been modified in the user profile, a double confirmation window is
opened. For more information on the double confirmation window, see “The Double
Confirmation Window” on page 153.
When you press Enter, the results of the order request are displayed in a message at
the top of the screen. If more than one message is required, the original list screen
disappears and the messages appear in a new screen. If the messages span more than
one screen, you may scroll up and down on the messages list. Press the END key
(PF03/PF15) to return to the Table List screen.
Wish WO0945
As a result of the Order or Force request an MVS MODIFY command is sent to the
CMEM monitor. Some installations may protect the MVS command. If the user is not
authorized to issue an MVS MODIFY command the Order or Force fails.
■ the following AutoEdit System variables that return Wish WO0943 with a status of
Y or N
— %%$WO0943
— %%$MODIFY_O_F
F controlo,WISH=WO0943=xxxxx
This command allows the user to enable or disable optional Wish WO0943 without
stopping CONTROL-O.
NOTE
This is a temporary change to the Wish only. In order to make the change permanent, Wish
WO0943 must set to the required value, YES or NO, in member IOADFLTL.
The window contains the fields shown in the following table. Some fields contain
default values that can be modified.
If the selected table does not exist, the table is created when the
request is performed.
RULE Name of the rule to be copied. If multiple rules are selected, the
window initially display with the first selected rule. As each request
is performed or canceled, the next requested rule name is displayed.
NOTE
If CONTROL-O is installed, the CMEM facility is controlled by the CONTROL-O monitor
instead of the CMEM monitor. In this case, references to the CMEM monitor apply instead to
the CONTROL-O monitor, and operator commands must contain CONTROLO in place of
CTMCMEM.
Certain screens and features of the IOA Variable Database Facility are relevant to
CONTROL-O but not to CONTROL-M. If CONTROL-O is installed, and you are using the
IOA Variable Database Facility with CONTROL-O, refer to the description of the IOA
Variable Database facility in the CONTROL-O User Guide.
Global variables may be defined in variable database IOAVAR. They can be accessed
and updated by all CONTROL-M jobs and/or CONTROL-O rules on that computer.
In addition, if Sysplex support is installed, these variables can be accessed and
updated by all CONTROL-M jobs and CONTROL-O rules across the Sysplex. IOA
Global variable database administration and Sysplex support are described in detail
in the INCONTROL for z/OS Administrator Guide.
NOTE
In addition to using the online IOA Variable Definition facility to define Global variables,
Global variables can be defined or updated through SET VAR and DO SET statements in
CONTROL-M job scheduling definitions, through SET statements in the job’s JCL, and
through SETOGLB statements in a KSL or KOA script. For more information on KeyStroke
Language (KSL) User Guide, refer to the KeyStroke Language (KSL) User Guide.
The IOA Variable Database facility consists of several screens, some of which are
relevant only to the INCONTROL administrator, and some of which are relevant to
all users. The following screens are relevant to all users. Screens relevant only to
administrators are described in the INCONTROL for z/OS Administrator Guide.
To enter the Variable Database facility, select option IV in the IOA Primary Option
menu. The IOA Variables Entry Panel is displayed.
Entry Panel
The following entry panel is displayed upon specification of option IV in the IOA
Primary Option menu:
■ To display the list of all variable databases: Press Enter. The Database List screen is
displayed.
■ To display the list of variables in a specific variable database: Type the database
name in the DATABASE field and press Enter. The Values of Database screen for
the specified database is displayed. An asterisk (*) can be used as a mask character
in the DATABASE field of this screen.
NOTE
CONTROL-O can have multiple variable databases; CONTROL-M can only use the IOAVAR
database.
■ To enter the IOA Variables Database facility as a regular user: Leave the MODE
field blank. In this case, you will be able to view the variables in the databases, but
you will not be able to perform administration functions.
NOTE
The additional functions available in administration mode are described in the INCONTROL
for z/OS Administrator Guide.
NOTE
For a CONTROL-O variable database to be loaded into memory, the database must be listed
in the DAGLBLST DD statement of the CMEM monitor. For more information, see the
description of the IOA Variable Database facility in the INCONTROL for z/OS Administrator
Guide.
A short description is displayed for each database. You should create a description
when creating a new database.
NOTE
Only option V is intended for all users. The remaining options
(I - Insert, U - Update, and S - Select) are intended for INCONTROL administrators only, and
are described in the INCONTROL for z/OS Administrator Guide.
Each line in the screen represents a variable in the database. Variables and their
values are loaded into memory automatically at CONTROL-M startup.
The Values of Database screen displays the following information about the variables
in the IOAVAR database:
%%\M\app_name\group_name\job_name\var_name
where:
Use the scrolling PFKeys to scroll the variable database LEFT (PF10/PF22) and RIGHT
(PF11/PF23).
■ Option I (Insert)
This option is useful for defining a variable that is not similar to the one it follows.
When option I is typed next to a variable, a row is immediately inserted below the
selected row, and a row value is assigned, as explained in “Row Numbering” on
page 270. However, the VARNAME and VALUE fields are blank.
■ Option R (Repeat)
This option is useful for defining a variable that is similar to the one it follows.
When option R is typed next to a variable, a row is immediately inserted below the
selected row, and a row value is assigned, as explained in “Row Numbering” on
page 270. The new row contains the same VARNAME and VALUE as the selected
row.
■ If Option I was entered, a VARNAME and VALUE must be added to the new row.
■ If Option R was entered, the repeated VARNAME must be changed because each
variable in the database must be unique. The VALUE may also be changed if
desired.
The VARNAME and VALUE in the new row can only be edited in the Variable Zoom
screen, described below.
Row Numbering
Row numbers in a variable database are initially incremented by 1000.
■ Rows inserted between row numbers with a hundreds value are assigned numbers
incremented by ten.
■ Rows inserted between row numbers with a tens value are assigned numbers
incremented by one.
For example, a row inserted immediately after row 2000 is assigned a number of 2100.
A maximum of 999 rows may be inserted between two original rows in a variable
database.
Row numbers can be refreshed (that is, assigned new numbers incremented by 1000)
in the following way:
1. Unload the IOA Variable Database Variables file using job IOAVARUL in the IOA
JCL library. This job invokes the IOADUL utility.
2. Reload the file using job IOAVARLD in the IOA JCL library. This job runs the
IOADLD utility with the RENUM parameter specified.
For more information about the IOADUL and IOADLD utilities, see the INCONTROL
for z/OS Utilities Guide.
The full name and path of each variable, and the value of each variable, can be up to
140 characters in length. However, only thirty characters each of the variable and its
value can be displayed in the Values of Database screen.
The Variable Zoom screen enables display of the full variable name and path, and its
value. To display the Variable Zoom screen for a row (variable), type option Z
(Zoom) in the first column of the desired row in the Values of Database screen.
While in the Variable Zoom screen, the display type can be changed using the
DISPLAY command. Format of the command is:
DISPLAY x
Example
DI B
■ To exit the Variable Zoom screen without implementing the changes, press RESET
(PF04/PF16), or type CANCEL in the COMMAND line and press Enter.
Changes made to the Variable database through the online Variable Database facility
are not available to CONTROL-M or CONTROL-O until the modified database is
reloaded into memory by the appropriate operator command
(F CTMCMEM,LOADGLOBAL=IOAVAR), as described in the INCONTROL for z/OS
Administrator Guide.
However, changes made to the Variable database through DO SET and SET VAR
statements in CONTROL-M, and SET statements in the JCL, are kept in memory. The
Variable database file is automatically updated during the next internal
CONTROL-M interval cycle (or when the CONTROL-O or CMEM monitor is
stopped.)
NOTE
Prior to version 6.0.00 a single file, the IOA Conditions/Resources File, contained all IOA
conditions and all Control and Quantitative resources. As of version 6.0.00, the IOA
Conditions/Resources File has been replaced by two files:
To enter the IOA Conditions/Resources screen, select Option 4 on the IOA Primary
Option menu.
To return to the IOA Primary Option menu, press the END key (PF03/PF15).
Example:
UPDATE-ENDED-OK
OK-RUN
OK
COND Determines whether prerequisite conditions are displayed. Valid
values are:
■ Y (Yes) – Display prerequisite conditions. Default.
■ N (No) – Do not display prerequisite conditions.
ADD type
■ COND – Add a prerequisite condition. Special care must be taken when adding
prerequisite conditions, because added conditions can trigger job submission.
When the ADD command is entered, an appropriate window is opened. The window
shown in Figure 81 opens when ADD COND is entered.
Fill in the window fields as described in Table 105 according to the specified ADD
command:
After filling in the window, press Enter to add the condition or resource.
To close the window without adding the condition or resource, press the RESET key
(PF04/PF16).
To delete conditions and/or resources, type D (Delete) in the OPT field to the left of
the conditions and resources being deleted and press Enter.
■ By default, conditions and resources are deleted without confirmation from the
user.
If a confirmation window is displayed, fill in the window as shown in Table 107 and
press Enter:
The COUNT parameter consists of two values: sign and quantity. Fill in the COUNT
parameter as shown in Table 108 and press Enter:
■ ' ' (Blank) – Set the maximum available quantity to the selected
quantity.
quantity Quantity to be used to adjust the maximum quantity of the resource
(four digits) according to the specified sign. Leading zeros are
required.
Viewing a List of the Jobs Waiting for a Resource – The WHY Option
To view a list of the jobs that are either waiting for this (quantitative or control)
resource or holding it, type ? in the OPT field to the left of the resource and press
Enter. The window shown in Figure 84 is displayed:
The information displayed for each job in the list is shown in Table 109:
The list of manual conditions is created by utility IOALDNRS. The utility is described
in the INCONTROL for z/OS Utilities Guide. This utility is intended for use at sites
where CONTROL-M and/or CONTROL-D are installed.
The utility scans the jobs in the CONTROL-M Active Jobs file, and/or missions in the
CONTROL-D Active Missions file, for all conditions requested in IN statements that
The utility automatically places the conditions conforming to the above criteria into
the IOA Manual Conditions file. This file is used as a checklist for manual operations
that operations personnel are expected to perform.
To enter the IOA Manual Conditions screen, select Option 7 on the IOA Primary
Option menu.
Example:
UPDATE-ENDED-OK
OK-RUN
OK
PENDING Determines whether conditions not yet added are displayed. Valid
values are:
■ Y (Yes) – Display pending conditions.
■ N (No) – Do not display pending conditions.
To add a condition with a name from 20 through 39 characters in length, type NEW
LCOND in the COMMAND field and press Enter. The window shown in Figure 86 is
opened.
In the NAME field of the window, type the name of the condition to be added. If the
condition has a date other than the current working date, enter the date in the MMDD
field of the window, in the format DDMM or MMDD, depending on the site
standard.
NOTE
Adding a new condition to the IOA Manual Conditions file does not affect the IOA
Conditions file.
■ If, however, the user profile member has been customized accordingly, a
confirmation window is displayed with an arrow pointing to an erase request
(beginning with the first request).
If a confirmation window is displayed, fill in the window as follows and press Enter:
Table 113 Fields of the IOA Manual Conditions Screen ERASE Confirmation Window
Field Description
CONFIRM Indicates whether to process the erase (delete) request. Valid values
are:
■ Y (Yes) – Process the request.
■ N (No) – Cancel the request.
ASK FOR EACH This line is displayed only if more than one erase is requested. It
ONE determines whether individual confirmation is required for each
erase request. Valid values are:
■ SHOW name EDIT – Opens the IOA Log Show Screen window
for the specified filter, and allows editing of that filter.
Note: Reserved filter name DEFAULT can be used to activate or edit
the default filter for the status screen. For example, SHOW
DEFAULT EDIT opens the IOA Log Show Screen window for the
default filter.
DISPLAY x
where x is a 1-character code that identifies the desired display type. DISPLAY can be
abbreviated DI.
NOTE
For a list of display types, enter DISPLAY ? to show the Display Options window. To select a
display type in the window, type S in the Option field next to the ID. To exit the window
without selecting a display type, press the END key (PF03/PF15).
Example
DI B
A filter consists of a set of record selection criteria (selection fields and their values).
Only records that conform to the selection criteria specified in the filter are displayed
on the screen.
The INCONTROL administrator can predefine filters and place them in the General
profile.
Each user can activate an existing filter in the IOA Log screen by entering the SHOW
command in the COMMAND line of the IOA Log screen.
Each user can define multiple filters for the screen, through the IOA Log Show Screen
window, which is described in “Fields of the IOA Log Show Screen Window” on
page 295. User-defined filters belong to, are assigned names by, and can only be
activated by, the user who defined them. They are stored in the user profile.
You can see the list of all available filters by opening the Display Filters window.
A predefined default filter (DEFAULT) is defined for the IOA Log screen.
Site-defined defaults determine whether the last filter used or the DEFAULT filter is
activated upon reentry to the IOA Log screen.
The SHOW command can be used to activate an existing filter when you know the
name of the filter.
■ To activate an existing filter in the IOA Log screen, enter the SHOW command in
the COMMAND field, as follows:
SHOW name
■ To activate the DEFAULT filter, use DEFAULT as the name of the filter.
To enter the Display Filters window, type SHOW ? in the COMMAND field of the IOA
Log screen and press Enter.
The Display Filters window contains the fields shown in Table 117:
To request one of the following options, type the option in the OPT field to the left of
the filter name and press Enter.
where filtername is the name of the filter to be displayed in the IOA Log Show
Screen window.
■ To edit the currently active filter, it is not necessary to enter the name of the filter or
the EDIT keyword. Enter the SHOW command in the COMMAND field, or press
PF02/PF14. The following IOA Log Show Screen window is displayed:
■ To create a new filter, open any existing filter and enter a new name and
description in the FILTER and DESC fields (described in “Fields of the IOA Log
Show Screen Window,” below).
The IOA Log Show Screen window contains the following fields:
NOTE
The INCONTROL administrator can limit which installed INCONTROL products and
options each user may access. However, because all INCONTROL products and the messages
they issue are integrated, it may be important for users to see the messages of products and
options to which they have no access. Therefore, the types of messages for all INCONTROL
products are listed in the IOA Log Show Screen window, and by default, the messages of all
installed products are listed in the IOA Log screen.
Fields that define the selection criteria to be applied to the screen are described below.
Fill in the selection criteria as necessary.
NOTE
The selection criteria marked with the P symbol act on a prefix basis. For example, typing D4
in the JOBNAME field causes the retrieval of all jobs whose names start with D4.
Table 120 IOA Log Show Screen Window Selection Criteria (part 1 of 2)
Criteria Description
CM message type To limit the type of log messages displayed, enter Y (Yes) or N (No)
under the desired message type.
Table 120 IOA Log Show Screen Window Selection Criteria (part 2 of 2)
Criteria Description
USERIDP Show only messages of the selected user IDs. A maximum of
five user IDs can be specified.
Note: Selection criteria MEM/MIS, JOBNAME, and GROUP, described below, only affect
the display of messages related to a job. Messages not related to a job are not affected by
these selection criteria and are displayed unless suppressed by other selection criteria.
IOA Log Show Screen window (at Sites Where Multiple IOA
Products Are Active)
The IOA Log Show Screen window displays different selection criteria depending on
which INCONTROL products are operational at your site.
The IOA Log Show Screen window at sites where all INCONTROL products are
active is illustrated in Figure 91.
Figure 91 IOA Log Show Screen Window at Sites where Multiple INCONTROL
Products are Active
FILTER: DEFA +-------------------- IOA LOG SHOW SCREEN -------------------(5)
COMMAND ===> | FILTER SAVE (Y/N) |
SHOW LIMIT O | CM : D JOB M JOB SHOUT USER GENERAL D INT M INT STAT |
DATE TIME | Y Y Y Y Y N N N |
060800 21354 | CO+CMEM: GENERAL SHOUT JOBS GENERAL W PIPE W JOB W |
| Y Y Y |
060601 22040 | CD+CV : SBSYS REP MIS SHOUT USER GENERAL DAILY MONIT STAT |
060601 22040 | Y Y Y Y Y Y N N N |
060601 22040 | CB : RUNTIME SHOUT DAILY GENERAL STATISTICS |
| Y Y Y Y Y |
060601 22040 | CT : GENERAL SHOUT REAL-TIME UTILITIES |
060601 22040 | Y Y Y Y |
060601 22040 | CODE |
| URGENCY: REGULAR Y URGENT Y VERY-URGENT Y |
060601 23034 | TASK TYPE CM: JOB CYC EMR STC CST EST ECJ ECS WRN GRP |
060601 23040 | Y Y Y Y Y Y Y Y Y Y |
060601 23040 | CD: REP PRT BKP/MIG RST EMR NOEMR CYC NOCYC |
060601 23040 | Y Y Y Y Y Y Y Y |
| USERID N54A |
060601 23040 | MEM/MIS MIGDASD |
060601 23040 | JOBNAME |
060601 23040 | CATEGORY |
| GROUP |
CMDS: SHOW, +--------------------------------------------------------------+
The CONTROL-M selection criteria are described in Table 120 on page 296. For
descriptions of the selection options for other INCONTROL products, see the user
guides of the respective products.
NOTE
The INCONTROL administrator can limit which installed INCONTROL products and
options each user can access. However, because all INCONTROL products and the messages
they issue are integrated, it may be important for users to see the messages of products and
options to which they have no access. Therefore, the types of messages for all INCONTROL
products are listed in the IOA Log Show Screen window, and by default, the messages of all
installed products are listed in the IOA Log screen.
■ To activate and save the filter, type Y (Yes) in the SAVE field. Changes to the filter
are permanently saved.
■ To activate the filter without saving it, type N (No) in the SAVE field. Changes are
kept in memory only, but are not saved.
After entering a value in the SAVE field, press one of the following keys:
To cancel changes made in the IOA Log Show Screen window, press RESET
(PF10/PF22). The changes are canceled regardless of the value entered in the SAVE
field, the window is closed, and the filter that was previously in effect is restored.
By default, pressing END (PF03/PF15) in the window works like pressing Enter.
However, the default can be modified so that pressing END works like pressing
RESET.
Calendars simplify the scheduling of INCONTROL product jobs, missions, rules, and
so on. When a particular schedule is used in many job scheduling, mission, and/or
rule definitions, a calendar can be defined for that schedule, and the name of that
calendar can be specified in all the job, mission, or rule definitions that use that
particular schedule.
For example, calendars may be defined to handle the normal scheduling needs for
workdays, holidays, weekends, beginning of month, end of month, and so on.
Exception calendars may also be created.
■ A member contains the calendars required for a specific type of scheduling need.
For example, the calendar member WORKDAYS may contain the calendar
definitions for normal workday scheduling.
■ Each calendar definition in that member defines the schedule for a given year. For
example, the calendar member WORKDAYS may contain calendar definitions
2001, 2002, and 2003. Each of those definitions contains the normal workday
schedule for the corresponding year.
The IOA Calendar facility also enables the definition of varied work periods
throughout the year, in special calendars called periodic calendars.
A calendar definition needs to be created only once. Once defined, the definition is
saved and used as necessary for scheduling. Calendar definitions can be modified or
deleted as required.
Any number of calendar members can be defined. Calendar members are stored in
calendar libraries (partitioned data sets). Generally one calendar library is defined at
time of installation, and referenced by the DACAL DD statement.
NOTE
The IOA Calendar facility does not support members that have been compressed using the
ISPF PACK option.
Ensure that each IOA calendar that you define contains entries for the years
preceding and following the period you want to define. The entries for the preceding
and following years can be dummy entries, provided that these years contain at least
one day set to Y. If an IOA calendar does not contain entries for the preceding and
following years, problems may arise when CONTROL-M resolves scheduling
criteria, in which event the CTM707E message is displayed.
To enter the Calendar facility, select Option 8 in the IOA Primary Option menu. The
Calendar facility entry panel is displayed.
Depending on the values entered in the entry panel, you can bypass the Calendar List
screen and/or the Year List screen.
Entry Panel
The entry panel is displayed upon entering the IOA Calendar facility (Option 8 in the
IOA Primary Option menu).
If you make an entry in this field, you can restrict the list of calendars
that are displayed by entering in the CALENDAR field part of a
Calendar name together with a mask character or characters (? and
*).
CALENDAR Name of the desired calendar member. Optional.
If you make an entry in this field without filling in the YEAR field,
the list of years in the selected calendar member is displayed in the
Year List screen.
YEAR Year of the desired calendar definition. Optional.
By default, only calendar names are listed in the screen. However, if the default has
been modified at time of installation, statistical information is displayed for each
calendar name, as shown in Figure 93.
NOTE
If the S (Select) option was entered in the Calendar List screen for a calendar that is currently
in use (selected) by another user, either the Year List screen is not displayed and the Calendar
List screen remains displayed (the default), or the Year list screen is displayed in Browse
mode (if a user profile definition overrides the default). In either case, an appropriate message
is displayed.
If a calendar description was defined in the Calendar Definition screen, the definition
is displayed to the right of the year.
■ In DESC format, the description of the year, taken from the DESC field of the
calendar definition, is displayed. Default.
■ In STAT format, the ISPF statistical information for the calendar definition is
displayed.
By default, the Year list is displayed in DESC format. To change formats, use the
DESC or STAT commands, described in Table 125.
NOTE
If the Year List screen is displayed in Browse mode, options D (Delete), I (Insert), and W
(Insert By Week Days) are not available.
All calendar definitions identified in the same Year List usually have the same fixed
scheduling pattern. Often, this scheduling pattern is based either on dates within a
month or on days of the week within the month. For example:
■ Calendar QUARTERLY might always indicate scheduling for the last day of
March, June, September and December (that is, a scheduling pattern based on
dates).
This scheduling pattern also applies to new calendar definitions resulting from the
insertion of a new year in the Year List screen.
When a year is inserted in the Year List, the IOA Calendar facility automatically
generates a predefined calendar definition for the new year, based on the scheduling
pattern of the calendar by which the insert request was specified. This frees the user
from having to manually define the new calendar. This automatically generated
calendar definition can be displayed and modified.
NOTE
The Year list must be kept in ascending order without missing years (for example, 2001, 2002,
2003, 2004, 2005). Each new year must be added at the end of the list.
■ To define the calendar with the same scheduling dates (although corresponding
days of the week may vary, for example, calendar QUARTERLY described above),
type option I (INSERT).
■ To define the calendar so that scheduling takes place on the same weekdays as in
the previous calendar (although the corresponding dates may vary, for example,
calendar WEEKEND described above), type option W (INSERT BY WEEK DAYS).
The window contains the fields shown in Table 127 (some fields contain default
values that can be modified):
Table 127 Fields of the Calendar List Screen Copy Window (part 1 of 2)
Field Description
LIBRARY Library containing the calendar into which the years must be copied.
Must be an existing library. Default: The current library.
Table 127 Fields of the Calendar List Screen Copy Window (part 2 of 2)
Field Description
CALENDAR Name of the calendar into which the year must be copied.
Note: A year can only be copied to another calendar. It cannot be
copied to its own calendar (even if the year is renamed).
If the selected calendar does not exist in the Calendar List, the
calendar is created when the request is performed.
YEAR Name of the year to be copied. If multiple years are selected, the
window is initially displayed with the first selected year. As each
request is performed or canceled, the next requested year name
appears.
-----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 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 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
02 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 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 + 1
03 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 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 +
04 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 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 + 1
05 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 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 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
-----S-------------S-------------S-------------S-------------S-------------S---
TYPE Y IN ALL THE EXECUTION DAYS 14.37.10
■ N (No) or ' ' (Blank) – Do not select the job for execution on that
date.
Periodic Calendars
Some jobs must be scheduled periodically, according to schedules that are not easily
expressed in terms of fixed days and dates within months. In these cases, monthly, or
even yearly, scheduling definition is awkward. For example:
— In some months, the job may be scheduled on the first, third, and even fifth
Wednesday in the month. In other months, it may be scheduled on the second
and fourth Wednesday in the month.
— In some years, the job may be scheduled beginning on the first Wednesday of
the year. In other years, it may be scheduled beginning on the second
Wednesday of the year.
■ A job must be scheduled every 25 days, regardless of date. Such a job is scheduled
on different dates each month and each year.
The IOA Calendar facility provides special calendars, called periodic calendars, to
allow specification of these scheduling requirements. These periodic calendars are
very flexible.
■ In a periodic calendar, days are not marked using the letters Y (Yes) or N (No).
Instead, a period identifier is used to mark working days in a period. A period
identifier can be any letter from A to Z (except Y and N), any number from 0 to 9,
or any other printable sign. If you need more characters, use characters falling
within the hexadecimal range 4A through F9. All working days within the same
period must be marked using the same period identifier character so that different
identifier characters indicate different periods. Days that are not marked are
nonworking days because they do not belong to any period in this calendar.
■ A periodic calendar can consist of smaller units that do not correspond to regular
months, in that they can be longer or shorter than regular months.
■ A periodic calendar can span a period, called a “logical year”, which can be longer
or shorter than one regular calendar year.
When a periodic calendar spans parts of two regular calendar years, special
considerations are likely to arise. For more information, see “Special Year-End
Handling of Periodic Calendars” on page 312.
■ A period can span any number of days, but no more than a preset number of days
can elapse after the appearance of one identifier in a period until the appearance of
the next matching identifier in the same period. After that period expires, the next
matching identifier starts a new period.
By default, this period is preset to 33 days. Once the length of the gap between
matching identifiers exceeds 33 days, the period automatically closes.
NOTE
The length of the default period can be changed from 33 days by the INCONTROL
administrator, using optional Wish WM2888.
For more information on the use of periodic calendars, see “DAYS: Basic Scheduling
Parameter” on page 414 and “WDAYS: Basic Scheduling Parameter” on page 667.
Examples
■ Period A starts on December 13 and ends on December 23. During this period, the
defined working days are December 13, December 18, December 20, and December
23.
■ Period B spans more than one calendar year. It starts on December 21 and ends on
January 24. During this period, the defined working days are December 21,
January 4, and January 24.
This example includes a period B that begins on March 9. The last marked working
day of the period is March 21, which is followed by a 33-day gap. Assuming that
Wish WM2888 has not been used to alter the default period of 33 days, period B
automatically ends on April 23, and April 24 marks the beginning of a new period B.
If no more B identifiers are added, this new B period ends on May 27.
■ a periodic calendar contains one or more periods that start in one year and
continue into the next year
■ the first occurrence of the matching identifier in one logical year falls within the
default gap that began at the last occurrence of the matching identifier in a prior
logical year, possibly as a result of changes made using optional Wish WM2888
In such cases, the period in the prior logical year overlaps the period in the later
logical year, causing a scheduled job not to run in the later logical year as expected.
To avoid this problem, remove logical years from periodic calendars as soon as they
are no longer needed.
Example
■ Logical year FISCAL01 extends from April 1, 2001 through March 31, 2002.
■ Logical year FISCAL01 contains a period identified as Period A that has been
defined to begin on December 28, 2001 and to continue through January 15, 2002.
■ Logical year FISCAL02 extends from April 1, 2002 through March 31, 2003.
■ Job X is scheduled for the seventh day of Period A in each logical year, through the
job definition DAYS=D7PA.
In a case where the default gap is 33 days, Job X runs in January 2002, and again in
April 2002, as expected.
In a case where the default gap is changed from 33 days to a longer period, such as
120 days, the first day of Period A in logical year FISCAL02 occurs less than 120 days
after the last appearance of Period A in logical year FISCAL01. As a result, what
appears to be the seventh day in Period A in April 2002 is not recognized as such,
because the “old” Period A overlaps the “new” Period A. Consequently, Job X does
not run again when the user may have expected it to run.
Deleting Calendars
To delete calendars, type option D next to the calendar names in the Calendar List
screen and press Enter.
The confirmation window shown in Figure 100 is displayed, in sequence, for each
calendar selected for deletion.
NOTE
If PDSMAN is operational at your site, $$$SPACE members are not deleted.
For each calendar deleted, a message is written to the IOA Log file.
NOTE
If the Calendar List screen was bypassed as you entered the IOA Calendar facility (that is, if
you entered a CALENDAR value in the entry panel), the Calendar List screen is not displayed
upon exiting the Year List screen; instead, the entry panel is displayed.
The LIBRARY and TABLE (member) fields indicate the library and member in which
the calendar definitions must be saved. The specified values can be modified (for
example, to save the calendar definitions in a different member).
■ To save all changes currently in memory and exit the Year List screen, type Y (Yes)
after the word SAVE or CREATE:
— Type Y after the word SAVE if a member with the same calendar name already
exists in the specified library.
— Type Y after the word CREATE if a member with the same calendar name does
not exist in the specified library.
NOTE
If you create a new calendar member, the member name does not appear in the Calendar
List screen upon exiting the Year List screen; it first appears when you reenter the Calendar
List screen from the entry panel.
■ To cancel changes currently in memory and exit the Year List screen, type N (No)
after the word SAVE or CREATE.
■ To close the Exit Option window and remain in the Year List screen (with the
changes remaining in memory), press RESET (PF04/PF16).
NOTE
The INCONTROL administrator can remove user authority to access option 6 on the IOA
Primary Option menu. In this case, the IOA Online Utilities menu is not displayed.
Figure 102 IOA Online Utilities Menu when all INCONTROL Products are Installed
------------------------------ ON-LINE UTILITIES ------------------------------
USERID - N06
TIME - 13:40
TERMINAL - 3278
OPTION ===>
NOTE
If DOCU/TEXT has also been installed at your site, an additional utility, option U1, is
displayed in the Online Utilities menu.
To access an available utility, type the desired option number in the OPTION field
and press Enter.
Options I1, M1, M2, M3, M4, M5, and M6, which are also available when
CONTROL-M is installed as a standalone product are described on the following
pages. For the descriptions of other utilities on the menu, see the user guides of the
relevant products.
Quick transfer to a utility can be performed by entering =opt from another utility
screen, or =6.opt from a non-utility screen (for example, the IOA Log screen), where
opt is the 2-character option identified on the IOA Online Utilities menu.
The Prerequisite Condition Utility screen, shown in Figure 103, can be displayed in
the following ways:
To activate the utility, fill in the fields shown in Table 130 and press Enter:
Although most job orders are requested by User Daily jobs that are automatically
submitted by CONTROL-M, it is sometimes necessary to issue a job order manually,
as in the following situations:
To activate the utility, fill in the fields shown in Table 131 and press Enter:
If you type an asterisk (*) in this field, all jobs in the specified table
are ordered.
SCHEDULED RUN Original scheduling date of the job or jobs. The default is the current
DATE working date.
WAIT FOR ODATE For a description of the WAIT FOR ODATE parameter, refer to
page 151.
■ Y (YES) – Schedule the job (or jobs) even if the requested date is
not a scheduling date for the job according to its basic scheduling
parameters.
■ N (NO) – Schedule the job (or jobs) only if the requested date
satisfies the basic scheduling criteria of the job.
Note: Jobs in group scheduling tables must be forced. Merely
ordering them is not sufficient.
ENTER YES TO Confirmation field to help prevent the job (or jobs) from being
CONTINUE unintentionally run.
The utility can be initiated either online (through this screen) or by batch procedure
CTMAESIM. For more information, see “Testing AutoEdit Syntax” on page 790.
To activate the utility online, display the utility screen in either of the following ways:
NOTE
By default, the utility allocates several files with the TSO user ID as the file name prefix. To
change this, activate CLIST from the TSO Command Processor as follows:
The CTMCAES utility can operate in either JCL library mode or scheduling library
mode:
■ In JCL Library mode, the utility checks the AutoEdit statements in the job’s JCL.
■ In scheduling library mode, the utility not only checks the AutoEdit statements in
the job’s JCL, it also checks the impact that SET VAR statements in the job
scheduling definition have on the job’s JCL.
NOTE
Started tasks (STCs) are not supported in scheduling library mode.
This facility simulates the actions of the CONTROL-M submission mechanism and
produces a printed report of the process.
NOTE
During AutoEdit simulation, some variables may not contain valid or expected values. For
example, %%$TAG is always blank and %%ORDERID is ZZZZZ.
Depending on the mode in which the utility operates, either JCL library mode or
scheduling library mode parameters (but not both) must be specified. In addition,
General simulation parameters must also be specified.
NOTE
When specifying scheduling library mode parameters, values for owner, application name,
and the JCL library and member of the job are not specified because the utility takes these
values directly from the specified job scheduling definition.
The name of the JCL member is obtained from the OVERLIB parameter (if specified) instead
of the MEMLIB member.
Figure 106 CONTROL-M Simulation and Forecasting Facility and Tape Pull List
------- CONTROL-M SIMULATION AND FORECASTING FACILITY AND TAPE PULL LIST -----
COMMAND ===>
The Simulation facility simulates the actions of the CONTROL-M monitor under the
conditions specified in the simulation parameters.
Online simulation is performed in the CPU without updating the simulation input
files, or without performing any other I/O procedure.
NOTE
At sites supporting the JOB/SCAN, PRO/JCL, or DOCU/TEXT Interface, the lower portion of
the Simulation screen is modified to contain the INVOKE JOBSCAN parameters.
The Tape Pull List procedure creates a list of all tapes to be mounted in a specified
period, taking into account the expected order of job execution and the order of
creation of tape data sets. The list can be sorted and edited in various ways.
■ It checks the syntax of all AutoEdit statements in all jobs that are planned for the
given period.
■ It produces a list of data sets that are not available. These are usually input data
sets due to arrive, but they may indicate JCL errors. For more information, see the
discussion of CTMRNSC, the night schedule report, in the INCONTROL for z/OS
Utilities Guide.
NOTE
For the Tape Pull List procedure to execute properly, authority must be granted for the
submission of jobs to the internal reader (INTRDR).
For more information about Simulation and Tape Pull List procedures, see Chapter 7,
“Simulation and Forecasting Facility.”
To activate this online utility, fill in the fields and sub-fields shown in Table 135, and
press Enter.
Table 135 Fields of the CONTROL-M Simulation and Forecasting and Tape Pull List
Screen (part 1 of 4)
Field Description
RUN SIMULATION Fields:
RUN SIMULATION Whether to run the simulation. Valid values are:
Table 135 Fields of the CONTROL-M Simulation and Forecasting and Tape Pull List
Screen (part 2 of 4)
Field Description
ON Fields:
ON Today’s-current AJF Whether to use “Today’s” data (that is, the data currently
in the AJF) as input for the simulation. Valid values are:
■ Y (Yes) – Load the jobs into the AJF. A User Daily step
is entered into the job. This step schedules all the jobs
based on their basic scheduling criteria. It is the user’s
responsibility to ensure that the Table list for this job is
up-to-date.
This value must be specified when not using
“Today’s” data and when creating a new AJF, that is, if
N is entered in the Today’s-current AJF field and Y is
entered in the Create new AJF field.
■ N (No) – Do not load the jobs into the AJF. This value
is generally specified when using “today’s” data or
when not creating a new AJF (that is, if Y is entered in
the Today’s-current AJF field or N is entered in the
Create new AJF field.) Default.
Table 135 Fields of the CONTROL-M Simulation and Forecasting and Tape Pull List
Screen (part 3 of 4)
Field Description
Keep output AJF,RES Specifies whether to save the output AJF, the IOA
Conditions file, and the CONTROL-M Resources file (that
is, the files as they appear at the end of the simulation.) The
output files must be kept if you plan to produce reports,
such as a Jobs Left report, based on these files. Valid values
are:
Default: SIMPARM
REPORTS Fields:
Types of reports to be produced. Valid values for each report type are:
Table 135 Fields of the CONTROL-M Simulation and Forecasting and Tape Pull List
Screen (part 4 of 4)
Field Description
Parameters member Name of the member in the CTM PARM library that
contains the Tape Pull parameters. This member may
contain parameters such as REPBYVOL, REPBYTIME, or
REPBYJOB. Default: TAPULPRM
INVOKE JOBSCAN Fields:
INVOKE JOBSCAN These parameters apply only if the JOB/SCAN, PRO/JCL,
or DOCU/TEXT Interface is installed at your site. Valid
values for the accompanying fields are Y (Yes) or N (No).
Only one Y value can be entered.
and
Type YES to enable the job run. The file of the simulation
job as tailored to your specifications is displayed in ISPF
EDIT. You can submit it, save it for future use, and so on.
Default: YES
These facilities eliminate the need to remember which AutoEdit parameters require
assignment each day, the location of AutoEdit members, and the manual conditions
that need to be added (Screen 7).
To display the Parameter Prompting entry panel (below), select option M4 on the
Online Utilities menu.
Using these facilities requires a basic understanding of JCL, the AutoEdit facility, and
the concept of prerequisite conditions.
An brief introduction to each of these two types of facilities is presented before the
description of the screens in that facility.
NOTE
For a much more detailed explanation of how the Parameter Prompting facilities work, how
they differ from each other, and how to choose the facility that best suits your operational
needs, see the discussion of that topic in “Parameter Prompting Facilities” on page 821.
The Parameter Prompting facility – Type 1 is an ISPF table based facility that provides
automatic prompting for AutoEdit parameter values and setting of prerequisite
conditions.
This facility is the recommended method for updating AutoEdit parameter members
when the parameter value requires manual specification or modification. Frequently,
such parameters are associated with prerequisite conditions that must also be
manually added to the IOA Conditions file (from the Manual Conditions file).
Example
Tape ABC, which is required by a particular job, arrives from an external location.
The volume serial number must specified in the AutoEdit parameter
%%ABC_TAPENO, and the condition TAPE_ABC_ARRIVED must be added to
the IOA Conditions file, before the job can run.
Without this facility, the user (generally operations personnel) must access the
appropriate AutoEdit member and update the parameter value, and must enter the
Manual Conditions screen to manually add the required condition to the IOA
Conditions file.
With this facility, the user is prompted for the required value. The facility
automatically updates the AutoEdit member and adds the related condition to the
IOA Conditions file.
1. Using the first option of the facility (DEFINE PARAMETERS AND CREATE A
NEW MASTER TABLE), groups of AutoEdit parameters that require value
assignment are defined once. These parameters are grouped into a Master
Prompting table, the Master table. Default parameter values can be assigned. In
addition, prerequisite conditions to be associated with parameters are designated.
The facility automatically adds the appropriate conditions to the IOA Conditions
file and updates the daily AutoEdit member with the specified values.
OPTIONS:
PARAMETER DESCRIPTION WILL BE DISPLAYED ===> NO (YES/NO)
NOTE
You can enter this screen directly by activating CLIST CTMCFMNU.
This option defines groups of parameters. The definition and association with any
prerequisite condition is performed only once per parameter.
This option is accessed daily (or multiple times in one day) to assign values to
parameters and set prerequisite conditions.
The IOA Core Prefix used at your site appears as a default. Files with this prefix are
accessed by the Parameter Prompting facility to add prerequisite conditions. Usually,
there is no need to change the value of this field.
The library in which the CONTROL-M prompting tables will be placed appears as a
default, and can be changed. The ability to decentralize the administration of the
parameter prompting facility by using different CONTROL-M prompting libraries is
discussed in “Introduction to Parameter Prompting Facility - Type 1” on page 332.
After selecting option 1 of the Parameter Prompting facility (Type 1) Primary menu,
the screen shown in Figure 109 is displayed:
Figure 109 Define Parameters and Condition - New Master Table Screen
---- CONTROL-M - P.P.F. - DEFINE PARAMETERS AND CONDITIONS ---------------(P.1)
COMMAND ===>
Fill in a Table Name Prefix (a maximum of three characters) and press Enter.
If the table does not exist (because you are attempting to define a new table), the
screen shown in Figure 110 is displayed:
Figure 110 Define Parameters/ and Conditions - Master Table Definition Screen
---- CONTROL-M - P.P.F. - MASTER TABLE DEFINITION ----------------------(P.1.2)
COMMAND ===>
CTMB14E MASTER TABLE TAPTMSTR WAS NOT FOUND. YOU MAY CREATE IT, OR EXIT
You can create a new table or exit the screen. To create a new table, enter a table
description and press Enter.
After creation of a new table, or if the table exists, the following screen is displayed. If
the table exists, the previously defined parameters and associated conditions are
displayed for modification.
This screen is used to define, display and modify parameters and optional
prerequisite conditions that are used for prompting on a daily basis.
To display the first occurrence of a parameter at the top of a screen, use the line
command L xxxx, where xxxx is a specific parameter or parameter prefix.
The following information can be defined, displayed, or modified for each parameter:
To request one of the following options, type the option in the field to the left of the
word PARM and press Enter.
Changes made to a parameter are updated in the plan when you press Enter, even if
no option is specified.
To exit the Define Parameters and Conditions screen, press END (PF03/PF15).
If additions or modifications have been made, the Save window shown in Figure 112
is displayed:
Figure 113 Update Parameters and Set conditions - Table Selection Screen
---- CONTROL-M - P.P.F. - TABLE SELECTION ------------------------- Row 1 of 3
COMMAND ===> SCROLL ===> PAGE
TABLE PREFIX ===>
-------------------------------------------------------------------------------
_ TABLE NAME ===> BAK DATE ===> 06 / 06
LIBRARY : CTM.PROD.PROMPT
DESCRIPTION: BACKUP CRITERIA
_ TABLE NAME ===> REP DATE ===> 06 / 06
LIBRARY : CTM.PROD.PROMPT
DESCRIPTION: REPORTING CRITERIA
_ TABLE NAME ===> TAP DATE ===> 06 / 06
LIBRARY : CTM.PROD.PROMPT
DESCRIPTION: EXTERNAL TAPE DATA
******************************** Bottom of Data *******************************
This screen displays a list of Daily Prompting tables available for update. A Daily
table is a copy of a Master Table specific to a particular business day. It is accessed in
order to assign values to (previously defined) parameters and to set conditions. The
Daily table can be accessed multiple times on the same day.
When you enter this screen, the current date is displayed for each Daily Table. You
can overwrite the date to select a different date.
Table deletion can be performed from this screen by typing option D (Delete) in the
selection field to the left of TABLE NAME and pressing Enter. A Delete Confirmation
window is displayed.
The Delete Confirmation window also enables you to choose the type of deletion
desired.
Type Y (Yes) to confirm the deletion. When deletion is requested, then by default the
table is deleted from the Table list, and both the Master Prompting table and the
current Daily table are deleted from the Prompting library.
To delete the current daily table without deleting the table from the Table list and
without deleting the Master Prompting table from the Prompting library, type Y in
the DELETE DAILY TABLE ONLY field. In this case, only the current daily table and
the corresponding daily AutoEdit member are deleted. The setting of the DELETE
DAILY TABLE ONLY field is preserved in a profile variable for ease of subsequent use.
This is useful if the Master Prompting table has been updated. To reflect those
changes in the Daily table and the AutoEdit member, the current Daily table must be
deleted, and then be reselected again.
To select a table for any action other than deletion, enter any character except D in the
selection field to the left of TABLE NAME and press Enter.
The display of tables can be limited to those tables beginning with a prefix of 1
through 3 characters by filling in the TABLE PREFIX field. The TABLE PREFIX is
retained as an ISPF profile variable from one invocation of the Table Selection screen
to the next.
To display the first occurrence of a table at the top of the screen, use the line
command L xxxx, where xxxx is a specific parameter or parameter prefix (under the
command line).
This screen displays a list of all AutoEdit parameters for which values can be
updated. The following information is presented for each parameter:
Table 138 Fields of the Update Parameters and Set Conditions Screen
Field Description
VALUE Default value of the parameter. This value can be modified.
OF Parameter name.
Description This description appears only if the value YES was entered in the
PARAMETER DESCRIPTION WILL BE DISPLAYED field on the
Parameter Prompting facility (Type 1) Primary menu.
Date Updated The date of update is displayed in either mm dd or dd mm format
depending on the site standard.
To display the first occurrence of a parameter at the top of a screen, use the line
command L parm, where parm is a specific parameter or parameter prefix.
From this screen, conditions can be added to the IOA Conditions file, with or without
changing the value of the parameter.
■ To add the condition without changing the parameter value, enter any character in
the selection field to the left of the VALUE field.
■ To update a parameter value and add the condition, update the value as desired
and press Enter.
If Y (Yes) was entered for the “Confirm Parameter Update Actions” option in the
Type 1 Primary menu, the following confirmation window is displayed. Type Y to
confirm the updates (or N to cancel them).
Figure 116 Update Parameters and Set Conditions - Confirm Parameter Update
Actions
---- CONTROL-M - P.P.F. - UPDATE PARAMETERS AND SET CONDITIONS --- Row 1 from 2
COMMAND ===> SCROLL ===> PAGE
PARM PREFIX ===> TAPT1112 UPDATED ON
-------------------------------------------------------------------------------
_ VALUE ===>
OF ===> IRS-TAPE +------------------------+
WEEKLY TAPE FRO | CONFIRM UPDATE ACTION |
_ VALUE ===> XXXX | <<=== < N > (Y/N) |
OF ===> A-BANK-TAPE +------------------------+
TAPE FROM BANK GROUP A
****************************** Bottom of Data ********************************
After an update request is completed in the screen, all changes are immediately saved
in the Daily table. Any manual condition associated with this parameter prompt is
added to the IOA Conditions file.
On any given day, the user selects scheduling tables for execution. The user is then
prompted for parameter values required for the execution of those jobs.
■ First, relevant scheduling tables are defined or placed in the Master Scheduling
Tables library.
Then, using the CREATE AND UPDATE A MASTER PLAN option of the facility,
the user defines a Master Prompting Plan (MPP) for each scheduling table in the
library. The MMP is placed in the Master Prompting Plan library. It contains all
AutoEdit variables used by all jobs in the scheduling table. Default values and
value validity checks can also be defined.
Once all definitions are complete, the facility is ready for use on any given day, as
needed.
■ The user uses the second option of the facility, FETCH A PLAN, to select a plan for
execution by CONTROL-M on any specific day.
— When a FETCH option is executed for a specific plan (or set of plans), a Daily
scheduling table is automatically created and placed in the Daily Scheduling
Tables library. The Daily Scheduling table is a subset of the Master Scheduling
table, and contains the job scheduling definition of each job in the Master
Scheduling table scheduled that day.
— The FETCH also creates a User Prompting Plan (UPP), which is placed in the
Daily Prompting Plan library. The UPP is a subset of the Master Prompting
Plan, and contains only parameters that are required by the jobs scheduled to
run on that day.
— A Daily JCL library is also created containing JCL for the day’s jobs.
■ Using the third option of the facility, EXEC A PLAN, the user may then accept or
update the default values of all the parameters appearing in the daily UPP.
After selecting option 2 of the CONTROL-M Parameter Prompting entry panel, the
following menu is displayed:
NOTE
You can enter this screen directly by activating CLIST CTMCAMNU.
This option places a User Prompting Plan (a copy of the Master Prompting Plan)
and related job scheduling definitions in Daily libraries. A “fetch” is required
before assigning parameter values and ordering plan execution with Option 3.
This option assigns values to parameters and orders a Plan for execution.
After selecting Option 1 of the Parameter Prompting facility (Type 2) Primary menu,
the following screen is displayed:
A Master Plan is usually defined for a group of jobs and their AutoEdit parameters
that are controlled by one person or project.
Type a maximum of six characters in PLAN NAME PREFIX and press Enter.
The name of the default library in which the Master Plan is placed is displayed. It
may be changed.
If the plan does not exist (because you are defining a new plan), the following screen
is displayed:
You can create a new plan or exit the screen. To create a new plan, enter a plan
description and press Enter.
After creation of a new plan, or if the requested plan exists, the following screen is
displayed. If the plan exists, the previously defined parameters are displayed for
modification.
This screen is used to define, display and modify parameters that are used for
prompting on a daily basis.
The following information can be defined, displayed, or modified for each parameter:
Table 139 Fields of the Define Parameters in the Master Plan Screen (part 1 of 2)
Field Description
PARM NAME Name of the AutoEdit parameter.
OCCUR NO. Occurrence number (2 digits). Differentiates between use of the same
parameter name for different purposes in different jobs (for example,
assign OCCUR NO. 01 to occurrence of %%PARM1 in Job A; assign
OCCUR NO. 02 to occurrence of %%PARM1 in Job B).
JOB NAME Name of the job using the parameter.
If the parameter and its assigned value are shared by more than one
job in the plan, enter ******** in this field. It is not necessary to
redefine the parameter. (If the value assigned is different for each
job, refer to the OCCUR NO. parameter above.)
PROMPT IND Prompting Indicator:
Table 139 Fields of the Define Parameters in the Master Plan Screen (part 2 of 2)
Field Description
DEFAULT Default value for the parameter that is displayed during the EXEC
phase.
Valid types:
To display the first occurrence of a parameter at the top of a screen, use the line
command L xxxx, where xxxx is a specific parameter or parameter prefix.
To request one of the following options, type the option in the field to the left of the
words PARM NAME and press Enter.
Table 140 Options of the Define Parameters in the Master Plan Screen (part 1 of 2)
Option Description
D (DELETE) Delete a parameter from the plan.
R (REPEAT) Duplicate a parameter.
Table 140 Options of the Define Parameters in the Master Plan Screen (part 2 of 2)
Option Description
A (ADD) Add a parameter (same as option R).
I (INSERT) Insert a new parameter in the plan. INSERT typed on the Command line
inserts a new parameter at the top of the plan.
Changes made to a parameter are updated in the plan when you press Enter, even if
no option is specified.)
To exit the Define Parameters in the Master Plan screen, type one of the following
commands on the command line:
Table 141 Define Parameters in the Master Plan Screen - Exit Screen Commands
Command Description
END Keep all plan changes, and exit.
CANCEL Exit without saving plan changes.
After selecting option 2 of the Parameter Prompting facility (Type 2) Primary menu,
the following screen is displayed:
PLAN NAME SUFFIX ===> (For multiple plans in the same day)
This screen places a daily User Prompting Plan (a copy of the Master Prompting Plan)
and related job scheduling definitions in Daily libraries. Fill in the details in the
screen (libraries and the current date appear as defaults) and press Enter.
The PLAN NAME is the same as the Master Prompting Plan PREFIX.
You can designate two characters to serve as a suffix to the Plan Name. This permits
execution of a specific plan more than once a day.
After selecting option 3 of the Parameter Prompting facility (Type 2) Primary menu,
the following screen is displayed:
PLAN NAME SUFFIX ===> (For multiple plans in the same day)
Please fill in the Plan Name (or blanks) and press ENTER
This screen orders a plan for parameter updating and plan execution. Fill in the
details in the screen (libraries and the current date appear as defaults) and press
Enter.
The PLAN NAME is the same as the Master Prompting Plan PREFIX. You can
designate two characters to serve as a suffix to the PLAN NAME. This permits
execution of a specific plan more than once a day.
■ YES – Prompt
■ NO – Do not prompt
The ODATE field specifies the original scheduling date for executing the plan.
The FORCED FROM TIME field specifies a time (format hhmm) before which the jobs
cannot run.
If you leave PLAN NAME blank on the Exec / Order a Plan screen, the Plan Selection
screen is displayed:
PLAN ORDERED ALREADY: indicates whether the plan was already ordered. If the
plan has already been ordered, it is possible to select a plan for parameter value
updating only.
To select a plan, enter any character in the field to the left of the PLAN NAME.
After selecting a plan from the Plan Selection screen or specifying a particular plan on
the Exec / Order a Plan screen, the Update Parameter Values screen is displayed:
This screen displays a list of all AutoEdit parameters for which values can be entered.
Press END (PF03/PF15) to exit the screen.
The Master Prompting Plan for the PLAN NAME is copied from the Master
Prompting Library to the Daily Prompting Library to create or replace the
corresponding User Prompting Plan (UPP). Only parameters that belong to jobs that
meet both of the following criteria are copied into the UPP.
■ The job names, which are specified in the DEFINE PARAMETERS IN THE
MASTER PLAN screen (option 1), reference a job that appears in the Daily
Scheduling table.
■ The jobs must be scheduled to run on the specified day (today). The CTMJOB
utility is invoked to determine which jobs run today.
The display of parameters can be limited to plans beginning with a specific prefix
using the PARM PREFIX field (under the command line).
To display the first occurrence of a parameter at the top of the screen, type the line
command L xxxx, where xxxx is a specific parameter or parameter prefix.
After all variables in a plan have been updated or have had their defaults approved,
you receive screen messages indicating the jobs from each plan that were ordered
automatically. To cancel any parameter value changes made and return to the
Exec / Order a Plan screen, type the line command CANcel.
Special Options
■ YES – You are presented with remaining (non-updated) parameters from active
plans.
■ NO – After updating the current plan, the Exec / Order a Plan screen is displayed
or, if Plan Name was left blank, the Plan Selection screen containing all active plans
is displayed. Default.
Twenty-one jobs and their interdependencies can be defined on one screen with
CONTROL-M automatically providing space for additional jobs.
In this step you create a job in a scheduling table to be used as a skeleton, or model,
for all the jobs in the automatically created scheduling table (output table).
Specify in the skeleton job all parameter values that are to be common to (the same in)
all the jobs in the automatically created table.
The data in all other fields is copied into each of the new jobs in the output table.
Therefore, it is important to verify the data carefully.
In this step, you display the Quick Schedule Definition entry panel and specify
general table information and the desired format for automatically defined
prerequisite conditions.
The entry panel can be displayed either by requesting option M5 on the Online
Utilities menu, or by activating CLIST CTMQUICK from the TSO Command
Processor. The following screen is displayed:
Job dependencies are established by prerequisite conditions that are defined in the
job scheduling definitions.
NOTE
Job dependencies are defined in Step 3, described in “Step 3: Specify Job Interdependencies”
on page 359.
The following fields affect the above formatted conditions. The GROUP field also
affects the GROUP value in the job scheduling definition.
If specified, the value in this field is used as the GROUP value in the
created job scheduling definitions (that is, in place of the GROUP
value in the skeleton).
Once you have filled in the fields in the Quick Definition entry panel, press Enter.
■ If the table that you specified in the TABLE field does not already exist in the
library, the Job List screen is displayed and you can proceed with Step 3.
■ If the table that you specified in the TABLE field already exists in the library, the
Overwrite Confirmation window is displayed:
+-----------------------------------------------------------+
| |
| LIBRARY CTM.PROD.SCHEDULE |
| TABLE PAYROLL |
| |
| ALREADY EXISTS. |
| |
| THIS PROCEDURE WILL OVERWRITE THE DATA IN THE TABLE. |
| |
| DO YOU WISH TO CONTINUE (Y/N) |
| |
+-----------------------------------------------------------+
— Type Y (Yes) to overwrite the existing table. The current contents of the table are
erased, and an empty table (Job List screen) is displayed.
— Type N (No) if you do not want to overwrite the current contents of the table.
The window is closed. You can now type a different table name in the TABLE
field and press Enter again.
In this step you fill in a list of jobs, a description of each job, and the jobs upon which
they depend.
After you fill in the Quick Schedule Definition entry panel (and, if necessary, the
Overwrite Confirmation window) and press Enter, the Job List screen is displayed:
Fill in one line for each job (the fields are detailed below). CONTROL-M provides
additional lines on the screen, as necessary. When you have finished filling in the list,
press Enter. The entries are validated.
Names that have DUMMY as a prefix cause the utility to create the
job scheduling definition as a dummy job.
Examples:
To use one of the following options, type the option in the O field to the left of the line
number. These options are similar to ISPF line commands.
Step 4:Exit the Quick Schedule Definition Facility (and Create the Scheduling
Table)
To exit the Quick Schedule Definition facility after entering the data for a table, press
the END (PF03/PF15) key. An Exit Option window is opened:
The schedule can be saved (to replace a table of the same name that previously
existed in the library), or created (to store a new table in the library), by typing Y in
the appropriate exit option. The job schedule is automatically created as you exit.
If N is entered, the table is not saved, and the schedule is not produced. You return to
the Utilities screen or other screen, depending on how you entered the utility.
If no changes have been made, the Exit Option window is not opened.
To exit to the Quick Schedule Definition entry panel without saving your entries (and
without creating the job schedule), press RESET (PF04).
The screen below illustrates job GOVTREPT selected from the jobs listed in the Job
List screen in Step 3 above. Note particularly the automatically created MEMNAME,
IN and OUT parameters, and the job name inserted into the SHOUT message by
using the %%JOBNAM variable.
The Job List screen (Figure 130) can be displayed in one of the following ways:
Figure 130 Job List Screen Entered Through the End-User Job Order Interface
JOB LIST M6 - END USER JOB ORDER INTERFACE UTILITY CONTROL:@@USRT
COMMAND ===> SCROLL===> CRSR
OPT NAME --- TABLNAME - SCHEDULING LIBRARY NAME ------- DESCRIPTION ----------
PAYCALC PAYROLL CTMP.V610.SCHEDULE
PERF ASSESS CTMP.V610.SCHEDULE WDAYS=2(TUE),G+3
====== >>>>>>>>>>>>>>>>>>>> NO MORE JOBS IN TABLE <<<<<<<<<<<<<<<< =====
This screen displays a list of jobs that the particular user is permitted to order. The
INCONTROL administrator determines which jobs each user is permitted to order.
■ To order jobs, type S in the OPT field to the left of each job to be ordered and press
Enter.
For each job selected, in sequence, a new screen is displayed. The header of the screen
contains the names of the library and table. Under the command line, the Please Enter
Scheduling Date/Force Options window is displayed (see Figure 131).
■ change the scheduling date of the job to the CONTROL-M working date, by
typing Y in the OR USE CONTROL-M WORKING DATE field
■ wait for a specific date by typing YES in the WAIT FOR ODATE? field, or process
the Order/Force request immediately by typing NO.
3. After selecting these options, you have the following further options:
For details about product usage refer to your DOCU/TEXT user guide.
3
3 Job Production Parameters
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
General Parameters – Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Basic Scheduling Parameters – Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Runtime Scheduling Parameters – Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Post-Processing Parameters – Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Parameter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
ADJUST CONDITIONS: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
APPL: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
APPL FORM: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
APPL TYPE: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
APPL VER: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
§Restart§ AUTO-ARCHIVE: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . 392
CM VER: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
CONFCAL: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
CONFIRM: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
CONTROL: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
CTB STEP: General Job Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
D-CAT: Basic Scheduling Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
DATES: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
DAYS: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
DEFINITION ACTIVE: Basic Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 424
DESC: General Job Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
DO Statement: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
DO COND: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
DO CTBRULE: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
DO FORCEJOB: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
§Restart§DO IFRERUN: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 442
DO MAIL: Post–Processing Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
DO NOTOK: Post–Processing Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
DO OK: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
DO REMEDY: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
DO RERUN: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
DO SET: Post–Processing Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
DO SHOUT: Post–Processing Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Overview
Job scheduling definitions consist of parameters that correspond to the decisions
made and actions performed when handling the scheduling, submission and
post-processing of a job. Job scheduling definitions are defined in the Job Scheduling
Definition screen, which is shown in Figure 132. This is the main screen of the
Scheduling Definition facility.
===========================================================================
APPL TYPE APPL VER
APPL FORM CM VER
INSTREAM JCL: N
NOTE
The SCHEDULE TAG and RELATIONSHIP fields only appear in job scheduling definitions
belonging to Group scheduling tables.
The PIPE parameter is displayed only if MAINVIEW Batch Optimizer (MVBO) is installed.
ON GROUP-END NOTOK
DO COND ACCTS-CHK-REQUIRED ODAT +
SHOUT WHEN TIME + DAYS TO URGN
MS
======= >>>>>>>>>>>>>>>>>>>>> END OF GROUP PARAMETERS <<<<<<<<<<<<<<<<<< ======
COMMANDS: EDIT, DOC, PLAN, JOBSTAT 19.17.13
Most parameters in the Group Entity definition are the same as in the job scheduling
definition, but they apply to the group as a whole. Therefore:
■ At least one set of basic scheduling criteria in the Group Entity must be satisfied
before any job in the group can be scheduled.
■ Runtime scheduling criteria in the Group Entity must be satisfied before any job in
the group can be executed.
■ Post-processing statements in the Group Entity are applied only after all jobs in the
group have finished executing.
The following parameters in the Group Entity are not found in the job scheduling
definition:
■ ADJUST CONDITIONS
■ ON GROUP-END
■ SCHEDULE TAG ACTIVE FROM and UNTIL
Usage and operation of the Scheduling Definition facility, including entry and exit of
the Job Scheduling Definition screen, is described in the INCONTROL for z/OS
Utilities Guide.
In addition to defining jobs through the Scheduling Definition facility, jobs can also
be defined using the batch utility CTMBLT, described in the INCONTROL for z/OS
Utilities Guide, or using the online utility QUICKDEF. The QUICKDEF utility, the
Quick Schedule Definition facility, is available under ISPF only. For more information
about it, see “Utilities Under ISPF” on page 316.
The parameters of the Job Scheduling Definition screen are divided into the following
categories:
■ General parameters
■ Basic Scheduling parameters
■ Runtime Scheduling parameters
■ Post-processing parameters
Each job order placed in the Active Jobs file is associated with an original scheduling
date. This is the date the job is to run according to the Basic Scheduling parameters.
This date is not necessarily the same as the current system date or the current
working date. For further information, see “Date Definition Concepts” on page 62
The SCHEDULE TAG parameter appears only in Group tables, in both job
scheduling definitions and in the Group Entity.
Each set of basic scheduling criteria in the Group Entity must be uniquely labeled by
a SCHEDULE TAG value. At least one Schedule Tag must be defined.
The Basic Scheduling parameters, except SCHEDULE TAG and RELATIONSHIP, are
listed below by category. When defining basic scheduling criteria for jobs in regular
or Group scheduling tables, or when defining basic scheduling criteria for Group
Entities, the following rules apply to these categories of parameters:
■ Parameters must be selected from one and only one of the first three categories
(A, B, or C).
■ WDAYS – Schedule the job on specified days of the week (in the
above-specified months) and/or select days from a specified
calendar.
Category C Parameters
Schedule the job if the number of free tracks in the specified partitioned data set
(PDS) is less than the minimum number of tracks specified. This set of criteria is
intended for jobs or started tasks that clean, compress or enlarge libraries or that issue
warning messages if the minimum number of free tracks is not available.
The DAYS parameter identifies days of the month on which the job must be
scheduled, such as first day of the month, third working day of the month. Several
formats are available for specifying DAYS values.
The WDAYS parameter identifies days of the week on which the job must be
scheduled, such as the first day of the week, the second day of each week, and so on.
Several formats are available for specifying WDAYS values.
A calendar name can be specified in the DCAL and/or WCAL fields. A calendar
specifies days of the year on which a rule can be scheduled, known as working days.
For more information on calendars and the IOA Calendar facility, see “IOA Calendar
Facility” on page 299.
When both the DAYS and DCAL parameters are specified, they work as a
complementary unit, as described in “DAYS: Basic Scheduling Parameter” on
page 414. Similarly, when both WDAYS and WCAL are specified, they also work as a
complementary unit, as described in “WDAYS: Basic Scheduling Parameter” on
page 667.
When values for both DAYS (/DCAL) and WDAYS (/WCAL) are specified in the
same job scheduling definition, the resulting schedule is determined by the value
specified in field AND/OR.
A calendar specified in CONFCAL is not used for job scheduling, but is used instead
for validating a scheduled date. Only jobs that have satisfied all other specified basic
scheduling criteria are checked against the CONFCAL calendar. If the day is a
working day in the CONFCAL calendar, the job is scheduled on that day. Otherwise,
the job is either shifted to (scheduled on) another day according to the value entered
in the SHIFT parameter, or the job is not scheduled (if no SHIFT value has been
specified).
CONFCAL calendars are especially useful for handling holidays and other
scheduling exceptions.
1. ACTIVE FROM and UNTIL parameters are checked first. If the current date falls
outside the time range specified, no further checking is performed.
2. DAYS and DCAL parameters are checked independently and a first tentative
scheduling decision is created.
3. WDAYS and WCAL parameters are checked independently and a second tentative
scheduling decision is created.
4. A third tentative scheduling decision is created based on the above two decisions
and the AND/OR value linking them.
(If DAYS and/or DCAL are not specified, this third temporary scheduling decision
is identical to the second scheduling decision. If WDAYS and/or WCAL are not
specified, this third scheduling decision is identical to the first scheduling decision.
6. This third scheduling decision (as adjusted) becomes the final scheduling decision.
The IOA Scheduling facility determines whether to schedule a job based on this
final scheduling decision.
1. Before jobs in a group can be scheduled, the group must be eligible for scheduling
(that is, at least one of the tagged sets of basic scheduling criteria in the Group
Entity has been satisfied).
2. If (and only if) the group is eligible for scheduling, each job scheduling definition
in the scheduling table is individually checked for possible scheduling.
If the criteria of a schedule tag are satisfied, no further checks are performed on
the remaining schedule tags. The criteria belonging to the satisfied tag are used
in the scheduling algorithm.
— If a schedule tag was satisfied and the defined relationship is OR, the satisfied
schedule tag is sufficient and the job is scheduled according to criteria of this
tag. No further checks are performed.
— If no schedule tag was satisfied and the defined relationship is AND (that is,
the job requires that the schedule tag be satisfied), the job is not scheduled.
No further checks are performed.
— If the basic scheduling criteria of the job are not satisfied, the job is not
scheduled.
— If the basic scheduling criteria of the job are satisfied, the job is scheduled.
The basic scheduling criteria of the job, not the scheduling tag criteria, are used for
scheduling. This is a concern only if there are conflicting MAXWAIT values in the
scheduling tag criteria and the basic scheduling criteria of the job. In this case, the
MAXWAIT value from the basic scheduling criteria of the job is used.
■ Certain actions may be required when the job fails, depending on the reason for
failure.
The CONTROL-M monitor tracks each job execution. Following the termination of a
job, the CONTROL-M monitor checks the execution results of each step in the job.
Based on the results, the CONTROL-M monitor determines a final status of the job.
Either of two final job statuses can be assigned:
■ EXERR – Execution error (that is, one that occurred after the job
has started running).
A range of steps for use in the ON statement can be defined in the STEP RANGE
parameter.
ON and DO statements also specify actions that are to be performed in any and all
cases. To ensure that the ON statement is activated for all step and code events, enter
reserved word ANYSTEP as the ON step name and ***** as the ON code.
■ DO COND
■ DO OK
■ DO MAIL
■ DO FORCEJOB
■ DO SET
■ DO NOTOK
■ DO SHOUT
NOTE
DO OK and DO NOTOK statements change the final status of the group (not the status of each
job or job step in the group).
Parameter Descriptions
The following pages contain detailed descriptions of all parameters available in the
CONTROL-M Job Definition screen. Parameters are arranged in alphabetical order.
Within each parameter, subparameters are arranged according to the order of the
fields on the screen.
■ The format required for defining the parameter within an extract of the
CONTROL-M screen.
For more information on the Job Definition facility, see Chapter 2, “Online Facilities.”
General Information
This parameter is applied to all jobs in the Group scheduling table. It provides the
options shown in Table 159 when job dependency is defined between jobs in a group
by their respective conditions.
Such a job dependency arises when one job in a group is dependent on a condition
that is triggered by another job in the group. If the triggering job is not ordered,
meaning, placed on the Active Jobs file, because the scheduling criteria of the
triggering job do not match the current Odate, the dependent job cannot run.
The options provided by the ADJUST CONDITIONS parameter enable you to avoid
this difficulty.
■ If you enter the value Y for the ADJUST CONDITIONS parameter, the following
principles apply:
— CONTROL-M erases IN conditions from each job in the group that is placed on
the AJF. The following criteria must be met before an IN condition is erased:
■ The scheduling criteria of the predecessor job are such that the predecessor
job will not be ordered during the current day.
The erasing of these IN conditions frees the successor job from its dependency
on the predecessor job.
— Only the image of the job on the AJF is affected. The original job scheduling
definition remains unchanged.
■ If you enter the value N for the ADJUST CONDITIONS parameter, CONTROL-M
runs normally. You must release any jobs that are likely to wait indefinitely on the
AJF because they are dependent on predecessor jobs with scheduling criteria such
that they will not be ordered. To release the dependent jobs, use one of the manual
options, such as those available in
■ If you enter the value D for the ADJUST CONDITIONS parameter, the following
principles apply:
— CONTROL-M places all the jobs in the group onto the AJF when the group is
ordered.
— Jobs in the group with scheduling criteria that fit the current ODATE remain
unchanged.
— Jobs in the group with scheduling criteria that do not fit the current ODATE,
and would not ordinarily be ordered, are placed on the AJF as DUMMY jobs
(the MEMLIB parameter is changed to DUMMY). This permits the original
logical flow of the group to be maintained by preserving the relationships of the
IN and OUT conditions of these dummy jobs.
— Only the image of the job on the AJF is affected. The original job scheduling
definition remains unchanged.
Examples
Example 1
If a predecessor job is not scheduled, the requirement for the prerequisite conditions
that the predecessor job would have normally placed in the IOA Conditions file is
erased in the successor jobs.
Example 2
— Each of the DAILY jobs must run every day, in the order
DAILY-1 —> DAILY-2 —> DAILY-3 —> DAILY-4.
— When WEEKLY-1 runs, it must run after DAILY-3 and before DAILY-4.
Unless some step is taken, on the days when WEEKLY-1 does not run, DAILY-4
cannot be executed, because its IN condition causes it to wait for WEEKLY-1 to end.
By default, the APPL parameter is optional. It can be modified in the user profile.
General Information
The parameter facilitates the handling of groups of production jobs.
NOTE
Use of the APPL parameter is highly recommended to facilitate implementation of
CONTROL-M/Enterprise Manager functions and future CONTROL-M options. For details,
see the CONTROL-M/Enterprise Manager User Guide.
Example
Job OPERCOMP belongs to group MAINTENANCE, which is part of application
OPER.
General Information
The AUTO-ARCHIVE subparameter allows you to decide whether to archive
SYSDATA, which is defined in “SYSDATA” on page 67. While archiving SYSDATA
is normally desirable, it might not be desirable for cyclic jobs, started tasks, or
frequently repeated jobs that do not require restart.
If archiving, the SYSDB subparameter allows you to decide whether SYSDATA for
different jobs must be archived to a common data set (Y) or whether to use a separate
data set for each run (N). If Y is entered, a single archived SYSDATA data set is used
for archiving until it is full. Then, another SYSDATA data set is allocated and used.
This is the recommended method.
Creating a separate data set for each run is not recommended because:
■ Creating many data sets consumes a large amount of space in the disk VTOC.
■ Each data set is allocated on a track basis. If the SYSDATA does not completely fill
the track, large amounts of disk space may be wasted.
The MAXDAYS and MAXRUNS subparameters define retention criteria for the
archived SYSDATA of jobs that ended NOTOK. Defaults are defined in the
CONTROL-M/Restart installation parameters. You can specify either or both
parameters to override the defaults. If both parameters are specified, retention is
limited by the condition that is fulfilled first.
When archiving SYSDATA, BMC Software recommends that you do not enter the
value 99 in the MAXWAIT parameter for cyclic jobs or started tasks. Otherwise, these
jobs, which are never automatically deleted from the Active Jobs file, may cause the
disk to fill up with unnecessary archived SYSDATA. The MAXWAIT parameter is
described in “MAXWAIT: Basic Scheduling Parameter” on page 514.
NOTE
Specified parameters take effect only during execution of the New Day procedure
(CONTDAY) or the CTMCAJF utility. Therefore, it is possible to find more generations of the
same job than the current value of MAXRUNS.
SYSDATA is archived in the History Jobs file, as defined by the values set for the
MAXDAYS and MAXRUNS parameters, and under the following conditions:
■ The HIST parameter in the CTMPARM member in the IOA PARM library is set to
Y (Yes), so that History file archiving is enabled.
However, if the HIST parameter is set to N (No) and a job is deleted from the Active
Jobs file, the SYSDATA relating to that job is deleted regardless of the values set for
the MAXDAYS and MAXRUNS parameters.
For more information, see the description of maintaining previous runs in the History
Jobs file in the CONTROL-M/Restart User Guide.
Example
Archive the SYSDATA to a common data set. Retain the archived SYSDATA for 7
days or 20 runs, whichever occurs first.
Related parameters are “DAYS: Basic Scheduling Parameter” on page 414, “WDAYS:
Basic Scheduling Parameter” on page 667, and “DATES: Basic Scheduling Parameter”
on page 412.
— ' ' (Blank) – Do not shift job scheduling any additional time.
Default.
yyy does not cause 'negative' scheduling days (-n, -Dn, -Ln, etc.)
to be shifted.
Note: For more information on the use of the SHIFT subparameter,
see “The SHIFT Subparameter” below.
General Information
CONFCAL calendars are useful for handling holidays and other scheduling
exceptions.
CONFCAL is optional. If no value is set for the CONFCAL parameter, jobs are
scheduled according to other basic scheduling criteria without confirmation.
CONFCAL must not contain the name of a periodic calendar. If it does, no day can
pass the confirmation.
The format and valid values of the SHIFT subparameter are described in Table 161.
The interaction between the x value and the yyy value of the SHIFT subparameter is
as follows:
■ If the original scheduling day of the job is a working day in the CONFCAL
calendar, the x value is ignored and the yyy value determines when the job is
scheduled.
■ If the original scheduling day of the job is not a working day in the CONFCAL
calendar, job scheduling is shifted according to the x value and then shifted again
according to the yyy value (if specified) to determine when the job is scheduled.
If the original scheduling day is not a working day and the x value is blank, the job is
not scheduled (regardless of whether a yyy value is specified).
If the result of shifting by yyy days is a day that is not allowed, that is, if -n was
entered for that day in the DAYS parameter of the job scheduling definition, the job is
shifted again to the next allowed working day (for a forward shift) or to the previous
allowed working day (for a backward shift).
NOTE
Prior to version 5.1.4, the SHIFT subparameter consisted of only the x value. If the yyy value is
not specified, CONFCAL and SHIFT work as they did prior to version 5.1.4, and version 5.1.4
job scheduling definitions do not need to be changed.
Example 1
This example is based on the following assumptions:
■ Start of the week is defined as Monday. Weeks start on the following dates in
September: 3rd, 10th, 17th, and 24th.
Schedule the rule on the 1st, 7th and 15th day of the month if they are both Saturdays
and working days in WORKDAYS. If the day of the month (1st, 7th, 15th) is not a
Saturday, do not schedule the rule. If the day of the month is a Saturday but is not a
working day, schedule the rule on the next working day.
DAYS - 1,7,15
AND/OR - AND
WDAYS - 6
CONFCAL - WORKDAYS
SHIFT - >
Example 2
Assume that the IOA installation parameter SWEEK was set to SUN (meaning that
Sunday is the first working day of the week.)
Schedule the job on every Thursday, except when Friday is a holiday. If Friday is a
holiday, schedule the job on the working day prior to Thursday.
WDAYS 6
CONFCAL WORKDAYS
SHIFT <-01
General Information
If CONFIRM is set to Y, the job appears in the Active Environment screen with a
WAIT CONFIRMATION (FOR SCHEDULE) status. Option C (Confirm) must then be
entered in the Active Environment screen for the job to be submitted. When the job is
confirmed in the Active Environment screen, the CONFIRM value in the Zoom screen
changes to N. If CONFIRM is set to N or left blank, the job is automatically submitted
by CONTROL-M at the first available opportunity.
NOTE
In the case of cyclic jobs, confirmation applies to the first run only. Once confirmed, the job is
recycled without waiting for subsequent confirmation.
Example
Job OPERCOMP requires manual confirmation in order to be eligible for submission.
Manual confirmation can be provided from the Active Environment screen once the
job is displayed with a status of WAIT CONFIRMATION (FOR SCHEDULE).
NOTE
Do not specify the same Control resource in both Exclusive (E) and Shared (S) states in the
same job scheduling definition or Group entity, or the job or group cannot run.
In addition, if the resource is in Exclusive state in the Group entity, it must not be specified in
any of the jobs belonging to the group; if the resource is in Shared state in the Group, it must
not be in Exclusive state in any of the jobs belonging to the group.
■ ' ' (blank) – The resource is not kept tied to the job. Default.
■ K – The resource is kept tied to the job until one of the following
events occurs:
— the job is rerun and ends OK
— the job is deleted
— the job is FORCEd OK
Example
CONTROL DISK-VS0020 E K
If the job ends NOTOK, the job continues to hold this exclusive resource.
General Information
The CONTROL parameter is used to control parallel execution of jobs (and/or
groups).
If a job requires a resource in exclusive state, it cannot share usage of that resource
with another job (that is, the jobs cannot run in parallel). For example:
■ If JOBA already has exclusive control of a resource, any job requiring that resource
must wait until JOBA frees the resource, regardless of whether the job requires the
resource in shared or exclusive state.
If a job requires a resource in shared state, that job can run in parallel with other jobs
requiring the same resource in shared state. For example:
■ If JOBA already has shared control of a resource, any job requiring that same
resource in shared state can use that resource at the same time.
However:
■ If JOBA already has shared control of a resource, any job requiring that same
resource in exclusive state must wait until JOBA frees the resource.
Example
The following three screens (job scheduling definitions) indicate how the CONTROL
parameter can control resource usage. All three job scheduling definitions require
resource (disk) DISK-VS0020:
■ The first job, BKPVS020, is a backup job that requires exclusive control of disk
DISK-VS0020.
■ The other two jobs, CMPRSJOB and CMPRSSRC, are both compress jobs. They do
not require exclusive control (that is, they can share control) of disk DISK-VS0020.
■ The CMPRSJOB and CMPRSSRC jobs can be run in parallel with each other, but
neither can run in parallel with the BKPUS020 job.
■ If the BKPVS020 job is running, the CMPRSJOB and CMPRSSRC jobs must wait.
■ If either the CMPRSJOB job or the CMPRSSRC job is running, the BKPVS020 job
must wait.
This is the first of the three jobs in the example (job BKPVS020).
This is the second of the three jobs in the example (job CMPRSSRC).
NOTE
The ARGUMENTS line is not displayed until the CTB STEP line is filled in and Enter is
pressed.
General Information
A maximum of two CTB STEP statements (that is, one START statement and one
END statement) can be entered.
Upon filling in the first CTB STEP line on the screen and pressing Enter, the
ARGUMENTS line and the second CTB STEP line are displayed. If the second CTB
STEP line is filled in and Enter is pressed, its ARGUMENTS line is displayed.
Multiple arguments must be separated by a comma without a space because they are
automatically passed to the CONTROL-M/Analyzer step as a PARM=‘arguments’
parameter in the JCL of the step.
Example
After successfully performing salary calculations, job SACALC01 invokes rule
CHKCALC to ensure that the results are reasonable, and then sets OUT condition
SALARY-OK.
NOTE
Prior to version 5.1.4, the D-CAT parameter was called CATEGORY.
General Information
If the parameter is specified, whenever the job is scheduled, a search is made in the
CONTROL-D report decollating mission library for a job (member) with the name
entered in the MEMNAME parameter, which is described in “MEMNAME: General
Job Parameter” on page 525, and with the same category. (No search is made in the
case of job restarts.)
Generally, the selected category is forced and placed in the CONTROL-D Active
Missions file (that is, the output of the job must be decollated by CONTROL-D). If D-
CAT is set to *, all categories of the job are forced under CONTROL-D.
NOTE
If the CTGFORC parameter of the CTMPARM member in the IOA PARM library is set to NO,
selected categories are scheduled (that is, not forced).
Example
The job output must be decollated by the CONTROL-D report decollating mission
category DAILY.
Optional. The DATES parameter specifies a valid 4-character date, in either mmdd or
ddmm format, depending on site format.
General Information
The job is scheduled for execution only on the dates specified in the DATES
parameter.
The DATES parameter cannot be used with the PDS, MINIMUM, DAYS, and DCAL
parameters.
If values are set for both the MONTHS parameter and the DATES parameter, the
MONTHS parameter setting is ignored.
To specify more than 12 dates for one job, define the dates in a calendar (instead of
using this parameter) and specify the calendar in the DCAL (or WCAL)
subparameter.
As an alternative to using calendars for specifying more than twelve dates in jobs
belonging to a group, up to twelve dates can be specified in a Schedule Tag definition
in the Group entity, and multiple schedule tags of this type can be defined. These can
then be specified in the jobs.
The relationship between DATES and WDAYS and WCAL is OR. If the job is to be
scheduled according to the DATES parameter or according to the WDAYS and
WCAL combination, it is scheduled.
Examples
Example 1
DATES 0115
Example 2
Schedule job PRDKPL01 for the 21st of June and the 21st of December (ddmm
format).
Related parameters are “WDAYS: Basic Scheduling Parameter” on page 667 and
“CONFCAL: Basic Scheduling Parameter” on page 396.
Optional. The DAYS parameter specifies days of the month on which the job must be
scheduled, provided other basic scheduling criteria are met. Values for DAYS can be
specified alone, or they can be specified together with a calendar specified in the
DCAL subparameter. DAYS and DCAL can also be specified together with WDAYS
and WCAL (described under “WDAYS: Basic Scheduling Parameter” on page 667).
■ When DAYS are specified without DCAL, the job is scheduled on the specified
days (in the specified months).
■ When DCAL is specified without DAYS, the job is scheduled on all working days
marked in the DCAL calendar.
■ When DAYS and DCAL are both specified, scheduling depends on how the
working days are defined in the calendar and the values or format of the DAYS
parameter combine, as described in the following paragraphs.
■ When both DAYS and WDAYS criteria are specified, scheduling depends on the
AND/OR subparameter connecting them.
If a DCAL calendar is not defined, schedule the job on all days in the
month. If a DCAL calendar is defined, schedule the job only on the
working days indicated in the calendar.
n,… Specific days of the month.
■ n is any integer from 1 through 63, and i is any valid period identifier.
■ An * can be specified as the n value in format DnPi to represent all days. (* is not a
valid n value in formats –DnPi, LnPi and –LnPi.)
■ A period can span any number of days, but by default, no more than 33 days can
elapse after the appearance of one identifier in a period until the appearance of the
next matching identifier in the same period. Once a gap of 33 days has been
reached, the period automatically closes. However, the INCONTROL
administrator can change the 33-day default by changing the value in member
IOADFLT in the IOAENV library.
■ The name of a periodic calendar must be specified in DCAL. For details about
periodic calendars, see “IOA Calendar Facility” on page 299.
General Information
Negative values take precedence over positive values when determining whether a
job must be scheduled on a certain date. If a negative value (that is, format –n, –Dn, –
Ln, –DnPi, or – LnPi) in either the DAYS or WDAYS field prevents a job from being
scheduled on a date, the job is not scheduled on that date even if a positive value
(such as Ln) in a basic scheduling parameter would otherwise result in the job being
scheduled on that date.
A maximum of eight periodic values of type DnPi, –DnPi, LnPi, and/or –LnPi can be
designated in any desired order.
If periodic and non-periodic values are mixed when specifying the DAYS parameter,
processing depends on the calendar type specified in the DCAL parameter:
■ If a periodic calendar is specified in DCAL, all periodic values and all negative
non-periodic values (such as –n) in the DAYS parameter are processed; all
non-negative non-periodic values are ignored.
The MONTHS parameter is ignored when periodic values are specified in the DAYS
parameter.
For information about certain exceptional situations in the interaction of the DAYS
and MONTHS parameters, see “MONTHS: Basic Scheduling Parameter” on
page 530.
The DAYS parameter cannot be used with the PDS, MINIMUM, and DATES
parameters.
Examples
The examples in this chapter are based on the following assumptions:
■ Working days are defined in calendar WORKDAYS, which contains the following
working days (indicated by Y) for December, 2001.
---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
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
---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
B C A A B B C A A B B C A A B B C A A B B
■ Start of the week is defined as Monday. Weeks start on the following dates in
December 2001: 3rd, 10th, 17th, 24th, and 31st.
At the end of each example, asterisks in a December 2001 calendar indicate the days
on which the job is scheduled.
Example 1
Schedule the job on the 17th day and the last day of the month.
DAYS 17,L1
Example 2
Schedule the job on all working days of the month except the 6th day of the month,
and also schedule the job on the 1st day of the month.
DAYS +1,-6
DCAL WORKDAYS
Example 3
Schedule the job on all working days of the month except the first and last working
days, and except the 17th day, of the month.
DAYS -D1,-17,-L1
DCAL WORKDAYS
Example 4
Schedule the job on the 8th day of the month. If it is not a working day, schedule the
job on the closest preceding working day.
DAYS <8
DCAL WORKDAYS
Example 5
Schedule the job on the 1st day of period A, and on all days, except the 2nd day, of
period B. Do not schedule the job on the 5th day of the month.
DAYS -5,D1PA,-D2PB
DCAL PERIDAYS
Example 6
Schedule the job on each Monday and on the 1st day of the month.
DAYS 1
AND/OR OR
WDAYS 1
Example 7
Schedule the job on the 3rd day of the month provided it is a Monday.
DAYS 3
AND/OR AND
WDAYS 1
Example 8
DAYS L1,L2,L3,L4,L5,L6,L7
AND/OR AND
WDAYS 1
Example 9
Schedule the job on the 1st, 7th and 15th days of the month if they are both Saturdays
and working days. If the day of the month (1st, 7th, 15th) is not a Saturday, do not
schedule the job. If the day of the month is a Saturday, but it is not a working day,
schedule the job on the next working day.
DAYS 1,7,15
AND/OR AND
WDAYS 6
CONFCAL WORKDAYS
SHIFT >
Example 10
Schedule the job to run on the first Friday after the 15th of the month.
DAYS 16,17,18,19,20,21,22
AND/OR AND
WDAYS 5
Example 11
Schedule the job to run on the 15th day of every period, except for period G. The
periods are defined in periodic calendar PERCAL.
1 In the group entity of a group scheduling table, define a tag, TAG1, which contains
the following scheduling criteria:
The format of either the FROM or UNTIL subparameters may be ddmmyy, mmddyy,
or yymmdd, depending on your local site standard, as set by the DATETYP
parameter in the IOAPARM member in the IOA PARM library.
General Information
FROM and UNTIL dates together define a time frame for ordering the job. Unless
forced, a job can only be ordered during the specified time frame. However, if the job
is forced, the FROM and UNTIL parameters are ignored.
■ If you specify both the FROM and UNTIL subparameters for a particular job, the
job can only be ordered on or later than the date specified in the FROM
subparameter, and on or earlier than the date specified in the UNTIL
subparameter. There are two possibilities:
1. The date specified in the FROM subparameter is earlier than that specified in the
UNTIL subparameter.
For example,
The job can only be ordered on or between October 9, 2002 and November 1,
2002.
2. The date specified in the FROM subparameter is later than that specified in the
UNTIL subparameter.
For example,
The job can only be ordered on or after May 9, 2002, or before or on April 1,
2002, but not between those dates.
■ If you specify the FROM subparameter, but not the UNTIL subparameter, the job
cannot be ordered before the date specified, but can be ordered on or at any time
later than that date.
For example,
■ If you do not specify the FROM subparameter, but specify the UNTIL
subparameter, the job can be ordered on or at any time earlier than the date
specified, but not later than that date.
For example,
For example,
General Information
The DESC parameter is informational. It does not affect job processing. It serves as
internal documentation, to let the user know the purpose of (or some other key
information about) the job.
The description specified in the DESC parameter appears to the right of the job name
in the Job List screen.
NOTE
For conversion customers prior to version 6.0.00, if the current job was converted from
another job scheduling product, such as CA-7, the string SCHEDULE-PREV-DAY or
SCHEDULE-PREV-ONLY may appear in the DESC field for the job group. This string causes
all scheduled runs of the job to be shifted back one day. The SAC parameter is used instead.
For information on how to specify more detailed job documentation, see “Job
Documentation” on page 143.
Example
Job OPERCOMP appears in the Job List screen with the description: JOB RUN ON
THE 1ST OF THE MONTH.
■ Type the action keyword (such as COND) in the DO field and press Enter.
■ In many cases, subparameter fields are displayed. Fill in the subparameters and
press Enter again.
DO actions are described in Table 170. Each is discussed in detail in this chapter.
General Information
DO statements are generally paired with the preceding ON PGMST, ON PROCST, or
ON CODES statements (all of which are described in this chapter). Their implied
relationship is:
To add an empty DO statement between two existing DO statements, type the >
character over the first letter in the DO field of the earlier DO statement, and press
Enter.
Example
DO >OND
>OND is restored to its original value, COND, when Enter is pressed (the > character
disappears).
To delete unwanted DO statements, either delete the DO keyword and press Enter or
specify appropriate Line Editing commands in the Edit environment, which is
described in Appendix A, “The CONTROL-M Application Program Interface
(CTMAPI),”
NOTE
DO COND and OUT statements are similar, but not identical. The differences are outlined in
“Differences between OUT and DO COND” on page 435.
■ $$$$ – Any scheduling date. Valid only with opt set to - (Minus)
Note: If a date reference is not specified, the value ODAT is
automatically inserted upon pressing Enter.
General Information
When a DO COND statement is activated, the specified prerequisite conditions are
added to or deleted from the IOA Conditions file according to the value set for opt.
An OUT statement is used to add the prerequisite condition if the job ends OK.
Use a DO COND statement to add the prerequisite condition if the step and code
event criteria specified in the accompanying ON statement are satisfied.
OUT and DO COND statements can also be used to delete prerequisite conditions.
The OUT statement of the job can be used to delete the prerequisite condition after
the job ends OK. A DO COND statement can be used to delete prerequisite conditions
if the accompanying ON step and code criteria are satisfied.
DO COND functions are performed after the functions of the OUT parameter.
IMS-ACTIVE
JOB_PAYCALC_ENDED_OK
TAPE1_LOADED
All prerequisite conditions are associated with a date reference that is used to
distinguish between different runs of the same job with different scheduling dates. If,
for example, a condition is being deleted, only the condition matching the specified
date is deleted. The same condition associated with a different date is not deleted.
When adding or deleting prerequisite conditions, the date associated with the
prerequisite condition can be a specific 4-character date or one of the symbolic dates
described in Table 173.
Specify SHRT in the date reference field to revert back to condition names of standard
length.
NOTE
Long condition names cannot be used in CMEM rule definitions.
■ An OUT statement is applied only if the job ends OK. DO COND statements are
associated with accompanying ON statements and are applied only if the
accompanying ON step and code criteria are satisfied.
■ DO COND statements are processed after OUT statements and can therefore
override OUT statements.
■ MVS restart can only be requested from an OUT statement, not a DO COND
statement.
Example
The following example provides a simplified demonstration of how CONTROL-M
can be used to monitor IMS. Prerequisite conditions, CHANGE-ACCUMULATION
and LOGCLOSE-NEEDED, can be used as IN prerequisite conditions to trigger the
execution of IMS maintenance jobs that depend on those conditions.
Optional. Type CTBRULE in the DO field and press Enter. The DO CTBRULE
subparameters are described in Table 174.
General Information
When DO CTBRULE is specified, balancing is performed by the
CONTROL-M/Analyzer Runtime environment according to the specified rule
definition and using the specified arguments. The CONTROL-M/Analyzer Runtime
environment is invoked once for each DO CTBRULE statement in the job scheduling
definition.
NOTE
If DO CTBRULE is specified under ON PGMST ANYSTEP, the CONTROL-M/Analyzer
Runtime environment is invoked only once.
Example
Optional. Type FORCEJOB in the DO field and press Enter. The DO FORCEJOB
subparameters are described in Table 175.
General Information
The DO FORCEJOB statement schedules jobs under CONTROL-M even if the jobs are
not normally scheduled on the specified date (according to the Basic Scheduling
parameters of the job). It is similar to the FORCE option in the CONTROL-M Rule
List screen or Table List screen.
If the DO FORCEJOB statement specifies a job name belonging to multiple jobs in the
table, the first job in the table with that job name is forced.
Without the DO FORCEJOB statement, emergency jobs and jobs that run in special
circumstances would require daily scheduling or manual forcing (from the Online
facility). By defining appropriate ON criteria and DO FORCEJOB statements,
emergency or other special jobs can be automatically forced when required without
being previously scheduled.
The FORCONCE parameter in the CTMPARM member of the IOA PARM library
may be set to control the behavior of DO FORCEJOB requests during a Restart of a
job.
When a DO FORCEJOB request fails because the scheduling table has been migrated,
the action of CONTROL-M depends on the value of the SCRECALL parameter in the
CTMPARM member.
■ If the value of SCRECALL is N, the scheduling table is not recalled, and the job is
not scheduled. This is the default setting of SCRECALL.
For more information on the SCRECALL parameter, see the customization chapter of
the INCONTROL for z/OS Installation Guide.
Example
On any system or user abend on any step in job PRDKPL01, force emergency job
PRDKPLSP.
Confirmation panel
If the DFJCONF profile variable is set to Y, and the JOB parameter in the DO
FORCEJOB request is blank, a confirmation panel is displayed when exiting the Job
Scheduling Definition screen. The confirmation panel is displayed only once for each
DO FORCEJOB statement.
Enter Y to save the scheduling table and return to the Job List screen, or N to return to
the scheduling table without saving it.
Optional. Type IFRERUN in the DO field and press Enter. The DO IFRERUN
subparameters are described in Table 176.
■ pgmstep – program step within the job stream (see the following
note)
■ pgmstep – Program step within the job stream (see the following
note).
If not specified, the restarted job terminates at the last job step that
would normally be executed.
Note: For both FROM and TO steps, pgmstep is the name of the step
(EXEC statement) that executes the program from which to begin or
end the restart:
procstep is the name of the step (EXEC statement) that invokes the
procedure from which the above pgmstep program is executed:
General Information
When a DO IFRERUN statement is specified, the rerun is performed by the Restart
facility of CONTROL-M/Restart using the specified restart subparameters.
— If a DO RERUN statement does not follow, the job is not automatically rerun.
Instead, the job remains displayed with its error status in the Active
Environment screen.
In this case, to submit the job for rerun or restart, specify option R (Rerun) in the
Active Environment screen. The Rerun (with Restart) Confirmation Window is
displayed. Request the restart or rerun from the window.
§Restart§ For more information about job restart, see “Active Environment Screen”
on page 162.
§Restart§ When a job is submitted for restart, if $FIRST is specified in the FROM
subparameter, a $FIRST step specification is passed “as is” to the CONTROLR step. If
$ABEND or $EXERR is specified, the specified $ABEND or $EXERR value is first
resolved to the appropriate step by the CONTROL-M monitor and then passed to the
CONTROLR step. If $FIRST.$ABEND is specified, the CONTROL-M monitor
determines which procedure abended and then passes the $FIRST step specification
for that procedure to the CONTROLR step. For information regarding the
CONTROLR step, refer to the CONTROL-M/Restart User Guide.
§Restart§ Example
§Restart§ If the job abends on any step, restart (and automatically rerun) the job from
the first abended step.
Optional. Type MAIL in the DO field and press Enter. The DO MAIL subparameters
are described in Table 177.
General Information
The specified e-mail is sent to the specified destinations when the accompanying ON
statement criteria are satisfied. Although e-mail can be sent using a DO SHOUT
statement, the DO MAIL statement provides the following advantages:
■ Using DO MAIL, you can specify any number of TO and CC recipients. With DO
SHOUT, you must specify the mail destination prefix, and you must define the
address in the MAILDEST table.
■ Using DO MAIL, the e-mail text can exceed 70 characters. Both system and user-
defined AutoEdit variables are supported in the subject line and message text.
These variables are resolved when the DO MAIL statement is processed.
NOTE
The resolved value of an AutoEdit variable is truncated after 70 characters.
For information on the use of AutoEdit variables, see Chapter 5, “JCL and AutoEdit Facility.”
Subparameters TO and CC
Each of these parameters can contain more than one mail name address. When a
value is specified in the TO or CC field, a new empty line is displayed so that an
additional value can be specified (up to a maximum of 255 lines).
If an address exceeds the length of a full line, it can be continued on the following
line.
Example
If the job is not run due to a JCL error, send an e-mail to the relevant users:
Optional. Type NOTOK in the DO field and press Enter. DO NOTOK has no
subparameters.
General Information
A DO NOTOK statement can change the status of a job step from OK to NOTOK. This
results in the job having a final termination status of ENDED NOTOK.
The following paragraphs describe the relationship of job step status and the final
termination status of the job.
— By default, any job step ending with a condition code of C0000 through C0004 is
assigned a status of OK, but the INCONTROL administrator can change this.
— If any other condition code, system or user abend code, or user event is
generated, the step is automatically assigned a status of NOTOK.
■ In general, if any of the steps in a job ends with a status of NOTOK, the job is
assigned a final status of ENDED NOTOK. For a job to be assigned a final status of
ENDED OK, each step in the job must be assigned a status of OK.
This logic suits most situations. Do not change it. However, there may be a situation
in which CONTROL-M assigned a step a status of OK, but the status ought to be
changed to NOTOK. Such a situation is described in the following example. The job
ended with a condition code of C0004, but in this particular situation, it is better that
the step have a status of NOTOK and the entire job be assigned a status of ENDED
NOTOK.
DO NOTOK cannot be specified for the same ON step and code event as DO OK.
When a DO NOTOK statement is performed for a step, the final status of the job is
ENDED NOTOK, even if was previously set to ENDED OK.
NOTE
A DO NOTOK statement is ignored if it is specified in an ON PGMST +EVERY statement.
Example
When PROCST UPDA in PGMST STEP06 finishes executing with a condition code of
C0004, it is considered NOTOK.
General Information
A DO OK statement can change the status of a job step from NOTOK to OK. If all
steps of a job have a status of OK the job is assigned a final termination status of
ENDED OK.
The relationship between job step status and the final termination status of the job is
as follows:
After examining the results of a job step, CONTROL-M automatically assigns a status
of OK or NOTOK to the step:
■ By default, any job step ending with a condition code of C0000 through C0004 is
assigned a status of OK, but the INCONTROL administrator can change this.
■ If any other condition code, system or user abend code, or user event is generated,
the step is automatically assigned a status of NOTOK.
In general, if any of the steps in a job ends with a status of NOTOK, the job is assigned
a final status of ENDED NOTOK. For a job to be assigned a final status of ENDED
OK, each step in the job must be assigned a status of OK.
This logic suits most situations. Do not change it. However, there may be a situation
in which CONTROL-M assigned a step a status of NOTOK, but the status ought to be
changed to OK. Several such exceptional situations are described below:
■ The NOTOK status is inappropriate for the job step. For example, a condition code
greater than C0004 was returned for a step that had an acceptable result.
■ The NOTOK status is appropriate for the job step, but the job step is not critical,
and ought not to affect the final job status.
■ User events created using Exit CTMX003 always result in a NOTOK status unless
DO OK is specified.
DO OK cannot be specified for the same ON step and code event as DO NOTOK and
DO RERUN.
Example
When PROCST UPDA in PGMST STEP08 finishes executing with a condition code
less than C0008, it is considered OK.
Optional. Type REMEDY in the DO field and press Enter. The DO REMEDY
subparameters are described in Table 178.
Mandatory
You can use any combination of text and valid AutoEdit variables.
DESC Text, describing the reason for opening a Remedy Helpdesk ticket, of
up to 15 text lines, with a maximum of 1018 characters. Mandatory.
You can use any combination of text and valid AutoEdit variables.
General Information
An e-mail message is sent to the Remedy Helpdesk when the accompanying ON
statement criteria are satisfied. To close the ticket, you must access the Remedy online
service. You can use AutoEdit variables in the SUMM and DESC fields, in any
combination of text and valid AutoEdit variables.
NOTE
The resolved value of an AutoEdit variable is truncated after 70 characters.
For information on the use of AutoEdit variables, see Chapter 5, “JCL and AutoEdit Facility.”
Example
A job did not run due to a JCL error. This causes a Remedy Helpdesk ticket to be
opened.
Optional. Type RERUN in the DO field and press Enter. DO RERUN has no
subparameters.
General Information
The RERUN statement is intended for situations in which a job must be rescheduled
following an unsuccessful job run.
Rerun jobs remain in the Active Jobs file with a status of WAIT SCHEDULE, where
they wait to be submitted like any other job. However, other parameters, such as
CONFIRM and DO IFRERUN, can affect the status of the rerun job order and the
submission and processing of the job:
For information about confirmation, see “Confirm Rerun Window” on page 217 and
“§Restart§Rerun and/or Restart Window (Under CONTROL-M/Restart)” on
page 220.
■ MAXRERUN specifies the maximum number of times the job must be scheduled
for rerun.
■ RERUNMEM specifies the JCL member to be used for the rerun (if different from
the normal JCL member of the job).
DO RERUN cannot be specified for the same ON step and code event as DO OK.
Do not specify DO RERUN for steps that have a specified ON statement code value of
OK.
Do not specify DO RERUN for steps that have a specified ON statement code value of
NOTOK because many of the causes of a NOTOK status, such as JCL not found,
preclude the possibility of a successful job rerun. Instead, specify an ON statement
code value of EXERR to accompany the DO RERUN statement.
When a DO RERUN statement is performed for a job (that is, the accompanying ON
step and code criteria are satisfied), the previously run job is automatically assigned a
final status of ENDED NOTOK, even if the job would have otherwise had a status of
ENDED OK.
Example
If job EF145TS abends during step name COLLECT, try to run another job from
member EF145TSR that continues from the same place.
NOTE
DO SET and SET VAR statements are similar, but not identical. The differences are outlined in
“Differences between DO SET and SET VAR” on page 462.
Optional. Type SET in the DO field and press Enter. The DO SET subparameter is
described in Table 179.
General Information
A major advantage of using AutoEdit variables is that the JCL can be submitted with
different values for different executions without actually changing the JCL.
During job processing, the value is assigned at time of job submission. However, DO
SET is a post-processing statement, which means that before it can be applied, its
accompanying ON criteria must be satisfied in a job run.
Therefore, the DO SET statement is generally useful for supplying local user-defined
variables for cyclic, rerun, or restarted jobs.
When the ON criteria of a DO SET statement that defines a local variable are satisfied
during a job run, CONTROL-M creates a SET VAR statement equivalent to the DO
SET statement (that is, containing the same variable and value) in the subsequent job
run.
At time of job submission, AutoEdit variables in the JCL are resolved in the order in
which they appear in the JCL. By default, if an AutoEdit variable cannot be resolved,
the job is not submitted. This default can be changed using an appropriate
%%RESOLVE AutoEdit control statement.
NOTE
If the JCL contains an AutoEdit variable that is resolved in a subsequent run by a DO SET
statement, the variable must be resolved by some other method, such as a SET VAR statement,
in the original run, or the job is not submitted.
DO SET statements can also be used to define and update Global Variables in the IOA
Global Variable database. The database is updated as part of job post-processing,
when the DO SET statement is processed. For more information on Global Variables,
including Global Variable syntax, see Chapter 5, “JCL and AutoEdit Facility.”
JCL Setup and the AutoEdit facility are described in depth in Chapter 5, “JCL and
AutoEdit Facility.”
■ Local variables in SET VAR statements are always applied before the job is
submitted. DO SET is a post-processing statement that can only be applied after its
accompanying ON step and code criteria are satisfied. This means that a local
value specified in the DO SET statement can only be applied in the next
submission of the job (specifically, for cyclic and rerun or restarted jobs).
■ Global variables specified in a SET VAR statement are defined or updated in the
IOA Global Variable database before job submission. Global variables specified in
a DO SET statement are defined or updated in the IOA Global Variable database as
part of job post-processing
■ The SET VAR statement appears in each job scheduling definition. The DO SET
statement does not appear unless specified. To specify a DO SET statement, type
SET in an empty DO field and press Enter.
■ In the SET VAR statement, the parameter value is specified after the keyword
VAR. In the DO SET statement, the parameter value is specified after the keyword
VAR=.
Example
If the job execution fails on any step due to a system or user abend, resolve the
%%PARM parameter in the JCL to RESTART, restart from the first abended step, and
automatically rerun.
NOTE
DO SHOUT and SHOUT statements are similar, but not identical. The differences are outlined
in “Differences between SHOUT and DO SHOUT” on page 469.
Optional. Type SHOUT in the DO field and press Enter. The DO SHOUT
subparameters are described in Table 180.
= Message text
Maximum length: 70 characters
AutoEdit variables (both system and user-defined) are supported and
automatically resolved (replaced) at the time the SHOUT message is
issued. For AutoEdit usage information, see Chapter 5, “JCL and
AutoEdit Facility.”
General Information
The message is sent to the required destination when the accompanying ON
statement criteria are satisfied.
DO SHOUT statements can also be defined in Group entities, where they are used in
a manner similar to jobs.
The TO Subparameter
Specify TO=USERID-userid to write the message to the IOA Log file under the user
ID specified in the parameter.
Specify TO=OPER[–n] to send the message to the operator console (route code n). If
the n value is omitted, the message is sent to all consoles to which route codes 1 or 11
are assigned. For more detailed information regarding route codes, refer to the IBM
publication Routing and Descriptor Codes, GC38-1102. Optionally, the message can
also be sent to the CONTROL-M/Enterprise Manager user, as described in “Shouting
to CONTROL-M/Enterprise Manager” on page 468.
Specify TO=TSO-id or T-id to send the message to a groupid or logonid. The Shout
facility first searches the IOA Dynamic Destination table for the specified ID. If the
table contains an entry (groupid) that matches the value, the content of the entry is
used as the target for the shouted message. The entire TO field is used. Therefore,
when directing the message to a remote user, do not append Nn or Mm. Instead, do
this in the IOA Dynamic Destination Table itself. For more information, see the
description of the Dynamic Destination Table in the INCONTROL for z/OS
Administrator Guide.
NOTE
When you update the MAILDEST table in the IOA PARM library, ensure that you distinguish
between lower case and upper case characters.
■ a host name
■ an IP address
■ a nickname defined in the SNMPDEST table
■ a group name defined in the SNMPDEST table
For more information about mail destinations, see the INCONTROL for z/OS
Administrator Guide.
3. The following parameters in the IOAPARM member in the IOA PARM library
must be defined according to how messages are targeted to
CONTROL-M/Enterprise Manager:
— If these messages must also be sent to the MVS operator console, the
OPER2CON parameter must also be set to Y (Yes).
— If these messages must not also be sent to the MVS operator console, the
OPER2CON parameter must also be set to N (No).
Such messages are then placed by CONTROL-M in the M2G file. Once the shouted
message is in the M2G file, the CONTROL-M Application Server reads the file and
sends the message to the CONTROL-M/Enterprise Manager user.
In addition, if the destination is USERID-userid (or U-userid), the user can control,
according to urgency, which messages are displayed when the IOA Log file is
accessed. Urgent and very urgent messages are highlighted on the screen. For more
details, see “IOA Log Facility” on page 288
Example
If the job is not run because of a JCL error, notify the user who sent the job.
General Information
DO STOPCYCL is intended for use with all cyclic tasks (cyclic job, cyclic STC,
emergency cyclic job and emergency cyclic STC). It interrupts a job cycle after the
current run, so that once the job completes its current run, it does not run again. This
parameter does not change the status (OK or NOTOK) assigned to job during the last
cycle.
Example
If cyclic job SACALCO1 finishes with a status of NOTOK, the STOPCYCL parameter
interrupts the cycle.
NOTE
DO SYSOUT and SYSOUT statements are similar, but not identical. The differences are
outlined below in “Differences between SYSOUT and DO SYSOUT” on page 478."
Optional. Type the word SYSOUT in the DO field and press Enter. The DO SYSOUT
subparameters are described in Table 181.
PRM Relevant sysout data. Mandatory and valid only if the specified OPT
value is F, C or N. Valid values depend on the OPT value, as follows:
■ F – File name.
■ C – New class (1 character). An asterisk (*) indicates the original
MSGCLASS of the job.
■ N – New destination (1 through 8 characters).
FRM FROM class. Optional. Limits the sysout handling operation to only
sysouts from the specified class.
Note: If a FROM class is not specified, all sysout classes are treated as
a single, whole unit.
General Information
The CONTROL-M monitor, unless otherwise instructed, leaves the job sysout in
HELD class in the output queue.
The CONTROL-M monitor sends all sysout handling requests to JES, which
processes the instructions. If, however, the copying of sysouts to a file is requested
(option F), CONTROL-M requests the sysouts from JES and then CONTROL-M
directly writes the sysouts to the file.
Since only one SYSOUT statement can be defined in a job scheduling definition, DO
SYSOUT statements can be used, as follows, to specify additional sysout handling
instructions when the job ends OK:
■ To define DO SYSOUT statements that operate like a SYSOUT statement (that is,
that operate only when the job ends OK), define their accompanying ON statement
with PGMST value ANYSTEP and code value OK.
The sysouts of the job are copied (not moved) to the file specified in the data
subparameter.
The file name specified in the data subparameter can contain AutoEdit System
variables, and user-defined AutoEdit variables that are defined in the job
scheduling definition or the IOA Global Variable database, or are loaded into
AutoEdit cache. If the AutoEdit variables cannot be resolved, the sysout is not
copied.
The sysouts of the job are deleted (purged) from the output queue.
NOTE
This operation works on all sysouts under JES2 or JES3 (regardless of held status or class)
unless otherwise restricted by the FRM subparameter.
The sysouts of the job are changed to the output class specified in the data
subparameter. Ensure that you specify a meaningful target output class.
— Changing a sysout class to a non-held class does not release the sysout because
the sysout attributes do not change (due to JES logic).
To ensure that the sysout is released, use DO SYSOUT statements to release the
sysout after changing its class. For example:
— Changing a sysout class to a dummy class does not purge the sysout because the
sysout attributes do not change (due to JES logic).
The sysouts of the job are moved to the output destination specified in the data
subparameter. Ensure that you specify a meaningful target output destination.
CONTROL-M merges different operations for the same FROM class into a combined
instruction to JES. Likewise, CONTROL-M merges different operations without a
FROM class into a combined instruction to JES.
Operations without a specified FROM class treat the entire held sysout as a whole
unit, and are therefore not merged with sysout handling requests for a specific FROM
class.
JES does not necessarily process multiple sysout handling instructions in the order
they are issued by CONTROL-M. Therefore, the processing results can vary if the
merged instructions to JES include both FRM equals a specified class and FRM equals
blank.
BMC Software therefore recommends that you do not include in a job scheduling
definition both “FROM class” and “no FROM class” sysout handling instructions that
become operational under the same situations.
After performing all copy to file operations, CONTROL-M merges all operations
performed on a specific FROM class.
CONTROL-M then passes the merged sets of instructions to JES for processing.
The following chart and the accompanying numbered explanations indicate the result
of merging multiple DO SYSOUT statements. Note the following points about the
chart:
■ Operations are indicated by their symbols (F,D,R,C,N), at the top and side of the
chart. The operations at the top of the chart represent DO SYSOUT operations. The
operations at the side of the chart represent SYSOUT or DO SYSOUT operations.
NOTE
For information about merging a SYSOUT and a DO SYSOUT statement, see “Operation
Merging and Performance” on page 476.
1. DO SYSOUT=F
2. DO SYSOUT=D (Delete)
This operation supersedes all other DO SYSOUT operations (except copy to file
operations described above). Superseded operations are ignored, that is, they are
not performed.
In general, combinations of R, C, and N requests are merged, that is, they are all
performed. The exceptional cases indicated in the chart are described below:
■ The SYSOUT statement is applied only if the job ends OK. DO SYSOUT statements
are associated with accompanying ON statements and are applied only if the
accompanying ON step and code criteria are satisfied.
■ Only one SYSOUT statement can be defined in the job scheduling definition. An
unlimited number of DO SYSOUT statements can be requested.
Examples
Example 1
If a job finishes executing OK, delete (purge) the sysout (DO SYSOUT OP D). If the
job finishes executing with condition code 0050-0059 in step STEP02, set the end
status of the job to OK and release the sysout for printing. If the job abends, move the
sysout to class D.
The MSGCLASS of the job is X (a held class). Reports are produced in class D. The
desired actions are:
■ Archive the JCL messages and all the held output in class X, that is, the SYSPRINT
data sets, job log, and so on.
■ If the job finishes executing OK, release the reports for print and delete the
MSGCLASS sysouts.
■ If the job finishes executing NOTOK, delete the reports and keep the MSGCLASS
(JCL, job log, and so on) output in hold status.
Notice the use of the AutoEdit symbols in the name of the file to be archived. The
symbol %%JOBNAME, or %%$MEMNAME if the job name is not known, is replaced
with the job name, %%ODATE by the original scheduling date, and so on, producing
a file name such as “PRD.PADD0040.D010306.N01342.T170843.”
The file can be viewed by using ISPF Browse. A list of the outputs of the job can be
produced using ISPF option 3.4. For example, retrieval by the prefix
“PRD.PAPD0040.D0103” lists all the names of the sysouts of the job in the month of
March 2001. It is possible to browse, edit, and print the desired sysout.
NOTE
The File operation (sysout archival) is intended for small sysouts (such as JCL, sort messages)
and not for large volume reports. When the CONTROL-M monitor is performing file
operations, it does not analyze the results of other jobs. Therefore, if large files are archived,
production throughput may suffer.
Optional. Upon filling in a DOC line with text and pressing Enter, a new DOC line is
opened for specifying additional documentation text.
General Information
DOC lines are used for specifying job documentation.
Upon entry to the job scheduling definition, DOC lines are displayed only if the value
Y was specified in field SHOW JOB DOCUMENTATION in the Scheduling
Definition Facility entry panel.
Command DOC can be used in the job scheduling definition to toggle between the
display and non display of job documentation.
The information specified in the DOC lines is saved in the member and library
specified in the DOCMEM and DOCLIB parameters. This member can also be edited
directly by ISPF edit.
When modifying DOC lines in the job scheduling definition, text must be left in at
least one DOC line in order to save the modifications. Changes resulting in an empty
DOCMEM member are not saved when exiting the job scheduling definition.
For more information regarding job documentation, including the saving of job
documentation changes, see “Job Documentation” on page 143.
Example
The steps performed by the L-file backup job are documented in the DOC lines.
Optional. The DOCLIB parameter identifies a valid data set name of 1 through 44
characters. The default is either defined at time of installation or is blank.
General Information
The library can be any standard partitioned data set. The record length must be 80.
Any number of documentation libraries can be used at a site. However, only one
documentation library can be specified in each job scheduling definition.
NOTE
Users with DOCU/TEXT installed at their sites can specify a DOCU/TEXT library and
member with up to 132 characters per line. However, if more than the first 71 characters in a
line are used, the line is truncated and Browse mode is forced. Browse mode is also forced if a
line contains an unprintable character. Changes to the documentation are not permitted in
Browse mode.
Example
Job documentation is written to the PRDKPL01 member in the CTM.PROD.DOC
library.
General Information
DOCMEM identifies a member that is in the library identified by the DOCLIB
parameter. This member is used to save detailed documentation written in the DOC
lines of the Job Scheduling Definition screen (or Zoom screen).
When you enter the Job Scheduling Definition screen for the first time, DOCMEM
defaults to the value of MEMNAME. You can change this value, but it is
recommended that you not do so.
NOTE
Users with DOCU/TEXT installed at their sites can specify a DOCU/TEXT library and
member with up to 132 characters per line. However, if more than the first 71 characters in a
line are used, the line is truncated and Browse mode is forced. Browse mode is also forced if a
line contains an unprintable character. Changes to the documentation are not permitted in
Browse mode.
Example
Job documentation is written to member PRDKPL01 in the library CTM.PROD.DOC.
Optional.
The format for the DUE OUT TIME parameter is hhmm, where:
If the DUE OUT DAYS parameter is entered, the value must be a number between
zero and 120. This is the relative number of days by which the job must finish
execution. For example, assume that the ODATE is September 5, DUE OUT TIME is
17:00, and DUE OUT DAYS is 2. This means that the job must finish executing by
CONTROL-M working date of September 7 at 17:00.
General Information
The DUE OUT parameters are used to specify the date and time by which the job
must finish executing.
When specified in a group entity, the DUE OUT parameters are used to specify the
date and time by which all the jobs contained in the group must finish executing.
When two jobs with the same priority are available for submission, CONTROL-M
submits the job with the earlier DUE OUT date and time first.
When a DUE OUT date and time is specified, the CONTROL-M monitor can calculate
a DUE IN date and time for the job.
The DUE IN date and time are the recommended date and time by which the job
must be submitted in order to finish executing by the DUE OUT date and time.
If the DUEINCHK parameter in the CTMPARM member in the IOA PARM library
has been set to No, the job is always submitted, no matter what values are present in
the DUE IN date and time.
If the DUEINCHK parameter in the CTMPARM member in the IOA PARM library
has been set to Yes, job submission depends on the DUE IN date and time:
■ If the DUE IN date of a job has passed, the job is never submitted.
■ If the DUE IN date is not present, and the DUE IN time has passed, the job must
wait until the next day to be submitted.
To calculate the DUE IN time, the CONTROL-M monitor subtracts the anticipated
elapse time of the job from the DUE OUT time. The anticipated elapse time is the
average of the execution times of the job recorded in the CONTROL-M Statistics file.
■ If, when you move forward on the physical clock from the New Day Processing
time, you arrive at the DUE OUT TIME before you arrive at the DUE IN time, it
means that New Day processing falls between the DUE IN TIME and the DUE
OUT TIME. In this case, one day is subtracted from the DUE IN DATE.
If DUE OUT TIME is not specified, the default DUE OUT TIME is the last minute of
the working day.
Automatic adjustment of DUE OUT date and time can be requested from the Job
Dependency Network screen.
For more information, see “Automatic Job Flow Adjustment” on page 74, and “Job
Dependency Network Screen” on page 234. For an explanation of how DUE OUT
affects job submission in the QUIESCE command, see the description of setting a
planned shutdown time in the INCONTROL for z/OS Administrator Guide.
Please note that when specifying a DUE OUT date, the correct MAXWAIT parameter
value must be specified. For details, see “MAXWAIT: Basic Scheduling Parameter”
on page 514.
Example
Job DISKLOG2 must finish execution by 6:00 A.M., two days from today.
In jobs in a Group scheduling table, the field is protected and contains the GROUP
name specified in the Group Entity.
■ By default, the parameter is optional for jobs in regular scheduling tables, but this
can be modified in the user profile. The same value does not have to be specified
for all jobs in the table.
General Information
The way in which the GROUP parameter is applied depends on the type of
scheduling table in which the job scheduling definitions appear:
■ In a Group scheduling table, the parameter affects job scheduling as well as the
retrieval and display of information.
■ In a regular scheduling table, the parameter affects the retrieval and display of
information. It does not affect job scheduling.
Jobs in a Group scheduling table cannot be individually ordered. Jobs in this type of
table can only be ordered as a group, though they can be individually forced.
Before jobs in the Group scheduling table can be scheduled, a group must be eligible
for scheduling, meaning that a set of basic scheduling criteria in the Group Entity
must be satisfied.
For more information, see “Handling of Job Groups” on page 68 and page 110, and
“Scheduling Jobs in Group Scheduling Tables” on page 376.
For example, display of information in the Active Environment screen can be limited
to jobs belonging to a specific group.
The group name appears in all important messages relating to the jobs in the group.
NOTE
BMC Software recommends the use of the GROUP parameter in all job scheduling definitions
to facilitate implementation of CONTROL-M/Enterprise Manager functions. For more
information, see the CONTROL-M/Enterprise Manager User Guide.
Example
Job OPERCOMP (in a regular scheduling table) belongs to the MAINTENANCE
group.
Optional. Valid values are: any 2-digit number in the range of 00-98, or 99.
General Information
The GRP MAXWAIT parameter enables the Group Entity to remain in the Active Jobs
file for the specified number of days beyond the original scheduling date if the Group
Entity did not receive an ENDED OK status.
This parameter is relevant only when there are no jobs belonging to the Group Entity
in the Active Jobs file. As long as a job belonging to the Group Entity is still in the
Active Jobs file, the Group Entity remains in the Active Jobs file regardless of the
value in the GRP MAXWAIT field.
For more information, see “MAXWAIT: Basic Scheduling Parameter” on page 514.
Example
If the original scheduling date of the Group Entity has passed, give it an extra three
days to receive a status of ENDED OK.
General Information
A job cannot be submitted unless all the prerequisite condition criteria specified in
the IN statements have been satisfied.
— An OUT statement adds the prerequisite condition if the job ends OK.
— The DO COND statement adds the prerequisite condition if the step and code
event criteria specified in the accompanying ON statement are satisfied.
OUT and DO COND statements can also be used to delete prerequisite conditions
that are no longer needed. If an IN prerequisite condition for a job is not an IN
prerequisite condition for any other job, you can use the OUT statement of the job to
delete the prerequisite condition after the job ends OK.
IMS-ACTIVE
JOB_PAYCALC_ENDED_OK
TAPE1_LOADED
All prerequisite conditions are created with a date reference. When specifying a
prerequisite condition as an IN condition, you must specify the date for the condition.
Only a prerequisite condition with the specified date can satisfy the IN requirement.
Specify SHRT in the date reference field to revert back to condition names of standard
length.
NOTE
Long condition names cannot be used in CMEM rule definitions.
Where there are multiple IN condition definitions, they are not independent
parameters, as might at first appear. CONTROL-M takes them together and treats
them as a logical expression consisting of a series of connected terms, which appear
as condition names.
CONTROL-M resolves every such condition to a value of “True” or “False,” and then
evaluates the whole expression, using the logical operators which may have been
specified as part of each condition name. The run-time criteria for prerequisite IN
conditions are only satisfied if the overall value of the expression is calculated as
“True”. A condition name is evaluated as “True” if the name of that condition
appears in the IOA Conditions file.
Conditions may be added to or deleted from the IOA Conditions file automatically or
manually. Some typical means of adding and/or deleting conditions are:
The following types of logical operator can be used to connect condition names:
■ unitary
■ binary
■ group
NOTE
These operators are not referred to as “Boolean”, because the rules of these operators do not
follow formal Boolean logic, as shown in the following paragraphs. Logical operators are the
first physical characters in condition names, but they are not part of the condition name.
Operators: Unitary
The logical NOT is the only unitary operator. It is represented in the condition name
by the symbol ¬ (Hex 5f) or \ (Hex e0). Conditions that have this type of symbol
associated with them are called “inverted” conditions. An inverted condition is only
“True” if that condition does not exist on the IOA Conditions File.
Operators: Binary
The following are the binary operators:
■ logical AND
This is implicit, and has no explicit representation in the condition name.
■ all conditions connected by the logical OR must specify the OR symbol in their
condition name
A |B
must not be specified because their meaning is unclear, even though they will not
be syntactically rejected. In reality, because condition name A does not have an OR
symbol attached to it, no logical OR connection exists between A and B, and the
OR symbol attached to condition name B is ignored. The correct way to specify
“Condition A OR Condition B” is
(|A |B)
■ all condition names that specify an OR symbol are processed first, before those
specifying an AND symbol
This has the effect of creating implicit parentheses among the terms of the
expression (explained under “Operators: Group” below); the terms of the
expression may also be rearranged.
|B |C D |E
( |B |C |E ) D
Operators: Group
The group operator is the pair of parentheses, Open, represented by the symbol ( ,
and Close, represented by the symbol ) . These must always appear in matched pairs.
Parentheses affect the order in which the other logical operators are applied to the
terms of the expression. Always specify parentheses when coding an expression that
contains different logical operators, to ensure that the terms are combined in the way
you want.
As in standard logic (de Morgan’s Rules), the following expressions express logical
equivalence:
A ¬ A is always “False”.
Example
IN |A B
¬C |¬D
|(¬E F)
IN Parameter Examples
The following are examples of the IN parameter.
Example 1
Schedule the job that produces the salary statistics report for top management when
the set of jobs that calculates the salaries finishes OK.
When the set of jobs that calculates the salaries finishes OK, it creates the prerequisite
condition SALARY-OK.
The report is produced twice a month, for the 1st and for the 15th. The report for the
15th is produced only if the prerequisite condition for the 15th, SALARY-OK, exists,
signifying that the salary job for the 15th ended OK. The existence of the prerequisite
condition for the 1st, SALARY-OK, does not cause submission of the report for the
15th.
Example 2
This example is similar to Example 1. A monthly total report must be produced based
on data from the last two runs, and the job must run when IMS is active.
Example 3
Assume that there is a group of jobs that runs every day of the week except Saturday
and Sunday. It is very important that some of the jobs scheduled for the different
days of the week do not run simultaneously. The order of these jobs must be
maintained even if there are delays.
The job is submitted only if the prerequisite condition DEPOSITS of the previous
schedule date exists. The prerequisite condition DEPOSITS is created only after the
group of jobs called DEPOSITS finishes.
Example 4
This report must run after the database has been updated by either of two jobs,
EBDUPDT2 or EBDUPDT3, but only if IMS is active.
This job is submitted only if IMS is active and if job EBDUPDT2 (or EBDUPDT3)
finished executing.
Example 5
CONTROL
RESOURCE INIT 0001 CART 0001
COMMANDS: EDIT, DOC, PLAN, JOBSTAT 11.17.00
Example 6
The following example provides a further explanation of the concept of the schedule
date reference:
Today is the 15th September. The date reference values resolved in this job are
written in mmdd date format:
■ Y – Submit the defined JCL statements as the JCL for the job
■ N – Use the JCL in the member identified in the MEMLIB parameter (default)
Under the INSTREAM JCL field is an empty line in which you can type a JCL
statement. No JCL statement can contain more than 72 characters, including spaces.
When you press Enter, a new line is opened in which another JCL statement can be
typed.
You can enter up to 50 lines of JCL statements. The contents of these lines can be
edited subsequently.
When the INSTREAM JCL parameter is set to Y, the library and member specified in
the job definition are ignored.
General Information
Prior to version 6.2.00 of CONTROL-M for z/OS, user-defined JCL that was to be run
in the course of the execution of a job had to be defined in a JCL library.
The INSTREAM JCL parameter enables you to include JCL that is to be run in the
course of the execution of a job within the definition of the job itself.
When the job is ordered or forced, any JCL defined using the INSTREAM JCL
parameter resides in the Active Jobs file. The content of the JCL statements can then
be modified by means of the Zoom and Save commands.
JCL that has been defined using the INSTREAM JCL parameter is processed by
submit-related user exits, such as CTMX002, in the same way as JCL retrieved
through the MEMLIB and MEMNAME parameters.
■ STRT – Begin measuring the interval before the next cycle of the
job from the actual start of the current job run.
■ END – Begin measuring the interval before the next cycle of the
job from the end of the current job run. Default.
■ TRGT – Begin measuring the interval before the next cycle of the
job from when the current job run is scheduled.
General Information
The INTERVAL parameter defines a minimum interval between automatic reruns or
cyclic runs of the same job.
Once the job has run, the CONTROL-M Monitor does not rerun or resubmit the job
unless both the following conditions are satisfied:
■ all runtime submission criteria, such as resources, conditions, and so on, are
satisfied
The FROM subparameter specifies the point from which the interval is measured.
The values set for this subparameter have the following effects:
■ If STRT is specified, the interval is measured from the start time of the previous
run.
■ If END is specified, the interval is measured from the time the previous run ended.
■ If TRGT is specified, the interval is measured from the scheduling time of the
current job run.
If no value was specified in the TIME FROM parameter, the interval is measured
from the time the CONTROL-M Monitor scheduled the current job run.
For more information about the TIME FROM parameter, see “TIME + DAYS:
Runtime Scheduling Parameter” on page 657.
A job’s INTERVAL parameter is ignored when performing a Rerun (R) command for
a job in screen 3.
Example
A backup for an ADABAS database failed because the database was being used by
another user. Backups are tried every 15 minutes after the job ends, to a maximum of
nine attempts.
Optional. Valid values are: 0 through 255. Default: 0 (no automatic reruns).
General Information
When a job is first run, the MAXRERUN field in the Active environment, that is, in
the Zoom screen, contains the same value as the MAXRERUN parameter in the job
scheduling definition. However, in the Active environment MAXRERUN works as a
“reverse-counter” of automatic reruns. Each time the job is automatically rerun, the
value is decreased by one until the field contains a value of zero.
1. The CONTROL-M monitor determines that automatic rerun is possible only if the
job ENDS NOTOK and a specified DO RERUN statement is activated during
post-processing. If the monitor determines that automatic rerun is possible, it sets
the status of the job to ENDED NOTOK – RERUN NEEDED.
2. The monitor then checks the value of MAXRERUN in the Active environment. If
the value is zero, automatic rerun is not possible and the job is not submitted for
rerun. If the value is greater than zero, rerun is possible and the monitor submits
the job for rerun when all runtime criteria are satisfied. Runtime criteria include
not only criteria in the Runtime Scheduling parameters, but also the INTERVAL
parameter, which specifies the minimum allowable interval between runs of the
same job.
3. The JCL for the rerun job is taken from the member specified in the RERUNMEM
parameter. If no RERUNMEM value is specified, the JCL for the rerun is taken
from the regular JCL member of the job that is specified in the MEMNAME
parameter.
Examples
Example 1
A tape I/O error occurred. Try two more times. If there are two more failures,
terminate:
Example 2
When a job abends for any reason, try to restart it two more times (at the abended
step).
Optional. Valid values are: any 2-digit number in the range from 00 through 98, or 99.
General Information
The MAXWAIT parameter is used to overcome the problem of delays in production.
A job that is scheduled for execution on a specific day does not always get executed
that same day. This can be due to a number of reasons, such as hardware failure or a
heavy production workload. Therefore, it may be desirable to specify an additional
number of days that the job must remain in the Active Jobs file awaiting execution.
When a job cannot be submitted for execution within the specified time limits, an
appropriate message is written to the IOA Log file, and the job is deleted from the
Active Jobs file.
Jobs scheduled as a result of a Y value in the RETRO parameter are always given at
least one day within which to execute, even if the MAXWAIT parameter indicates
that they must no longer be in the Active Jobs file. This occurs when the current
working date exceeds the original scheduling date (ODATE) by more than the
number of days specified in the MAXWAIT parameter on the day the job is scheduled
by RETRO=Y. For more information, see “RETRO: Basic Scheduling Parameter” on
page 605.
Emergency jobs not belonging to a group are discarded if their specified MAXWAIT
periods have passed. An emergency job that belongs to a specific group (specified in
the GROUP parameter) and whose MAXWAIT period has not passed is not deleted
from the Active Jobs file until all of the regular jobs that belong to the same group
have finished executing. This is in case the job is needed at a later stage.
If the DUE OUT DAYS parameter is specified, the job must stay on the Active Jobs file
for the number of days specified in the DAYS parameter. The value of MAXWAIT
must be specified accordingly.
If the TIME + DAYS' FROM DAYS/TO DAYS parameters are specified, the job is not
deleted when the MAXWAIT is reached. The calculation of how long the job will stay
on the Active Jobs File is as follows:
For jobs containing a time zone later than the local CONTROL-M time, one day is
added to MAXWAIT so that the job will stay one additional day on the Active Jobs
file.
■ If a job in a group is forced, the MAXWAIT value is determined by the value of the
MAXWAIT parameter in the job scheduling definition, regardless of the value of
the TAGMAXWT parameter.
Examples
Example 1
If the original scheduling date of the job has passed, give the job an extra three days to
be submitted.
Assume that the job does not run due to the absence of the required runtime
resources. The job that is scheduled for the 2nd of the month can wait from the 2nd
through the 5th to be executed.
On the 6th, the MAXWAIT period expires and the job scheduled for the 2nd is not
executed. The jobs scheduled for the 4th and 6th wait for execution until the 7th and
9th.
Example 2
The job can wait for execution indefinitely, until the runtime requirements for the job
are satisfied:
MAXWAIT 99
Example 3
Schedule the job for every working day, even if the computer is not active. Give the
job an extra day in which to be submitted.
Assume that calendar WORKDAYS, specified in the DCAL parameter, contains the
values 15, 16, 18, and 19. The computer was offline from the 16th up to and including
the 18th, and the 15th was the last date that the job was scheduled for execution.
Today is the 19th. The job is scheduled three times with the different original
scheduling dates of the 16th, 18th and 19th.
The jobs on the 16th and 18th are disregarded on the 20th if they have not yet
executed. The job on the 19th is disregarded only on the 21st.
Example 4
Schedule the job for every working day, even if the computer is not active. If it does
not execute within the scheduled day, remove it from the Active Job file:
MAXWAIT 00
Valid values are a valid data set name of 1 through 44 characters, or one of the
reserved values shown in Table 188.
Any of the formats shown in Table 189 can be used for the MEMLIB value.
Under JES2:
Under JES3
■ Lname – Where name is the logical JES name of the machine, that
is, the name as used in the JES3 command *T, not the SMF system
ID.
General Information
Whether the job scheduling definition applies to a job, warning messages, or a started
task is determined by the values defined in the TASKTYPE parameter, which is
described in “TASKTYPE: General Job Parameter” on page 652.
AutoEdit variables can be specified and are resolved. Even the machine ID, which is
relevant for started task initiation, can be automatically replaced based on resource
allocation. For more information, see Chapter 5, “JCL and AutoEdit Facility.”
The library and the member do not have to exist when the job production parameters
are defined. Their existence is checked by CONTROL-M before actual submission of
the job.
If, during the access to a library by CONTROL-M (before submission), the library is
held exclusively by another user, such as a TSO user or job, the monitor tries to access
the library every few seconds until the library is released and the job can be
submitted. If the library is migrated, for example, through HSM, CONTROL-M
remains in a WAIT state until the library is recalled.
Use of the library name DUMMY is intended for scheduling events, for example,
adding a prerequisite condition without actually running the job. If the library name
DUMMY is used, the job is not submitted; submission and sysout checking are
skipped. In this case, the job is assumed to have ended OK (ON PGMST...DO
processing is not performed), and Post-Processing parameters associated with an
ENDED OK status are activated (OUT, SHOUT WHEN OK).
■ The job is submitted from the library referenced by the DALIB DD statement of the
CONTROL-M procedure. This library must be a partitioned data set or a
concatenation of partitioned data sets.
■ The standard ISPF Editor cannot process more than four concatenated libraries.
The editor saves the edited member in the first library in the concatenation.
■ The prefix USER= must be specified when a special type of user library is used.
When using this prefix, the member is not read by CONTROL-M using the normal
mechanism. Instead CONTROL-M submission Exit CTMX002 must be coded to
handle access and submission of the library and member. In such cases, the
CONTROL-M monitor ignores the data specified in the MEMLIB/MEMNAME
parameters; however, the substring following the USER= may be used by the exit.
For examples of the exit, see the IOA SAMPEXIT library.
When specifying option J (JCL) in the Job List screen or the Active Environment
screen in order to edit the JCL member, CONTROL-M must determine which library
(MEMLIB or OVERLIB) to use.
NOTE
The algorithm for this decision is described in “Editing A Member through The J (JCL)
Option” on page 571.
Examples
Example 1
Submit the job from the IMSBKUP member in the SYS2.IMS.JOB library:
MEMNAME IMSBKUP
MEMLIB SYS2.IMS.JOB
Example 2
Activate started task COLCTSMF in the computer where the CONTROL-M monitor
is operating:
MEMNAME COLCTSMF
MEMLIB *,DATE=%%ODATE
S COLCTSMF,DATE=000905
Example 3
Activate started task GTF in the computer in which the CONTROL-M monitor is
operating; task ID is G01:
MEMNAME GTF
MEMLIB *.G01
S GTF.G01
Example 4
MEMNAME COLCTSMF
MEMLIB N1,DATE=%%ODATE
Example 5
MEMNAME COLCTSMF
MEMLIB N1M1,DATE=%%ODATE
Example 6
The JCL for the job OPERCOMP is stored in the library CTM.MOD.JCL.
Example 7
MEMNAME STAMSTC
MEMLIB M2.IDNTFIER
$M2;S STAMSTC.IDNTFIER
NOTE
For a Group Entity, this parameter has a different meaning, which is explained in “For a
Group Entity” on page 526.
For more information, see “MEMLIB: General Job Parameter” on page 519.
NOTE
CONTROL-M does not support members that have been compressed using the ISPF PACK
option.
General Information
The MEMNAME parameter identifies a member whose contents are determined by
the task type of the job scheduling definition. For more information, see “TASKTYPE:
General Job Parameter” on page 652.
■ If TASKTYPE contains the value JOB, CYC, EMR or ECJ, the job scheduling
definition is defined for a job and the MEMNAME parameter identifies the
member that contains the JCL of the job.
■ If TASKTYPE contains the value STC, CST, EST or ECS, the job scheduling
definition is defined for a started task and the MEMNAME parameter identifies
the member that contains the started task procedure.
■ If TASKTYPE contains the value WRN, the job scheduling definition is defined for
warning messages and the MEMNAME parameter identifies the member that
contains the warning messages.
For a Job
The member name may be the same as or different than the job name.
The member can contain the JCL of more than one job. By default, CONTROL-M
processes only the first job in the member. If, however, the MULTJOBS parameter in
the CTMPARM member in the IOA PARM library is set to Y (Yes), CONTROL-M
submits all the jobs in the member, but still only monitors the execution and results of
the first job in the member. Therefore, BMC Software recommends that each member
contain the JCL of only one job.
In a Group Entity, the MEMNAME parameter does not indicate a member name.
Instead, MEMNAME is used for descriptive purposes in certain screens, such as in
the NAME field of the Active Environment screen.
Example
The JCL for job OPERCOMP is located in the OPERCOMP member in the library
CTM.PROD.JCL.
The MINIMUM parameter cannot be used with the DAYS, WDAYS, MONTHS,
CONFCAL, RETRO and DATES parameters.
General Information
The MINIMUM and PDS parameters are always used together and are never used
with other Basic Scheduling parameters.
The PDS parameter identifies a library, and the MINIMUM parameter specifies the
minimum number of free tracks required by that library.
These parameters are intended for use (that is, definition) in jobs and started tasks
that compress, clean and/or enlarge libraries, or which issue a warning message to
the IOA Log file (that is, if TASKTYPE=WRN) if the minimum number of free tracks
is not available.
If the MINIMUM and PDS parameters are defined for a job, the scheduling of the job
is not related to or dependent upon any date criteria. Instead, the job is scheduled if
the actual number of free tracks available in the specified library is below the
specified minimum at time of daily job ordering. The job or started task can then
compress, clean, or enlarge the library (or issue the appropriate warning).
NOTE
MINIMUM does not work with PDSE-type libraries because they always appear to be 100
percent full. MINIMUM only checks current extents.
Examples
Example 1
Schedule the job when there are less than 20 unused tracks in the library
ALL.PARMLIB.
Example 2
Send a warning message when there are less than 50 unused tracks in the library
USER.LIBRARY:
Optional. The months in the year are represented by the numbers 1 through 12. A
value can be specified for each month. Valid values are:
General Information
In general, the job is scheduled for execution only during the months in which a value
of Y is specified. There are certain exceptions that are noted below.
The MONTHS parameter cannot be used with the PDS and MINIMUM parameters.
If values are set for both the MONTHS parameter and the DATES parameter, the
MONTHS parameter setting is ignored.
When the MONTHS parameter is used, at least one of the following must be
specified: DAYS, DCAL, WDAYS or WCAL. When specified with one of these
parameters, the MONTHS parameter works as a filter to limit the job schedule.
A job can be scheduled in a month not specified as a working month if a greater than
or less than qualifier in the DAYS specification shifts the scheduling out of the current
month, and the month to which it shifts is a non-scheduled month, the job is
nevertheless scheduled in that non-scheduled month.
Example
If the values of the DAYS parameter >31, the MONTHS parameter indicates
JANUARY and MARCH (but not FEBRUARY).
The associated calendar has all days except JANUARY 31 as working days.
Examples
Example 1
Example 2
NJE NODE specifies a node name of 1 through 8 characters. Only trailing blanks are
allowed.
General Information
The NJE NODE parameter is used to identify the node in the JES network at which
the job is to execute.
If a value is specified for the NJE NODE parameter, a JCL statement is generated. The
precise form of the statement depends on whether CONTROL-M is running under
JES2 or JES3.
If the task type is a started task, NJE NODE is protected. If the task type is changed
from a job to a started task, NJE NODE is erased and protected.
Under JES2
If CONTROL-M is running under JES2, the NJE NODE parameter generates the
following JCL statement:
Under JES3
If CONTROL-M is running under JES3, the JCL statement generated by the NJE
NODE parameter differs slightly, taking the following form:
Note that if a JES3 NJB job statement is not present in the job, the //*ROUTE XEQ
JCL statement is not generated.
If a value is specified for the NJE NODE parameter, it will not override any node
name specified in the job statement unless the OVERJCLM parameter in the
CTMPARM library is set to Y.
Examples
Example 1
DESC
OVERLIB STAT CAL
SCHENV SYSTEM ID NJE NODE OS35
Example 2
DESC
OVERLIB STAT CAL
SCHENV SYSTEM ID NJE NODE OS35
The types of ON statement are described in Table 191. Each type is discussed in detail
in this chapter.
General Information
ON statements are usually, but not necessarily, followed by user-specified DO
actions. The implied relationship between ON statements and associated DO
statements is: if ON statement criteria are satisfied, perform the associated DO
statement actions.
For more information, see the topic, “Multiple ON Statements and ON Blocks,” under
the relevant ON statement type.
General Information
The ON GROUP-END parameter enables specification of DO statements to be
performed when the processing of the group ends with the indicated status.
By default, if not all jobs in the group ended OK, the DO statements accompanying an
ON GROUP-END NOTOK parameter are performed. This applies if at least one job
ended NOTOK, and it can also apply if a job in the group was deleted and all
remaining jobs in the group ended OK. However, if the GRPDELJB parameter in the
CTMPARM member in the IOA PARM library is set to Y (Yes), deleted jobs are not
considered, and status END NOTOK applies only if at least one job ended NOTOK.
If the job that ended NOTOK is subsequently successfully rerun, so that the
termination status of the group changes to OK, the DO statements accompanying an
ON GROUP-END OK parameter are then performed.
■ DO COND
■ DO FORCEJOB
■ DO NOTOK
■ DO OK
■ DO SET
■ DO SHOUT
■ DO MAIL
DO OK or DO NOTOK statements change the final status of the group, not the status
of each job or job step in the table.
Use of the ON GROUP-END parameter in the Group Entity can frequently reduce the
number of individual DO statements that would otherwise require definition in
individual job scheduling definitions.
For example, suppose that following the processing of the group, you want to force a
particular job if any of the jobs in the group ENDED NOTOK.
— In the table, define an additional job to be performed after the other jobs in the
table have terminated. This job would have as an IN condition the condition
added by the jobs that ended NOTOK, and would trigger the appropriate job.
Example
If a job in the Group scheduling table ACCOUNTS_GROUP ended NOTOK, add
condition ACCTS-CHK-REQUIRED.
Confirmation panel
If the DFJCONF profile variable is set to Y, and the JOB parameter in the DO
FORCEJOB request is blank, a confirmation panel is displayed when exiting the Job
Scheduling Definition screen. The confirmation panel is displayed only once for each
DO FORCEJOB statement.
Enter Y to save the scheduling table and return to the Job List screen, or N to return to
the scheduling table without saving it.
For more information, see “STEP RANGE: Post–Processing Parameter” on page 639.
For example, to process the step name *OMVTEX, use the following:
STEP RANGE ONESTEP FR (PRM.PROC) *OMVTEX . TO *OMVTEX
ON PGMST *ONESTEP PROCST CODES xxxxx
■ ANYSTEP – any job step
Generally, the ON PGMST statement is satisfied when the
program execution results from any job step satisfy the specified
code criteria. For more information, including the exceptions, see
“Step Name: ANYSTEP” on page 546.
■ " " (blank) – When the PROCST field is left blank, matching
program step names (PGMST) are checked regardless of whether
they are directly from the job or from a called procedure.
Default.
The ON PGMST statement is satisfied if the PGMST criteria are
satisfied from any procedure directly from the job.
■ +EVERY
Matching program step names (PGMST) are checked from all
called procedures and from the job itself.
The ON PGMST statement is satisfied only when the code
criteria for the program step are satisfied for all occurrences
(called procedures and directly in the job stream). For more
information, see “Step Name: +EVERY” on page 546.
CODES Return codes or statuses that can satisfy the step or code event
criteria if returned upon termination of the specified job steps. At
least one code must be specified. CODES can be condition codes,
user abend codes, system abend codes, various end codes and
statuses, and certain keywords. CODES are discussed in “General
Information,” immediately below this table.
A/O Optional. Specifying either A (And) or O (Or) opens a new ON
PGMST statement in the ON PGMST block (described in “Multiple
ON PGMST Statements and ON PGMST Blocks” below this table)
and links the new statement to the statement containing the A/O
specification, as follows:
General Information
ON PGMST statements are usually, but not necessarily, followed by user-specified
DO actions. The implied relationship between ON PGMST statements and associated
DO statements is described in “General Information” on page 535.
■ When you set values for ON PGMST, PROCST, and CODE, and press Enter, an
empty ON PGMST and DO statement is opened following the current ON PGMST
and DO statements. The new ON PGMST and DO statements, if filled in, are not
logically connected to the preceding ON PGMST and DO statements. They
constitute a new ON PGMST block and DO block.
Example
One ON PGMST block specifies STEP1 as the program step, and >C0004 as the
CODE.
A second ON PGMST block specifies ANYSTEP as the program step, and >C0008
as the CODE.
If STEP1 results in a condition code of C0016, the ON PGMST step and CODE
event criteria for both ON PGMST statements are satisfied, and the DO actions
accompanying both ON PGMST blocks are performed.
Example
Example
If the program step name is STEP1, type the following and press Enter:
ON PGMST >TEP1
This adds an “empty” ON PGMST line after the current ON PGMST statement.
The STEP1 step name is restored to its original value when Enter is pressed (that is,
the > character disappears and the S character is restored).
For example, if one step finished successfully during its original run and another step
finished successfully after a restart, the ON block check for the successful finish for
both steps produces a TRUE result and the ON statement is satisfied.
Activation of this facility requires that the ALLRUNS parameter in the CTRPARM
member be set to YES. When activated, this facility can apply to any specified step,
step range, or to the ON PGMST step value +EVERY. §Restart§
NOTE
Post-processing of ON PGMST statements during a RESTART or RERUN is independent of
the post-processing of the same ON PGMST statements during the earlier run. In these
situations, you may get duplicate actions.
Step Values
PGMST
If the JCL contains nested procedures, the name of the EXEC procedure statement
that invokes the most deeply nested procedure, that is, the procedure that
immediately invokes the PGM step, must be specified in PROCST.
The same step name can appear in different ON PGMST statements in the same ON
PGMST block, or in different ON PGMST blocks.
STEP RANGE
To check codes in a range of steps, first define the step range and assign it a name in
the STEP RANGE statement, which is described in “STEP RANGE: Post–Processing
Parameter” on page 639. Then specify the name, preceded by an asterisk, in the
PGMST field. The * indicates that the specified name is a range name, not a step
name. The range of steps is displayed, and you can check the codes that are displayed
within the defined range.
CONTROL-M does not treat the CONTROL-M/Restart step or any FLUSHED step as
the step executed last or first.
Example 1
In the STEP RANGE statement, name DF2 is assigned to the range of program steps
STEP20 through STEP29A.
If *DF2 is specified in ON PGMST, the ON step and code criteria is satisfied if any of
the codes result from any of the steps in the range STEP20 through STEP29A.
Example 2
You want to define a job in such a way that its status depends on the result of the last
step executed. If the last step ended with a condition code of 0, give the job the status
ENDED OK. If the last step ended with any other condition code, the job status is to
be ENDED NOTOK.
However, if ANYSTEP is specified with codes OK, NOTOK, EXERR, JLOST, JNRUN,
JSECU, JNSUB or *UKNW, the ON criteria are satisfied only if the entire job ends
with the specified code criteria.
If ANYSTEP is specified with code FORCE, no other codes can be specified in the
same ON block, and the PROCST parameter must be left blank. For a description of
code FORCE, see “Valid CODES Values” on page 549.
NOTE
A DO OK or DO NOTOK statement is ignored if it is specified in an ON PGMST +EVERY
statement.
Examples
The ANYSTEP value is not a limiting value. In this case, it has the same meaning as
+EVERY.
Value +EVERY is generally accompanied by a limiting step value when the code
criteria must be satisfied for every step within the specified limits, as follows:
■ If the limiting value is a PROCST value, the code criteria must be satisfied by all job
steps from within the specified procedure.
Example
■ If the limiting value is a PGMST value, the code criteria must be satisfied by all
executions of the specified job step (or range of steps if a range is specified), from
within the job steam and within all procedures.
Examples
All executions of job step STEPA from within the job stream and within every
procedure must be satisfied.
Executions of all job steps in Range1, from within the job stream and within every
procedure, must be satisfied.
Step name +EVERY can be specified with the following codes: Cnnnn, Sxxx,
Unnnn, *xxxx, FLUSH, SNRUN and *****.
■ When step name +EVERY is specified with codes Cnnnn, Sxxx, Unnnn and *xxxx,
the following conditions must be satisfied to satisfy the ON statement:
— If the steps that run (excluding FLUSH steps) satisfy the PGMST and PROCST
criteria, they must also not contradict the Cnnnn, Sxxx, Unnnn or *xxxx codes.
■ When step name +EVERY is specified with codes FLUSH, SNRUN or *****, the
following apply:
— ON PGMST +EVERY CODES SNRUN is satisfied if each job step did not run.
— ON PGMST +EVERY CODES ***** is satisfied if each defined job step ran and no
job step was flushed (that is, due to a JCL COND or JCL IF/THEN/ELSE
statement).
CODES Values
CODES can be condition codes, user abend codes, system abend codes, various end
codes and statuses, and certain keywords. They can also be prefaced by certain
qualifiers. All of these are described below.
A maximum of 245 values can be specified for CODES in any ON PGMST statement,
as follows:
■ Whenever a fourth value is specified on a line for CODES, and Enter is pressed, a
new line within the same ON PGMST statement is opened, allowing specification
of as many as four additional CODES values.
NOTE
A DO OK statement specified in the job scheduling definitions is ignored if:
-or-
■ DO SHOUT
■ DO COND
■ DO FORCEJOB
■ DO SETVAR
■ DO MAIL
JFAIL Job failed due to JCL error.
JLOST Job sysout was lost. This value can be specified only with step value
ANYSTEP.
JNRUN Job was canceled during execution or re-execution. This value can be
specified only with step value ANYSTEP.
JNSUB Job not submitted. Submission of a job or initiation of a started task
failed for any reason. This value can be specified only with step
value ANYSTEP.
JSECU Job failed due to security requirements (only under ACF2). This
value can be specified only with step value ANYSTEP.
NOTOK A status of execution of the whole job.
This CODES value can only be specified with step value ANYSTEP.
It indicates that at least one PGM step, or the whole job, finished
executing NOTOK, meaning, with a condition code greater than that
set as the upper limit. By default, this limiting condition code is
C0004, but the MAXCCOK parameter in the CTMPARM member in
the IOA PARM library can be used to set the default condition code
to another value, such as C0000.
This CODES value can only be specified with step value ANYSTEP.
It indicates that all non-flushed PGM steps finished executing OK,
meaning, with a condition code equal to or less than the condition
code set as the upper limit. By default, this limiting condition code is
C0004, but the MAXCCOK parameter in the CTMPARM member in
the IOA PARM library can be used to set the default condition code
to another value, such as C0000.
FLUSH
The CODES value FLUSH generally applies when a step does not run but no error is
indicated. This CODES value is assigned in the following cases:
■ A JCL COND or JCL IF/THEN/ELSE statement caused the step not to run.
CONTROL-M detects CODES value FLUSH steps by message IEF272I (Step was
not executed).
— either the step did not previously run, or CONTROL-M/Restart did not
recapture a completion or abend code from a previous run
and either
— it was not executed during the RESTART run because of a JCL COND or JCL
IF/THEN/ELSE statement
or
Because a CODES value of FLUSH does not indicate that an error occurred during job
execution, assignment of this status does not cause a job status of NOTOK.
If a JCL statement other than the COND or IF/THEN/ELSE statement caused the
step not to run, it is not defined as a FLUSH step.
If the failure of a step causes subsequent steps not to be executed, these subsequent
steps are not defined as FLUSH steps.
For reasons of backward compatibility, that is, to ensure that the application of
CODES value ***** remains unchanged, CODES value ***** does not include FLUSH
steps.
SNRUN
A step is defined as CODES value SNRUN if it did not run. This code includes
■ instances where a step does not run because of a JCL error in a prior step (the step
with the JCL error does not have a status of SNRUN)
— The step did not previously run, or CONTROL-M/Restart did not recapture a
completion or abend code from a previous run.
SNRUN cannot be specified together with ANYSTEP. Because SNRUN includes steps
that do not exist in a job, and ANYSTEP includes all step names even if they do not
exist in a job, specifying both in the same job causes a condition that SNRUN cannot
process.
A status of SNRUN does not indicate that an error occurred during a job execution,
nor does it cause a job status of NOTOK. It merely indicates that it did not run.
For reasons of backward compatibility, that is, to ensure that the application of
CODES value ***** remains unchanged, CODES value ***** does not include SNRUN
steps.
NOTE
The N qualifier indicates that the DO statements must not be performed if the specified
condition exists. It does not indicate that the DO statements must be performed if the specified
condition does not exist.
The relationship between multiple codes in an ON PGMST statement is OR, that is,
the appearance of any of the codes in the specified step satisfies the ON criteria,
except for range specifications such as >C0010 or <C0040.
However, code criteria qualified by N take precedence over all other code criteria. If a
code that is specified with an N qualifier is generated by the specified step,
accompanying DO actions are not performed even if other ON code criteria are
satisfied.
Examples
■ If >C0008 NC0020 is specified, the codes criteria is satisfied (and the DO statements
performed) by the appearance of any condition code greater than 8 except
condition code 20.
The accompanying DO statements are never performed. The specified value only
indicates when not to perform the DO actions. There is no indication when the DO
actions are to be performed.
Example 1
Any program step resulting in condition code C0008 or C0016 is considered OK.
Example 2
When procedure step UPDA in program step STEP08 finishes executing with a
condition code less than C0008, it is considered OK.
Example 3
When any program step in the step range DF2 (STEP20 – STEP29A) finishes executing
with any system or user abend code, except U2030, rerun the job, and shout the
indicated message to TSO logon ID P43.
In addition:
General Information
The ON SYSOUT parameter enables you to specify DO statements that are to be
performed if the SYSDATA of the job contains a specified string. For this purpose, the
SYSDATA of the job means the data contained in the following sysout files:
■ JESMSGLG
■ JESJCL
■ JESYSMSG
If you know the location of the string, you can set values for the FROM and TO
subparameters in order to restrict the search to a limited number of columns. This
results in a more efficient search.
For a more advanced search, you can use the mask characters * and ? as described in
Table 196.
Each ON SYSOUT line is checked against each line of the SYSDATA until a match is
found or the end of the SYSDATA is reached. Each ON SYSOUT line is assigned a
value of TRUE or FALSE.
If the result of that check is TRUE, the associated DO statements are performed.
Example 1
CONTROL-M searches from Column 1 through Column 50 in each line for any string
beginning IEF206I and ending STEP3.
Example 2
CONTROL-M searches from Column 1 through Column 50 in each line for any string
beginning IEF206I and ending *STEP3.
Example 3
The string IEF206I STEP3 contains a blank space, but is enclosed within quotation
marks. CONTROL-M searches for the string from Column 1 through Column 50 in
each line.
NOTE
OUT and DO COND statements are similar. If you are familiar with one of them, you can
easily use the other. However, familiarize yourself with the differences outlined below in
“Differences between OUT and DO COND” on page 564.
General Information
If the job ends OK, the prerequisite conditions are added to or deleted from the IOA
Conditions file according to the value set for opt.
— An OUT statement is used to add the prerequisite condition if the job ends OK.
— The DO COND statement is used to add the prerequisite condition if the step
and code event criteria specified in the accompanying ON statement are
satisfied.
OUT and DO COND statements can also be used to delete prerequisite conditions.
The OUT statement of the job can be used to delete a prerequisite condition after the
job ends OK. A DO COND statement can be used to delete prerequisite conditions if
the accompanying ON step and code criteria are satisfied.
DO COND functions are performed after the functions of the OUT parameter:
■ IMS-ACTIVE
■ JOB_PAYCALC_ENDED_OK
■ TAPE1_LOADED
All prerequisite conditions are associated with a date reference that is used to
distinguish between different runs of the same job with different scheduling dates. If,
for example, a condition is being deleted, only the condition matching the specified
date is deleted. The same condition from a different date is not deleted.
Prerequisite conditions created by the OUT parameter can trigger the execution of
other jobs or processes.
Prerequisite conditions deleted by the OUT parameter can prevent the scheduling of
jobs and processes that require those prerequisite conditions in their IN parameter.
Specify SHRT in the date reference field to revert back to condition names of standard
length.
NOTE
Long condition names cannot be used in CMEM rule definitions.
When all jobs in a Group scheduling table are ended or deleted, prerequisite
conditions are added to or deleted from the IOA Conditions file according to the OUT
statements and/or ON GROUP-END DO COND statements in the Group entity.
NOTE
A Group entity can be reassigned a status of ACTIVE after specified prerequisite conditions
have already been added or deleted. For example, if a job in the Group scheduling table was
deleted while in WAIT SCHEDULE status and was then undeleted after the prerequisite
conditions were added or deleted, the Group entity returns to ACTIVE status.
■ An OUT statement is applied only if the job ends OK. DO COND statements are
associated with ON statements and are applied only if the associated ON step and
code criteria are satisfied.
■ DO COND statements are processed after OUT statements and can therefore
override OUT statements.
Examples
Example 1
The report must be generated after the salaries have been successfully calculated.
When job SACALC01 ends OK, the prerequisite condition SALARY-OK is added.
This triggered the execution of job SARPT001 that requires the condition in order to
run.
The report (job SARPT001) is produced twice a month for the 1st and for the 15th. The
report of the 15th is produced only if the prerequisite condition of the 15th,
SALARY-OK, exists. The existence of the prerequisite condition of the 1st,
SALARY-OK, does not cause submission of the report of the 15th (job SARPT001).
The jobs on the 1st, SACALC01 and SARPT001 (report), do not have to run on the 1st
of the month. Suppose the salary job (SACALC01) finishes executing (OK) on the 3rd,
the prerequisite condition SALARY-OK for the 1st is added, because the prerequisite
condition is schedule date dependent.
Example 2
Some jobs (such as IMSBDUPD) must run only when the IMS is active
(IMS-ACTIVE):
MEMNAME IMSDBUPD
DAYS 1,15
IN IMS-ACTIVE STAT
The prerequisite condition IMS-ACTIVE is “generic,” and it only exists when IMS is
active. IMS itself is monitored by CONTROL-M. When IMS is brought down
successfully, CONTROL-M deletes the prerequisite condition IMS-ACTIVE for all
schedule dates. This prevents the abending of jobs that depend on IMS, such as job
IMSDBUPD in the above example. Job IMSDBUPD is not submitted if the
prerequisite condition IMS-ACTIVE does not exist.
Example 3
A group of jobs runs every day of the week except Saturday and Sunday. Several of
the different jobs for the different days must not run in parallel, and job sequence
must be maintained even in case of delay.
The job is submitted only if the prerequisite condition DEPOSITS of the previous
schedule date exists. If the job finishes OK, the prerequisite condition DEPOSITS of
the same schedule date is added. This, in turn, triggers the next job in the sequence.
Example 4
The following example serves as a further explanation of the schedule date reference
concept:
MEMNAME EBDUPDT2
MEMLIB EBD.PROD.JOB
DAYS 1,15,20
MONTHS 1- N 2- N 3- N 4- N 5- N 6- N 7- Y 8- N 9- Y 10- N 11- Y 12- N
OUT EBD-INPUT-READY **** -
Today is September 15. The date reference values resolved in this job are in mmdd
date format:
■ ODAT – 0915
■ PREV – 0901
■ NEXT – 0920
■ **** – Any date reference
General Information
The OVERLIB parameter enables submission of a modified copy of the actual JCL of
the job, without changes to either the regular JCL (in the MEMLIB library) or the job
scheduling definition.
The library containing the regular JCL member of the job is specified in the MEMLIB
parameter. When temporary changes are desired, the JCL member can be copied to
the library specified in the OVERLIB field and modified as needed.
NOTE
When copying the regular JCL member to the OVERLIB library, do not change the member
name. CONTROL-M always looks for a JCL member whose name matches the MEMNAME
value.
If the MEMNAME member is found in the OVERLIB JCL library, that member is
used. Otherwise, the member is taken from the MEMLIB library.
When the job is scheduled, the OVERLIB field is scanned. If it is not empty,
CONTROL-M resolves AutoEdit variables in the field, if any are specified, and then
searches the OVERLIB library for the member specified in field MEMNAME.
The override can be canceled by deleting the MEMNAME member from the
OVERLIB library. If the MEMNAME member is not found in the OVERLIB library,
the member is taken from the MEMLIB library. Alternatively, the override can be
canceled by deleting the OVERLIB specification from the job scheduling definition.
NOTE
OVERLIB cannot be specified for a started task.
The library can be any cataloged, standard partitioned data set, LIBRARIAN or
PANVALET. The record length must be 80.
The library and the member do not have to exist when the OVERLIB parameter is
defined. Their existence is checked by CONTROL-M before actual submission of the
job.
If, during the access to a library by CONTROL-M (before submission) the library is
held exclusively by another user (such as TSO user, job), the monitor re-tries to access
the library every few seconds until the library is released and the job can be
submitted.
Use of the library name DUMMY is intended for scheduling events (for example,
adding a prerequisite condition without actually running the job). If the library name
DUMMY is used, the job is not submitted (submission and sysout checking is
skipped). The job is assumed to have ended OK; ON PGMST...DO processing is not
performed. All Post-processing parameters associated with an ENDED OK status are
activated (OUT, SHOUT WHEN OK, and so on).
Three optional functions that were performed by the CTMX015C and CTMX015O
exits in previous versions are now incorporated into the CONTROL-M monitor.
These functions are controlled by the following installation parameters:
■ COPMEM2O – Copy the JCL member from the MEMLIB library to the OVERLIB
library if the job ended NOTOK.
■ DELOVRER – Delete the JCL member from the OVERLIB library if the rerun of the
job ended OK.
■ DELOVRUN – Delete the JCL member from the OVERLIB library if any run of the
job ended OK
For a description of these parameters, see the chapter that discusses customizing
INCONTROL products in the INCONTROL for z/OS Installation Guide.
NOTE
You can only perform this function in an ISPF environment.
When specifying option J (JCL) in the Job List screen or the Active Environment
screen to edit the JCL member, CONTROL-M must determine which library
(MEMLIB or OVERLIB) to use.
■ where the member exists, that is, whether it is only in the MEMLIB library, only in
the OVERLIB library, in both libraries, or in neither library)
Table 198 indicates which libraries are used, depending on the above criteria.
Table 198 OVERLIB Parameter: Algorithm for LIbraries Used when Option J (JCL) is Specified
(part 1 of 2)
...the member exists in ...and the screen of the J (JCL)
When the following either library MEMLIB, request is: ... and the edit is
CTMIMAC is defined OVERLIB, both, or Job List, Active Environment, or performed in the
(if any)... neither either screen following library
None (default) MEMLIB only Either screen MEMLIB
OVERLIB only Either screen OVERLIB
Both Either screen OVERLIB
Neither Either screen MEMLIB
Table 198 OVERLIB Parameter: Algorithm for LIbraries Used when Option J (JCL) is Specified
(part 2 of 2)
...the member exists in ...and the screen of the J (JCL)
When the following either library MEMLIB, request is: ... and the edit is
CTMIMAC is defined OVERLIB, both, or Job List, Active Environment, or performed in the
(if any)... neither either screen following library
CTMIMAC1 MEMLIB only Job List MEMLIB
Active Environment OVERLIB (copied
from MEMLIB)
OVERLIB only Job List MEMLIB (open
empty member)
Active Environment OVERLIB
Both Job List MEMLIB
Active Environment OVERLIB (not
copied)
Neither Job List MEMLIB
Active Environment OVERLIB
CTMIMAC2 MEMLIB only Either screen MEMLIB
OVERLIB only Either screen OVERLIB
Both Either screen OVERLIB
Neither Either screen OVERLIB
CTMIMAC3 MEMLIB only Job List MEMLIB
(But saved only if
changed)
Active Environment OVERLIB
OVERLIB only Job List MEMLIB (open
empty member)
Active Environment OVERLIB
Both Job List MEMLIB
Active Environment OVERLIB
Neither Job List MEMLIB
Active Environment OVERLIB
■ The CTMIMACx REXX EXECs can be found in the IOA CLIST library. Instructions
for installing these REXX EXECs can be found in comments in the members
themselves.
— When both MEMLIB and OVERLIB exist, and MEMLIB is either PANVALET or
LIBRARIAN, the edit function first copies the member to the OVERLIB before
performing the edit, unless the member already exists in the OVERLIB.
Example
If a special, modified version of BACKPL02 JCL is required, it is defined in
CTM.OVER.JOBLIB. This JCL is used instead of the JCL in CTM.PROD.JOBLIB.
General Information
The OWNER parameter is used by the internal security mechanism of CONTROL-M
to determine which operations each user is authorized to perform and which
information each user is authorized to access. For example, access to options and
information on the Active Environment screen can be limited by the OWNER
parameter.
The OWNER parameter can also facilitate selection and handling of production jobs.
The OWNER parameter is passed to external security products, such as RACF, ACF2
and TOP SECRET. Certain security products require that the owner name not exceed
seven characters.
Default OWNER is dependent on the online environment of the site (CICS, TSO, and
so on). For TSO and TSO/ISPF environments, the TSO user ID is the default. For
non-TSO environments, such as CICS, the default is the terminal ID.
Example
Job OPERCOMP belongs to owner SYS1.
The PDS parameter cannot be used with any of the following parameters: DAYS,
WDAYS, MONTHS, CONFCAL, RETRO and DATES.
General Information
The data set must be cataloged, and it must be a partitioned data set.
The MINIMUM and PDS parameters are always used together and are never used
with other Basic Scheduling parameters.
The PDS parameter identifies a library. The MINIMUM parameter specifies the
minimum number of free tracks required by that library.
These parameters are intended for use (that is, definition) in jobs or started tasks that
compress, clean and/or enlarge libraries, or which issue a warning message to the
IOA Log file, that is, if the TASKTYPE parameter is set to WRN.
If the MINIMUM and PDS parameters are defined for a job, the scheduling of the job
is not related to or dependent upon any date criteria. Instead, the job is scheduled if
the actual number of free tracks available in the specified library is below the
specified minimum when the New Day procedure is run. The job or started task can
then compress, clean, or enlarge the library, or issue the appropriate warning.
NOTE
The PDS parameter does not work with PDSE-type libraries because they always appear to be
100 percent full.
Example
Check the SYS1.LINKLIB library for a minimum of 20 unused tracks.
The MSG001 member in the CONTROL-M GENERAL JCL library contains a warning
message to compress the library.
Each time a data set or pipe name is specified and Enter is pressed, a new empty line
is displayed to allow specification of an additional data set or pipe name.
General Information
Pipes are storage buffers that are used to replace data sets. Pipes are defined in, and
used by, MVBO/Job Optimizer Pipes to replace sequential processing with parallel
processing.
For example, normally, that is, without pipes, if JOB1 writes to data set DS1 and then
JOB2 reads data set DS1, JOB2 waits until JOB1 is terminated before reading the data
set. However, if a pipe is used to replace data set DS1, then as JOB1 writes data to
pipe DS1, JOB2 can use the data without waiting for termination of JOB1.
Each pipe and its relevant parameters are defined in a MBVO/Job Optimizer Pipes
rule. Each pipe must be defined with the same name as the data set it is replacing.
When a job is to use a pipe instead of a data set, the name of the data set or pipe must
be specified in the PIPE parameter of the CONTROL-M job scheduling definition for
the job.
For more information about Pipe processing, see “Job-Related Considerations for
Pipes” on page 819
Example
This example consists of two job scheduling definitions.
In job CTLIVPWR and job CTLIVPRD, data set CTL.IVP.FILE is replaced by a pipe
with the same name. Jobs such as CTLIVPWR below and CTLIVPRD on page 581 are
called a “Collection” because they are pipe participants of the same pipe.
§Restart§PREVENT-NCT2:General Job
Parameter
Performs data set cleanup before the original job run.
■ Y (Yes) – Perform data set cleanup before the original job run;
this value is not valid for started tasks
■ N (No) – Do not perform data set cleanup before the original job
run
■ F (Flush) – Halt processing of the job if any data set cleanup error
is detected, even if MVS would not have stopped processing the
job
■ L (List) – Do not perform data set cleanup before the original job
run; but generate the messages that would be required for GDG
adjustment during restart
DFLT Protected field indicating the PREVENT-NCT2 default value for the
site. The default is set in parameter NCAT2 in the CTRPARM
member in the IOA PARM library. A value specified in the
PREVENT-NCT2 parameter overrides the site default.
General Information
If a job tries to create a data set that already exists, the job may fail with a
DUPLICATE DATASET ON VOLUME error. If a job tries to create a data set whose
name is already cataloged, the job may fail with an error message that indicates a
reason of NOT CATLGD for reason code 2; the CONTROL-M/Restart term
PREVENT-NCT2 is derived from this error situation.
These problems can be avoided by performing data set cleanup. During data set
cleanup, CONTROL-M/Restart does the following:
■ Deletes and uncatalogs the old data sets. This prevents DUPLICATE DATSET ON
VOLUME and NOT CATLGD 2 errors.
When data set cleanup is performed as part of the original job request, it is called
PREVENT-NCT2 processing.
CONTROL-M/Restart performs data set cleanup before the original job run. It
deletes and uncatalogs all data sets that can cause NCT2 and duplicate data set
errors during execution, and performs GDG adjustment if necessary.
Data set cleanup is not performed for the original run, but messages that would be
required for GDG adjustment during restart are generated. Without these
messages, GDG adjustment might not be properly performed during restart. In
addition to the GDG adjustment messages, the same messages that are generated
during simulation of data set cleanup are also generated.
NOTE
If you would normally specify N, meaning CONTROL-M/Restart processing is not desired
for the original run, but the JCL requires GDG processing, it is recommended that you
specify value L instead of value N.
NOTE
When PREVENT-NCT2 is active for a job, it is possible to automatically collect certain
statistical information on the job. For more details, see the AUTOXREF parameter in the
INCONTROL for z/OS Installation Guide.
Example
Prevent NOT CATLGD 2 errors for job PRDKPL01.
General Information
Priority helps determine the order in which jobs in the Active Jobs file are processed
by CONTROL-M.
Priority is determined in ascending order where: blank < A < Z < 0 < 9 < *
In general, the job with the highest priority code executes first if all its other runtime
scheduling requirements are satisfied.
When not all runtime requirements for a high priority job are satisfied, for example,
where a job requires two tape drives but only one is available, a job with a lower
priority whose other runtime requirements are satisfied may be run earlier.
This, however, is not always desirable. A job may be so important that lower priority
jobs must not be submitted until the important job has executed.
Such a job is called a critical path job. Critical path priority can be indicated by
prefixing the priority with an asterisk (*).
Critical path priority is applied only after all the IN conditions for the job exist.
NOTE
Critical path priority applies to contention for Quantitative resources and for Control
resources required in exclusive state. Critical path priority does not apply to contention for
Control resources required in shared state.
Examples
Example 1
The priority level of job EBDIN001 is 07, and it requires three tapes. The priority level
of job EBDIN002 is 02, and it requires only one tape:
MEMNAME EBDIN001
RESOURCE TAPE 0003
PRIORITY 07
MEMNAME EBDIN002
RESOURCE TAPE 0001
PRIORITY 02
Example 2
The priority level of job EBDUPDT is *5, and it requires two tapes. The priority level
of job EBDEXEC is 04, and it requires one tape:
MEMNAME EBDUPDT
RESOURCE TAPE 0002
PRIORITY *5
MEMNAME EBDEXEC
RESOURCE TAPE 0001
PRIORITY 04
If one tape is available, neither job is submitted. When two tapes become available,
job EBDUPDT is submitted.
Example 3
The priority level of job EBDBKP is *8, and it requires three tapes. The priority level of
job EBDMAINT is *7, and it requires one tape:
MEMNAME EBDBKP
RESOURCE TAPE 0003
PRIORITY *8
MEMNAME EBDMAINT
RESOURCE TAPE 0001
PRIORITY *7
If one tape is available, neither job is submitted. When three tapes become available,
job EBDBKP is submitted.
General Information
For jobs in Group scheduling tables, two types of basic scheduling criteria can be
specified:
In some cases, it may be required that both sets of criteria be satisfied. In other cases,
satisfaction of either set of criteria is sufficient for job scheduling. This parameter
allows specification of the required combination:
■ When both sets of criteria are required, specify value A (AND relationship).
If an AND relationship is specified when no schedule tags are defined in the job, the
job is never scheduled.
Example
Create a table of employee hours each payday and on the last day of the year.
General Information
Although the RERUNMEM parameter can be used to specify the name of a JCL
member to use for automatic rerun, note the following points:
■ The CONTROL-M monitor determines that automatic rerun is possible only if the
job ENDS NOTOK and a specified DO RERUN statement is activated during
post-processing. If the monitor determines that automatic rerun is possible, it sets
the status of the job to ENDED NOTOK – RERUN NEEDED.
■ The monitor then checks the value of MAXRERUN in the Active environment. If
the value is zero, or no MAXRERUN value was specified, automatic rerun is not
possible and the job is not submitted for rerun. If the value is greater than zero,
rerun is possible, and the monitor submits the job for rerun when all runtime
criteria are satisfied. Runtime criteria include not only the Runtime Scheduling
parameters, but also the INTERVAL parameter, which specifies the minimum
allowable interval between runs of the same job.
■ The JCL for the rerun job is taken from the member specified in the RERUNMEM
parameter. If no RERUNMEM value is specified, the JCL for the rerun is taken
from the regular JCL member of the job specified in the MEMNAME parameter.
Rules applying to the MEMNAME parameter also apply to the RERUN parameter.
The member name can be the same as, or different from, the job name.
The RERUNMEM parameter overrides the MEMNAME value in the JCL, and the
MEMNAME value becomes irrelevant for reruns.
The RERUNMEM parameter cannot be specified for cyclic jobs and cyclic started
tasks.
Example
If job EF145TS abends during step name COLLECT, try to run another job from the
member EF145TSR that continues from the same place.
Example
TAPE 2 D K
If the job ends OK, the total number of TAPE resources stays at 3, since 2 TAPE
resources are permanently discarded.
If the job is rerun, and there are enough TAPE resources, CONTROL-M allocates a
quantity of 2 TAPE resources for the job. The total number of TAPE resources is then
reduced to 1.
If the job ends NOTOK, the total number of TAPE resources stays at 5, but the
available number of resources will be 3. The job keeps the 2 TAPE resources.
If the job is rerun, CONTROL-M reallocates a quantity of 2 TAPE resources for the
job. The total number of TAPE resources stays at 5, and the available number of
resources stays at 3.
General Information
Quantitative resource specification can be used to prevent resource contention.
Quantitative resources, such as tape drives, CPU, and access rates to the spool, and
their maximum available quantities are defined for the site in the IOA
Conditions/Resources screen (Screen 4).
NOTE
If the AUTOTAPE parameter in the CTMPARM member in the IOA PARM library is set to Y,
any tape drive value defined in the RESOURCE parameter is ignored. Instead, a value
determined by the Automatic Tape Adjustment facility is used. For more information, see
“Tape Device Usage Statistics” on page 233, and the description of using the Automatic Tape
Adjustment facility in the INCONTROL for z/OS Administrator Guide.
To remove selected Quantitative resources from job scheduling definitions, use the
CTMTBUPD utility described in the INCONTROL for z/OS Utilities Guide.
Examples
TAPE 12
CPU 80
WORK-SPACE 3000
■ If they are available, CONTROL-M allocates them to the job, and they become
unavailable to other jobs until they are freed.
■ If the resources required by the job are unavailable, the job is not submitted.
One possibility is to operate as if there is one large CPU and resource pool. In this
case, no logical differentiation between CPUs is made, and the CONTROL-M monitor
assigns resources, including CPU processing power, from the total resources
available.
This is generally achieved through the use of common identifiers, such as a suffix.
For example, suppose a site has three CPUs of differing processing capability. The
following representative resources and quantities might be defined in the IOA
Resources file:
CPU-A 50
CPU-B 75
CPU-C 100
TAPE-A 3
TAPE-B 4
TAPE-C 5
NOTE
If you use the $ to request generic resources, the $ must appear at the end of the resource
name.
If a $ is specified for all required resource identifiers, the CONTROL-M monitor does
not assign the resources unless it can assign all resources with the same identifier, for
example, all resources with identifier A or all resources with identifier B.
When using the generic $ identifier, you can use one of the following methods to
ensure a specific CPU is used for processing the job:
■ Use JCL AutoEdit System variable %%$SIGN to extract the CPU identifier
assigned by the CONTROL-M monitor and then to assign the job to that same
CPU. System variable %%$SIGN is discussed in Chapter 5, “JCL and AutoEdit
Facility.”
CONTROL-M Exit CTMX004 can also be used to help prevent bottlenecks caused by
resource contention.
For more information on CONTROL-M exits CTMX002 and CTMX004, see the
INCONTROL for z/OS Administrator Guide.
Example 1A
There are 12 tape drives in the data center connected to a single computer. Two tape
drives must always remain free for emergencies. Therefore, only 10 drives can be
used for production. The defined available quantity is set as follows: TAPE 0010.
Any user (job) wanting to use tape drives must specify the number of tapes required
in the job parameters.
CONTROL-M checks if there are two tape drives available. If there are, the tape
drives are “given” to the job. The total number of free tapes is now eight. When the
job finishes executing, the tape drives are returned to the general pool.
Suppose that many jobs are using tapes, and the available quantity is only one. A job
that requires two tape drives must wait. The job is not submitted until the required
number of tapes are available.
An authorized person decides that only one tape unit is needed for emergencies and
adds one tape unit to the global quantity available for use. Now the maximum
number of tape drives is eleven, and the number of available tape drives is two. The
job is submitted.
Example 1B
The data center discussed in the previous example is expanding. It now has two
computers and 20 tape drives. The tape drive distribution is:
■ CPU1 only – 8
■ CPU2 only – 8
■ Transferables – 6
TAPE1 12
TAPE2 7
The result is that the available quantity of either TAPE1 or TAPE2 is reduced by three.
Example 1C
The result is that the available quantity of the resource TAPE1 is reduced by three.
The tape drive that was out of order has been fixed. An operator makes it available
for use by jobs running on CPU2 by correcting the global available quantities to:
TAPE2 8
The shift manager decides to assign two tapes from CPU1 to CPU2. The new situation
as seen by CONTROL-M:
TAPE1 10
TAPE2 10
NOTE
At sites that do not use the History Jobs file, this parameter is not relevant and is not
displayed.
The default is 0.
General Information
Jobs in the History Jobs file are easier to restore to the Active Jobs file, for example, for
restart, than jobs archived to CDAM. Therefore, it may be desirable to retain a job in
the History Jobs file for a period of time.
# OF DAYS TO KEEP enables specification of a fixed number of days to keep the job
in the History Jobs file. Once the specified number of days has been reached, the job is
automatically deleted from the History Jobs file during the next New Day processing.
NOTE
When changing job criteria from retention-days to retention-generation (or vice-versa),
previous job criteria are lost and are not acted upon.
For retention criteria to hold across job executions, the jobs must be identical in all respects.
For example, if a job is transferred to a different group, it is treated as a different job for
purposes of retention. In this case, retention values are reset, and retention is calculated from
the moment of transfer.
Example
Retain the archived job in the History Jobs file for 30 days.
NOTE
At sites that do not use the History Jobs file, this parameter is not relevant and is not
displayed.
The default is 0.
General Information
Jobs in the History Jobs file are easier to restore to the Active Jobs file, for example, for
restart, than jobs archived to CDAM. Therefore, it may be desirable to retain several
of the most current generations of the job in the History Jobs file.
NOTE
When changing job criteria from retention-days to retention-generation, or vice versa,
previous job criteria are lost and are not acted upon.
For retention criteria to hold across job executions, the jobs must be identical in all respects.
For example, if a job is transferred to a different group, it is treated as a different job for
purposes of retention. In this case, retention values are reset, and retention is calculated from
the moment of transfer.
Example
Retain up to 10 generations of the archived job in the History Jobs file.
General Information
The RETRO parameter is used to control situations where the computer has not been
working for a day or more due to holiday, hardware failure, and so on.
When such situations occur, it is necessary to instruct CONTROL-M whether the job
is to be retroactively scheduled for the days when the computer (or CONTROL-M)
was inactive.
■ When Y is specified for the RETRO parameter, job orders are placed in the Active
Jobs file for all the days the job ought to have been originally scheduled.
Scheduling occurs from the last scheduling date to the current working date,
provided that those days were included in one of the Basic Scheduling parameters
(DAYS, DCAL, and so on). Each job order placed on the Active Jobs file is
associated with a different original scheduling date. For additional information see
“MAXWAIT: Basic Scheduling Parameter” on page 514.
■ When N is specified for the RETRO parameter, the job is scheduled only if the
current working date is a date on which the job is normally scheduled.
The RETRO parameter cannot be used with the MINIMUM and PDS parameters, nor
in group scheduled jobs; if specified in Group scheduled jobs, the parameter is
ignored.
Examples
Example 1
Schedule the job only on specified days of the month. If the date has passed, do not
schedule the job.
Assume the computer was offline from the 16th up to and including the 18th, and the
15th was the last date that the job was scheduled for execution. Today is the 19th.
Therefore, the job is only scheduled for execution on the 19th.
Example 2
Schedule the job for all working days, even if the computer is not active:
DCAL WORKDAYS
RETRO Y
Assume the WORKDAYS calendar contains the dates 15, 16, 18, and 19, and the same
conditions as above exist. The job is scheduled three times with the original
scheduling dates: the 16th, the 18th and the 19th.
NOTE
Do not use the SAC parameter unless specifically required in conjunction with the conversion.
Check the Conversion Guide for your specific application.
General Information
Many scheduler products do not allow the site to define the time of the new working
day. Instead, those products fix the time, such as midnight. CONTROL-M, however,
allows the site to define when the new working day starts.
In most cases, this added CONTROL-M flexibility can be utilized without additional
adjustment. Occasionally, however, an adjustment to the job schedule may be
required due to the differences between the start of the working day. The SAC
parameter is used to perform such an adjustment.
For information on the correct usage of the SAC parameter, see the Conversion Guide
provided for your specific product.
NOTE
Unless you are certain that SAC must be used, and you are certain how to use it, leave this
parameter blank.
Example
Due to differences in the time of the start of the new working day, shift the
scheduling of the following converted job back to the previous day.
Optional for job scheduling definitions. Must be either a schedule tag value defined
in the Group Entity, or the value *.
Upon specifying a schedule tag value and pressing Enter, a new SCHEDULE TAG
field is opened, for specifying additional schedule tags. In Group Entities, a new set of
basic scheduling parameters is opened with the new SCHEDULE TAG field to allow
specification of criteria to be associated with the new tag.
General Information
A Group Entity contains sets of basic scheduling criteria to be applied to job
scheduling definitions in the Group scheduling table. Each set of basic scheduling
criteria in the Group Entity is assigned a unique label, specified in the SCHEDULE
TAG field, which is used for referencing that set of criteria.
At least one schedule tag, with basic scheduling criteria, must be defined in the
Group Entity.
To apply any sets of Group Entity basic scheduling criteria to a job scheduling
definition, specify the schedule tag names of the desired criteria in the SCHEDULE
TAG fields in the job scheduling definition.
If multiple SCHEDULE TAG values are specified in the job scheduling definition,
tags are checked sequentially during job scheduling to determine if the criteria are
satisfied. Once a set of schedule tag criteria are satisfied, no other schedule tags in the
job are checked.
An asterisk (*) can be specified as a SCHEDULE TAG value in the job scheduling
definition. When checks are performed for a schedule tag with a value of *, the first
set of basic scheduling criteria in the Group Entity that is satisfied on the particular
day is applied to the job.
Each job scheduling definition can have its own basic scheduling criteria defined,
independent of the schedule tag criteria in the Group Entity.
Jobs in a Group scheduling table are eligible for scheduling on a particular day only if
at least one set of basic scheduling criteria in the Group Entity are satisfied.
■ The value in the RELATIONSHIP parameter is O (OR), and either the basic
scheduling criteria of the job or a set of its schedule tag criteria (or both) are
satisfied.
■ The value in the RELATIONSHIP parameter is A (AND), and its basic scheduling
criteria and a set of its schedule tag criteria are both satisfied.
When a SCHEDULE TAG definition is deleted from a group entity, this change is
propagated throughout all of the group's job definitions, that is, all the corresponding
schedule tag references in the job definitions are deleted.
Examples
Example 1
Example 2
Schedule job TABHOURS when the basic scheduling criteria identified by schedule
tag ALL_DAYS in the Group Entity (in Example 1A) are satisfied.
The format of either the FROM or UNTIL subparameters may be ddmmyy, mmddyy,
or yymmdd, depending on your local site standard, as set by the DATETYP
parameter in the IOAPARM member in the IOA PARM library.
General Information
The FROM and UNTIL dates together define a time frame for ordering jobs that have
a specific schedule tag within the Group that defines that schedule tag.
■ If you specify both the FROM and UNTIL subparameters for a particular schedule
tag, jobs within the group that refer to that schedule tag can only be ordered on or
later than the date specified in the FROM subparameter, and on or earlier than the
date specified in the UNTIL subparameter. There are two possibilities:
1. The date specified in the FROM subparameter is earlier than that specified in the
UNTIL subparameter.
For example,
Jobs within the group that refer to this schedule tag can only be ordered on or
between October 9, 2001 and November 1, 2001.
2. The date specified in the FROM subparameter is later than that specified in the
UNTIL subparameter.
For example,
Jobs within the group that refer to this schedule tag can only be ordered on or
after May 9, 2001, or before or on April 1, 2001, but not between those dates.
■ If you specify the FROM subparameter for a particular schedule tag, but not the
UNTIL subparameter, jobs within the group that refer to that schedule tag cannot
be ordered before the date specified, but can be ordered on that date or any date
later than that date.
For example,
Jobs within the group that refer to this schedule tag can only be ordered on or after
October 9, 2001.
■ If you do not specify the FROM subparameter for a particular schedule tag, but
specify the UNTIL subparameter, jobs within the group that refer to the same
schedule tag cannot be ordered after the date specified, but can be ordered on that
date or any date earlier than that date.
For example,
Jobs within the group that refer to this schedule tag can only be ordered before or
on November 1, 2001.
For example,
Jobs within the group that refer to this schedule tag can be ordered on any date.
■ If a job specifies more than one schedule tag and one of the Schedule Tag
definitions is such that the job can be ordered on a particular day, the job will be
ordered even if it would not be ordered under the terms of another of its schedule
tag definitions.
jobs within the Group that have both these schedule tags can be ordered on any
date.
Example
Schedule Tag A schedules jobs to run on the 5th of each month. Job B should be
scheduled according to the criteria of Schedule Tag A; however, it should only run
until January 15, 2010.
SCHEDULE TAG A
DAYS 05
In job definition B:
SCHEDULE TAG A
RELATIONSHIP (AND/OR) A
DAYS ALL
DEFINITION ACTIVE FROM UNTIL 100115
General Information
If a value is specified for the SCHENV parameter, the JCL job statement is modified
by the addition of a statement in the following form:
// SCHENV=schedule_environment
If a value is specified for the SCHENV parameter, it will not override any scheduling
environment specified in the job statement unless the OVERJCLM parameter in the
CTMPARM library is set to Y.
If a value is specified for the SCHENV parameter, before job submission, CONTROL-
M checks whether the specified WLM scheduling environment is available before
actually submitting the job. If the scheduling environment is not available,
CONTROL-M places the job in WAIT SCHEDULE status and waits until the WLM
scheduling environment is available, before submitting the job.
If the task type is a started task, SCHENV is protected. If the task type is changed
from a job to a started task, SCHENV is erased and protected.
Example
If the scheduling environment of job ACCT01 is to be SCHD2, specify the following:
DESC
OVERLIB STAT CAL
SCHENV SCHD2 SYSTEM ID NJE NODE
NOTE
SET VAR and DO SET statements are similar, but not identical. The differences are outlined
below in “Differences between SET VAR and DO SET” on page 621.
■ They must not contain blanks. If you want to specify an embedded blanks in a
SET VAR expression, use the %%BLANKn AutoEdit variable.
For example,
%%A=TODAY%%BLANK1%%.IS%%BLANK1%%.SUNDAY
resolves to
TODAY IS SUNDAY
%%variable=expression
In this format:
General Information
A major advantage of using AutoEdit variables is that the JCL can be submitted with
different values for different executions without actually changing the JCL.
At the time of job submission, AutoEdit variables in the JCL are resolved in sequence.
By default, if an AutoEdit variable cannot be resolved, the job is not submitted. This
default can be changed using an appropriate %%RESOLVE AutoEdit control
statement.
SET VAR statements can also be used to define and update Global Variables in the
IOA Global Variable Database. For more information on Global Variables, including
Global Variable syntax, see “Global Variables” on page 757
As of version 6.0.00, SET VAR variables defined in a Group entity are available to all
the jobs in the group. However, they do not override SET VAR variables defined in
the job scheduling definition.
Upon filling in a SET VAR statement and pressing Enter, a new blank SET VAR
statement is displayed.
JCL Setup and the AutoEdit facility are described in depth in Chapter 5, “JCL and
AutoEdit Facility.”
■ Local variables in SET VAR statements are always applied before the job is
submitted. DO SET is a post-processing statement that can only be applied after its
accompanying ON step and code criteria are satisfied. This means that a local
value specified in the DO SET statement can only be applied in the next
submission of the job (that is, for cyclic and rerun or restarted jobs).
■ Global variables specified in a SET VAR statement are defined or updated in the
IOA Global Variable database before job submission. Global variables specified in
a DO SET statement are defined or updated in the IOA Global Variable database as
part of job post-processing.
■ In a SET VAR statement, the parameter value is specified after the keyword VAR.
In a DO SET statement, the parameter value is specified after the keyword VAR.
Examples
Example 1
In this example, AutoEdit statements in the job scheduling definition and the JCL
allocate space for the job. If the job abends due to insufficient space, the AutoEdit
statements adjust the allocated space and rerun or restart the job.
The following step in the JCL of the job sets the quantity of available space to five
units of whatever type (track or cylinder) is specified in the job scheduling definition.
The job scheduling definition contains the following SET VAR statement that sets the
space type to “track”:
In this case, the second line in the above DD statement resolves to:
// SPACE=(TRK,5),UNIT=SYSDA
The job scheduling definition also contains the following statements that are
activated if the job abends due of lack of space (code S*37). These statements change
the space type to “cylinder”, which provides enough space, and rerun the job. If
CONTROL-M/Restart is active, the job is restarted from the abended step.
If the job abends due to insufficient space, the second line of the earlier JCL
DD statement resolves to:
// SPACE=(CYL,5),UNIT=SYSDA
Examples 2A and 2B
The following examples show how one job scheduling definition and one JCL
member can be used for both the test environment and the production environment
by changing the value of only one parameter, the SET VAR parameter.
Example 2A
The following job scheduling definition replaces the %%PROC variable in the EXEC
statements of the JCL with procedure name prefix TEST.
When a SET VAR statement is used to specify %%PROC=TEST, the JCL is resolved as
follows:
Example 2B
The job scheduling definition has now been modified to replace the procedures
(%%PROC) used in the job with production (PROD) procedures.
When a SET VAR statement is used to specify %%PROC=PROD, the JCL is resolved
as following:
NOTE
DO SHOUT and SHOUT statements are similar, but not identical. The differences are outlined
below in “Differences between SHOUT and DO SHOUT” on page 633.
Optional. Upon filling in the SHOUT statement and pressing Enter, a new SHOUT
statement is opened.
■ LATE time + days – The message is sent if the job does not finish
executing by the specified days and time offset, where:
General Information
The message is sent to the specified destination when the WHEN condition is
satisfied. The relationship between multiple SHOUT statements is OR (that as, each
statement is evaluated and performed independently of the others).
AutoEdit variables (system- and/or user-defined) in the message text are supported
and automatically resolved (replaced) when the SHOUT message is issued. For more
information, see Chapter 5, “JCL and AutoEdit Facility.”
SHOUT statements can also be defined in Group entities, where they are used in a
manner similar to jobs. For example, SHOUT WHEN OK is activated when all the
jobs in the group end OK.
If SHOUT WHEN EXECTIME values are stated with a + or – sign, that is, when
elapsed runtime is compared to average runtime, the shout applies only if there is a
Job Statistics record for the job, containing statistics for at least one of the last 20 runs
of the job.
If a Job Statistics record exists, all available elapsed-time statistics for the last 20 job
runs are averaged to generate the average runtime, and the current runtime is
compared to this figure according to the specified criteria.
If no Job Statistics file exists, or a record for the job does not exist, that is, there are no
elapsed-time statistics for any of the last 20 job runs, the SHOUT is not activated.
NOTE
Your INCONTROL administrator can tell you if the job has a Statistics file, and if the Statistics
file is updated after each job run.
If EXECTIME values are negative (that is, if they are –n or –n%), the check can be
performed only after the job has finished running.
When EXECTIME values are positive (that is, if they are +n or +n%), the check can be
performed (and if the elapsed runtime limits are exceeded, the message can be
“shouted”) before the job has finished running.
When CONTROL-M calculates EXECTIME values, such as job start time, average
execution time, actual elapsed time, shout message time, and so on, calculations are
made only in minutes, and seconds are ignored. Therefore, the results of expressions
such as SHOUT WHEN EXECTIME >001 (or +001) are unpredictable. BMC Software
recommends that you use SHOUT WHEN EXECTIME only when you need to
monitor jobs of more than a few minutes duration.
Relative EXECTIME limits must not exceed 24 hours. When relative EXECTIME
limits exceed 24 hours (such as if +n(%) of the average runtime exceeds 24 hours), the
message is “shouted” if and when processing reaches 24 hours.
When the New Day procedure runs, any unexecuted SHOUT statements that relate to
jobs ordered on the previous day are automatically cancelled.
If, when you order jobs, you often specify a LATE or LATESUB time that crosses the
New Day time, you should consider implementing Wish WM2344. This Wish enables
jobs to operate with a “shifted” New Day time for SHOUT purposes. You can find
Wish WM2344 in the IOADFLT member in the IOA IOAENV library.
If you want only some specific jobs to operate with a “shifted” New Day time for
SHOUT purposes, you may not want to implement Wish WM2344. An alternative
method for use in such a case is illustrated in Example 4 on page 635.
The TO Subparameter
Specify TO=USERID-userid to write the message to the IOA Log file under the user
ID specified in the parameter.
Specify TO=OPER[–n] to send the message to the operator console (route code n). If
the n value is omitted, the message is sent to all consoles to which route codes 1 or 11
are assigned. For more detailed information regarding route codes, refer to the IBM
publication Routing and Descriptor Codes, GC38-1102. Optionally, the message can
also be sent to the CONTROL-M/Enterprise Manager user. This is described in
“Shouting to CONTROL-M/Enterprise Manager” on page 468.
Specify TO=TSO-id or T-id to send the message to a groupid or logonid. The Shout
facility first searches the IOA Dynamic Destination table for the specified ID. If the
table contains an entry (groupid) that matches the value, the content of the entry is
used as the target for the shouted message. (The entire TO field is used. Therefore,
when directing the message to a remote user, do not append Nn or Mm. Instead, do
this in the IOA Dynamic Destination Table itself. For more information, see the
discussion of Destination Tables in the INCONTROL for z/OS Administrator Guide.)
■ a host name
■ an IP address
■ a nickname defined in the SNMPDEST table
■ a group name defined in the SNMPDEST table
For more information about mail destinations, see the INCONTROL for z/OS
Administrator Guide.
3. The following parameters in the IOAPARM member in the IOA PARM library
must be defined according to how messages must be targeted to
CONTROL-M/Enterprise Manager:
— If these messages must also be sent to the MVS operator console, set the
OPER2CON parameter to Y (Yes).
— If these messages must not also be sent to the MVS operator console, set the
OPER2CON parameter to N (No).
Such messages are then placed by CONTROL-M in the M2G file. Once the shouted
message is in the M2G file, the CONTROL-M Application Server reads the file and
sends the message to the CONTROL-M/Enterprise Manager user.
In addition, if the destination is USERID–userid (or U–userid), the user can control,
according to urgency, which messages are displayed when the IOA Log file is
accessed. Urgent and very urgent messages are highlighted on the screen. For more
details, see “IOA Log Facility” on page 288
Examples
Example 1
If the job finishes executing OK, write a message to the IOA Log file under the
specified user ID:
MEMNAME GPLSP0007
DAYS 01,15
SHOUT WHEN OK TO U-SHIFTMNGR URGN R
MS I HAVE FINISHED FOR TONIGHT
Example 2
Example 3
If the job is not run because of a JCL error, notify the user who sent the job.
Example 4
Perform a LATE shout after the New Day time has passed and a new working day
has begun.
However, the New Day process automatically cancels any shout requirements of jobs
ordered on any previous day.
Method 1
2 Create a DUMMY job scheduling definition named SHOUT. This job must be
ordered at the New Day time, and must contain the following elements:
■ The IN condition in the SHOUT job prevents it from executing between 0600
and 1359.
■ The TIME FROM and UNTIL parameter values prevent the SHOUT job from
running until after the next New Day procedure, but the MAXWAIT parameter
value ensures that the job remains on the Active Jobs file for the following day.
— if the LONGWAIT job has ended, it has removed the IN condition required
before the SHOUT job can run, so that there is no false shout at 0700
— if the LONGWAIT job has not ended, the SHOUT job runs, and the shout is
produced as required
Method 2
Use IOA Exit 34, and set values for the SET VAR parameter in the job scheduling
definition.
For more information, see the IOAX034H sample exit in the IOA SAMPEXIT library.
Optional. Valid values are any valid periodic calendar name consisting of from 1
through 8 characters.
For more information on defining, modifying, and using periodic calendars, see “IOA
Calendar Facility” on page 299.
General Information
As part of the post-processing for each job, CONTROL-M for z/OS determines the
elapsed run time of the job. All accumulated information regarding job execution,
including the elapsed run time, is written to the IOA Log file.
Periodically, a statistics utility may be used to scan and analyze the IOA Log file. This
utility gathers information about the start time of each job, its elapsed run time, CPU
utilization time, and so on. The utility places this information in the Statistics file,
where averages of these values can be maintained for each job.
For more information on the Statistics file, see “Statistics Screen” on page 231.
When a job is ordered, CONTROL-M takes the average run time of this job from
Statistics file and places it in the job record in the Active Jobs file. CONTROL-M then
uses this average run time to calculate the anticipated ELAPSE time, that is, the job
execution time, of the job, and hence the Due In time of the job.
If the STAT CAL parameter is not used to specify a periodic calendar, the statistics
relating to a job are based on all run times of the job.
If the STAT CAL parameter is present, statistics for the job are based on an average of
all runtimes per period.
Further information is available in the Active Jobs file Zoom screen (Screen 3.z),
which contains the STAT CAL PERIOD field. This is a read-only field that may
contain one alphabetical character when the job has run. This character identifies the
actual days within the CONTROL-M periodic calendar that were used in calculating
statistics relating to the job.
By using the STAT CAL parameter together with the information displayed in the
STAT CAL PERIOD field, you can obtain more precise statistical information about
the running of the job, as shown in the following example.
Example
Assume that a job runs daily, weekly, and monthly, and that the STAT CAL
parameter identifies a periodic calendar that contains a number of months each
specified in a manner similar to the following:
-----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 +
09 D D W D D D D D W D D D D D W D D D D D W D D D D M
In this example, the job runs daily in Period D, weekly in Period W, and monthly in
Period M.
If the job runs on the 3rd of the month, its statistics are collected for Period W. If it
runs on the 6th of the month, its statistics are collected for Period D, and so on.
In the Statistics Panel you can see statistics for daily, weekly, and monthly runs of the
job. The figure below shows a typical Statistics panel (with fewer entries than those
that would be produced by this example).
procstep is the step name in the EXEC statement that invokes the
procedure: //procstep EXEC procname
General Information
Whenever a STEP RANGE statement is specified, it eliminates the need to define
separate ON PGMST, ON PROCST, and ON CODES statements and accompanying
DO actions for each step in the range. The defined STEP RANGE name can be used,
without redefining the range, in subsequent ON PGMST, ON PROCST, and ON
CODES statements, by specifying the step range name, preceded by an asterisk, in the
ON PGMST field. For more information on ON PGMST and ON PROCST, see “ON
Statements: Post–Processing Parameter” on page 534. For more information on ON
CODES, see “CODES Values” on page 548.
Any number of step ranges can be specified. After entering a STEP RANGE
parameter, another STEP RANGE parameter line is automatically displayed.
If the EXCLUDED STEP RANGE facility is activated (that is, EXSTPRNG=Y in the
CTMPARM parameter) and the name of the step range starts with a minus sign, then
that step range defines an EXCLUDED STEP RANGE (all steps in the job, excluding
the steps from one step to another).
For example:
defines a step range called -ERANG1, which contains all the job steps except the steps
from step STEP10 to step STEP20.
Examples
Triggers a SHOUT if any step, except step STEP3 through step STEP6, finishes with
code 16.
Triggers a SHOUT if every job step, except those from step STEP6 to step STEP9,
finishes with a code greater than 8.
Triggers a SHOUT if every job step, except step STEPA, finish with a zero code.
For example, if one step finished successfully during its original run and another step
finished successfully after a restart, the ON block check for the successful finish for
both steps produces a TRUE result and the ON statement is satisfied.
Activation of this facility requires that the ALLRUNS parameter in the CTRPARM
parameter be set to YES. When activated, this facility may apply to any specified step,
step range, or to step value +EVERY.
Example
Define program steps STEP20 through STEP29A as step range DF2. If any of these
steps produce any system or user abend (except user abend U2030), rerun the job and
shout a message to TSO-P43.
NOTE
SYSOUT and DO SYSOUT statements are similar, but not identical. The differences are
outlined below in “Differences Between SYSOUT and DO SYSOUT” on page 648.
sysout_data Relevant sysout data. Mandatory and valid only if the specified OP
value is F, C, or N. Valid values depend on the OP value, as follows:
■ F – File name
■ C – New class (1 character). An asterisk (*) indicates the original
MSGCLASS of the job
■ N – New destination (1 through 8 characters)
FROM FROM class. Optional. Limits the sysout handling operation to only
those sysouts from the specified class.
Note: If a FROM class is not specified, all sysout classes are treated as
a single, whole unit.
General Information
When a job ends OK, the CONTROL-M monitor, unless otherwise instructed, leaves
the job sysout in HELD class in the output queue.
The SYSOUT parameter is used to request additional handling of these held sysouts
when the job ends OK.
The CONTROL-M monitor sends all sysout handling requests to JES, which
processes the instructions. If, however, the copying of sysouts to a file is requested
(option F), CONTROL-M requests the sysouts from JES and then CONTROL-M
directly writes the sysout to the file.
Only one SYSOUT statement can be defined in a job scheduling definition. To specify
additional sysout handling instructions in addition to the one SYSOUT statement,
define appropriate DO SYSOUT statements:
DO SYSOUT statements are activated when their accompanying ON step and code
event criteria are satisfied. To define DO SYSOUT statements that act like a SYSOUT
statement, that is, those that operate only when the job ends OK, define their
accompanying ON statement with PGMST set to ANYSTEP and CODES set to OK.
For more information, see “ON Statements: Post–Processing Parameter” on page 534,
and “DO SYSOUT: Post-Processing Parameter” on page 472.
■ Under JES2, operations are performed on all of the held sysouts, or held portions of
sysouts, of the job, unless otherwise restricted to a specific FROM class by the
FROM subparameter.
■ Under JES3, operations are performed only on the sysouts of the job in the
CONTROL-M held class, which is specified in the CONTROL-M installation
parameter HLDCLAS.
The job sysouts are copied (not moved) to the file specified in the data
subparameter.
The file name specified in the data subparameter can contain AutoEdit System
variables, and/or user-defined AutoEdit variables, which are defined in the job
scheduling definition or the IOA Global Variable database, or which are loaded
into AutoEdit cache. If the AutoEdit variables cannot be resolved, the sysout is not
copied.
The job sysouts are deleted (purged) from the output queue.
NOTE
This operation works on all sysouts under JES2 or JES3, regardless of held status or class,
unless otherwise restricted by the FROM subparameter.
The job sysouts are changed to the output class specified in the data subparameter.
Ensure that you specify a meaningful target output class.
— Changing a sysout class to a non-held class does not release the sysout because
the sysout attributes do not change (due to JES logic).
— To ensure that the sysout is released, use DO SYSOUT statements to release the
sysout after changing its class. For example,
— Changing a sysout class to a dummy class does not purge the sysout because the
sysout attributes do not change (due to JES logic).
— To save the original MSGCLASS of the job and to restore it at output processing
time, specify a data value of *. The sysouts are changed to the original class of
the job.
The job sysouts are moved to the output destination specified in the data
subparameter. Ensure that you specify a meaningful target output destination.
If multiple SYSOUT or DO SYSOUT operations are not specified for the same FROM
class, the order in which the operations are performed is not significant.
CONTROL-M merges different operations for the same FROM class into a combined
instruction to JES. Likewise, CONTROL-M merges different operations without a
FROM class into a combined instruction to JES.
Operations without a specified FROM class treat the entire held sysout as a whole
unit, and are therefore not merged with sysout handling requests for a specific FROM
class.
JES does not necessarily process multiple sysout handling instructions in the order
they are issued by CONTROL-M. Therefore, the processing results can vary if the
merged instructions to JES include both FROM equals a specified class and FROM
equals blank.
BMC Software therefore recommends that a job scheduling definition not contain
both “FROM class” and “no FROM class” sysout handling instructions, which
becomes operational under the same situations.
After performing all copy to file operations, CONTROL-M merges all operations
performed on a specific FROM class.
CONTROL-M then passes the merged sets of instructions to JES for processing.
The following chart and the accompanying numbered explanations indicate the result
of merging SYSOUT and DO SYSOUT statements. Note the following points about
the chart:
■ Operations are indicated by their symbols (F,D,R,C,N), at the top and side of the
chart. The operations at the top of the chart represent DO SYSOUT operations. The
operations at the side of the chart represent SYSOUT operations.
Groups are delimited by lines, and are numbered (from 1 through 4). Within each
group, operations are delimited by periods.
In some cases, the operations are merged. This is indicated by the word “merged.”
Operations are explained in the numbered descriptions that follow the chart.
Copy to file operations are performed first, directly by CONTROL-M, for both
SYSOUT and DO SYSOUT statements, whether FROM class is specified or not.
Then, other operations are performed.
2. DO SYSOUT=D (Delete)
This operation supersedes all SYSOUT operations, except copy to file operations
described above. Superseded operations are ignored (that is, not performed).
In general, combinations of R, C, and N requests are merged, that is, they are all
performed. The exceptional cases are described below:
Perform just the DO SYSOUT R request and ignore the SYSOUT C request.
Perform just the DO SYSOUT request and ignore the SYSOUT request.
Perform just the DO SYSOUT request and ignore the SYSOUT request.
■ The SYSOUT statement is applied only if the job ends OK. DO SYSOUT statements
are associated with accompanying ON statements and are applied only if the
accompanying ON step and code criteria are satisfied.
■ Only one SYSOUT statement can be defined in the job scheduling definition. An
unlimited number of DO SYSOUT statements can be requested.
Examples
Example 1
Delete the sysout after the job has finished executing OK:
MEMNAME EBMANT1
DAYS 1,15
SYSOUT OP D (C,D,F,N,R)
Example 2
In JES3, the identity of the processor on which the job must execute.
General Information
The SYSTEM ID parameter has different effects, depending on which release of JES is
in use.
If a value is specified for the SYSTEM ID parameter, it will not override any system
identity specified in the job statement unless the OVERJCLM parameter in the
CTMPARM library is set to Y.
If the task type is a started task, SYSTEM ID is protected. If the task type is changed
from a job to a started task, SYSTEM ID is erased and protected.
Under JES2
If CONTROL-M is running under JES2, the SYSTEM ID parameter is used to specify
the JES2 system on which the job is to be initiated and executed.
If a value is specified for the SYSTEM ID parameter, the following JCL statement is
generated:
/*JOBPARM SYSAFF=sys_id
Under JES3
If CONTROL-M is running under JES3, the SYSTEM ID parameter is used to specify
the JES3 processor which is to execute the job.
If a value is specified for the SYSTEM ID parameter, the following JCL statement is
generated:
//*MAIN SYSTEM=processor_id
Examples
Example 1: JES2
DESC
OVERLIB STAT CAL
SCHENV SYSTEM ID SYS3 NJE NODE
/*JOBPARM SYSAFF=SYS3
Example 2: JES3
DESC
OVERLIB STAT CAL
SCHENV SYSTEM ID PRC3 NJE NODE
//*MAIN SYSTEM=PRC3
General Information
The job scheduling definition can belong to one of three basic types of tasks:
■ Job
■ Started Task
■ Warning Message
Jobs and started tasks can be “normal”, that is, submitted or activated once, or cyclic.
Furthermore, it is possible to define emergency versions of jobs and started tasks
(normal and/or cyclic).
The three basic types of tasks are indicated by the TASKTYPE values described in
Table 213:
A regular job is submitted to the JES input queue for execution; it then waits in the
queue like any job submitted under the operating system.
After the job finishes executing, CONTROL-M analyzes the results and determines
what actions to take. The job is not submitted again unless the RERUN statement is
performed. For additional information, see “MAXRERUN: Post–Processing
Parameter” on page 511.
Started tasks differ from jobs in that they are not submitted to the queue; instead, they
are invoked by an operator START command issued by CONTROL-M. For details on
passing parameters to started tasks, see “MEMLIB: General Job Parameter” on
page 519.
NOTE
PREVENT-NCT2=Y cannot be specified for started tasks (STCs).
A cyclic job or a cyclic started task is recycled for additional possible executions after
CONTROL-M has analyzed its execution results. The job or started task executes
again only after the number of minutes specified in the INTERVAL parameter has
passed since the last execution and the rest of its runtime scheduling criteria have
been satisfied.
NOTE
BMC Software recommends that a cyclic job delete the prerequisite conditions that triggered
its operation. Otherwise the job might continually be resubmitted.
If a cyclic job is executing at the time the New Day procedure is run, and the value of
the job’s MAXWAIT parameter has expired, the New Day procedure changes the job
to a non-cyclic job and handles the job accordingly.
Use of the cyclic option precludes the use of RERUNMEM and DO RERUN
parameters.
NOTE
Emergency jobs and started tasks are supported for backward compatibility, but BMC
Software recommends redefining them as regular jobs and started tasks that are activated by
DO FORCEJOB statements. CONTROL-M/Restart users can also use a DO IFRERUN
statement. The DO FORCEJOB statement is described in “DO FORCEJOB: Post–Processing
Parameter” on page 438, and the DO IFRERUN statement in “§Restart§DO IFRERUN: Post–
Processing Parameter” on page 442.
NOTE
BMC Software recommends that the GROUP parameter be specified if you define emergency
jobs. If it is not specified, the job may stay indefinitely in the Active Jobs file.
Emergency jobs can be filtered out of the job display in the Active Environment
screen and filtered out of reports.
Warning Messages
NOTE
The IOANOTE utility, which is described in the INCONTROL for z/OS Utilities Guide, can also
be used to issue warning messages. BMC Software recommends that the IOANOTE utility be
used in place of this tasktype wherever possible.
For tasktype WRN, warning messages are sent to the IOA Log file when the job is
ordered. The messages are taken from the member specified in the MEMNAME
parameter.
NOTE
A job defined with tasktype WRN is not placed in the Active Jobs file.
Examples
Example 1
MEMNAME GNRLDR01
TASKTYPE JOB
Example 2
MEMNAME CICSPROD
TASKTYPE STC
Example 3
MEMNAME RESTORE2
TASKTYPE EMR
Example 4
■ FROM TIME
■ FROM DAYS
■ UNTIL TIME
■ UNTIL DAYS
The FROM TIME and UNTIL TIME subparameters can contain valid times in the
format hhmm (where hh is hour and mm is minute). Character > can be entered in the
UNTIL TIME field.
The FROM DAYS and UNTIL DAYS subparameters can contain valid numbers from
zero through 120.
General Information
The FROM TIME and FROM DAYS, and UNTIL TIME and UNTIL DAYS,
subparameters define a window of opportunity for job submission. A job can only be
submitted during the specified submission window.
To create a submission window from a particular time until the New Day processing
time, enter the desired FROM TIME and leave the UNTIL TIME subparameter blank.
Example
creates a submission window from 10:00 PM until the New Day Processing time.
To create a submission window from the New Day processing time until a particular
time, enter the desired UNTIL TIME and leave the FROM TIME subparameter blank.
Example
creates a submission window from New Day processing time until 1:00 P.M. When
both a FROM TIME and an UNTIL TIME value are specified, the relationship of New
Day Processing time to these values (on a physical clock) determines the submission
window. The logic is as follows:
If, when you move forward on the physical clock from the New Day Processing time,
you arrive at the FROM TIME before you arrive at the UNTIL TIME, it means that
New Day processing does not fall between the FROM TIME and the UNTIL TIME. In
this case, the submission window runs from the FROM TIME to the UNTIL TIME,
regardless of when the job was ordered.
Example
creates a submission window from 2:00 P.M. until 10:00 P.M., a period of 8 hours.
Example
creates a submission window from 11:00 P.M. until 5:00 A.M., a period of 6 hours.
Example
creates a submission window from 11:00 P.M. until 10:00 P.M., a period of 23 hours.
If, when you move forward on the physical clock from the New Day Processing time,
you arrive at the UNTIL TIME before you arrive at the FROM TIME, it means that
New Day processing falls between the FROM TIME and UNTIL TIME.
Batch jobs are frequently scheduled for submission from night until the morning.
Therefore, when the New Day Processing time intervenes between the FROM TIME
and the UNTIL TIME, it is likely that, following New Day Processing, the site still
wants the job to be submitted up until the UNTIL TIME, without first waiting for the
FROM time of the New Day.
For this reason, if New Day Processing comes between the FROM TIME and the
UNTIL TIME, then regardless of when the job was ordered, the job is eligible for
submission from both
The actual effect is that the submission window consists of all times except the
interval from the UNTIL TIME until the FROM TIME.
Example
creates a submission window from 11:00 P.M. until 4:00 A.M. and from 4:00 A.M.
until 6:00 A.M., giving a net submission window from 11:00 P.M. until 6:00 A.M. The
job cannot be submitted from 6:00 A.M. until 11:00 P.M.
The character > in the UNTIL TIME subparameter indicates that CONTROL-M must
attempt to submit the job at the FROM TIME if specified, and if this is not possible,
CONTROL-M must submit the job as soon afterwards as possible, even at a later date
(unless the MAXWAIT period has expired).
Example
creates a submission window that begins at 10:00 P.M. If the job has not been
submitted by the end of day, it can be submitted at any time from the beginning of the
next day.
Specifying the same time in both the FROM TIME and the UNTIL TIME
subparameters has the same impact as entering no value in both fields.
Example
In this example, if the start time of the new workday is 6:00 A.M., this job can only be
submitted between the hours of midnight and 6:00 A.M.
If the FROM DAYS and UNTIL DAYS subparameters are entered, the job's
submission window is calculated as follows:
If either the FROM TIME or UNTIL TIME subparameter is missing, that is, not
specified, the New Day Processing time is used as the default for the missing value.
To create a submission window from a particular date and time until the date and
time of New Day processing, enter the desired FROM TIME and leave UNTIL TIME
blank.
Example
To create a submission window from a particular date and time of New Day
processing until a particular date and time, enter the desired UNTIL TIME and leave
FROM TIME blank.
Example
When both a FROM TIME and an UNTIL TIME value are specified, the relationship
of the New Day Processing time to these values (on a physical clock) determines the
submission window. The logic is as follows:
If, when you move forward on the physical clock from the New Day Processing time,
you arrive at the FROM TIME before you arrive at the UNTIL TIME, it means that
New Day processing does not fall between the FROM TIME and UNTIL TIME. In this
case, the submission window runs from the FROM TIME to the UNTIL TIME,
regardless of when the job was ordered.
Example
Example
Example
If, when you move forward on the physical clock from the New Day Processing time,
you arrive at the UNTIL TIME before you arrive at the FROM TIME, it means that
New Day processing falls between the FROM TIME and UNTIL TIME.
Batch jobs are frequently scheduled for submission during the night. Therefore, when
the New Day Processing time intervenes between the FROM TIME and the UNTIL
TIME, it is likely that, following New Day Processing, the site still wants the job to be
submitted up until the UNTIL TIME, without first waiting for the FROM TIME of the
new day. For this reason, if the New Day Processing time comes between the
FROM TIME and the UNTIL TIME, then regardless of when the job was ordered, the
job is eligible for submission from both:
Example
The character > in the UNTIL TIME subparameter indicates that CONTROL-M must
attempt to submit the job at the FROM TIME if specified, and if this is not possible,
CONTROL-M must submit the job as soon afterwards as possible, even at a later date
(unless the MAXWAIT period has expired).
On CONTROL-M screens 2 and 3, if the UNTIL TIME is >, the UNTIL DAYS
subparameter can not be entered.
Example
The FROM parameter is ignored when a job is rerun or restarted on a subsequent day.
Specifying the same time and day in both the FROM TIME/DAYS subparameters
and the UNTIL TIME/DAYS subparameters has the same impact as entering no
value in both fields.
Example
In this example, if New Day Processing time is 6:00 A.M., this job can only be
submitted between the hours of midnight and 6:00 A.M. on CONTROL-M working
date September 6.
MAXWAIT Considerations
The FROM DAYS and UNTIL DAYS parameters affect the MAXWAIT parameter. For
details, please refer to “MAXWAIT: Basic Scheduling Parameter” on page 514.
General Information
The TIME ZONE parameter appears in the Job Scheduling Definition screen (Screen
2) and the Active Environment Zoom screen (Screen 3.z).
The TIME ZONE parameter uses three characters to define a time zone by reference
to Greenwich Mean Time (UTC). This enables automatic adjustment of the times
specified in some fields of the Job Scheduling Definition screen to the corresponding
times in a time zone other than that in which the system is operating. The fields that
are automatically adjusted are the following:
■ FROM TIME+DAYS
■ UNTIL TIME+DAYS
■ DUE OUT TIME+DAYS
■ SHOUT WHEN TIME+DAYS
If you set the TIME ZONE parameter appropriately, CONTROL-M calculates the
corresponding times automatically, and the job runs only during the hours you
require.
The three-character values used in the TIME ZONE parameter are defined in the
TIMEZONE member in the IOA PARM library. A sample TIMEZONE member is
provided, but you can edit the values as needed. For example, you can use “EST” or
“NYC” instead of “G-5”, which is the default value for US Eastern Standard Time.
NOTE
Daylight Saving Time is defined differently in different time zones. For more information on
Daylight Savings Time, see the CONTROL-M chapter in the INCONTROL for z/OS
Administrator Guide.
Example
You are running CONTROL-M in London, but want a job to run only when the New
York Stock Exchange is open, between 0900 (9 A.M.) and 1600 (4 P.M.) in New York
(US Eastern Standard Time). US Eastern Standard Time is five hours behind London
time (GMT-5 hours).
1. In the Job Definition screen (Screen 2) or the Active Environment Zoom screen
(Screen 3.Z) set the TIME FROM parameter to 0900 and the UNTIL parameter to
1600.
3. Set the TIME ZONE parameter in the same screen to EST. When you press the
Enter key, the CONTROL-M interpretation of your specification is also displayed
in the format (GMTxhh:mm)
where:
■ x is + (Plus) or - (Minus)
■ hh is the hours figure you specified
■ mm is the minutes figure specified, either 00 or 30
4. The job will run between 2 P.M. and 9 P.M. at your site in London. These times
correspond respectively to 9 A.M. and 4 P.M. in New York, the hours when the
New York Stock Exchange is open. In other words, the job runs as if the TIME
FROM was set to 1400 and UNTIL to 2100.
NOTE
In the Job Scheduling Definition screen (Screen 2) and the Active Environment Zoom screen
(Screen 3.Z), the times appear as you specified, as 0900 and 1600 respectively. In the Active
Environment Why screen (Screen 3.?), the times appear with their converted values of 1400
and 2100 respectively.
Related parameters are “DAYS: Basic Scheduling Parameter” on page 414, and
“CONFCAL: Basic Scheduling Parameter” on page 396.
Optional. The WDAYS parameter specifies days of the week on which jobs must be
scheduled, provided other basic scheduling criteria are met.
Values for WDAYS can be specified alone, or they can be specified together with a
calendar specified in the WCAL subparameter. WDAYS and WCAL can also be
specified together with DAYS and DCAL, which are described under “DAYS: Basic
Scheduling Parameter” on page 414.
The first six days of the week are coded 1 through 6. The last day of
the week is coded 0 (zero). All examples in this chapter assume
Monday is the first day of the week. In these examples, Monday = 1,
Tuesday = 2, ..., Saturday = 6, and Sunday = 0.
■ When WDAYS are specified without WCAL, the job is scheduled on the specified
days of the week.
■ When WCAL is specified without WDAYS, the job is scheduled on the working
days marked in the WCAL calendar.
■ When WDAYS and WCAL are both specified, scheduling depends on the
combination of working days defined in the calendar and the values or format of
the WDAYS parameter (described below).
■ When both DAYS and WDAYS criteria are specified, scheduling depends on the
connecting AND/OR value specified. For more information, see subparameter
AND/OR in Table 166 on page 414.
General Information
Negative values take precedence over positive values when determining whether a
job is scheduled on a certain date. If a negative value (that is, format –n, –Dn, –Ln, –
DnPi, or –LnPi) in either the DAYS or WDAYS field prevents a job from being
scheduled on a date, the job is not scheduled on that date even if a positive value
(such as Ln) in a basic scheduling parameter would otherwise result in the job being
scheduled on that date.
If periodic and non-periodic values are mixed when specifying the WDAYS
parameter, processing depends on the calendar type specified in the WCAL
parameter:
■ If a periodic calendar is specified in WCAL, all periodic values and all negative
non-periodic values (for example, –n) in the WDAYS parameter are processed; all
non-negative non-periodic values are ignored.
The WDAYS parameter cannot be used with the PDS and MINIMUM parameters.
For certain exceptional situations regarding the interaction of the WDAYS and
MONTHS parameters, see “MONTHS: Basic Scheduling Parameter” on page 530.
Examples
The examples in this chapter are based on the following assumptions:
■ Working days are defined in calendar WORKDAYS, which contains the following
working days (indicated by Y) for December, 2001.
---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
Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
---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
B C A A B B C A A B B C A A B B C A A B B
■ Start of the week is defined as Monday. Weeks start on the following dates in
December 2001: 3rd, 10th, 17th, 24th, and 31st.
At the end of each example, asterisks in a December 2001 calendar indicate the days
on which the job is scheduled.
Example 1
WDAYS 0,1
Example 2
WDAYS +6
WCAL WORKDAYS
Example 3
Schedule the job on Sunday, if it is a working day. If Sunday is not a working day,
schedule the job on the first preceding working day that is not a Friday.
WDAYS -5,<0
WCAL WORKDAYS
Example 4
WDAYS D1W1
Example 5
Schedule the job on all working days except Mondays and Fridays.
WDAYS -D1,-L1
WCAL WORKDAYS
Example 6
Each week, schedule the job on the 1st day of period A in that week, and on all days
of period B except the second day of period B in any week.
WDAYS D1PA,-D2PB
WCAL PERIDAYS
Example 7
Schedule the job on each Monday and on the 1st day of the month.
DAYS 1
AND/OR OR
WDAYS 1
Example 8
Schedule the job on the 3rd day of the month provided it is a Monday.
DAYS 3
AND/OR AND
WDAYS 1
Example 9
DAYS L1,L2,L3,L4,L5,L6,L7
AND/OR AND
WDAYS 1
Example 10
Schedule the job on the 1st, 7th and 15th day of the month if they are both Saturdays
and working days. If the day of the month (1st, 7th, 15th) is not a Saturday, do not
schedule the job. If the day of the month is a Saturday, but it is not a working day,
schedule the job on the next working day.
DAYS 1,7,15
AND/OR AND
WDAYS 6
CONFCAL WORKDAYS
SHIFT >
4
4 CONTROL-M Event Manager (CMEM)
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Types of Events Managed by CMEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Types of Actions That CMEM Can Perform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
CMEM Rule Ordering, Triggering and Deactivation. . . . . . . . . . . . . . . . . . . . . . . 680
CMEM AutoEdit Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
On Spool Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Support for ON DSNEVENT and ON STEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
CMEM Support for FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
CMEM Support for IBM FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
Rule Parameters – Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Event Selection Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
General Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
Action Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Parameter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
DESCRIPTION: General Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
DO statement: Action Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
DO COND: Action Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
DO FORCEJOB: Action Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
DO RULE: Action Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
DO SHOUT: Action Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
DO STOPJOB: Action Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
GROUP: General Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
MODE: General Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
ON statement: Event Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
ON DSNEVENT: Event Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
ON JOBARRIV: Event Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
ON JOBEND: Event Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
ON STEP: Event Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
OWNER: General Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
RUNTSEC: General Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
THRESHOLD: Runtime Scheduling Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
Overview
The CONTROL-M Event Manager (CMEM) facility enables CONTROL-M to perform
specified actions in response to external events. External events are events in the
system that occur outside the direct control of CONTROL-M, such as submission of a
job not under the control of the CONTROL-M monitor.
The CMEM facility utilizes sets of user-defined rules that specify events to monitor
and actions to perform if a specified event occurs. These rules are defined online
through the CMEM Rule Definition facility.
Multiple rules can be defined in a table (member) in a standard partitioned data set
(library). Related rules are usually defined in the same table. Multiple tables can be
defined in a library, and multiple CMEM rule libraries can be defined.
Examples are:
Prerequisite conditions can be added to or deleted from the IOA Conditions file.
This may trigger the submission of jobs in the Active Jobs file. Specified in a DO
COND statement in the rule.
A CONTROL-M scheduling table or individual job can be forced (that is, ordered
to the Active Jobs file regardless of its basic scheduling criteria). Specified in a DO
FORCEJOB statement in the rule.
At the end of the current job step, terminate the job in which the event occurred.
Specified in a DO STOPJOB statement in the rule.
■ send a message
Once a CMEM rule has been loaded in memory, the occurrence of the events
specified in its ON statements trigger the rule. All DO statements in the rule are then
performed.
More than one rule can be triggered by the occurrence of an event. An event triggers
each rule whose ON statement matches the event.
The one exception occurs when multiple rules are triggered by the same job arrival
event and each of the triggered rules contains DO FORCEJOB statements. In this case,
the DO FORCEJOB statements of the first triggered rule are performed, but the DO
FORCEJOB statements of the other rules triggered by the event are not performed.
For more information, see “On Spool Jobs” on page 681.
CMEM rules remain activated, that is, they remain in memory, until they are
overridden by the reloading of the rule table or deleted by an operator command.
CMEM AutoEdit variables are resolved upon triggering of the rule. Available CMEM
AutoEdit variables are:
On Spool Jobs
On Spool jobs are jobs or started tasks that are submitted externally to CONTROL-M,
such as jobs submitted by TSO users or CICS, or jobs received over the NJE network,
but are brought under the control of the CONTROL-M monitor using a CMEM rule.
The CMEM rule that causes a job to be an On Spool job, that is, a CMEM rule that
brings the external job under the control of the CONTROL-M monitor, must be an
ON JOBARRIV rule or CONTROL-O event (ON DSNEVENT or ON STEP) with a DO
FORCEJOB statement. To inform CONTROL-M that this is an On Spool job and not a
regular FORCEJOB request, the job scheduling definition forced by the DO
FORCEJOB must "match" the arriving job, as described below.
CONTROL-M controls the entire life cycle of the job, from determining when to
execute the job to performing job post-processing, according to the forced job
scheduling definition.
Once the job starts execution, whether the job previously required releasing or not, it
is controlled by CONTROL-M in the same way that CONTROL-M controls regular
jobs. CONTROL-M waits for the job to finish, reads its sysout, and performs all
post-processing actions defined in the job scheduling definition.
1. job on spool
2. CMEM rule
Below is a detailed explanation of what must be defined for each of the above
components to create an On Spool job.
Job On Spool
The job must have the following characteristics:
■ The job must be submitted with TYPRUN=HOLD to delay its execution and
permit CONTROL-M to determine when to run the job.
— for JES3 users: must be equal to the CONTROL-M SYSOUT held class
— for JES2 users: can be any held SYSOUT class
This enables CONTROL-M to read the job sysout and perform post-processing
according to the job scheduling definition.
CMEM Rule
The CMEM rule definition must contain the following:
NOTE
CONTROL-O users are advised that message rules triggered by $HASP395 (under JES2) or
IEF404I (under JES3) are treated the same as JOBEND rules.
■ DO FORCEJOB statement
The first DO FORCEJOB statement in the rule must force a matching job
scheduling definition, described immediately below. For more information, see
“DO FORCEJOB: Action Parameter” on page 701.
■ 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 the execution of the
job, that is, when the job must be run.
■ 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
(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 performs the
following actions:
— replaces the MEMNAME mask (if a mask was specified in MEMNAME) with
the name of the arriving job
— assigns the job ID of the job that triggered the event to the forced job
— forces the job; for details and exceptions see “On Spool Job Scheduling
Definition Considerations” on page 684
The forced job appears in the Active Environment screen with status WAIT
SCHEDULE ON SPOOL.
■ 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, to release it, if required.
— If the external job is waiting for execution in HELD state, that is, if the job arrives
on spool with TYPRUN=HOLD, CONTROL-M releases it for execution.
— Otherwise, CONTROL-M verifies that the job is still in the spool (waiting for
execution, executing or ended) before deciding to perform post-processing.
■ CONTROL-M waits for the job to finish execution, reads its SYSOUT, analyzes the
execution results and performs all the post-processing actions defined in the job
scheduling definition.
NOTE
CONTROL-M can only handle NJE jobs as On Spool jobs when they originate on the same
NJE node as that on which CONTROL-M is running.
Only one On Spool job can be created in response to a job arrival event. However, in
several cases, multiple DO FORCEJOB actions might match the arriving job. Each of
these cases and the job forcing logic applied to them, to prevent multiple On Spool
processes for the same external job, are described below.
■ The job arrival rule contains multiple DO FORCEJOB requests. Each might match
the arriving job. In this case, job forcing logic is as follows.
The On Spool process, the match between the external job name and MEMNAME,
is performed for the first DO FORCEJOB in the first matching job arrival rule only:
In either case, all subsequent DO FORCEJOB statements in the same rule (if they
exist) are handled normally, that is, not as forcing On Spool jobs.
■ The DO FORCEJOB forces a table in which more than one MEMNAME matches
the arriving job. In this case, job forcing logic is as follows.
If a table containing more than one job is forced, by the first DO FORCEJOB
statement in the rule, as described above, the first matching job causes the job to be
an On Spool job. All the other jobs in the table are forced as regular CONTROL-M
jobs, even if they match the job name of the external job.
■ Multiple job arrival rules are triggered by the same job arrival event, and each rule
contains one or more DO FORCEJOB statements that might match the arriving job.
In this case, job forcing logic is as follows.
Only the DO FORCEJOB statements from the first triggered rule are executed, as
described above. DO FORCEJOB from all other triggered job arrival rules are
ignored.
NOTE
If an On Spool job was purged from the spool but still remains in the Active Jobs file, and
another job with the same name arrives on spool and is assigned the same job ID, that later job
is not forced.
■ Any attempt to rerun the job, that is, as a cyclic job, by a DO RERUN statement, or
by a manual rerun request, might fail if the JCL of the job is not found in the library
specified in the MEMLIB parameter of the job scheduling definition.
— The JCL of the On Spool job cannot contain AutoEdit statements, and SETVAR
statements in the job definition are ignored. This is because the job is not
submitted by CONTROL-M.
— Because the job is not submitted by CONTROL-M, the following job scheduling
definition parameters are ignored:
■ SCHENV
■ SYSTEM ID
■ NJE NODE
1. When a job, or STC, or TSO user session starts, the system issues either the IEF403I
message or the IEF125I message. CMEM intercepts this message, and checks
whether there is at least one ON DSNEVENT or ON STEP rule for the job. If there
is at least one rule for the job, CMEM creates the DSNEVENT environment in the
address space.
NOTE
A job can only be handled by one CMEM. Therefore, in an environment where more than one
CMEM can be active, for example, TEST and production, you must be accurate in defining the
ON DSEVENT.
The DSNEVENT environment for an address space remains intact when a new CONTROL-O
instance is started while the previous CONTROL-O instance is still active.
■ whether the DSNEVENT or STEP events fulfil the selection criteria in the rule
■ whether, in the case of a DSNEVENT, the file is a new file or already exists
NOTE
A DSNEVENT can be triggered only on the CONTROL-O/CMEM that runs on the same
z/OS system on which the event occurs. Even a focal CONTROL-O or CMEM in a Sysplex
environment is insufficient. This is because CONTROL-O or CMEM intercepts the messages
written to JESYSMSG while they are being written, which can be done only on the same
system where the event happens.
■ a JCL error
■ failure to encounter a previous step condition code
— If the value of STEPRC is null, the rule is triggered at the time of deallocation.
— If the value of STEPRC is other than null, the rule is rechecked at the
termination of the step to ascertain the STEPRC criteria.
For CMEM actions to be triggered in this way, the following conditions must be
satisfied:
■ Either the IEF403I message or the IEF125I message must appear in the job log.
■ The job, STC, or TSO user session must have its MSGLEVEL set to (x,1), to ensure
that allocation, deallocation and step termination messages are written to the
JESYSMSG. It is not sufficient for these messages to appear only in the system log
or job log.
■ At least one ON DSNEVENT or ON STEP rule must be ordered and ready before
the job, STC, or TSO user session starts.
NOTE
If the value of ON DSNEVENT is * (asterisk), every job, STC, or TSO user session is within the
DSNEVENT environment. BMC Software recommends that you do not use this type of
DSNEVENT because of
■ the overhead that results from CMEM analyzing every message written to the JESYSMSG
■ the CMEM limitation that only one CMEM can handle a DSNEVENT for a job
In an environment where more than one CMEM is active on the same system, this
definition may cause the wrong CMEM to trap the event.
■ IEF283I
■ IEF285I
■ IEF287I
SMS Support
In the case of SMS-managed data sets, CMEM traps the IGD101I and IGD104I
allocation and deallocation messages, and determines whether the file is new
according to the following rules:
■ IGD105I
■ IGD107I
■ IGD108I
■ IGD17101
NOTE
The messages that are required by CMEM for the purposes of this and the preceding sections
are liable to be changed as a result of IBM changes in data set processing.
In order to enable CMEM rules to be triggered by such file transfers, do the following:
2. Start the CMEM monitor with at least one DSNEVENT rule that refers to the STC
of the FTP product. You can use a dummy DSNEVENT rule that forces CMEM to
monitor the STC of the FTP product.
4. Modify existing rules, or order new rules (or do both). Rules that have been
modified or ordered before a file reaches the FTP server are applied to all files
subsequently transferred by the FTP product.
NOTE
Do not use the STEPRC subparameter in conjunction with the FTP* setting for ON
DSNEVENT, because the same FTP procedure can serve many requests before being
terminated.
In order to enable CMEM DSNEVENT support for IBM FTP, the following occurs:
1. When the CMEM monitor starts, it activates the OpenEdition interface for
processes in the BPXAS. Having done this, CMEM issues the following messages:
2. When a new process starts in the BPXAS, the interface routine issues the CTO403I
pseudo-message. This pseudo-message causes CMEM to simulate IEF403I
processing, which is described in “Support for ON DSNEVENT and ON STEP” on
page 686.
3. Under z/OS, IBM FTP functions as a UNIX process running under z/OS.
Therefore it follows the UNIX standard, one aspect of which is that the name of the
job is set to the user ID of the person who issued the FTP request. This UNIX
standard creates a problem, because the operator who writes the CMEM rule must
know at that stage which user will issue an FTP request.
The solution to this problem is to use the statement ON DSNEVENT FTP*. The
result is that any FTP process will trigger the rule.
NOTE
Do not use the STEPRC subparameter in conjunction with the FTP* setting for ON
DSNEVENT, because the same FTP procedure can serve many requests before being
terminated.
The parameters of the CMEM Rule Definition screen are divided into the following
categories:
General Parameters
The following parameters contain general information about the rule.
Action Parameters
The following parameters (DO statements) specify actions to be performed.
Parameter Descriptions
The following pages contain detailed descriptions of all parameters available in the
CMEM Rule Definition screen. Parameters are arranged in alphabetical order. Within
each parameter, subparameters are arranged according to the order of the fields on
the screen.
■ the format required for defining the parameter within an extract of the CMEM
screen
For more information on the CMEM Rule Definition facility, see Chapter 2, “Online
Facilities.”
Optional. The DESCRIPTION parameter consists of one or more lines that can
contain free text. Each line is 61 characters in length. Upon typing text in a
DESCRIPTION line and pressing Enter, a new DESCRIPTION line is opened.
General Information
The DESCRIPTION parameter does not affect rule processing. The text entered in the
first DESCRIPTION line appears to the right of the rule name in the Rule List screen.
It is intended to let the user know at a glance the purpose of, or some other key
information about, the rule. The text can be typed in any language.
Example
The description START THE BATCH SHIFT appears next to the rule name in the Rule
List screen.
■ Type the action keyword (such as COND) in the DO field and press Enter.
■ When required, subparameter fields are displayed. Fill in the subparameters and
press Enter again.
The following are valid DO actions. Each is discussed individually in this chapter.
Optional. Type the word COND (or its abbreviation CON) in the DO field and press
Enter. The following subparameters are displayed:
General Information
When a rule containing a DO COND statement is triggered, the designated
prerequisite conditions are added or deleted (as specified) from the IOA Conditions
file by the CONTROL-M monitor.
A prerequisite condition can define any user-specified situation. The following are a
few examples of prerequisite conditions:
IMS-ACTIVE
WEEKEND
SALARY-OK
Representative dates (such as ODAT) are resolved to the actual corresponding date in
the site-standard format.
NOTE
Long condition names cannot be used in CMEM rule definitions.
Example
Example 1
When job CICSPROD ends, this rule sets the condition necessary for the batch shift to
begin.
Example 2
When a data set with name prefix TRAN arrives by file transfer product CONNECT
DIRECT (formerly called NDM), add prerequisite condition FILE-RECEIVED to
notify CONTROL-M that the data set was received.
Optional. Type the word FORCEJOB (or its abbreviation F) in the DO field and press
Enter. The following subparameters are displayed:
General Information
DO FORCEJOB places a job order in the CONTROL-M Active Jobs file, even if the
basic scheduling criteria of the job are not satisfied. For more information, see “Job
Ordering and Job Forcing” on page 66.
If the CONTROL-M monitor is not active, the DO FORCEJOB request is queued and
performed when the CONTROL-M monitor becomes active.
DO FORCEJOB logic works differently for job arrival events than for job end, data set
or step events:
DO FORCEJOB statements specified in a job end event rule are performed only if the
terminating job is not under CONTROL-M.
Data set or step event rules are performed regardless of where the job was submitted.
However, if the triggering job was ordered or submitted by CONTROL-M, the job
will not become an On Spool job. For more information about On Spool jobs, see “On
Spool Jobs” on page 681.
■ If the job that triggered the job arrival event was submitted by CONTROL-M, the
DO FORCEJOB statement is ignored.
■ If the job that triggered the job arrival event was not submitted by CONTROL-M,
CONTROL-M forces the requested table or job. CONTROL-M scans the forced
table looking for a job whose MEMNAME value matches, or is a mask for, the
name of the job whose arrival triggered the rule.
— If a matching job is not found, or more than one job is ordered, all other jobs are
not On Spool jobs, and are processed normally by CONTROL-M.
NOTE
When a DO FORCEJOB request fails because the scheduling table is in use, CONTROL-M
may try again to execute the job, depending on the values set for the FORCE# RT and
FORCE# WI installation parameters. For more information on the FORCE# RT and
FORCE# WI installation parameters, see the customization chapter of the INCONTROL for
z/OS Installation Guide.
Examples
Example 1
Scheduling table ANYJOB must contain at least one job scheduling definition.
Example 2
Control all jobs submitted by CICS. These fall into the following groups: Jobs whose
name starts with A and jobs whose name starts with C.
Scheduling table CICSJOB must contain at least two job scheduling definitions:
Optional. Type the word RULE (or its abbreviation RU) in the DO field and press
Enter. The following subparameters are displayed:
General Information
To define a DO RULE statement in a CMEM rule, and to access a CMEM rule
containing a DO RULE statement, CONTROL-O must be installed.
NOTE
To order a CMEM rule containing a DO RULE statement and to invoke the CONTROL-O rule
specified in the CMEM DO RULE statement, CONTROL-O must be active.
When a DO RULE statement is executed, the specified rule is searched for among the
loaded rules according to the specified rule name, table, library, and owner. If the rule
is found but is not active, for example, if the runtime scheduling criteria are not
satisfied, the “invoked” rule is not executed and the calling rule continues execution
with the next DO statement.
The CMEM calling rule can pass an argument string as input to the called rule. This
argument string can contain CMEM AutoEdit expressions that are resolved at time of
rule execution. The argument string can be accessed by the called rule through
CONTROL-O System variable %%$ARGS. If a called rule calls another CONTROL-O
rule, the %%$ARGS values passed in the earlier call are overwritten by the
%%$ARGS values passed by the later call. For information about the AutoEdit facility
in CONTROL-O, see the CONTROL-O User Guide.
A called CONTROL-O rule can invoke other CONTROL-O rules using DO RULE
statements. Nesting of DO RULE calls, for example, rule 1 calls rule 2, that calls rule 3,
up to 20 deep is supported. A CONTROL-O rule can be called recursively.
Example
When a data set named PROD.TRAN.* is cataloged by TCPIP, invoke a CONTROL-O
rule that starts a task to process it.
Optional. Type SHOUT in the DO field and press Enter. The following
subparameters are displayed:
SYSTEM Name of the system (computer) where the message must be directed.
A name of one to eight alphanumeric characters can be entered.
Mask characters (* and ?) are supported for this subparameter.
Note: If no SYSTEM value is specified, the message is sent to the
system identified by reserved user-defined variable
%%$COMMSYS in a preceding DO SET statement. For a
description of %%$COMMSYS, see the CONTROL-O User Guide.
If %%$COMMSYS is not specified, the message is issued on the
current system.
Can be used only when CONTROL-O is installed.
CTO282I Indicates if the message ID is prefixed by CTO282I. Optional.
Valid values are:
■ Y (Yes) – The message ID is prefixed by CTO282I. Default.
■ N (No) – The message ID is the first word of the message text.
General Information
The message is sent to the required destination when the accompanying ON
statement criteria are satisfied.
It is also possible to shout to a ROSCOE user. For additional information, see your
INCONTROL administrator.
Subparameter TO
Type TO=USERID-userid to write the message to the IOA Log under the user ID
specified in the parameter.
For more detailed information regarding route and descriptor codes, refer to the IBM
publication Routing and Descriptor Codes, GC38-1102.
Examples
Type TO=TSO-logonid to send the message to a groupid or logonid. The Shout facility
first searches the IOA Dynamic Destination table for the specified ID. If the table
contains an entry that matches the value, the content of the entry is used as the target
for the shouted message. The entire TO field is used. Therefore, when directing the
message to a remote user, do not append Nn or Mm. Instead, do this in the IOA
Dynamic Destination Table itself. For more information, see the description of
Dynamic Destination Tables in the INCONTROL for z/OS Administrator Guide.
In addition, if the destination is USERID-userid (or U-userid), the user can control,
according to urgency, which messages are displayed when the IOA Log file is
accessed. Urgent and very urgent messages are highlighted on the screen. For more
details, see “IOA Log Facility” on page 288
By default, the CTO282I subparameter has a value of Y, and CTO282I is placed as the
message ID preceding the message text. When CTO282I is set to N, the first word of
the message text becomes the message ID.
Example
When started task DB2MSTR ends, issue a message to the DBA who is on duty.
Notice the use of the generic TSO user name, that the Dynamic Destination table
interprets to be one or more TSO users.
Optional. Type STOPJOB, or its abbreviation ST, in the DO field and press Enter.
General Information
When DO STOPJOB is performed, the job that triggered the rule is terminated after
the current step, and no further steps (including those marked COND=EVEN or
COND=ONLY) are executed. An appropriate message is written to the job log. If the
stopped job is controlled by CONTROL-M, it terminates with a status of ENDED
NOTOK.
Example
If the production data set disposition is NOT CATLGD 2, stop the job.
General Information
The GROUP parameter is used to provide more convenient handling of rules. It
enables retrieval of information on a group basis. The group name appears in all
important IOA Log file messages relating to the rules of the group.
Example
The rule that instructs CONTROL-M to start the batch shift when CICSPROD ends
belongs to group CICS.
Optional. Valid values, and their abbreviations, for the MODE parameter are:
General Information
Test mode provides the opportunity to test the effects of a rule definition without
actually performing the specified DO actions.
Log mode provides a transition between Test and Production mode. Like Production
mode, Log mode enables performance of the specified DO actions. However, Log
mode also records the trace information in the test journal for tracking purposes.
When tracking of the performed actions for test purposes is no longer required, the
rule can be placed in Production mode.
For CONTROL-O sites in which the Automation Log facility is active, the trace
information is recorded in the Automation log. For more information, see the
CONTROL-O User Guide.
Example
The rule that instructs CONTROL-M to start the batch shift when CICSPROD ends is
activated in Production mode.
The following are valid ON statements (and their abbreviations). Each is described in
detail later in this chapter.
Entering a value for this subparameter opens a new ON statement and links the
newly opened statement to the current ON statement.
General Information
Upon typing an ON parameter and pressing Enter, additional fields (subparameters)
are displayed. Each ON parameter and its subparameters comprise an ON statement.
At least one ON statement is required in a rule definition. Additional ON statements
can be entered using the And/Or/Not option.
The first eight characters of the event name appear as the name of the rule in the Rule
List screen.
Use of OR logic reduces the amount of redundant data in the CMEM rule library and
improves rule management.
NOTE
When entering multiple ON statements, ensure that the statements are not mutually exclusive
or not connected by an AND parameter. Rules containing mutually exclusive ON statements
connected by an AND parameter are never triggered. For example:
AND
Character Masking
The following mask characters can be used when entering ON statement values:
Optional. Type D (DSNEVENT) in the ON field and press Enter. The following
subparameters are displayed:
General Information
ON DSNEVENT rules are triggered by the setting of data set disposition at time of
deallocation (during step termination or dynamic deallocation).
DO statements in the rule are executed either immediately upon detection of the data
set event or at the end of the job step that caused the data set event, depending on the
value entered in the STEPRC subparameter (described above).
Immediate execution is useful for performing actions when data sets are dynamically
de-allocated using long running address spaces (for example, CICS, TSO users, and
file transfer monitors).
CMEM must be active before any tasks tracked by ON DSNEVENT rules begin;
moreover, ON DSNEVENT rules only intercept data set events for jobs, started tasks,
or TSO users that started after the rule was ordered.
NOTE
To monitor data set events for a job, started task or TSO user, the job, started task or TSO user
must have MSGLEVEL=(1,1) and message IEF403I or IEF125I must appear in the job log.
A DSNEVENT can be triggered only on the CONTROL-O/CMEM that runs on the same
z/OS system on which the event occurs. Even a focal CONTROL-O or CMEM in a Sysplex
environment is insufficient. This is because CONTROL-O or CMEM intercepts the messages
written to JESYSMSG while they are being written, which can be done only on the same
system where the event happens.
■ Do not specify different STEPRC values in the same rule. If you do, the last
specified value is used.
Entering values for the optional subparameters PROCSTEP, PGMSTEP and STEPRC
limits the situations that can satisfy the step termination event. Conversely, if a
subparameter is blank, that subparameter is ignored.
Example
■ If a PGMSTEP and PROCSTEP value are both entered, the rule is triggered only if
the specified PGMSTEP is completed in the specified PROCSTEP.
When entering condition and/or abend codes, the following qualifiers can be used as
indicated:
Example
When a new production data set is created, trigger a backup job.
Optional. Type JA (JOBARRIV) in the ON field and press Enter. The following
subparameters are displayed:
General Information
ON JOBARRIV statements can be used to trigger CONTROL-M actions based on the
appearance of a job on the JES spool.
The default values for the SMFID and SYSTEM subparameters are the current system.
If no value is entered for either SMFID or SYSTEM, the rule is triggered only by
events that occur in the current system.
NOTE
For JES3 users: JOBARRIV rules are processed on the global CPU.
Example
Backup jobs submitted outside CONTROL-M must be monitored by CONTROL-M.
Optional. Type JE (JOBEND) in the ON field and press Enter. The following
subparameters are displayed:
General Information
ON JOBEND statements can be used to trigger CONTROL-M actions based on the
termination of a job.
The default values for the SMFID and SYSTEM subparameters are the current system.
If no value is entered for either SMFID or SYSTEM, the rule is triggered only by
events that occur in the current system.
NOTE
For JES3 users: JOBEND rules are processed on the same CPU that executed the specified job.
Example
Instruct CONTROL-M to start the batch shift when CICSPROD ends.
Optional. Type S (STEP) in the ON field and press Enter. The following
subparameters are displayed:
General Information
ON STEP rules are triggered when specified job steps terminate with specified return
codes or statuses.
Entering values for the optional subparameters PROCSTEP, PGMSTEP and STEPRC
limits the situations that can satisfy the step termination event. Conversely, if a
subparameter is blank, that subparameter is ignored.
■ If a PGMSTEP and PROCSTEP value are both entered, the rule is triggered only if
the specified PGMSTEP is completed in the specified PROCSTEP.
CMEM must be active before any tasks tracked by ON STEP rules begin; moreover,
ON STEP rules only intercept data set events for jobs, started tasks, or TSO users that
started after the rule was ordered.
NOTE
To monitor data set events for a job, started task or TSO user, the job, started task or TSO user
must have MSGLEVEL=(1,1) and message IEF403I or IEF125I must appear in the job log.
A DSNEVENT can be triggered only on the CONTROL-O/CMEM that runs on the same
z/OS system on which the event occurs. Even a focal CONTROL-O or CMEM in a Sysplex
environment is insufficient. This is because CONTROL-O or CMEM intercepts the messages
written to JESYSMSG while they are being written, which can be done only on the same
system where the event happens.
The default values for the SMFID and SYSTEM subparameters are the current system.
If no value is entered for either SMFID or SYSTEM, the rule is triggered only by
events that occur in the current system.
When entering a condition code or abend code in the STEPRC subparameter, any
characters in the code can be replaced by an asterisk (*). An asterisk means “any
value” for the character it replaces. For example, if S*13 is entered, the code criteria is
satisfied by codes S013, S613, S913, and so on. When entering condition and/or abend
codes, the following qualifiers can be used as indicated:
Example
When step STEP2 in job PRD00010 is completed, add a prerequisite condition
indicating that a file has been created.
General Information
The OWNER parameter is primarily used by the internal security mechanism of
CMEM to determine, together with an external security product, such as TOP
SECRET, RACF or ACF2, those operations each user is authorized to perform.
Example
The INCONTROL administrator is authorized to use the rule used to monitor the
arrival of backup jobs.
Optional. The abbreviation, that is, the first letter, of the desired value can be entered.
Valid values are:
NOTE
Value TRIGGER applies only to ON DSNEVENT, ON STEP, or ON JOBEND event rules. If
the value TRIGGER is entered for an ON JOBARRIV event rule, the value is treated as
OWNER.
General Information
The RUNTSEC parameter is used by the CMEM security interface for interaction with
external security products, such as CA-RACF, CA-TOP SECRET, and CA-ACF2. For
more information see the INCONTROL for z/OS Security Guide.
CMEM security checks are carried out in two stages: at order time and at runtime.
At order time, security checks are carried out to ascertain whether the owner of the
rule, as specified in the OWNER subparameter, is authorized to code each one of the
rule statements.
At runtime, additional security checks are carried out to determine whether the user
who owns the rule (RUNTSEC=OWNER) or the user who triggered the rule
(RUNTSEC=TRIGGER) is authorized to execute a DO COND or DO FORCEJOB
statement defined in the rule.
Example
Perform a backup using the security ID of the job that triggered the rule.
General Information
The THRESHOLD parameter is used to prevent unlimited loops within the system.
The value assigned to the parameter indicates the maximum number of times that
CMEM will trigger the rule in a single CMEM interval.
Before CMEM triggers a rule, it determines whether the rule has already been
triggered the maximum number of times in the current CMEM interval. If so, CMEM
does not trigger the rule again, but instead sets the STATUS of the rule to SUSPEND
and issues message CTO285W to the console.
If no value, or a value of 0, is entered for THRESHOLD, CMEM does not limit the
number of times that the rule can be triggered.
Example
Limit execution of the following rule to 10 executions. Do not allow the rule to be
triggered until it is released from SUSPEND status.
5
5 JCL and AutoEdit Facility
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
System variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Non-Date System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Date System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Special System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750
User-Defined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
Valid Characters in User-Defined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753
Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Global Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
JCL Setup Operation Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
Rules of Variable Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
Order of Precedence for Multiple Value Assignments . . . . . . . . . . . . . . . . . . . . . 767
Control Statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
%%GLOBAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
%%GOTO and %%LABEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
%%IF, %%ELSE, %%ENDIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
%%INCLIB and %%INCMEM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772
%%LIBSYM and %%MEMSYM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
%%RANGE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
%%RESOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
%%SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
%%$CALCDTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
%%$GREG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
%%$JULIAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
%%$LEAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
%%$WCALC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
%%$WEEK# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
%%$WEEKDAY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
%%$YEARWK# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
%%CALCDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
%%SUBSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
%%$LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
Overview
In the production environment, it is often necessary to manually modify JCL prior to
submission of a job, as in the following cases:
Manual modification of JCL is inconvenient at best, and it may, in fact, be error prone
and lead to serious problems.
The inclusion of AutoEdit terms in the job stream can eliminate the need to
continually change the JCL. Some AutoEdit terms can also be used in job scheduling
definitions.
AutoEdit terms are prefaced by a %% symbol, which distinguishes them from terms
that are not AutoEdit terms. For example, the term %%ODAY is recognized as an
AutoEdit term.
NOTE
AutoEdit terms must be placed within the job stream submitted by CONTROL-M, not within
a catalogued JCL procedure.
The use of AutoEdit terms within started tasks (STCs) is not supported.
The components of the AutoEdit facility are described briefly on the following pages
and in greater detail later in this chapter.
Variables
Variables are the main components of the AutoEdit facility. Variables are used to
replace manually changed values, generally within the JCL. AutoEdit variables can
be either of the following types:
■ System Variables
■ User-Defined Variables
User-defined variables are created by the user. The user must provide the value (or
the tools to derive the value) that replaces the variable at time of job submission.
For example, the user can define a variable, %%SPACE-TYPE, to represent the type
of storage unit (cylinder or track) on disk.
— local variables
Local variables are used only within the job stream. The value of a local variable
can be set or changed within the job stream by CONTROL-M, but the changed
value is kept only in memory for use during submission of that job stream. The
value is not passed to another job stream.
— Global variables
Global variables are user-defined variables that are placed in the IOA Global
Variable database, from which they can be accessed and updated by other
CONTROL-M jobs and CONTROL-O rules.
System variables and user-defined variables are discussed in detail below. Local
variables and Global variables are also discussed in detail, under the topic of
user-Defined variables.
■ control Statements
AutoEdit control statements in the JCL define the environment for user-defined
variables. The AutoEdit facility supports many AutoEdit control statements, and
this is discussed in detail later. Some of the more important Control Statements are
described here briefly.
Operators
AutoEdit operators modify the values of AutoEdit variables in the JCL. For example,
in the following statement, operator %%PLUS assigns a number to a scratch tape that
is one higher than the previously assigned tape number:
Functions
AutoEdit functions perform functions on specified AutoEdit variables in the JCL. For
example, in the following statement, the %%CALCDATE function sets AutoEdit
variable %%NEXTDAY to one day after the current System variable %%ODATE:
Although the most important and common use of AutoEdit components is in JCL
setup, certain AutoEdit components can also be used in the job scheduling definition.
SET VAR and DO SET job scheduling definition statements assign values to
user-defined variables. These statements perform a similar function as, and work
together with, %%SET control statements specified in the JCL.
The rest of this chapter contains a description of the following JCL Setup and
AutoEdit topics:
■ System variables
■ User-Defined Variables
■ JCL Setup Operation Flow
■ Rules of Variable Resolution
■ Control Statements
■ Operators
■ Functions
■ Testing AutoEdit Syntax
■ AutoEdit Usage in the Job Scheduling Definition
■ Examples
System variables
CONTROL-M System variables are predefined, reserved, commonly used variables
whose values are automatically updated and maintained by CONTROL-M. The
System variable format is:
%%var
Each variable resolves to the corresponding system value. The length of the line is
changed accordingly. For example:
If the original scheduling date is June 5, 2001, the variables are resolved as follows:
Dates are divided into the categories listed below. For a description of these
categories, see “Date Definition Concepts” on page 62
■ Working Date
System variables that specify working dates begin %%R (%%RDATE, %%RDAY,
and so on).
System variables that specify original scheduling dates begin %%O (%%ODATE,
%%ODAY, and so on).
■ System Date
System variables that specify system dates have no special prefix other than %%
(%%DATE, %%DAY, and so on).
Although these types of dates are resolved in Gregorian format, Julian formats can
also be requested (%%JULDAY, %%OJULDAY and %%RJULDAY).
The following date AutoEdit System variables are supported by CONTROL-M in JCL
and in certain job scheduling definition parameters (for more information, see
“AutoEdit Usage in the Job Scheduling Definition” on page 792):
The following AutoEdit System variables, prefixed %%$, resolve to dates having
4-character years:
■ those that are resolved after a group is ordered but before any of the jobs in the
group are ordered
■ those that can only be resolved after the job has ended
Special System variables of the latter types, that is, those that can only be resolved
after the job has ended and those that can only be resolved after job submission, can
only be used with the post-processing parameters in the job definition, such as
SHOUT and DO IF RERUN.
Table 241 Special AutoEdit System variable resolved after a group is ordered but
before job submission
Table 242 Special AutoEdit System Variables Resolved after Job End
Variable Description
%%JOBCC Job completion code that caused the job to end NOTOK.
%%MAXRC Highest return code in the job execution. For abended jobs, this variable
resolves to blanks.
%%$NODEID The value of the node name that appears in the Active Environment
Zoom screen. This variable is only resolved for NJE jobs; for non-NJE
jobs, it resolves to a null value.
%%STEP Job program step and procedure step (if it is defined) that triggered the
postprocessing instruction.
NOTE
The effect of an ON PGMST...DO OK statement, or of the value of the MAXCCOK parameter
may be that CONTROL-M treats a non-zero return code of a step in a job as OK. In such a
case, the non-zero return code of that step is ignored by CONTROL-M in calculating values
for the %%JOBCC and %%MAXRC AutoEdit System variables.
Table 243 Special AutoEdit System Variable Resolved after Job Submission
Variable Description
%%JOBID JES job number
User-Defined Variables
The ability to specify user-defined variables provides additional flexibility. You can
define your own variables and assign values to them. CONTROL-M automatically
edits the job stream accordingly. This facility is especially useful when it is necessary
to share parameters or other information (for example, tape numbers) among jobs.
For a list of all System variables, see “System variables” on page 746.
Multiple AutoEdit variables can be joined with each other and with constants, and
periods (.) are often part of this process (for example,
JOB_%%JOBID%%._ENDED_OK). This is discussed in more detail in “Rules of
Variable Resolution” on page 764.
Backslashes (\) are used only in Global variable assignments, and differentiate Global
variables from local variables. For more information, see “Global Variable
Assignment and Syntax” on page 758.
Unlike System variables, which are predefined and which receive their values from
the system at time of job submission, two steps are performed for utilizing
user-defined variables:
■ The second step consists of providing values to replace the user-defined variables
at time of job submission. (Since the values are not provided by the system, the
user must specify the appropriate values.) It is permissible, however, for
user-defined variables to take their values from System variables (for example,
%%SET %%VERSION = %%ODATE).)
NOTE
BMC Software recommends that you do not use non-display hexadecimal values.
NOTE
BMC Software recommends that you do not use non-display hexadecimal values.
— x'00'
— x'FE'
— x'FF'
■ . (Period)
■ \ (Backslash)
Do not use these characters in the variable name field unless you require the special
meaning assigned to them.
Local Variables
Local variables are user-defined variables that are only within the job stream. The
value of a local variable can be changed within the job stream, but the changed value
is kept only in memory for use during submission of that job stream. The value is not
passed to another job stream.
■ by means of %%SET statements in the JCL and/or SET VAR and DO SET
statements in the job scheduling definition
%%SET statements are described under “Control Statements” on page 768. SET
VAR statements are described in “SET VAR: General Job Parameter” on page 619,
and DO SET statements are described in “DO SET: Post–Processing Parameter” on
page 460.
This member must reside in the library specified in the %%LIBSYM statement
that must accompany the %%MEMSYM statement. (The control statements
%%LIBSYM and %%MEMSYM are described “Control Statements” on
page 768.) Any number of such variable members can be defined.
This statement differs from the %%MEMSYM statement in that it does not have
an accompanying %%LIBSYM statement. Instead, the library in which the
%%GLOBAL member resides is pointed to by a DAGLOBAL DD statement.
//S001.INPUT DD VOL=SER=%%BRANCH_TAPE
and the %%MEMSYM member (or %%GLOBAL member) that assigns values
might contain the following variable definition:
%%BRANCH_TAPE=045673
This can be very advantageous if many jobs access %%Global members, because each
access of the member increases I/O and processing overhead.
Only those %%GLOBAL members that are specifically requested are loaded to cache.
Requests are generally made by listing the desired %%GLOBAL members in a special
cache list member in the DAGLOBAL library. This cache list member (default name:
CACHLST) is pointed to by the AECACHL parameter in the CTMPARM member in
the IOA PARM library.
Members are listed in the cache list member in the following format:
%%GLOBAL memname
where memname is the name of the %%GLOBAL member in the Global library.
The cache list member can optionally contain the following control statement as its
first non-comment statement:
%%RESOLVE ALLCACHE
This control statement affects AutoEdit processing only if an AutoEdit variable has
not been resolved by searching the %%GLOBAL members identified in the job. The
statement instructs CONTROL-M to continue the variable resolution process by
checking all members loaded into cache. Members in cache are searched in the same
sequence they are listed in the cache list member.
■ Remark line: Line starting with an asterisk (*) in column 1. Remark lines are not
processed.
■ Assignment line: Line that assigns a value to a variable. The format is:
%%varname=value
Any number of user-defined variables (and their values) can be defined in a variable
member. To designate a null value, omit the value.
Example
Global Variables
A Global variable is a user-defined variable that is placed in the IOA Global Variable
database.
%%SET statements in the JCL, and SET VAR or DO SET statements in the job
scheduling definition, enable CONTROL-M jobs and Group entities to define Global
variables and place them in the IOA Global Variable database.
However, since %%SET, SET VAR and DO SET statements also define local variables,
a distinguishing factor is needed to differentiate Local Variables from Global
variables. The distinguishing factor is provided by syntax, which is described in
“Global Variable Assignment and Syntax” on page 758.
A Global variable from the IOA Global Variable database can be specified anywhere a
local variable can be specified in the JCL or the job scheduling definition (SHOUT,
DO SHOUT, SYSOUT, DO SYSOUT, MEMLIB and OVERLIB statements).
The levels in the IOA Global Variable database structure, starting from the lowest, are
as follows:
The job that creates the variable can make itself the owner (for example, JOBA defines
a Global variable that is assigned to JOBA), but it does not have to do this. It can,
instead, assign a different owner to the variable (for example, JOBA defines a Global
variable that it assigns to GROUP_ABC).
In fact, when a Global variable is created, it can be assigned to any component (job,
group, application, or even to CONTROL-M) in the database. It is this ability to
assign variables that makes the structure of the IOA Global Variable database so
important.
The hierarchical structure of the IOA Global Variable Database, described above, is
similar to the directory and subdirectory structure in Unix and DOS. Therefore, the
same path structure and syntax that is used to describe directories and subdirectories
is used to define and identify Global variables.
Note the following points about Global variable assignment and syntax:
Example
■ In the IOA Global Variable database, the format for indicating a full path is as
follows:
%%\product\application\group\job\variablename
■ 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. For example, File A under directory \A\B\C is a
different file than File A under directory \D\E\F.)
Example
Due to the different paths, the following variables are all different from each other:
%%\M\APP_1\GRP_1\JOB_A\VAR_XYZ
%%\M\APP_1\GRP_1\JOB_B\VAR_XYZ
%%\M\APP_1\GRP_1\VAR_XYZ
■ 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.
■ 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 Group Entity can assign a Global variable to itself by specifying a slash
immediately following the %% symbol.
Example
If job JOB1 belongs to group GRP_A, which belongs to application APP_1, then
the following SET VAR statement in JOB1:
SET VAR=%%\PROBID=123
creates the following variable assigned to JOB1 (with the indicated full path):
%%\M\APP_1\GRP_A\JOB1\PROBID=123
— Paired dots with a backslash (..\) indicate movement to the next level up.
Example
If JOB1 belongs to group GRP_A, which belongs to application APP_1, then the
following SET VAR statement in JOB1:
SET VAR=%%..\PROBID=123
creates the following variable assigned to GRP_A (with the indicated full path):
%%\M\APP_1\GRP_A\PROBID=123
— To move directly down the hierarchy, it is only necessary to indicate the levels
that are lower than the current level. (However, since only Group entities and
jobs utilize variables, only Group entities can move directly down a level.
Example
Assume Group entity GRP_A wants to assign variable %%A, with a value equal
to 7, (%%A = 7) to job JOB2. The following statement indicates the syntax of the
%% SET statement:
— To move across the hierarchy (that is, to change paths), you can either:
Example 1
Example 2
Assume job JOB1 in group GRP_A wants to assign variable %%A (with a value
equal to 7) to job JOB2 in the same group (and assume the group has no
application). Any of the following statements can be specified.
■ If two statements assign the same Global variable to the same component, the later
assignment overwrites the earlier assignment.
Example
Assume job JOB1 belonging to group GRP_A is run before job JOB2 belonging to
the same group (and both belong to application APP_A).
SET VAR=%%..\A=7
SET VAR=%%..\A=8
At the end of the job run for JOB2, the IOA Global Variable database contains the
following variable (assigned to GRP_A):
%%\M\APP_A\GRP_A\A=8
■ A job or Group entity can utilize a Global variable that has been assigned to it by
merely specifying the variable with the backslash, even if the variable was created
by a different job. (The full path is not required.)
Example
Assume job JOB1 contained the following statement that assigned the following
variable to JOB2.
DO SET VAR=%%\M\NO_APPL\GRP_A\JOB2\PROBID=123
JOB2 can then access this variable in a DO SHOUT statement without a full path
name by specifying the variable with a backslash.
■ A job or Group entity can utilize a Global variable that has been assigned to a
different component by specifying the appropriate path. However, before the
variable could be utilized, security checks, if any, would have to be passed.
Example
If a Global variable is assigned to job JOB1, and JOB2 wants to access the variable,
it would have to specify the appropriate path name (and pass any required
security checks), as in the following statement:
DO SET VAR=%%\M\NO_APPL\GRP_A\JOB2\PROBID=123
JOB2 can then access this variable in a DO SHOUT statement without a full path
name by specifying the variable with a backslash.
CONTROL-M scans each line for AutoEdit terms (identified by the %% symbol) and
tries to resolve them (unless otherwise instructed). CONTROL-M resolves all
AutoEdit terms in a 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.
Values for Local user-defined variables can be taken from any of several possible
sources (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:
These statements can be specified in JCL lines, including JCL comment lines. They
assign values to variables.
These statements can be specified in the job scheduling definition. They can be
used to define new variables, or to assign new values to existing variables.
DO SET statements can override values specified by a SET VAR or previous DO SET
statement. However, since DO SET statements are post-processing parameters, they
only affect subsequent runs of a job (rerun and restarted jobs).
These members define local variables and specify their values. Members are
searched in the order in which they appear in the JCL.
These members define local variables and specify their values. Members are
searched in the order they appear in the JCL.
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.
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.
Local variable values taken from variable members (%%MEMSYM and %%GLOBAL
members) that are changed during job submission remain in effect only until
CONTROL-M finishes submission of the job. Therefore, a change made to such a
variable (using the %%SET control statement) affects only submission of that job and
does not affect any other job submission or the value of the variable in the variable
member.
Multiple AutoEdit variables (and constants) can be joined together into a complex
term. When a term contains multiple variables, those variables are resolved from
right to left.
■ Two variables can be joined to form a single complex variable by linking them
together (such as %%A%%B).
Example 1
Example 2
■ Two variables can be concatenated into two distinct but joined variables by placing
a period between them (such as %%A.%%B).
Example 1
Example 2
(If the expression had been written %%ODAY%%OMONTH (without the period), it
would have partially resolved to %%ODAY12, which is a user-defined variable
requiring further resolution.)
■ Two variables can be concatenated into two distinct variables joined by a period by
placing two periods between them (such as %%A..%%B).
Example 1
Example 2
Without symbol %%., the constant would be treated as part of the variable (for
example, expression %%AAUP consists of one variable).
The %%. symbol is not required if the constant precedes the variable (for example,
UNIT%%AA) since the %% prefix of the variable differentiates it from the
constant.
Example
NOTE
To separate a constant (JCL) from a variable (%%MODE) by a period, specifying the period is
sufficient. For example: CTM.%%MODE.JCL would resolve to CTM.PROD.JCL.
The following chart indicates the order of precedence. The chart works as follows:
■ Each row in the chart represents a possible source of a value for a variable.
■ In each column, a single pair of value sources (rows) are selected and compared for
precedence:
When many sources of value assignments are available for a variable, use the chart
below to compare those sources one pair at a time, as follows:
■ From the list of available sources for the particular variable, select any two sources
and use the chart to eliminate the source of lower priority. The list now has one less
source available.
■ Repeat this process until only the source of highest priority remains.
NOTE
JCL SET can apply to an actual AutoEdit SET statement in the JCL or to AutoEdit SET
statements embedded within an INCLIB member referenced in the JCL.
If there are multiple value assignments for the same variable in the one member, the
last assignment in that member is used for the above calculation.
Control Statements
Control statements define the AutoEdit environment and control AutoEdit
processing.
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, 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.
%%GLOBAL
Control statement %%GLOBAL defines a member that contains a set of user-defined
variables and values. Before job submission, the CONTROL-M monitor reads this
member from the library referenced by DD statement DAGLOBAL in the
CONTROL-M procedure. The content of the member is added to the user-defined
variable environment of the job.
You can specify more than one %%GLOBAL statement for a job. Each statement is
added to the user-defined variable environment of the job.
Global members can also be placed in cache, which can significantly improve
performance if the member is used by many jobs. For more information, see “Loading
%%GLOBAL Members to Cache” on page 756, and the corresponding topic in the
INCONTROL for z/OS Administrator Guide.
If CONTROL-M fails to access the variable member (member not found, and so on),
the job is not submitted and a warning message is issued to the user who requested
the job.
Example
%%GOTO labelname
%%LABEL labelname
The %%GOTO statement transfers control to the location in the program designated
by a matching %%LABEL statement. The search for a matching %%LABEL labelname
is only performed downward (that is, loops are not supported).
All statements between a %%GOTO statement and its matching %%LABEL statement
are not processed (that is, no statements are submitted and AutoEdit statements are
not resolved).
%%GOTO and %%LABEL statements are generally used in conjunction with %%IF,
%%ELSE, and %%ENDIF control statements. Examples at the end of this chapter
demonstrate how these statements can be combined.
%%IF conditional-expression
statements
[%%ELSE]
statements
%%ENDIF
where:
where:
■ NE – is not equal to
■ GT – is greater than
■ LT – is less than
■ statements are any statements specified in the JCL member, including AutoEdit
statements, JCL statements and non-JCL statements.
If an operand contains AutoEdit terms, they are resolved into a character string
before the conditional expression is analyzed.
An operand must not resolve to a null value (as in CLISTs). If it is possible that an
operand resolves to a null value, place a character before the first and second
operands in a way that would not affect the comparison. For example, if %%A
and/or %%C in the statement:
Operands are compared as character strings from left to right. For example:
When the %%IF expression is true, all JCL statements (including non-AutoEdit
statements) between the %%IF expression and its %%ELSE statement (or its matching
%%ENDIF statement when no %%ELSE statement is present) are submitted by
CONTROL-M provided that all AutoEdit variables are resolved.
When the %%IF expression is not true and an %%ELSE statement exists, only
statements between the %%ELSE statement and the matching %%ENDIF statement
are submitted.
Example
%%IF expression
%%IF expression
statements
.
[ %%ELSE ]
.
%%ENDIF
%%ELSE
%%IF expression
statements
.
[ %%ELSE ]
.
%%ENDIF
%%ENDIF
■ The %%INCLIB part of the statement defines the location of the member as one of
the following:
These statements are useful for inserting the following types of information into the
JCL:
■ JCL statements and parameters to be passed to the JCL (for example, sysin)
■ AutoEdit control statements, including other %%INCLIB and %%INCMEM
statements
In this statement
More than one job may contain identical %%INCLIB and %%INCMEM statements,
permitting maintenance of common, standardized code.
The %%INCMEM member is read by the CONTROL-M monitor just before job
submission, and the contents of the member are submitted as part of the current job.
As a result
■ a member created by one job in the job stream can be used by a later job in the job
stream
■ if a job in the job stream updates a member and the member is subsequently used
by a later job in the job stream, the later job accesses the updated member
If the %%INCLIB statement is resolved within the JCL, ensure that there are no
unnecessary blank lines in the %%INCMEM member.
If CONTROL-M fails to access the included member (member not found, and so on),
the job is not submitted and a warning message is issued.
It is possible to specify more than one %%LIBSYM or %%MEMSYM statement for one
job. Each statement is added to or deleted from the user-defined variable
environment of the specific job.
If CONTROL-M fails to access the variable member (member not found, security
constraints, and so on), the job is not submitted and a warning message is issued to
the user who requested the job.
where:
When a minus sign (-) is specified before memname, the purpose of the
%%LIBSYM/%%MEMSYM statement is to cancel the effect of the previously
processed %%LIBSYM libname %%MEMSYM memname statement with the same
member name, thereby reverting the values of the AutoEdit variables that are defined
in the LIBSYM/MEMSYM member to the values that were in effect prior to the
previous %%LIBSYM libname %%MEMSYM memname statement. This, in effect,
provides the capability of creating local auto-edit variables, whose scope is restricted
to specified range(s) of the job run stream.
%%RANGE
A %%RANGE statement limits the handling of AutoEdit functions and variables to a
specified column range. The contents of all columns outside the range remain
unchanged.
This statement is useful when values must be specified in specific columns and when
not every AutoEdit statement need be resolved.
where:
■ fromcol – First column in the range. Valid values are: 1 through 80. The default
(without a range statement) is 1.
■ tocol – Last column in the range. Valid values are: 1 through 80. tocol must be a
value equal to or greater than fromcol. The default (without a range statement)
is 72.
NOTE
When used in a CONTROL-M SETVAR job definition, the format of the %%RANGE
statement should be:
%%RANGE=fromcol,tocol
The %%RANGE statement can prevent the shifting of constants and variables that
appear after an AutoEdit variable in the same line. By limiting AutoEdit resolution to
a specified range, all constants and variables outside the specified range are kept in
their original positions regardless of the length of the resolved variables.
NOTE
The minimum length of a %%RANGE statement with 2-digit fromcol and tocol values is 12
characters. Do not, therefore, specify a range of fewer than 12 columns, or you cannot use a
subsequent %%RANGE statement to expand the range back to the regular line length.
Example
This example shows how a %%RANGE statement affects the resolution of a line. In
the original JCL, the %%RANGE statement affects the second occurrence of the
AutoEdit variable, but not the first. In the submitted JCL, note the impact on the
positioning of constant CONSTANT.
%%RESOLVE
By default, CONTROL-M must resolve all AutoEdit terms in the JCL or the job is not
submitted. This default can be overridden by specifying an appropriate
%%RESOLVE statement in the JCL.
%%RESOLVE (blank)
%%RESOLVE OFF Do not try to resolve AutoEdit terms except for other
%%RESOLVE statements. Submit the job with AutoEdit terms as
is.
Each %%RESOLVE statement remains in effect until the next %%RESOLVE statement in the
JCL is encountered.
The following special case %%RESOLVE statement is relevant if %%GLOBAL AutoEdit
members are loaded to cache.
%%RESOLVE If an AutoEdit variable has not been resolved by searching the
ALLCACHE {OFF | ON} %%GLOBAL members identified in the job, the %%RESOLVE
ALLCACHE statement instructs CONTROL-M to continue the
variable resolution process by checking all members loaded into
cache. Members in cache are searched in the same sequence they
are listed in the cache list member.
NOTE
When used in a CONTROL-M SETVAR job definition, the format of the %%RESOLVE
statement should be:
%%RESOLVE=value
%%SET
A %%SET control statement sets the values of user-defined variables. The statement
may be placed in any part of the JCL stream.
%%SET %%varname=expression
where:
Example 1
%%SET %%BACKUP_UNIT=TAPE
Example 2
%%SET %%BACKUP_UNIT_%%WDAY=EE%%OMONTH.%%ODAY
Example 3
When the initial value of SCRATCH is 3017, the result in the submitted member is:
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:
where:
Example
Increase the number of generations (%%GENERATION_NUMBER) by one:
Functions
AutoEdit functions perform operations on specified AutoEdit variables in the JCL.
These functions can only be specified in %%SET statements. The following AutoEdit
functions are supported by CONTROL-M:
%%$CALCDTE
The %%$CALCDTE function performs date manipulation by adding or subtracting a
specified number of days from a specified date.
NOTE
This function replaces the old %%CALCDATE function, which is still supported for backward
compatibility. BMC Software recommends that you use the %%$CALCDTE function rather
than the %%CALCDATE function, to take advantage of its increased versatility.
where:
NOTE
In setting values for the quantity_type and quantity variables, ensure that the final date is not
later than the year 2054.
Example 1
Example 2
If the original scheduling date is January 30, 2002, %%A is assigned a value of
20020228.
Example 3
If the original scheduling date is February 29, 2000, %%A is assigned a value of
20010228.
NOTE
If as a result of adding months to a date, the number of days exceeds the maximum number of
days possible in the resulting month, CONTROL-M reduces the number of days to the actual
maximum.
%%$GREG
The %%$GREG function converts a Julian date (with a 4-character year) to a
Gregorian date (with a 4-character year). The format of function %%$GREG is:
%%$GREG date
where date must be (or resolve to) a date in Julian format yyyyddd.
Example
%%$JULIAN
The %%$JULIAN function converts a Gregorian date (with a 4-character year) to a
Julian date (with a 4-character year). The format of the %%$JULIAN function is:
%%$JULIAN date
Example
%%$LEAP
The %%$LEAP function determines whether a specified Gregorian date (with a
4-character year) falls in a leap year. If the date is in a leap year, the variable resolves
to 1. If the date is not in a leap year, the variable resolves to 0. The format of the
%%$LEAP function is:
%%$LEAP date
Leap years are years whose last two digits are evenly divisible by 4, excluding those
years that are divisible by 100 but not by 400. Therefore, 2000 is a leap year but the
years 2100, 2200 and 2300 are not.
Example
%%A is assigned a value of 1 for dates in the year 2000 and 0 for dates in the year
2001.
%%$WCALC
The %%$WCALC function performs a shift from the specified date to a working date
in the specified calendar, according to indicated instructions. The format of the
%%$WCALC function is:
where:
— > – If the specified date is not a current working date, shift to the next working
date in the calendar. (If the specified date is a working date, do not shift.)
— < – If the specified date is not a current working date, shift to the previous
working date in the calendar. (If the specified date is a working date, do not
shift.)
Example
■ If calendar EXCPTCAL (for 2001) contains consecutive working dates 07/13 and
07/20, %%A resolves to 20000720 in both %%SET statements.
■ If calendar EXCPTCAL (for 2001) contains consecutive working dates 07/17 and
07/24:
— In the first %%SET statement (with the +1), %%A resolves to 20000724.
— In the second %%SET statement (with the >), %%A resolves to 20000717.
%%$WEEK#
The %%$WEEK# function calculates in which week of the year (1 through 53) a
specified date falls. The function uses the site-defined start of the week (Sunday or
Monday) as the first day of each week, and assumes that January 1st falls in the first
week.
This function ensures that every day of the year falls into a week of that year, but it
also means that the first week of the year may possibly have a majority of its days
come from December of the preceding year.
(By contrast, the %%$YEARWK# AutoEdit function, which also calculates in which
week of a year a date falls, counts the week that includes January 4th as the first week.
This ensures that the first week in the year has a majority of its days in January.
However, it also means that the first days of the year may possibly belong to the last
week of the preceding year, and the last days of the year may possibly belong to the
first week of the following year.)
%%$WEEK# date
where date is the date in format yyyymmdd (a 4-character year must be specified).
Example
%%$WEEKDAY
The %%$WEEKDAY function calculates on which day of the week a specified date
(with a 4-character year) falls. The resolved value is an integer from 1 through 6 or 0,
where 1 corresponds to the first day of the week (Sunday or Monday, depending on
the site-standard) and 0 corresponds to the last day of the week (Saturday or Sunday).
%%$WEEKDAY date
Example
%%$YEARWK#
The %%$YEARWK# function calculates in which week of the year (1 through 53) a
specified date falls, and returns the year and the week number according to ISO8601
standards. In accordance with those standards, the function uses Monday as the first
day of each week (this is so even if the start of the week at your site is defined as
Sunday).
The %%$YEARWK# function assumes that the first week is the week that includes
January 4th
This function ensures that the first week in the year has a majority of its days in
January. However, it also means that the first days of the year may possibly belong to
the last week of the preceding year, and the last days of the year may possibly belong
to the first week of the following year.
By contrast, the %%$WEEK# AutoEdit function, which also calculates in which week
of a year a date falls, counts the week that includes January 1st as the first week. This
ensures that every day of the year is part of a week of that year. However, it also
means that the first week of the year may possibly have a majority of its days in
December of the preceding year.
%%$YEARWK# date
where date is the date in format yyyymmdd (a 4-character year must be specified).
yyyyWnn
where:
Example 1
Example 2
Example 3
%%CALCDATE
The %%CALCDATE function performs date manipulation by adding or subtracting a
specified number of days from a specified date.
NOTE
The %%CALCDATE function is supported for backward compatibility. BMC Software
recommends that you use the %%$CALCDTE function instead.
where:
■ quantity – number (or numeric AutoEdit expression) of days (from 1 to 366) to add
to or subtract from the date
Example
If the original scheduling date is February 1, 2002, %%A is assigned a value of 020131.
%%SUBSTR
The %%SUBSTR function extracts a substring from a string.
where
A new string is created composed of the characters extracted from the original string.
startpos and length must be a numeric value or AutoEdit expression that is greater
than zero.
When the starting position of the substring is greater than the argument string, the
function returns a null value.
When the starting position of the substring falls within the argument string, but the
length of the substring falls outside the range of the argument string (startpos + length
– 1), the function returns a substring containing the characters from the starting
position.
If the character positions of startpos + length – 1 is greater than the string length,
submission of the member is stopped.
Example 1
On July 1, 2001:
Example 2
resolves to
%%A=LE
%%$LENGTH
The %%$LENGTH function returns the length of a character string.
%%$LENGTH char_string
Example
%%$TYPE
The %%$TYPE function returns the type attribute of a character string. Possible type
attributes are:
■ N – numeric
■ M – negative numeric
■ C – character
■ X – alphanumeric
■ 0 – undefined or 0 length
%%$TYPE char_string
Example 1
Example 2
Example 3
%%$FUNC
%%$FUNC is an AutoEdit function that enables the creation of user-defined
functions. You can only use the %%$FUNC function as part of an AutoEdit %%SET
statement.
CALL func_name,(input_char_string,output_char_string)
In this instruction
The source string can contain AutoEdit variables. If it does, these variables are
resolved before the function is activated.
The maximum length of the source string, after resolving any AutoEdit variables, is
240 characters.
Neither the source string nor the result string can contain non-displayable characters.
You can use AutoEdit simulation to test your program module. For more
information, see “M2: Perform an AutoEdit Simulation” on page 321.
NOTE
You can define your func_name program module as resident. A resident program module is
loaded once, kept in the storage, and entered by means of either the CALL instruction or a
LINK instruction. If you want to do this, the program module must comply with both the
following conditions:
■ It must be able to work in AMODE 31.
■ It must be reentrant.
To define program modules as resident, include them in the cache members list using the
following definition syntax:
%%$FUNC func_name
Example
The user has a multiply function that is performed by a module named MULT.
%%SET %%A = 20
%%SET %%B = 30
%%SET %%C = %%$FUNC MULT %%A %%B
The last %%SET statement causes the CONTROL-M monitor to call the MULT
module as follows (using assembler notation):
CALL MULT,(PRM1,PRM2)
The PRM1 and PRM2 parameters are passed to MULT in the following format:
PRM1 DC H'5'
DC C'20 30'
PRM2 DC H'0'
DC CL240' '
The MULT program returns results by updating the value of the second parameter,
PRM2, as follows:
PRM2 DC H'3'
DC C'600'
The result is that the AutoEdit variable %%C is assigned a character value of 600.
Furthermore, when the syntax is correct, you may want to verify that the AutoEdit
statements return the desired results. For example, you may want to check that you
specified the correct AutoEdit date variables for a job that performs end-of-year
processing.
The CTMAESIM utility tests AutoEdit syntax and JCL setup. This utility simulates
the actions of the CONTROL-M submission mechanism, which performs AutoEdit
processing and JCL setup, and produces a printed report of the process.
The CTMAESIM utility can operate in either JCL Library mode or Scheduling Library
mode:
■ In JCL Library mode, the utility checks the AutoEdit statements in the job’s JCL.
■ In Scheduling Library mode, the utility not only checks the AutoEdit statements in
the job’s JCL of the job, it also checks the impact that SET VAR statements in the job
scheduling definition have on the JCL of the job.
The CTMAESIM utility can be activated by a batch procedure or the Online facility,
as follows:
The utility requires specification of various parameter statements that determine how
the simulation works, and which provide necessary information for the simulation.
Although the simulation works in much the same manner whether activated by a
batch procedure or online, the following differences depend on the method of
activation:
■ Character masking is not supported in the Online utility. In the batch utility,
character masking is supported for the member name in JCL Library mode, and for
the job name in Scheduling Library mode. Valid mask characters are:
■ The SET VAR parameter, which can be specified outside the job scheduling
definition, is supported in batch mode only. However, SET VAR statements in the
job scheduling definition can be checked in both online and batch mode.
When the JCL is written to the output file referenced by the DASUBMIT
DD statement, the output file can be routed to an internal reader by specifying the
parameter RDR=INTRDR in the EXEC statement. In this case, the DASUBMIT
DD statement is allocated as SYSOUT=(class,INTRDR) and the job is submitted.
Submission of the job enables the JCL to be checked by the JCL checking mechanism
of MVS.
NOTE
A DASUBMIT DD statement can also be used by the AutoEdit Simulation facility to submit
jobs for execution in emergency situations (for example, the CONTROL-M monitor is
inoperative due to a severe technical problem).
When activated using ISPF, the functioning of the utility is similar to its functioning
when activated from batch with the parameter RDR=INTRDR specified.
These two job scheduling definition statements and the %%SET control statements
are used to assign values to user-defined variables in the JCL.
Example
In this example, AutoEdit statements in the job scheduling definition and the JCL
allocate space for the job. If the job abends due to insufficient space, the AutoEdit
statements adjust the allocated space and rerun or restart the job.
The following step in the job’s JCL sets the quantity of available space to five units
of whatever type (track or cylinder) is specified in the job scheduling definition.
The job scheduling definition contains the following SET VAR statement that sets
the space type to “track”:
In this case, the second line in the above DD statement resolves to:
// SPACE=(TRK,5),UNIT=SYSDA
The job scheduling definition also contains the following statements that are
activated if the job abends due of lack of space (code S*37). These statements
change the space type to “cylinder”, which provides enough space, and rerun the
job. If CONTROL-M/Restart is active, the job is restarted from the abended step.
If the job abends as above, the second line of the earlier JCL DD statement resolves
to:
// SPACE=(CYL,5),UNIT=SYSDA
File names for SYSOUT and DO SYSOUT handling can be specified using
AutoEdit variables whenever SYSOUT option F (copy to file or sysout archiving) is
specified. For example:
System AutoEdit variables and variables defined in SET VAR parameters can be
used in the MEMLIB and OVERLIB fields to specify the appropriate library.
Examples of this usage are shown on the following pages.
You can use an AutoEdit variable in a condition name, provided that the AutoEdit
variable has a value that is known before the job is ordered.
Examples
Date Variables
Table 248 Date Variables
Original Scheduling Current Working Computer Format
%%ODATE %%RDATE %%DATE yymmdd
%%ODAY %%RDAY %%DAY dd
%%OMONTH %%RMONTH %%MONTH mm
%%OYEAR %%RYEAR %%YEAR yy
%%OWDAY %%RWDAY %%WDAY n (0-6)
%%OJULDAY %%RJULDAY %%JULDAY jjj
On July 24th, we need to run the 22nd, 23rd, and 24th (of the same job) because of
delays. On the Active Jobs file we can find three job orders:
PDPA0001 of 010722
PDPA0001 of 010723
PDPA0001 of 010724
The job of the 22nd is submitted on July 24th at 2300. The result is:
The job of the 23rd is submitted on July 25th at 0025. The result is:
The job of the 24th is submitted on July 25th, 2001 at 0300. The result is:
%%ODAY.%%OMONTH.%%OYEAR
Let’s follow the variable substitution by stages for June 24, 2001:
%%ODAY.%%OMONTH.01
%%ODAY.06.01
%%ODAY.0601
24.0601
240601
*
* MONTHS IN CHAR FORMAT
*
%%MONTH_IN_CHAR_01=JAN
%%MONTH_IN_CHAR_02=FEB
%%MONTH_IN_CHAR_03=MAR
.
.
%%MONTH_IN_CHAR_12=DEC
%%ODAY %%MONTH_IN_CHAR_%%OMONTH 00
%%ODAY %%MONTH_IN_CHAR_06 00
%%ODAY JUN 00
24 JUN 00
According to the preceding example, we might try the following original JCL:
%%ODAY %%MONTH_IN_CHAR_%%OMONTH.00
%%ODAY %%MONTH_IN_CHAR_06.01
%%ODAY %%MONTH_IN_CHAR_0601
This error would not have occurred had we tried the following original JCL:
*
* LAST BUSINESS DATE IN THE PREVIOUS MONTH
*
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_0101=001231
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_0201=010131
.
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_0601=010531
.
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_1201=011130
.
.
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_%%OMONTH.00
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_06.01
%%LAST_BUSINESS_DATE_IN_PREV_MONTH_OF_0601
010531
NOTE
An alternate method, which avoids the need to use the MEMSYM member, requires the use of
the %%$WCALC function with the standard working day calendar. For details, see
“%%$WCALC” on page 782.
The %%$CALCDTE and %%SUBSTR AutoEdit functions can be used for any date
calculation that is needed in a production environment.
If you want to use the WAIT FOR ODATE option, which is described in “WAIT FOR
ODATE” on page 151, you can use the WAITODAT(YES) parameter.
For example
causes the job to wait for a specific date before being processed.
*
* EXTERNAL TAPES LIST
*
%%FEDERAL_BANK_TAPE=045673
%%IRS_TAPE=XXXXX
%%STOCK_EXCHANGE_TAPE=YYYYYY
.
.
The use of a central member for all external tapes is a very simple management tool.
The minute a tape arrives, its number is typed in the member, and the tape is sent to
the computer room. There is no need to keep the tapes “at hand” on the schedulers’
table until the job is submitted. The function of receiving tapes can be centralized,
controlled, and independent of the production process.
:
*
* EXTERNAL TAPES LIST
*
%%FEDERAL_BANK_TAPE=045673
%%IRS_TAPE=XXXXX
%%STOCK_EXCHANGE_TAPE=YYYYYY
.
.
■ The ability to roll back several dates without losing the dynamic parameters.
■ Complete documentation of a tape’s usage.
// EXEC PGM=IEBCOPY
.
//SYSIN DD *
C I=IN, O=OUT
S M=((TAPES,TAPE%%OMONTH.%%ODAY))
*
* TAPES OF DP APPLICATION
*
%%PDTAPE_0001_1=045673
%%PDTAPE_0001_2=045683
%%PDTAPE_0001_3=045677
%%PDTAPE_0001_4=043433
%%PDTAPE_0001_5=045543
%%PDTAPE_0001_6=045556
%%PDTAPE_0001_7=045666
*
%%PDTAPE_0010_1=046600
where dd is the business day of the month, and xx varies according to the job in the
application.
The solution:
NOTE
This example assumes that a $ generic resource was specified in the job scheduling definition.
For more information, see “Resource Allocation in Multi-CPU Environments” on page 596
*
* DEFINITIONS OF CLASSES IN THE COMPUTERS
*
%%FAST_CLASS_OF_1=A
%%FAST_CLASS_OF_2=D
%%FAST_CLASS_OF_3=K
%%SLOW_CLASS_OF_1=W
.
.
NOTE
This example assumes that a $ generic resource was specified in the job scheduling definition.
For more information, see “Resource Allocation in Multi-CPU Environments” on page 596
*
* NAMES OF THE COMPUTERS
*
%%NAME_OF_COMPUTER_1=SYSA
%%NAME_OF_COMPUTER_2=SYSB
%%NAME_OF_COMPUTER_3=TEST
%%BLANKn Statement
A program expects to receive the day of the week and the time of day as structured
input:
%%H1=SUNDAY%%BLANK4
%%H2=MONDAY%%BLANK4
%%H3=TUESDAY%%BLANK3
%%H4=WEDNESDAY%%BLANK1
%%H5=THURSDAY%%BLANK2
%%H6=FRIDAY%%BLANK4
%%H0=SATURDAY%%BLANK2
Variable substitution by stages:
%%H%%OWDAY%%.%%TIME
%%H%%OWDAY.085300
%%H1.085300
SUNDAY 085300
The submitted JCL:
//PDPA0001 JOB (......),BILL,CLASS=A
//* %%LIBSYM CTM.LIB.SYMBOLS %%MEMSYM DAYTIME
....
//STEP02 EXEC PDPRT3
//SYSIN DD *
SUNDAY 085300
//
%%RANGE Statement
The original JCL:
The solution:
Example 1
This example illustrates CONTROL-M’s ability to perform Boolean “IF” logic.
The %%IF expression is not true since it is past 12:00 noon; therefore, the statements
following %%ELSE are executed. The program executed in STEP01 is AFTPGM.
Example 2
This example illustrates the use of CONTROL-M’s conditional logic in conjunction
with CONTROL-M “INCLUDE” and “GO TO” logic.
On the first day of the month both the DAILY and MONTHLY programs run. The
submitted JCL:
On any other day of the month, only the DAILY program runs. The submitted JCL:
6
6 Selected Implementation Issues
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
Job Ordering Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
Job Ordering Through Quick Submit Command CTMQSB . . . . . . . . . . . . . . . . . 811
Special Purpose Job Ordering From Special Environments: CTMAJO . . . . . . . . 813
Manual Conditions File and Maybe Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
Loading the Manual Conditions File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
Using the Manual Conditions File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
Handling Manual Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
Handling Unscheduled Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
Handling Maybe Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
Maybe Jobs in Group Scheduling Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
MAINVIEW Batch Optimizer Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
Job-Related Considerations for Pipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819
Enhanced Runtime Scheduling Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
System-Related Considerations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Parameter Prompting Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Parameter Prompting Facility – Type 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
Parameter Prompting Facility—Type 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827
Maintenance Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836
Overview
This chapter provides you with concepts and hints for successful implementation of
CONTROL-M. It also provides a detailed description of the procedures required for
implementation of CONTROL-M by the user and operator. The following
implementation concepts and instructions are discussed in this chapter:
NOTE
Topics in this chapter require familiarity with background information presented in
Chapter 1, “Introduction to CONTROL-M,” and familiarity with relevant information
presented in other chapters.
However, at times it is desirable to perform job ordering using methods other than
the New Day procedure and User Daily jobs. For example, it may be necessary to
schedule special purpose jobs, or to order jobs for a different working date.
Below is a list of facilities and functions that enable jobs to be ordered without the
New Day procedure and User Daily jobs.
As described in the previous paragraphs, CONTROL-M can detect such jobs when
they appear on spool, and control their execution. However, there are a few
disadvantages to this method. The primary disadvantage is in handling job abends.
When an On Spool job abends, it is not clear which JCL member must be submitted to
perform a rerun. For example, in the above example, if the JCL has not been saved,
such as where the user exited ISPF EDIT using the CANCEL command, there is no
original member from which to perform the rerun.
It is possible to replace the ISPF SUBMIT command with the CONTROL-M CTMQSB
command. For more information, see the description of installing ISPF support in the
CONTROL-M Installation Procedure in the INCONTROL for z/OS Installation Guide.
If the member contains JCL cards that start with //*CONTROLM then special
processing takes place, that is, the member is not submitted. The CONTROL-M
submit command looks for two //*CONTROLM cards with the following format
(order and position in the job are not important):
The current JCL member is written to the specified JCL library. The name of the
member is composed of the first three letters of the TSO user ID, and the
CONTROL-M order ID (5 characters). This method ensures that the name is unique.
The scheduling table is read from the specified library. The submit command
assumes that the table contains only one job scheduling definition. If the table
contains definitions for more than one job, only the first job scheduling definition is
taken into account; the remainder are ignored. The CTMQSB CONTROL-M
command replaces the original library and member names with the names of the JCL
library and member where the job has been stored, as described in the preceding
section. If the WM1822 optional wish is applied, the user ID (OWNER) of the job is
replaced by the TSO user ID. The WM1822 optional wish is in the IOADFLT member
in the IOA IOAENV library.
To avoid accumulation of old members, it is advisable that a new, empty JCL library
be used each day.
CONTROL-M job order security exit CTMX001 is invoked (as under CTMJOBRQ). If
the job order is valid, it is placed on the CONTROL-M Active Jobs file. The job is then
submitted based on the regular job scheduling criteria, such as IN, CONTROL, TIME.
It is possible to force the use of the CONTROL-M submit facility. When the
CONTROL-M CTMQSB command is activated, the contents of the member to be
submitted are passed to CONTROL-M User Exit CTMX010. This exit can
automatically add //*CONTROLM cards to the submitted member. Use of this
technique results in a completely scheduled environment. All submitted jobs are
under CONTROL-M control.
NOTE
Each member processed using the command CTMQSB must contain only one job. If one of
these members contains more than one job, all the jobs are submitted; however, a message is
produced for only the last job. If the job is ordered, CONTROL-M submits all the jobs in the
member, but controls only the first job.
CONTROL-D users: The D-CAT field of the job scheduling table is ignored for jobs that are
scheduled using the CONTROL-M CTMQSB command. This means that a report decollating
mission is not automatically ordered for jobs that are scheduled by the CTMQSB command.
CTMAJO was designed to handle a situation that sometimes arises, when the user
needs to order special jobs from any of various environments, such as CICS or
ROSCOE. However, the CTMBLT utility, which is described in the INCONTROL for
z/OS Utilities Guide, now provides the same functions. You can use the CTMBLT
utility to dynamically build job scheduling definitions and to order individual jobs
when required.
BMC Software recommends that you use the CTMBLT utility instead of using the
CTMAJO program, which will not be supported in future versions of CONTROL-M.
If you prefer, you can achieve the same results by means of the CONTROL-M
Application Program Interface (CTMAPI), which is described in Appendix A, “The
CONTROL-M Application Program Interface (CTMAPI).”
■ takes the JCL of the job to be submitted from memory and writes it to the specified
single purpose JCL library, using a unique member name
■ takes the skeletal job scheduling definition from the scheduling table in the
scheduling library, and loads the job scheduling definition to the Active Jobs file
When placing the job order in the job scheduling definition, CONTROL-M overwrites
the MEMNAME value from the skeleton with the name of the special purpose JCL
member. It also specifies the requested scheduling date.
The job then comes under the control of the CONTROL-M monitor:
■ If runtime scheduling criteria are specified in the skeletal job scheduling definition,
the job is not submitted until those criteria are satisfied.
For a sample call to the CTMAJO utility, see the ROSORDER member in the IOA
SAMPLE library.
The IOALDNRS utility checks the IN conditions required by scheduled jobs against
the conditions available in the IOA Conditions file and against the OUT conditions
that can be set by the scheduled jobs.
All IN conditions that are not in the IOA Conditions file and that are not listed as
OUT conditions in a scheduled job are added to the Manual Conditions file.
To utilize this list effectively, the user must distinguish between two types of
conditions in the list because each requires a different type of intervention. From the
user perspective, the two types of conditions are:
■ Manual Conditions
Conditions that always require manual intervention and are therefore never
automatically added by jobs as OUT or DO COND conditions.
Example
Job-X, which requires that a tape has arrived before the job is submitted, contains
IN prerequisite condition TAPE-ARRIVED.
This condition must not be automatically added to the IOA Conditions file by a
job, but must instead be manually added by the operator only after the tape has
arrived.
■ Unscheduled Conditions
Conditions that can be added automatically by a job, but which appear in the
Manual Conditions list because none of the jobs scheduled that day set the
condition.
Example
The distinction between the two types of conditions mentioned above is important
because each type requires a different user response, as described below.
■ Normal Dependency
With this type of dependency, using the example cited above, successor Job-B must
not be submitted because predecessor Job-A was not scheduled and executed.
In this case, the dependency must not be ignored. The unscheduled prerequisite
condition is not added manually.
■ “Maybe” Dependency
A successor job is dependent on the predecessor job only if the predecessor job is
scheduled that day. If the predecessor job is not scheduled that day, the successor
job can still be submitted, provided that other runtime scheduling criteria are
satisfied.
With this type of dependency, using the example cited above, successor job Job-B
must be submitted, provided all other runtime scheduling criteria are satisfied,
because predecessor job Job-A was not scheduled.
In this case, the dependency must be ignored or bypassed. Methods for ignoring
Maybe dependencies are described below.
When Maybe dependencies are defined, the prerequisite IN, OUT and DO COND
conditions must all have the same unique prefix (that is, a prefix that is not used
for other prerequisite conditions).
NOTE
If your site utilizes MVS restarts and uses symbol @ in OUT conditions for the restart, this
symbol must not be used as a prefix for Maybe job conditions. In this case, use the # symbol
for Maybe conditions. For details, see Appendix E, “MVS Job Restart Without
CONTROL-M/Restart.”
After the above two steps have been implemented, the only manual intervention
required for unscheduled conditions of Maybe jobs is the executing of the
ADDMNCND KSL utility.
Unscheduled conditions normally added by other jobs in the same Group scheduling
table are removed from the IN statements of the scheduled job orders:
■ These conditions do not appear in the Zoom screen. They are not, however, deleted
from the original job scheduling definition.
■ These conditions also do not appear in the Manual Conditions file. Therefore, there
is no real advantage to defining them with a unique prefix, unless they are used as
IN conditions for jobs in a different table.
■ Unscheduled conditions normally added by jobs in other scheduling tables are not
removed from the job order. They appear in the Manual Conditions file.
■ When using pipes for jobs submitted by CONTROL-M, the PIPE parameter must
be used if parallel submission of all pipe participants is to be ensured.
■ Normally (that is, when pipes are not used), prerequisite conditions ensure desired
flow of predecessor and successor jobs.
However, when values are specified in the PIPE parameters of interrelated job
scheduling definitions, CONTROL-M uses them to create Collections. The jobs in a
Collection are not submitted until all prerequisite conditions required by all jobs in
the Collection are satisfied. If a dependency exists between an OUT condition of
one job and an IN condition of another job in the same Collection, it prevents
submission of all the jobs in the Collection. CONTROL-M resolves this problem by
ignoring the IN condition, thus bypassing the dependency between the jobs in the
Collection and enabling the submission of the jobs. If the job is removed from the
Collection, its ignored IN conditions reappear.
■ When two jobs in the same Collection request the same Control resource, and at
least one of them requests the resource in “exclusive” mode, a “deadlock” situation
arises—the Collection jobs are not submitted. To prevent this, CONTROL-M
ignores the Control resource requests of one of the jobs, as follows: If one of the
jobs requested the resource in “shared” mode, that resource request is ignored; if
both jobs requested the resource in “exclusive” mode, the resource request of the
job with the shorter average elapsed time is ignored. If the job is removed from the
Collection, its ignored Control resources reappear.
NOTE
To allow integration between CONTROL-M and MVBO/Job Optimizer Pipes, the pipe
name specified in the CONTROL-M job scheduling definition must be identical to the pipe
name specified in the MVBO/Job Optimizer Pipes rule. Currently, this requirement is not
forced by CONTROL-M.
■ Jobs cannot be run in parallel if TIME FROM and TIME UNTIL specifications for
the jobs do not overlap.
■ When PIPE definitions are added, the Quantitative resources defined for the jobs
in the Collection must be checked to see if some of the defined resources are no
longer necessary. For example, if a pipe replaces a tape data set, the tape resource
may not be required. Such resources must be removed from the job scheduling
definition.
■ In a non-Sysplex environment, all jobs that are part of a Collection must run in the
same system. Therefore, BMC Software recommends that you avoid using
resources prefixed by a dollar sign ($) in jobs that are part of a Collection, to ensure
that all the jobs are submitted to the same system.
■ CONTROL-M ensures that the required number of participants, as defined for the
pipe in the MVBO/Job Optimizer Pipes rule, access each pipe in the Collection. If a
participant is missing, the jobs in the Collection are not submitted. This ensures
that a job is not submitted when its participants are not scheduled on that day.
To ensure that the jobs begin execution on time, it is recommended that initiators
be handled as Quantitative resources. This ensures that submitted jobs do not wait
for initiators and delay other jobs in the Collection.
System-Related Considerations
The following system-related issues must be considered when using the PIPE
parameter in a CONTROL-M job scheduling definition.
■ Parallel processing changes resource usage in the system. All resources required
for all the jobs in the Collection must be available when the jobs are submitted.
This means that more resources, such as initiators, tape drives, CPUs, are required
for shorter time periods; they become available after the jobs using the pipe finish
execution. Therefore, when using pipes, resource usage in the system in which the
jobs are to run must be reviewed to ensure that all required system resources are
available at the time the jobs are submitted.
■ The change in resource usage may necessitate changing the maximum quantities
defined for CONTROL-M to satisfy the changed requirements.
The CONTROL-M JCL and AutoEdit facility eliminates the need for frequent manual
changes to job parameters. However, there are usually a few job parameter changes
that cannot be automated, for example, tape serial numbers, which are unknown
prior to tape arrival. These types of parameters require manual modification by the
user, generally operations personnel.
Old Method
To illustrate how prior versions of CONTROL-M solved this problem, consider the
daily arrival of IRS tape number 123456.
Figure 354 Illustration 1A: How CONTROL-M Formerly Handled A New Tape
1. JOB A requires input of the IRS tape number before it can run. The job must be
defined in a CONTROL-M scheduling table with an IN prerequisite condition of
IRS-TAPE-ARRIVED.
2. The JCL for JOB A must include %%LIBSYM and %%MEMSYM control statements
pointing to the AutoEdit Library CTM.LIB.SYMBOLS and the AutoEdit member
TAPES.
3. The AutoEdit member TAPES contains several AutoEdit parameters (from various
jobs), including the parameter %%IRS_TAPE.
On a given day, the Manual Conditions file created by the IOALDNRS utility
indicates that the prerequisite condition IRS-TAPE-ARRIVED must be added
manually by the user. This serves as a reminder to the operations personnel that a job
is waiting for an IRS tape number. When the tape arrives, the user must perform two
steps, as illustrated in the following figure:
1. Access the AutoEdit member TAPES and assign value 123456 to the %%IRS_TAPE
parameter.
When the condition IRS-TAPE-ARRIVED has been added to the IOA Conditions file,
and assuming all other runtime conditions are met, the CONTROL-M monitor
submits the job. When the job is submitted, the value of %%IRS_TAPE in the JCL of
JOB A is updated by the value in the TAPES member. The job parameter
VOL=SER=%%IRS_TAPE resolves to VOL=SER=123456.
New Method
In the current version, the same problem is resolved in a different way using the
Parameter Prompting facility – Type 1.
Figure 356 Illustration 2A: How CONTROL-M Now Handles A New Tape
1. JOB A requires input of the IRS tape number before it can run. The job must be
defined in a CONTROL-M scheduling table with IN prerequisite condition
IRS-TAPE-ARRIVED.
2. The JCL for JOB A includes %%LIBSYM and %%MEMSYM control statements
pointing to the CONTROL-M PROMPT prompting parameters library and the
TAPM%%OMONTH.%%ODAY daily AutoEdit member.
3. Using the first option of the Parameter Prompting facility – Type 1, groups of
AutoEdit parameters that require value assignment are defined once. These
parameters are grouped into a Master Prompting table, the Master table. Default
parameter values may be assigned. In addition, prerequisite conditions to be
associated with parameters are designated. In this example, several parameters
from various jobs have been defined in the TAP Master table, including the
%%IRS_TAPE parameter from JOB A. Prerequisite condition IRS-TAPE-ARRIVED
has been associated with this parameter.
When the tape arrives, the user only performs one step (illustrated below):
Figure 357 Illustration 2B: Single Step Now Performed by the User
The user selects the TAP table from a list of Master tables and is presented with Daily
Prompting table TAPT1112, an automatically created copy of the Master table for the
current date. The Daily Prompting table consists of parameter names, (optional)
descriptions, and default values. The user updates the %%IRS_TAPE parameter with
the value 123456.
Summary
By using Parameter Prompting facility – Type 1, it is only necessary to update the
Daily table. The user no longer needs to remember which AutoEdit parameters in
which AutoEdit symbol member require changing, nor the prerequisite conditions
that require setting. The Parameter Prompting facility automatically handles
updating of the AutoEdit member, and adds any required conditions to the IOA
Conditions file.
Usage Notes
JCL Modifications
JCL members for jobs containing AutoEdit parameters defined in Master tables must
be modified as follows:
@@@M%%OMONTH.%%ODAY
where @@@ is the Table Name Prefix defined in Option 1 of the facility.
%%OMONTH.%%ODAY can be replaced with any date variable or date constant
in the format mmdd.
Definition Phase
Figure 358 Parameter Prompting Facility Type 2: Definition Phase
1. Scheduling Table
First, a scheduling table is defined using the CONTROL-M Online facility. The
scheduling table contains job scheduling information for all of a department’s jobs.
Any number or type of jobs with any valid date scheduling criteria can be
designated. The table is placed in a Master Scheduling Tables library.
Next, using the first option of the Parameter Prompting facility – Type 2, a Master
Prompting Plan (MPP) is defined containing all AutoEdit variables used by all the
jobs in the scheduling table. Any default values can be assigned. Value validity
checks can also be defined. The MPP is placed in the Master Prompting Plan
library.
FETCH Phase
Figure 359 Parameter Prompting Facility Type 2: Fetch Phase
The second option of the Parameter Prompting facility – Type 2, FETCH A PLAN,
allows the user to select a plan for execution by CONTROL-M on a specific day.
When a FETCH option is executed for a specific PLANID, or all PLANIDs with a
specific suffix, a daily scheduling table is automatically created. The Daily Scheduling
table, a subset of the Master Scheduling table, is placed in the Daily Scheduling
Tables library. The Daily Scheduling table contains the job scheduling definition of all
of the jobs in the Master Scheduling table scheduled to run on the specified date,
based on each job’s scheduling criteria.
The FETCH also creates a User Prompting Plan (UPP), a subset of the Master
Prompting Plan, which is placed in the Daily Prompting Plan library. The UPP
contains only parameters that are required by the jobs scheduled to run on the
specified date.
A Daily JCL library is also created containing JCL for today’s jobs.
EXEC Phase
The third option of this facility, EXEC A PLAN, permits the user to update or accept
the default values of all the parameters appearing in the daily UPP. A daily AutoEdit
parameters member, which is accessed at the time of job submission, is automatically
created and placed in the Daily AutoEdit Parameter library.
Once values have been assigned to all the parameters, the prerequisite condition
RUN-%%PLANID is added. %%PLANID is resolved to the PLANID, and suffix if
supplied, designated in the FETCH phase.
The Daily Scheduling table is then ordered by CONTROL-M. The jobs are placed on
the Active Jobs file and run based on their scheduling parameters; that is, a job is
submitted only when all scheduling criteria, such as other prerequisite conditions,
have been met.
CTMFETCH CLIST
When CLIST CTMFETCH is activated, the FETCH A PLAN screen is displayed:
PLAN NAME SUFFIX ===> (For multiple plans in the same day)
CTMEXEC CLIST
When CLIST CTMEXEC is activated, the EXEC / ORDER A PLAN screen is
displayed:
PLAN NAME SUFFIX ===> (For multiple plans in the same day)
Usage Notes
■ The PLAN NAME can be up to six characters in length. Use of the SUFFIX
parameter in the FETCH phase permits creation of multiple Daily User Prompting
Plans based on one Master Prompting Plan. This also makes it possible to duplicate
(by overriding) a fetch of the same plan by setting the OVERRIDE DAILY PLAN
parameter to YES on the FETCH A PLAN screen.
■ Each job defined in the Master Scheduling table must contain an IN prerequisite
condition in the format:
RUN-%%PLANID
This prerequisite condition is added during the EXEC phase only after all
parameters for a specific plan are assigned in the EXEC phase. %%PLANID
resolves to the PLAN NAME (and SUFFIX) designated in the FETCH phase.
Since each plan can be ordered multiple times for the same scheduling date, it is
highly recommended to distinguish between the dependencies of the jobs in the
plan based on PLAN NAME. Every prerequisite condition used for inter-plan
dependency must contain the string %%PLANID. It is automatically replaced by
the PLANID during the FETCH phase.
The first AutoEdit control statement must point to an AutoEdit Parameters library
and the PLANID member. The PLANID member contains the unique PLANID of
the job (automatically handled by CONTROL-M).
Example
The second AutoEdit control statement must point to the Daily AutoEdit
Parameters library and the member %%PLANID. CONTROL-M automatically
resolves %%PLANID to the PLAN NAME designated in the FETCH phase.
The Daily AutoEdit Parameter library must be suffixed by a date parameter that is
resolved by CONTROL-M. Example:
■ The %%PLANID member of each plan (in the Daily AutoEdit Parameter library)
contains up to four configuration tables identified by AutoEdit variables.
Parameters and data that are repeatedly used in a data processing environment
can be defined in such a configuration table.
Example
%%CONF1=INDICES
%%CONF2=WEEKCHAR
%%CONF3=
%%CONF4=
The PPF2CONF member uses the configuration table values specified in the
%%PLANID member to select the GLOBAL autoedit members to be included in
the JCL of the job. It contains the following AutoEdit code:
%%IF *%%CONF1 NE *
%%GLOBAL %%CONF1
%%ENDIF
%%IF *%%CONF2 NE *
%%GLOBAL %%CONF2
%%ENDIF
%%IF *%%CONF3 NE *
%%GLOBAL %%CONF3
%%ENDIF
%%IF *%%CONF4 NE *
%%GLOBAL %%CONF4
%%ENDIF
■ The MEMLIB parameter of each job scheduling definition in the scheduling table
must point to the Daily JCL library. The library name is suffixed by the AutoEdit
date variables.
Example
CTM.PROD.JCLP%%OMONTH.%%ODAY
■ Occurrence numbering:
It is recommended that all AutoEdit parameter names of jobs in the same plan be
unique. In some plans, duplicate names may be unavoidable, and more than one
job may share the same AutoEdit parameter name. If the parameters are to be
assigned different values, that is, used for different purposes, each parameter must
be assigned a different OCCUR NO during definition of the Master Prompting
Plan.
A %%SET statement specifying the OCCUR NO. must be included in the JCL of the
associated jobs as follows:
%%SET %%OC# = 01
— It ensures that at the time when the job is submitted, the AutoEdit Parameters
library contains the PLANID member.
%%PLANID=plan_id
in order to provide the job with a unique identity (plan_id). This is done using an
OUT condition in the job scheduling definition, as described in the source code
of the exit.
For information about modifying the exit, see the CTMX2PPF member in the IOA
SAMPEXIT library.
Maintenance Utilities
The following jobs are located in the CONTROL-M JCL library.
PPF2DEL
This job can be run to delete sets of daily libraries according to specified date criteria.
PPF2DAY
This job allocates the daily libraries that are to be used by the Parameter Prompting
facility – Type 2. It also copies the required jobs from the Master JCL library to the
Daily JCL library.
These are time consuming tasks normally performed as part of the FETCH and EXEC
phases of the Online facility. By scheduling this job daily under CONTROL-M, the
time required to execute the FETCH and EXEC phases is reduced.
7
7 Simulation and Forecasting Facility
This chapter includes the following topics:
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
Simulation Procedure CTMSIM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
Activating the Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839
Preparatory Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841
Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843
Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844
CONTROL-M Exits and Simulation Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
Analyzing the Simulation Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
Handling Manual Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
The CTMTAPUL Tape Pull List Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Activating the Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
DD Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
JOB/SCAN, PRO/JCL, DOCU/TEXT Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Problem Determination for Tape Pull List Reports . . . . . . . . . . . . . . . . . . . . . . . . 854
Sample Tape Pull List Reports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Overview
The Simulation and Forecasting facility consists of two components.
Simulation procedure CTMSIM tests the potential impact of proposed changes to the
configuration or production environment. It answers “What if?” questions, such as:
“What if we ...
The Simulation procedure can also be used to forecast production runs such as the
next 24-hour run, end-of-month run, and so on. In this way, possible irregularities in
the schedule can be foreseen.
The CTMTAPUL Tape Pull List procedure creates a report of all tapes to be mounted
for a specific period. By running the procedure on a daily basis, all tapes required for
the daily production run can be prepared in advance for the operator or the robotic
tape library.
The Tape Pull List procedure uses the output of the Simulation procedure as input.
Therefore, the Simulation procedure must be executed before the Tape Pull List
procedure can be executed. However, the Simulation procedure can be executed
without executing the Tape Pull List procedure.
CONTROL-M and IOA files used as input to the simulation process are not updated
as a result of this process. The statuses of the files after simulation are written to
special simulation output files. The simulation assumes that each job ended execution
with a condition code of 0.
The following CONTROL-M and IOA files are used as input in the Simulation
procedure. These files may either be actual production files or special files created
specifically for forecasting purposes.
The Simulation procedure may contain several steps prior to the actual simulation
processing step, depending on the environment to be used as input to the simulation
run. For example
■ It may be necessary to simulate the run of a specific day without relating to the
current production jobs.
Option M3 is the preferred method of generating the job stream for the procedure
because the Online utility can automatically perform certain necessary preparatory
steps (mentioned above). If the Online utility is not used, the user must add these
steps, as necessary, to the JCL.
The M3 Online utility is discussed in “M3: Prepare Simulation/Tape Pull List Job” on
page 326.
Preparatory Steps
The following preparatory steps must be added, as needed, to the simulation job.
■ a test file used to simulate jobs planned for a future working day
If a test file is used, an initial job step must allocate and format the simulation
Active Jobs file. A date record is then generated for the date of the simulation. A
User Daily job step then loads the required job orders into the simulation Active
Jobs file.
This preparatory step can be automatically generated through the M3 online utility.
All jobs in the Active Jobs file participate in the simulation. For jobs that are currently
executing at the time the simulation is running, it is assumed that they have already
executed half of their average elapsed time.
■ a test file, which can be used to define Quantitative resources under simulation,
using the IOACND utility
Parameters
There are two ways of setting parameters for the utility.
Parameters can be passed to the utility using the SIMPARM member in the
CONTROL-M PARM library. This member is referenced by the DASIMPRM
DD statement in the Simulation procedure, if it is specified in option M3 (Prepare
Simulation/Tape Pull List Job) of the Online Utilities.
Alternatively, parameters may be passed to the utility in-line, using the DASIMPRM
(or SYSIN) DD statement.
Input Files
The simulation procedure accepts the following input files:
Output Files
The simulation run produces the following output files:
At the end of the simulation process, this file contains all the log messages
describing events that occurred during the simulation run, for example, JOB
SUBMITTED, JOB ENDED OK, or COND xxxx ADDED.
This file can be used as input to all CONTROL-M reports that are normally
produced from the IOA Log file. The standard set of reports produced from the
IOA Log can be used to analyze the simulation run. Therefore, it is not necessary to
write special simulation reports.
The DACKPTOU DD statement references a file in the format of the Active Jobs
file. All jobs that were present in the input Active Jobs file are written to this file
with the status assigned to them during the simulation run, for example, ENDED
OK, EXECUTING, or WAIT SCHEDULE.
The file can be scanned online or in batch mode using standard CONTROL-M
facilities.
■ SIMOCND—Conditions file
The SIMOCND DD statement references a file in the format of the IOA Conditions
file. All conditions that were present at the end of the simulation run are written to
this file.
The file can be scanned online or in batch mode using standard CONTROL-M
facilities.
■ SIMORES—Resources file
The file can be scanned online or in batch mode using standard CONTROL-M
facilities.
Exit CTMX003 (output scanning) is invoked once for each job. The exit does not
receive any sysout. Since the simulation assumes that each job ended execution with a
condition code of 0, this exit can also be used to add events for certain jobs that end
with a nonzero condition code that influences the job flow.
If the same exit is to be used in both the production and simulation environments, it
may be necessary to determine which environment is currently active. The
MCTSMIND field in the MCT can be checked as follows to determine whether the
exit is running under simulation:
Sample Input
Figure 364 CONTROL-M Simulation Exit Screen
// EXEC CTMSIM
//SIM.DACKPTIN DD DSN=XXX.CTM.PROD.TESTAJF,DISP=SHR
//SIM.SYSIN DD *
SIMSTART 0106060900
SIMEND 0106062200
INTERVAL 15
NEWJOB D4TRY1 EXECTIME 2.30
NEWJOB D4TRY2 EXECTIME 100.00 CPUID 1
NEWJOB D4TRY2 EXECTIME 120.00 CPUID 2
CHANGE RESOURCE TAPE -3 ONDAYTIME 0106061600
ADD COND IR-TAPE-ARRIVED 0606 ONDAYTIME 0106061800
ADD COND END-CICS 0606 ONDAYTIME 0106062100
//
. . SIM076I SIMULATION STARTED
SIMSTART 0112122100
SIMEND 0112122130
INTERVAL 55
ADD COND TAP-TEST-OK 0606 ONDAYTIME 0106062102
ADD COND TAP-TEST2-OK 0606 ONDAYTIME 0106062102
ADD COND PUL2-OK 0606 ONDAYTIME 0106062102
ADD COND PUL1-OK 0606 ONDAYTIME 0106062102
ADD COND PUL2-OK 0606 ONDAYTIME 0106062102
NEWJOB ASMMCTD EXECTIME 0001.00
NEWJOB ASMMCTM EXECTIME 0001.00
21.00.00 RUN100I CONTROL-M MONITOR STARTED
21.00.00 SIM087W MEMBER PRDJBREG LIBRARY PROD.DAILY.JOBS -
DEFAULT ELAPSED TIME USED
21.00.00 SIM087W MEMBER PRDJBDAY LIBRARY PROD.DAILY.JOBS -
DEFAULT ELAPSED TIME USED
21.02.45 CTM567I COND PUL2-OK ODATE 0606 ADDED
21.02.45 CTM567I COND PUL1-OK ODATE 0606 ADDED
21.02.45 CTM587I COND PUL2-OK ODATE 0606 ALREADY EXISTS
21.02.45 CTM567I COND TAP-TEST2-OK ODATE 0606 ADDED
21.02.45 CTM567I COND TAP-TEST-OK ODATE 0606 ADDED
21.31.10 SIM098I TASK EXECDAY DID NOT FINISH EXECUTING
21.31.10 SIM098I TASK PRDTEST DID NOT FINISH EXECUTING
21.31.10 SIM099I TASK MPMXXX STILL WAITS SCHEDULE
21.31.10 SIM099I TASK MPMTST STILL WAITS SCHEDULE
21.31.10 RUN120I CONTROL-M MONITOR SHUTTING DOWN
21.31.10 SIM078I SIMULATION ENDED
The online environment can be used to determine not only which jobs were
submitted, but which jobs are waiting to be scheduled and why they remained in
WAIT SCHEDULE status at the termination of the simulation run.
1. Create a Conditions file and a Manual Conditions file to be used for simulation
only. You can use the FORMCND and FORMNRS members in the IOA INSTALL
library to do this. The file name CND can be changed to SIMCND. The file names
NRS and NSN can be changed to SIMNRS and SIMNSN respectively.
2. Using the CTMCOPRS utility, copy the contents of the production IOA Conditions
file into the simulation Conditions file created in Step 1.
3. Integrate the IOALDNRS utility into the standard CTMSIM procedure so that it
runs against the simulation Active Jobs File, which has been loaded with
simulation jobs, to load the manual conditions into the simulation NRS file
SIMNRS.
4. Integrate the ADDCMND job, which is in the CONTROL-M JCL library, into the
standard CTMSIM procedure to add the required manual Maybe conditions to the
simulation Conditions file.
NOTE
It is highly recommended that the simulation be run from the current time, that is, not from a
time in the future. Otherwise, the Tape Pull list results may be inaccurate because new tape
files may be cataloged in the time remaining before the start of the simulation run.
The procedure takes into account the expected order of job execution and the order of
creation of tape data sets.
■ checks the syntax of all AutoEdit statements in all jobs that are planned for the
given period
■ produces a list of data sets that are still missing for the execution.
These are usually input data sets due to arrive, but they may be JCL execution
errors
NOTE
For the Tape Pull List procedure to be executed properly, the internal reader (INTRDR) must
have authority to submit jobs.
The Tape Pull List procedure uses files from the Simulation procedure as input. In
preparation for the Tape Pull List procedure, run the Simulation procedure using the
production CONTROL-M Active Jobs file, CONTROL-M Resources file, and IOA
Conditions file.
■ The procedure looks for “SUBMISSION” messages in the simulation output LOG
file.
— For each submission message, it looks for the appropriate job having a WAIT
SCHEDULE status on the simulation input Active Jobs file.
— If a job is found, the Tape Pull List procedure actually submits the job with the
TYPRUN=SCAN parameter specification, reads the SYSOUT of the job,
retrieves the data set information, and produces the required reports.
■ The procedure recognizes tape data sets by either the appropriate unit
specification in the JCL, such as UNIT=TAPE, or by retrieving information from
the system catalog. It is therefore not necessary to have all tape data sets cataloged
in the MVS catalog.
NOTE
A highlighted warning message appears on the operator console while the jobs are being
submitted. During this stage, the operator console may display several messages regarding
the job submission. The highlighted message disappears at the end of this stage.
The procedure can detect that a certain tape is used by more than one job, and
which job creates it, as illustrated in the following example.
//OUTUPD DD DSN=PFX.DATA(+1),DISP=(,CATLG),...
//INUPD DD DSN=PFX.DATA(0),DISP=SHR
The procedure detects that Job A is the creator of the data set used by Job B and
reports the same tape volser for both jobs.
■ After the job sysout has been analyzed, the sysout is deleted from spool.
■ The next stage of the procedure produces reports according to the requested
parameters.
// EXEC CTMTAPUL
//TAPULIN DD *
parameters
Parameters
There are two ways of setting parameters for the utility.
Parameters can be passed to the Tape Pull List utility using the TAPULPRM member
in the CONTROL-M PARM library. This member is referenced by the TAPULIN
DD statement in the Tape Pull List procedure, CTMTAPUL, if it is specified in option
M3 (Prepare Simulation/Tape Pull List Job) of the Online Utilities.
Alternatively, parameters may be passed to the utility in-line, using the TAPULIN
DD statement.
The Tape Pull List job can be prepared using the (ISPF) Simulation panel (Option M3
in the IOA Online Utilities menu). A special section of the panel is designated for
Tape Pull List parameters. If you want to run the Tape Pull List procedure
The default control parameters member name appears on the screen. This member
contains IGNORE statements (procedure parameters). JOB/SCAN and PRO/JCL
parameters are discussed in “JOB/SCAN, PRO/JCL, DOCU/TEXT Interface” on
page 853.
After filling in the parameters, enter the edited JCL of a job to run the simulation and
the procedure. You can submit it, or save it for future use.
DD Statements
The following DD statements are used by procedure CTMTAPUL:
In sites using the JOB/SCAN, PRO/JCL, DOCU/TEXT Interface, the lower portion of
the M3 Online utility, which is described in “M3: Prepare Simulation/Tape Pull List
Job” on page 326, contains INVOKE JOB/SCAN parameters.
■ The submission message must be present in the simulation output Log file.
■ The corresponding job has a WAIT SCHEDULE status in the simulation input
Active Jobs file.
Reports are not produced if one or more of the following situations exist:
■ Jobs requiring tapes were not “submitted” by the simulation because their
submission criteria were not satisfied.
■ An invalid Active Jobs file was specified as an input for the Tape Pull List
procedure.
■ An invalid Log file was specified as an input for the Tape Pull List procedure.
■ No reports were requested from the procedure through the input parameters, that
is, the default was “no reports”.
■ The procedure does not recognize tape data sets. For more information, see the
description of the Tape Pull list utility in the discussion of CONTROL-M
customization in the INCONTROL for z/OS Installation Guide.
JOBNAME USER ODATE TIME MEMNAME VOLSER LAB# TYPE DISP DSNAME PROCNAME STEPNAME DDNAME
-----------------------------------------------------------------------------------------------------------------
SMFSAVE M05 060601 09:06 SMFSAVE 110050 0001 T M-O BKP.MONTH.CONT02(+0) STEP3 TAPE1
110051 T
110048 0001 T M-O BKP.MONTH.CONT02(-1) STEP3 TAPE2
110049 T
110058 0001 T M-O BKP.MONTH.CONTO2(-2) STEP3 TAPE3
110059 T
PRDINPUT M05 060601 09:02 PRDINPUT 996713 0001 T NEW PRD.TP.FILE1(+1) ST1 DD1
S#0001 0001 C NEW PRDW.FILE.GDG.GRPM1(+1) BADSTEP BADD1
100047 0001 T M-O BKP.WEEK.CONT01(-2) ASTEP1 OUT0
PRDUPDT1 M05 060601 09:09 PRDUPDT1 114003 0001 T OLD PRDW.FILE.GDG.GRP11(+0) RES TAP1GDG0
114002 0001 T OLD PRDW.FILE.GDG.GRP11(-1) RES TAP1GDG2
S#0004 0001 T NEW BKP.MONTH.CONT01(+1) RESTORE CYCLIC DACYCT
114003 0001 T OLD PRDW.FILE.GDG.GRP11(+0) RESTORE CYCLIC TAPEGDG0
$#0005 0001 C NEW PRDO.TP.UPDT1 RESTORE CYCLIC CASSFILE
PRDRPT2C M05 060601 09:19 PRDRPT2C $#0006 0001 T NEW PRD.TP.DAILY.REPORTS ASTEP1 OUT
113492 0001 T OLD PRD.CART.RPT2C BACKUP CYCLIC DACYCT
$#0007 0001 T NEW BKP.MONTH.CONT02(+1) BACKUP CYCLIC DACYCT
PRDRPT2D M05 060601 09:22 PRDRPT2D 114003 0001 T OLD PRDW.FILE.GDG.GRP11(+0) ST1 TAPE0
T00001 0001 T NEW PRD.SNG1912.TAPE1(+1) ST1 TAPE1
T00002 0002 T NEW PRD.SNG1912.TAPE1(+2) ST1 TAPE11
994529 0001 T NEW PRDW.FILE.GDG.GRP21(+0) ST2 TAPE0
997892 0003 T NEW PRD.SNG1912.TAPE2(+1) ST2 TAPE2
S#0008 0001 T NEW &&NEWTEMP ST2 TAPETMP
996638 T NEW BKP.MONTH.CONT01(+3) ST2 TAPE8O2
PRDEXE2E M05 060601 09:25 PRDEXE2E T00002 0002 T OLD PRD.SNG1912.TAPE1(+0) STEP1 INTAPE1
T00001 0001 T OLD PRD.SNG1912.TAPE1(-1) STEP1 INTAPE11
S#0007 0001 T OLD BKP.MONTH.CONT02(+0) STEP2 TAPE5
110050 0001 T OLD BKP.MONTH.CONT02(-1) STEP2 TAPE6
110051 T
110048 0001 T OLD BKP.MONTH.CONT02(-2) STEP2 TAPE7
110049 T
110058 0001 T OLD BKP.MONTH.CONT02(-3) STEP2 TAPE8
110059 T
110056 0001 T OLD BKP.MONTH.CONT02(-4) STEP2 TAPE9
110057 T
A
The CONTROL-M Application
A
Overview
The CONTROL-M Application Program Interface (CTMAPI) is an open interface
between the application environment and CONTROL-M. CTMAPI enables your
application program to interface with CONTROL-M so that you can access services
and extract data from CONTROL-M into your own programs.
CTMAPI is open to all application environments. It can be called from the following
programs or environments:
NOTE
All examples in this Appendix are in Assembler language.
■ REXX or CLIST
However, not all functions of the API are applicable to all environments.
The API can call the CTMAPI module and pass it requests through either of the
following:
These methods, functions and conversational mode, are explained in more detail in
this appendix.
■ The calling application must have access to the IOA LOAD library, either using
STEPLIB or using Linklist.
In addition to the above allocations, each service requires specific data sets to be
allocated for successful execution of the service. For example, to successfully order
jobs to CONTROL-M, the Active Jobs file (AJF) must be allocated.
CTMAPI relies on IOA dynamic allocation services to allocate the files appropriate to
the function, using an ALC member. This means that your program, REXX or batch
requires no knowledge of dynamic allocation.
For more information about IOA dynamic allocation and ALC members, see the
INCONTROL for z/OS Administrator Guide.
You can tailor CTMAPI to allocate the appropriate files in either of the following
ways:
■ Let the function itself dynamically allocate the default data sets based on the site
standard naming convention (using the default ALC member). Under each
function, you can find which ALC member is used to dynamically allocate the
necessary files. If you do not require any unusual allocations, this is the
recommended method.
■ If you want to use other allocations, you can prepare your own ALC member and
pass it to CTMAPI using the standard DAALOCIN DD statement pointing to your
own ALC member. If this method is chosen, it is recommended that you use the
default ALC member specified in the function as a basis for your own ALC
member.
If CTMAPI is called under the IOA environment, none of the above is applicable. It is
assumed that all the necessary files are already correctly allocated, so no dynamic
allocation is performed by CTMAPI.
Functions
CTMAPI supports various types of services, but not all of them are supported under
all environments. Some of the functions can be executed using existing IOA or
CONTROL-M utilities. For example, CTMJOB can be used to order jobs. Other
functions, such as the Status request or the Action request, cannot be processed by
means of any existing program or utility.
Future enhancements will be provided first to the API rather than to the appropriate
utility. BMC Software therefore recommends that you use CTMAPI for all requests,
even functions that are supported using other utilities.
■ perform AJF actions equivalent to the following options of the Active Environment
screen (Screen 3):
— Hold
— Free
— Delete
— Undelete
— Confirm
— Rerun
— Restart
— React
— Force OK
■ search and query the status and other details of jobs in CONTROL-M
These functions are described in greater detail in this appendix. Differences in calling
the service from different environments are also discussed.
IOAAPI, which is described in the INCONTROL for z/OS Administrator Guide, can be
used to perform the following functions:
This service can be called from any environment, with few differences between
environments. The syntax for this service is as follows:
ORDER {DSN=schedlib|[DDNAME|DD]=dd},{MEMBER|MEM=table}
[JOB=jobnm] [ODATE|DATE=date] [ODATEOPT=VAL|RUN] [FORCE]
[INTOGRP=grp_rba [DUP|NODUP]] [WTO=N|Y] [SETVAR=%%xxx=yyyy]
[SELTAG=tag]… [IGNTAG=tag]… [IF if_statement]…
NOTE
In this syntax, NODUP is the default in the expression
INTOGRP=grp_rba [DUP|NODUP].
Any number of SETVAR statements can be specified in one ORDER statement. The %% string
is mandatory. The equal sign between the SETVAR name and the SETVAR value must be
contiguous.
For a full description of each parameter, see the description of the CTMJOB utility in
the INCONTROL for z/OS Utilities Guide. The only change from the utility is the
syntax of the Ignore or Select Tags and the SETVAR statements. In CTMJOB, the
Ignore and Select Tags are coded separately from the Order statement. Under
CTMAPI, they should be coded as part of the Order statement, substituting SELTAG
for the keyword SELECT and IGNTAG for the keyword IGNORE. The SETVAR
statement can only be specified via CTMAPI. Any job scheduling definition ordered
as a result of the Order statement is treated as if it contains the SETVAR statement.
The selection_criteria and if_statement parts of the command are described under
“Conditional Requests and Selection Criteria” on page 876.
In this type of call, the SYSPRINT DD statement must be pre-allocated to the step,
and the output of CTMAPI written to this file.
A return code is returned in register R15. For a full list of valid return codes, see
“Order or Force Return Codes” on page 866.
The standard method of calling CTMAPI and passing it the Order request in an
Assembler program is
MVC CMORDDSN,DSNAME
MVC CMORDTBL,TBLNAME
MVC CMORDJOB,JOBNAME
MVC CMORDDAT,DATE
CALL CTMAPI,(PARMAREA),VL
.
.
.
PARMAREA DC Y(PARMLEN)
DC C'ORDER DSN='
CMORDDSN DS CL44
DC C' MEM='
CMORDTBL DS CL8
DC C' JOB='
CMORDJOB DS CL8
DC C' ODATE='
CMORDDAT DS CL6
PARMLEN EQU *-PARMAREA
DSNAME DC CL44'CTM.PROD.SCHEDULE'
TBLNAME DC CL8'DEFSCHD1'
JOBNAME DC CL8'JOBA'
DATE DC CL6'090600'
NOTE
The VL parameter of the CALL macro must be coded, in order to turn on the high order bit of
the parameter list.
In the above sample, just one job is ordered from an existing table, and the calling
program receives only the return code indicating whether the call was successful or
unsuccessful.
The DATEREC file is ignored when you use CTMAPI to order jobs.
■ missing calendar
■ a problem was encountered in the scheduling table
■ a PREV or NEXT date condition was missing
■ CTMX001 cancelled the order
8 An error occurred, and the order stopped while being processed.
12 Syntax error in the command.
16 or more Severe error in CTMAPI. The order stopped while being processed.
For a full description of the CTMBLT parameters and how to specify whether the
scheduling tables should be optionally ordered or forced, see the description of the
CTMBLT utility in the INCONTROL for z/OS Utilities Guide.
Table 264 Create and/or Order or Force New Tables Return Codes
Return Code Explanation
0 The operation was successfully performed.
8 An error occurred. The table was not built, or not ordered.
12 Syntax error in the command.
16 or more Severe error in CTMAPI.
Table 265 shows the files that are accessed when Order or Force is requested, and the
type of access.
Table 265 Files Accessed during the Create, Order or Force Process
File Name Type of Access
Active Jobs File Read and Write
Calendar File Read
Statistics File Read
Unit Definition File Read
3. AJF Actions
Using this type of call to CTMAPI, various actions can be performed against jobs
residing in the Active Jobs file (AJF). This service can be called from any environment,
with few differences between environments. The full syntax for this service is as
follows:
AJF{HOLD|FREE|DELETE|UNDELETE|CONFIRM|RERUN|REACT|FORCEOK}
{selection_criteria} [selection_criteria]…
[IF if_statement]
In this type of call, only a return code is returned in register R15. A full list of valid
return codes is provided in “AJF Action Return Codes” on page 871.
If multiple commands are entered in a DAAPI DD statement, the final return code is
the highest return code from any of the commands.
The standard method of calling CTMAPI and passing the Hold request to it in an
Assembler program is:
MVC CMACTMEM,MEMNAME
MVC CMACTJOB,JOBNAME
MVC CMACTOID,ORDERID
MVC CMACTDAT,DATE
MVC CMACTFRE,FREE
MVC CMACTIF,CMACTSEL
CALL CTMAPI,(PARMAREA),VL
.
.
.
PARMAREA DC Y(PARMLEN)
DC C'HOLD'
CMACTSEL DC C' MEM='
CMACTMEM DS CL8
DC C' JOB='
CMACTJOB DS CL8
DC C' OID='
CMACTOID DS CL5
DC C' ODATE='
CMACTDAT DS CL6
CMACTLEN EQU *-CMACTSEL
DC C' IF STATE='
CMACTFRE DS CL4
DC CL1' '
CMACTIF DS CL(CMACTLEN)
PARMLEN EQU *-PARMAREA
MEMNAME DC CL8'DEFSCHD1'
JOBNAME DC CL8'JOBA'
ORDERID DC CL5'0AS45'
DATE DC CL6'090600'
FREE DC CL4'FREE'
NOTE
The VL parameter of the CALL macro must be coded in order to turn on the high order bit of
the parameter list.
Full selection criteria must be specified in the IF request even when it is identical to the
original service request
In this example of a Hold job, the MEMNAME is DEFSCHD1, its job name is JOBA,
the OrderID is 0AS45, and the ODATE is 090601. The HOLD command for the job is
issued only if its prior STATE was FREE. The calling program receives only the return
code that indicates whether the call was successful or unsuccessful.
Table 267 shows the files that are accessed, and the type of access.
4. Search
The Search function can be used to check the existence of a job in the AJF. It can be
called from any environment. However, the AJF entry of the job can only be returned
to the caller by using the CTMBAPI mode. Under all other environments, only the
return code is returned to the caller, indicating whether or not the job exists in the
AJF.
This function should only be used when you want to execute your own process based
on the result of this search. If you want to execute one of the other CTMAPI functions
based on the Search result, it is recommended that you use the conditional form of
that function instead.
In this type of call, only a return code is returned in register R15. A full list of valid
return codes is provided below.
If multiple commands are entered in DAAPI, the final return code is the highest
return code from any of the specified commands.
The standard method of calling CTMAPI and passing it the Search request in an
Assembler program is
MVC CMACTMEM,MEMNAME
MVC CMACTJOB,JOBNAME
MVC CMACTOID,ORDERID
MVC CMACTDAT,DATE
CALL CTMAPI,(PARMAREA),VL
.
.
.
PARMAREA DC Y(PARMLEN)
DC C'SEARCH'
DC C' MEM='
CMACTMEM DS CL8
DC C' JOB='
CMACTJOB DS CL8
DC C' OID='
CMACTOID DS CL5
DC C' ODATE='
CMACTDAT DS CL6
PARMLEN EQU *-PARMAREA
MEMNAME DC CL8'DEFSCHD1'
JOBNAME DC CL8'JOBA'
ORDERID DC CL5'0AS45'
DATE DC CL6'090600'
NOTE
The VL parameter of the CALL macro must be coded in order to turn on the high order bit of
the parameter list.
In this sample SEARCH, the job has a MEMNAME of DEFSCHD1, with a job name of
JOBA, an OrderID of 0AS45, and an ODATE of 090601. The calling program receives
only the return code indicating whether the call was successful or unsuccessful.
Search Allocations
The default ALC member used by the Search service is ALCMAJF, which
dynamically allocates the AJF only. If you choose to prepare your own ALC member,
you must ensure that you allocate at least the above file.
Table 268 shows the files that are accessed, and the type of access.
5. Global Variables
You can use CTMAPI to Set and Checkpoint variables in the IOA Variable Database.
■ The SET command readies the global variables to be written to the IOA Variable
Database, but does not actually write them there.
■ The CKP (CHECKPOINT) command writes all variables which have been SET to
the IOA Global Database.
■ The SETCKP command combines the action of both the SET and the CKP
commands.
The resolve option is available only when CTMAPI is called in Conversation mode.
If the action to be performed is SET or SETCKP, the name of the variable must be
supplied. The keyword parameters are used to define the variable name.
For more information on the actions and components of the variable name, see the
IOA administration chapter in the INCONTROL for z/OS Administrator Guide.
For more information on the syntax of the IOACND utility and its characteristics, see
the IOACND section in the INCONTROL for z/OS Utilities Guide.
Poor usage of selection criteria can dramatically impact the overall performance.
Before using such selection criteria, read “Performance Considerations for Selection
Criteria” on page 877.
Character fields marked with an * (Asterisk) to the right of the field are used as a
prefix for the specified selection criteria. No masking is allowed in any other field.
For example, if you specify MEM=ABC*, all jobs with the MEMNAME prefix "ABC"
will be selected.
IF {[MEM=memname*] | [GROUP|GRP=group_name*] |
[JOB=job_name*] | [JOBID=jes_job_number]
[OWNER=owner*] | [OID=orderid] | [ODATE={ODAT|date}] |
[STATUS={WAIT_SCH
WAIT_CONF
WAIT_PIPE
WAIT_ORD
EXEC_ERR
EXEC_WSUB
EXEC_INQ
EXEC_NJE
END_OK
END_OK_FOK
END_NOK_ABND
END_NOK_JCLE
END_NOK_UNKW
END_NOK_CC
END_NOK_NSUB
END_NOK_DISA
EXIST
NOTEXIST
NOT_DELETED
DEL} ]
| [STATE={HOLD|FREE}]}
[{AND|OR} selection2 }]...
You can greatly improve overall performance by using indexed fields in the selection
criteria. This results in a faster and more efficient search. The use of non-indexed
fields causes a sequential search through the Active Jobs file, which is very slow and
inefficient.
As Table 271 shows, OID is the best choice for selection criteria, since it is both
indexed and unique. On the other hand, ODATE and JOBID are the worst choices for
selection criteria, since they are neither indexed nor unique. If you must use one of
the non-indexed search criteria, BMC Software recommends using it in a combination
with other indexed criteria.
Table 272 shows the files that are accessed, and the type of access.
Return Codes
CTMAPI return codes are returned in register R15. They are also returned in the
following fields:
■ BAPIRC
■ BAPIRSN
■ BAPIURC
In this case
■ The service was activated, but failed to perform the desired action.
In this case
The basic communication area, which is passed back and forth between the calling
program and the API, is mapped by the Assembler DSECT CTMBAPI, which can be
found in the IOA MAC library. Different fields in this DSECT identify the request,
specify the selection criteria, and pass the address of the area in which replies to the
caller are to be returned.
On return, all registers are restored by CTMAPI, and a return code is returned in
register R15. In this appendix, the return codes and their meanings are explained
under each service.
CTMBAPI DSECT
This section describes in more detail
The explanation assumes the use of Assembler language. However, you can use other
high level languages to implement most of the services, provided the language you
use conforms to the standard calling conventions in Table 273.
CTMBAPI is composed of
■ a fixed part
This is used to identify the requested service, together with other necessary fields.
For each service, the format of each extension is documented in the following sections
of this appendix, for example in “Status Extension” on page 884, “Order Extension”
on page 888,“AJF Action Extension” on page 891, and so on.
The fields in the fixed (header) part are summarized in Table 274. The values in the
columns in Table 274 have the following significance:
— M means mandatory
— O means Optional
— I means Input
— O means Output
— CLnn means a character field nn characters in length, padded with blanks to the
right.
If omitted, it must be set to blanks.
— an * (Asterisk) to the right of the CLnn entry means that the characters in the
field are used as a prefix for the specified selection criteria.
For example, if you specify MEMNAME ABC*, all jobs with a MEMNAME
prefix of "ABC" will be selected.
— Flag means a Flag Byte, where each bit has a separate significance.
Status Extension
The value of 2 (BAPI_M_STATUS) should be set in the BAPICMD field for the Status
function.
The Status function can be used to retrieve information about jobs in the Active Jobs
file. This service can be called from any environment, but only by using the
CTMBAPI mode, that is, using a program, and not by means of a batch statement,
REXX or CLIST.
On return, the status of and other information about the job is returned to the caller.
If you only requested one job, for example, Status using OID, the result is returned in
the Status extension itself. If more than one job may conform to the selection criteria,
for example, the status of MEMNAME ABC, a reply buffer must be supplied into
which the API can return a result for each and every job that conforms. If no such
buffer is supplied, no reply other than an appropriate return code is returned.
The Status extension fields are summarized in Table 275. If the caller filled in a field, it
is used as Search argument, and only jobs that conform to that field are returned. On
return from the API, if no reply area has been supplied, and if only one job conforms
to the selection criteria, the API will fill in all these fields with actual information
about this job. For example, if you specify ABC in BAPISMEM, and there is only one
job in the AJF with a matching MEMNAME, such as ABCXYZ, on return from the
API this field will hold the value ABCXYZ.
The values in the columns in Table 275 have the same significance as those in
Table 274.
■ H (Hold)
■ F (Free)
BAPISJID O I or O CL5 JES job ID (job number).
BAPISJNM O I or O CL8* Job name. Valid only after job
submission.
BAPISLIB O I or O CL44* Scheduling library from which the job
was ordered.
BAPISMEM O I or O CL8* MEMNAME.
BAPISODT O I or O CL6 ODATE of the job. This must be fully
specified. Prefixing is not supported.
You must always allocate an area of 12,000 bytes and code its address in the
BAPIRPLS field.
The search criteria can fit multiple jobs on the AJF, up to a maximum of 50 jobs. For
example, if you want to process 25 jobs, prepare an area of 12,000 bytes and code its
address in the BAPIRPLS field. After returning from the API, the area will contain the
details of the 25 jobs. Each job line is detailed in the CTMBJSE DSECT and contains
relevant information about the located job.
The number of lines is returned in the BAPIRPL# field. When this field points to the
maximum, 50, it is possible that there are more lines that can be returned. In that case,
the value of the Utility Return Code field BAPIURC will be 4, and the Reason Code
field BAPIRSN will have the value "BAPI_HAVE_MORE_LINES." In such a case, the
user program can set bit BAPISPF8 in byte BAPISF1 and call CTMAPI again. This call
will retrieve the next 50 lines of output that match the search criteria. When multiple
lines are returned, the lines are in the order from the end (the most recent job) to the
beginning. There is an option for the calling program to receive only one line of
output, by specifying as the value in the BAPISF1 flag byte either BAPIS1ST (first
line) or BAPISLST (last line).
Except for field JSESTAT, the meanings of the fields are as described (internally) in
the macro CTMBJSE, which is in the IOA MAC library. The JSESTAT field returns the
status of the job in the AJF. The CTMAPI status function does not return all the
statuses detailed in the CONTROL-M for z/OS User Guide. A list of the statuses that
can be returned appears in Table 276.
Status Allocations
The ALC member used by the Status service as the default is ALCMAJF, which
dynamically allocates the AJF only. If you choose to prepare your own ALC member,
you must ensure that you allocate at least the above file.
If a reply buffer was supplied, but was exhausted, meaning that not
all the statuses could be returned into the supplied buffer, a special
reason code, 286, is returned in the BAPIRSN field to indicate that
there are more replies.
4 The job was not found.
8 The operation could not be performed.
12 Syntax error in the command.
16 and higher Severe error in CTMAPI.
■ The more specific the request, the fewer the jobs that must be read and returned to
the caller. For example, if you request status information for all jobs starting with
the letter A, the function must read a large part of the AJF, degrading its
performance.
■ Pay special attention to whether your search criteria are indexed. If you ask for
status information about jobs with a selection criteria that is not indexed, for
example, from a specific ODATE, without any indexed selection criteria, the whole
AJF must probably be read.
The files that are accessed, and the type of access are summarized in the following
table:
Order Extension
The value that should be set in the BAPICMD field for this function is 1
(BAPI_M_ORDER).
You can use the Order function to order jobs to the AJF. You can call this function
from any environment, but only by using the CTMBAPI mode. The function uses the
usual CONTROL-M order process to put the requested job on the AJF. The return
code will appear in the BAPIURC (Utility Return Code) field.
If CTMAPI fails to invoke the order process, register R15 will contain a value of 8 or
higher, and the reason code will appear in the BAPIRSN field.
You can request a detailed reply from the order process, using the following
procedure:
3 Pass the address of the last byte of this area in the BAPIRPLE field.
After returning from the order process, the BAPIRPLC field will point to the last
byte replied. The BAPIRPL# field will contain the number of reply lines. For each
job processed by the order process, a reply line will be returned detailing the job
identifiers and the RC of the order for this specific job. This is in contrast to the
usual output lines of the order process that are issued only for jobs that have
actually been ordered. Details of the reply line are specified in the CTMBAPO
DSECT.
Table 279 contains a summary of the CTMBAPI Order input fields. You must
ensure that all fields whose type is CL are initialized with BLANKS, and those with
type X are initialized to binary zeros.
Order Reply
The conversational mode (BAPI) order process can return a reply line for each job
processed. The reply line is mapped by DSECT CTMBAPO, which is described in
more detail in “CTMBAPO” on page 898.
For this function, set the value in the BAPICMD field to 3 (BAPI_M_ACT).
The Action function can be called from any environment. The input contains the
following types of input:
CTMAPI uses this variable to find the job in the same way it does a search. For
information concerning performance and security, see “Create, Order or Force
Performance Considerations” on page 868.
■ The service was activated but failed to perform the desired action. In this case
Table 283 shows in more detail the return codes that can be returned to the caller (in
register R15).
The value for this function in the BAPICMD field is 6. For more information on the
BAPICMD field, see “BAPICMD” on page 882.
Table 284 contains a summary of the CTMBAPI Global Variable Extension input
fields. You must ensure that all fields whose type is CL are initialized with BLANKS,
and those with type X are initialized to binary zeros.
■ X'00' – Resolve
Obtain the value of a variable
from the database.
■ X'80' – Set
Set the value of a variable
from the database.
■ X'40' – Checkpoint
Force all changed variables to
be written to the database.
BAPIGIOA O I CL8 QNAME
Default: MCTQNAME
BAPIGAPL O I CL20 Application name.
Default: NO_APPL
BAPIGGRP O I CL20 Group name.
Default: NO_GROUP
BAPIGMEM O I CL20 Member name.
Default: NO_MEM
BAPIGVAR N I CL256 Variable name.
BAPIGVAL N I/O CL256 Variable value.
BAPIGPRC O I CL1 INCONTROL product.
Default: 'M'
Use BAPI_M_RES to set the value for this function in the BAPICMD field to 4.
Unlike the other functions implemented through BAPI extension, this feature does
not contain a separate extension where you define the input parameters. Instead
2 Prepare the input to the API in memory as a regular CTMBLT input stream, as
described in the INCONTROL for z/OS Utilities Guide, pointed to by the
CTMCMDA field.
3 Set the length of the input, in bytes, in the BAPICMDL field. Each control input
statement must be an 80-byte card image.
When requesting reply fields in this function, through the BAPI interface, you
receive reply lines from both the CTMBLT function and CTMJOB. For more
information on the reply input and output fields, see “CTMBAPO” on page 898.
BLT Reply
The conversational mode (BAPI) BLT function can return a reply line for
The reply line is mapped by the CTMBAPO DSECT, which is described in more detail
in “CTMBAPO” on page 898.
Replies
The BAPI feature returns output to the customer in the following ways:
■ a return code
■ an output buffer returned by the Status service and described by the CTMBJSE
DSECT
■ the replies returned by the Order and BLT functions, as described in “CTMBAPO”
on page 898
CTMBAPO
When in CTMBAPI mode, CTMAPI serves as an interface between a user program
and a CONTROL-M service. Some CTMAPI services have been modified to enable
them to return lines of replies into customer-supplied memory to detail their activity.
Currently this facility can be provided by
For example, if the proper instructions are given, the Order process will return a reply
line for each job which it processes. This contrasts with normal processing, where a
line of output is not written until a job is actually placed on the AJF or a severe error
has occurred. You can then act upon and/or process the reply lines.
To use this facility, you must supply the API with the pointers required to trigger the
reply mechanism. These are supplied through the calling program. Table 291 shows
the pointers and the fields in which they are supplied.
When BAPI returns, the BAPIRPLC field will point to the last byte actually written to
the reply buffer, and the BAPIRPL# field will contain the number of lines put there.
The API ensures that the value in the BAPIRPLC field never exceeds that set by the
BAPIRPLE field. Each line added to the reply buffer will start with the current
BAPIRPLC and will update it. BMC Software recommends that this field be
initialized to zero. If this field is not zero, API treats the value as the starting address
of the next reply line. This can be used by an application to accumulate reply lines
across several invocations of CTMAPI.
Each line in the buffer is mapped by the CTMBAPO DSECT. Each line starts with a
half-word that contains its length (BAPOLEN), and another two bytes that identify
the service that produced the reply line (BAPOID). The identification of each reply
line is mandatory, since a called service can call other CONTROL-M services which,
in turn, will place their reply lines in the buffer. By using the identification of each
reply line together with the contents of the BAPIRPLC field and the BAPIRPL# field,
you can code a routine to scan and filter reply lines.
B
CONTROL-M for z/OS Unix System
B
Services (USS)
This Appendix discusses the implementation of CONTROL-M in the IBM OS/390 or
z/OS Unix Systems Services (USS) environment.
In this appendix, the term “MVS” includes MVS, S/390, OS/390, and z/OS.
Implementation Options
The use of USS with CONTROL-M for z/OS can be implemented in different ways,
depending on your system and the way in which you use it.
■ Have MVS support USS in the same manner as it supports other Unix platforms,
such as CONTROL-M/Enterprise Manager, CONTROL-M/Server, and
CONTROL-M/Agent.
■ Integrate the architecture of SAP R/3 running on USS with the MVS platform.
OS/390-Oriented Implementation
CONTROL-M for z/OS fully supports the USS environment without any need for
modifications.
CONTROL-M for z/OS manages all USS batch processes and integrates them with
batch activities on
For CONTROL-M to submit and control all USS executions, all that is required is the
definition of a single JCL member. This member contains a USS shell activation
program that is supported by the MVS operating system. AutoEdit variables are used
to define all elements of the USS task, such as the name of the script, the script
parameters, the job name and the script location. When CONTROL-M submits the
JCL, all the AutoEdit values are resolved and the JCL is submitted with its
corresponding values. The JCL then submits the appropriate script under USS.
CONTROL-M reads the return code of the script execution from the JCL sysout, and
proceeds accordingly.
In the CONTROL-M job definition that submits the JCL, use the SET VAR parameter
to assign a value to the %%MYSCRPT AutoEdit variable, as follows:
If you have a CONTROL-M/Agent installed on several Unix computers, you can also
install it on a USS computer, using the same architecture. You can then implement
CONTROL-M in USS through a CONTROL-M/Agent that allows Unix operators to
use the tools with which they are familiar.
You can integrate this 3-tier architecture with the CONTROL-M MVS platform in the
following ways:
■ You can use DB/2 as the SAP database, with MVS running the entire SAP database
layer. Many users of SAP employ this configuration.
The combination of CONTROL-M with the CONTROL-M Option for SAP R/3
enables all jobs and tasks to be managed in the same way, regardless of whether the
task is
■ MVS JCL
■ a Unix script
■ an SAP task
The SAP R/3 standard Business Application Program Interface (BAPI) enables you to
define jobs through either the R/3 or CONTROL-M job definition process.
■ SAP R/3
■ USS
Figure 372 Communication with the R/3 Application Layer - DB/2 Database
CONTROL-M Option for SAP R/3 communicates with the R/3 Application layer in
the same way that the product communicates with other platforms. The
communication process is shown in Figure 373.
C
Editing Job Scheduling Definitions in
C
The Edit environment in the Job Scheduling Definition screen is accessed by typing
EDIT in the COMMAND field and pressing Enter.
Figure 374 The Edit Environment in The Job Scheduling Definition Screen
JOB: BACKP02 LIB CTM.PROD.SCHEDULE TABLE: BACKUP
COMMAND ===> SCROLL===> CRSR
+-----------------------------------------------------------------------------+
__ MEMNAME BACKP02 MEMLIB CTM.PROD.JOBLIB
__ OWNER M44 TASKTYPE JOB PREVENT-NCT2 Y DFLT N
__ APPL APPL-L GROUP BKP-PROD-L
__ DESC DAILY BACKUP OF SPECIAL FILES FROM APPL-L
__ OVERLIB CTM.OVER.JOBLIB STAT CAL
__ SCHENV SYSTEM ID NJE NODE
__ SET VAR
__ CTB STEP AT NAME TYPE
__ DOCMEM BACKP02 DOCLIB CTM.PROD.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 WORKDAYS SHIFT RETRO N MAXWAIT 00 D-CAT
__ MINIMUM PDS
__ DEFINITION ACTIVE FROM UNTIL
__ ===========================================================================
__ IN START-DAILY-BACKUP ODAT
COMMANDS: EDIT, DOC, PLAN, JOBSTAT 16.44.31
Incorrectly specified Line Editing commands can be corrected by typing over them
correctly. Line Editing commands can be deleted by blanking them out or by
specifying the RESET command in the COMMAND field.
The Line Editing commands you enter are processed when Enter is pressed.
CONTROL-M performs Automatic Syntax Checking to ensure that the job scheduling
definition is still syntactically correct after editing. If an edit may invalidate the job
scheduling definition, a message is displayed at the top of the screen and the edit is
not performed. For recommendations for editing job scheduling definitions, see
“Maintaining Valid Job Scheduling Definitions” on page 913.
All operations available in the Job Scheduling Definition screen can be performed
while in the Edit environment. For example, parameter values can be changed, and
the job scheduling definition can be saved and exited.
To exit the Edit environment, retype EDIT in the COMMAND field and press Enter.
Line Editing command fields are removed from the display.
Examples:
■ Additional lines of the IN parameter.
■ Single-lined DO statement (such as DO COND).
Logical Lines All parameter lines for a specific parameter, including its
subparameters.
Examples:
■ A DO SHOUT statement, whose subparameters are distributed
over more than one line.
■ A single-lined DO statement, such as DO COND.
Example:
ON block, which consists of its respective parameter lines and the
DO statement lines.
Multiple Lines User-specified group of parameter lines.
Example:
A series of DO statements.
■ The result of a Line Editing command is dependent on the line on which the
command is specified. For example, command D deletes either a single or a logical
line based on the line type.
■ Block commands must be specified on the main lines of the block. For example, to
delete an ON block, specify command DB (Delete Block) on the ON line.
■ Blank parameter lines are added automatically by CONTROL-M, to allow the user
to specify additional parameters, and cannot be deleted.
Example 1
Before: Insert additional DO statements within a DO block using command I (Insert).
After
Example 2
Before: Delete an ON PGMST block. Use of the DB (Delete Block) command is the
preferred method. The DB command removes all parameters, comments,
continuation lines, and separator lines of the specified block. DB must be specified on
a main line of the block, that is, ON PGMST. In this example, the ON PGMST block is
deleted.
Example 3
Before: Move multiple DO statements from one sub-block to another. Command MM
(Multiple Move) is specified at the beginning and end of the DO statements that are
moved. Command A (After) specifies the location after which these lines are placed.
After: The two specified DO statements have been moved to the specified location.
Example 4
Before: Copy ON PGMST and some of its DO statements to another ON PGMST
block. Command CC (Multiple Copy) is specified at the beginning and the end of the
parameters that is copied. Command B (Before) specifies the location before which
these lines are placed.
Example 5
Before: Insert a continuation line between existing continuation lines. It is
recommended that command RS (Repeat Single) or R (Repeat) be used to repeat the
previous line.
After: The continuation line has been repeated. The repeated line can be modified as
necessary.
D
Editing CMEM Rule Definitions in the
D
Edit Environment
CMEM rule definition parameters can be edited (moved, copied, deleted, repeated)
by performing IOA Line Editing commands, similar to standard ISPF line commands,
from within the IOA Edit environment.
The Edit environment in a Rule Definition screen is accessed by typing EDIT in the
COMMAND field and pressing Enter.
Incorrectly specified Line Editing commands can be corrected by typing over them
correctly. Line Editing commands can be deleted by blanking them out or by
specifying the RESET command in the COMMAND field.
The Line Editing commands you enter are processed when Enter is pressed.
The CMEM facility performs Automatic Syntax Checking to ensure that the rule
definition is still syntactically correct after editing. If an edit may invalidate the rule
definition, a message is displayed at the top of the screen and the edit is not
performed. For guidelines and recommendations for editing rule definitions, see
“Maintaining Valid Rule Definitions” on page 926.
All operations available in the Rule Definition screen can be performed while in the
Edit environment. For example, parameter values can be changed, and the Rule
Definition screen can be saved and exited.
To exit the Edit environment, re-type EDIT in the COMMAND field and press Enter.
Line Editing command fields are removed from the display.
All lines of a single statement, for example, the two lines of a DO FORCEJOB
statement, constitute a logical line.
■ The result of a Line Editing command is dependent on the line on which the
command is specified. For example, command D deletes either a single or a logical
line based on the line type.
■ Block commands must be specified on the main lines of the block. For example, to
delete an ON block, specify command DB (Delete Block) on the ON line.
■ Blank parameter lines added automatically by CMEM, to allow the user to specify
additional parameters, cannot be deleted.
Example
Before: Repeat a DO block in the Rule Definition screen.
E
MVS Job Restart Without
E
CONTROL-M/Restart
For sites in which CONTROL-M/Restart is not installed, CONTROL-M provides a
mechanism for automatic implementation of MVS restarts in certain situations. The
mechanism, however, requires definition before the original submission of the job.
Therefore, it is only useful for jobs in which automatic restart is always desirable
(when necessary).
NOTE
MVS restart is not recommended and must be used with caution. MVS restart does not
perform automatic File catalog adjustment, GDG (Generation Dataset Group) adjustment,
condition code recapture, abend code recapture, or data set scratching. Unless these functions
are manually handled without error, the results of an MVS restart may be unpredictable or
damaging.
@#- ODAT -
where:
■ @# – =condition
■ ODAT =date
■ – =option
NOTE
§Restart§ Do not define this type of restart (that is, this OUT condition) if a
CONTROL-M/Restart restart is used for the job, or the results may be unpredictable.
§Restart§
When the special OUT condition is defined in the job scheduling definition and the
job ends as described above, the CONTROL-M monitor automatically appends the
name of the failing step to the OUT condition of the job order. The OUT condition in
the job order, that is, as seen in the Zoom screen, therefore appears as follows:
@#-procstep.pgmstep
Before a job is submitted, the CONTROL-M monitor checks the job order for an OUT
condition beginning @# –. When the monitor detects condition @# -procstep.pgmstep, it
automatically inserts an MVS step in the JCL of the job, so that the job begins from the
indicated procstep.pgmstep.
For the job to be restarted from procstep.pgmstep, the job must be rerun. This can be the
result of a rerun, manual or automatic, or the result of a cyclic job run.
Even if a special OUT condition (name or prefix @# – ) is not defined in the job
scheduling definition, an MVS restart can be implemented by specifying OUT
condition @# – procstep.pgmstep (for the desired restart step) in the Zoom screen.
NOTE
It is also possible to specify OUT condition @# – procstep.pgmstep in the job scheduling
definition, but this is not recommended. If @# – procstep.pgmstep is specified in the job
scheduling definition, the job always begins at the specified step, never at the first step, even
on the initial run.
When using MVS job restart, every step in the job must have a unique
procstep.pgmstep name. CONTROL-M does not check for duplicate stepnames.
The following is an example of a job set for Automatic Restart, using CONTROL-M
only, in case of abend.
NOTE
§Restart§ Do not use this type of restart when CONTROL-M/Restart restart is used for the
job, or results may be unpredictable.
Index
- (Group Previous)
SAC Parameter 608
Character $DEFAULT
ON Statement 544 Step Adjustment 222
Sign $DEFAULT Member
DO COND Statement 432 Restart Window 222
- Sign $EXERR
SHOUT Parameter 627 DO IFRERUN Statement 443, 445
– Sign Restart Confirmation Window 223
Change Resource Window 282 $FIRST
Job Dependency Network 235 DO IFRERUN Statement 443, 445
OUT Parameter, OPT Subparameter 561 Restart Confirmation Window 223
Quick Schedule Definition 361 $FIRST Value
Rerun/Restart Window 224
$FIRST.$ABEND
Symbols DOIFRERUN 443
$FIRST.$CLEANUP
326, 553, 627 DO IFREFUN Statement 443
! Character $LSYS Command
CTMQSB Command 811 JES2 520
Hex Value 82 Machine ID Under JES2 467, 631, 711
Character % (Simulation) Option
Prerequisite Condition 560 Active Environment Screen 178
# Character % Symbol
Maybe Job Prefix 817 Job Graph 200
User-Defined Variable 752 SHOUT Parameter 627
# OF DAYS TO KEEP %%
RETENTION Parameter 601, 603 Concatenation Symbol 767
# OF GENERATIONS TO KEEP %% Prefix
RETENTION Parameter 601, 603 User Defined Variable 752
# JNFRT Parameter, CTMPARM 212 %% Symbol
#WSC Field, Global View Screen 196 AutoEdit Term 46, 743
$ Character Calendar Date 748
Hex Value 82 Concatenation 746, 767
Job Graph 200 %%$ARGS
RESOURCE Parameter 597 CONTROL-O System Variable 706
User-Defined Variable 752 %%$CALCDTE Function
$$$$ Date Reference Comparison with %%CALCDATE 779
IN Parameter 496 Description 779
OUT Parameter 561 Example 798
$$ACTDOC Member %%$CENT
Customization 81 First Two Digits of the Year 749
Customizing Active Environment Screen 164 %%$COMMSYS Reserved Variable
$ABEND DO SHOUT Statement 709
DO IFRERUN Statement 443, 445 %%$Dn
Restart Confirmation Window 223 CMEM AutoEdit Variable 680, 699
$CLEANUP Value %%$DSN
Rerun/Restart Window 224 CMEM AutoEdit Variable 680
Index 933
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 935
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 937
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 939
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 941
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 943
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 945
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 947
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 949
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 951
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 953
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 955
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 957
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 959
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 961
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 963
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 965
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 967
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
O ON CODE Parameter
ON Statement 534, 540
O Option ON DSNEVENT Statement
Active Environment Screen 240 And/Or/Not Parameter 724
Job List Screen 124 CMEM Parameters 692
Table List Screen 149 CMEM Rule 678, 680, 719, 722
OBJECTS Option CMEM Rule Definition 252
IOA Primary Option Menu 89 CMEM support 686
OCCUR NO Suffix Dataset Event 722
AutoEdit Parameter 835 Example 726
OCCUR NO. Field MSGLEVEL=1,1 724, 733
Parameter Prompting 347, 353 RUNTSEC=TRIGGER 737
ODAT ON GROUP-END Parameter
IN Parameter 496 Group Entity 371
Prerequisite Condition 71 ON GROUPEND Parameter
Schedule Date 431, 561 Definition 536
ODATE Group Entity 140
Assignment 63 ON JOBARRIV Rule
DAYTIMEM Parameter 64 CMEM Rule 681
Definition 62 DO FORCEJOB Statement 703
DO FORCEJOB Statement 438 ON JOBARRIV Statement
Example 794 CMEM Parameters 692
GRP MAXWAIT Parameter 493 CMEM Rule 678, 682, 719, 727
Job Eligibility 64 CMEM Rule Definition 252
MAXWAIT Parameter 514 Example 728
Meaning 63 Job Arrival 678
New Day Procedure 63 ON JOBEND Statement
RUN Attribute 64 CMEM Parameters 692
System Variable 748 CMEM Rule 678, 719, 729
VALUE Attribute 64 CMEM Rule Definition 252
ODATE Field Example 730
Active Environment Screen 166 Job End 678
Global View Screen 196 RUNTSEC=TRIGGER 737
Job Order Execution History 228 ON OUTPUT Q Status
Log Screen 289 Show Screen Filter 190
Parameter Prompting 351 ON OUTPUT QUEUE Status
Scheduling Confirmation 151 Active Environment Screen 182
Show Screen Filter 192 ON PGMST ANYSTEP
Zoom Screen 209 DO CTBRULE Statement 436
ODATE Parameter ON Statement 540
AutoEdit Simulation 324 ON PGMST Indicator
OF Field Zoom Screen 212
Parameter Prompting 341 ON PGMST Parameter
OIDL Command ON Statement 534, 540
Active Environment Screen 174 ON PGMST Statement
OK Status Combinatorial Logic 212
Description 380 Step Range 639
Group Entity 137, 140 On Spool Job
ON Statement 546 CMEM Facility 52
Post-Processing Parameters 380 CMEM Rule 679
OK Value Components 682
ON Statement Codes 550, 551 DO FORCEJOB Statement 703
SHOUT Parameter 626 Forcing Logic 684
OLDJOB Parameter Job Flow 683
Simulation 842 NJE Job 681
ON Block ON JOBARRIV Statement 728
ON Statement 543 Status 183
Index 969
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 971
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 973
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 975
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 977
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 979
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
Online Facility 92 job scheduling definition 369, 387, 394, 401, 404, 411,
Screen Exit 413, 426, 437, 440, 446, 463, 469, 478, 484, 486, 489,
CANCEL Command 99 492, 494, 501, 510, 513, 516, 523, 527, 529, 554, 565,
Screen Help 574, 576, 578, 585, 598, 623, 634, 635, 641, 649, 655
Line Sensitive 99 Jobflow 157
Online Facility 99 Manual Conditions 283, 285, 287
Screen Layout Master Plan Definition 345
Online Facility 92 Master Table Definition 335
Screen Printing Online Utilities 316
ISPF LIST File 101 Online Utilities Menu 316
Screen Transfer Parameter Prompting Facility 334
TSO CTMTTRA Command 108 Parameter Prompting Type 1 Menu 333
Screens Parameter Prompting Type 2 Menu 343
Active Environment 162 PFKey Window 94
AutoEdit Simulation 322 Plan Selection 351
Calendar Definition 309 Prerequisite Condition Utility 318
Calendar Facility 300 Quick Schedule Definition 355
Calendar Facility Entry Panel 301 Rule Definition Entry Panel 116
Calendar List 302 Scheduling Analysis 200
CMEM Online Entry Panel 245 Scheduling Definition 109
CMEM RULE Definition 707 Scheduling Group 137
CMEM Rule Definition 250, 255, 691, 695, 712, 714, Set Conditions 341
718, 726, 728, 730, 738, 923 Simulation, AutoEdit 321
CMEM Rule Facility 243 Simulation, CONTROL-M 326
CMEM Rule List 248 Statistics 231
CMEM Table List 247 Sysout Viewing 229
Conditions/Resources 278, 280 Table List 119, 156
CONTROL-M Simulation 326 Table Selection 339
Database List Screen 266 Tape Pull List 326, 853
Define or Update a Master Plan 345 TSO Command Processor 107
Define Parameters and Conditions 334, 336 Update Parameters 341, 352
Define Parameters in Master Plan 346 Variable List Screen 267
Edit Environment 142, 256, 909, 923 Variable Zoom Screen 271
Entry Panel 115 View Graph 197
Exec/Order a Plan 350 Why 200
Fetch a Plan 349 Year List 303
Forecasting Facility 326 Zoom 209
Global View 194 SCROLL Field
Graphic Jobflow 157 Screen Header 95
Group Scheduling 137 Scrolling
History Environment 238 Commands 95
IOA Entry Panel 84 SEARCH COUNTER Field
IOA Help 99 DISAPPEARED Status 212
IOA Log 94, 288 Zoom Screen 212
IOA Log Show Screen Window 294, 297 Search Function
IOA Primary Option Menu 85, 87 CTMAPI 872
IOA TSO Command Processor 107 Searching
IOA Variables Facility 265 FIND Command 96
Issue a Job Request 319 LOCATE Command 96
Job Dependency Network 235 Security
Job List 122, 149, 159, 359, 364 CMEM Rule 735
Job Log 206 OWNER Parameter 575
Job Order Execution History 227 RUNTSEC Parameter 737
Job Scheduling Definition 125, 143, 160, 363, 909 Security Exit IOASE07 896
SELECT Command
Table Creation 111
Table List Screen 121
Index 981
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 983
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 985
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
IOA Log Show Screen Window 296 JCL for OS/390 orientation 902
URGENCY Parameter OS/390 oriented 902
DO SHOUT Statement 466, 468 SAP R/3 on USS 904
URGENCY Subparameter SAP/R3 Application Layer 906
DO SHOUT Statement 709 Unix oriented implementation 903
URGN Parameter Utilities
SHOUT Parameter 629 CLIST IOAUTIL 316
SHOUT Statement 632 Conditions/Resources File 318
Usage Line CTMAESIM 321, 790
Screen Layout 92 CTMJBINT 364
USE Field CTMJOBRQ 319, 811
Conditions/Resources 276 CTMJSA 231
WHY Option 283 CTMQUICK 354
User Abend Code CTMSIM 838
ON Statement 548 CTMTAPUL 838
USER DATA Field Fast Transfer 317
Statistics Screen 233 IOALDNRS 283, 811, 815, 823, 826
USER DATA, Group Job Order 319
Statistics Screen 233 Prerequisite Condition 318
User ID Under ISPF 316
IOA Log Show Screen Window 297 Utilities Transfer Command
Online Facility 85 PF06/PF18 93
USER ID Parameter 129
USER INTERFACE Option
Online Utilities Menu 316
USER Message Type
V
IOA Log Show Screen Window 296 V Option
User Plan Active Environment Screen 176, 227
User Prompting Plan 350 VALUE Attribute
User Profile ODATE 64
Active Environment Screen Filter 185 VALUE Field
Customizing 81 Parameter Prompting 337, 341, 353
User Prompting Plan Variable Assignment
Parameter Prompting 349, 829 Definition 760
USER REPORTS Option Variable Database
Primary Option Menu 88 Updating 273
USER=Library Variable Database Facility 264
MEMLIB Parameter 519 Adding Variables 270
OVERLIB Parameter 570 Database List Screen 266
User-Defined Variable 752 Row Numbering 270
USERID Field Variable List Screen 267
Log Screen 289 Variable Zoom Screen 271
USERID Value VARIABLE DATABASE Option
DO SHOUT Destination 465 IOA Primary Option Menu 87
SHOUT Parameter 627 Variable Database Option
UserDefined Variable Primary Option Menu 87
AutoEdit 744 Variable Database, IOA 894
DO SET Statement 460, 745 Variable List Screen
SET VAR Parameter 461, 620 Variable Database Facility 267
Source Priority 762 Variable Member
USS Format 756
CONTROL-M implementation 901 Variable Resolution
USS services 901 Concatenation 765
USS, CONTROL-M and Logic 764
architecture for Unix-oriented implementation 903 Variable Zoom Screen
CONTROL-M Option for SAP/R3 905 Variable Database Facility 271
in the USS environment 905 Variables
Index 987
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
AutoEdit, Date, Global, KSL, Local, System, User- CMEM Forced Job 683
Defined 746 WAIT SCHEDULE Status
VAULT DEFINITION Option Cause or Reason 201
Primary Option Menu 89 CONTROL Resources 279
Version Information Group Entity 564
Primary Option Menu 90 Job Deletion 206, 241
VG Command Job Graph 198, 200
Active Environment Screen 175, 196 Job Rerun 221
VIEW Command Screen Status 183
Active Environment Screen 175, 194 Show Screen Filter 190
VIEW GRAPH Command TERMINATE Option 240
Active Environment Screen 175, 196 WAIT SUB Status
View Graph Screen Show Screen Filter 190
Color Terminals 197 WAIT SUBMISSION Status
Fields 197, 199 Active Environment Screen 184
Format 197 WAIT_CONF Status
Group Statistics 196 CTMAPI 887
Non-color Terminals 199 WAIT_ORD Status
TOTAL Field 197, 199 CTMAPI 887
VIEW Option WAIT_PIPE Status
Active Environment Screen 176, 227 CTMAPI 887
VIEWALL Command WAIT_SCH Status
Job Order Execution History 229 CTMAPI 887
VOL=SER=%%VOLSER Warning Message
Example 800 MEMNAME Parameter 525
VTAM 81 TASKTYPE Parameter 652
Environment 95 WCAL Field
PF06/PF18 93 WDAYS Parameter 375
WCAL Parameter
Calendar Name 668
W Calendar Type 670
Non-periodic Calendar 668
WAIT CONFIRM Status Periodic Calendar 670
Show Screen Filter 190 WDATE Parameter
WAIT CONFIRMATION (FOR SCHEDULE) Status AutoEdit Simulation 324
Active Environment Screen 183 WDAYS Parameter
WAIT CONFIRMATION (WITH RESTART) Status Description 667
Active Environment Screen 183 Example 671
WAIT CONFIRMATION Status Format 668
CONFIRM Parameter 400 Logic 668, 670
WAIT EXEC Status MINIMUM Parameter 528
Show Screen Filter 190 Negative Value 670
WAIT EXECUTION Status PDS Parameter 577
Active Environment Screen 183 Scheduling Logic 376
WAIT FOR ODATE Field WCAL Field 375
Scheduling Confirmation 151 WHEN Parameter
WAIT FOR ODATE Parameter 320 SHOUT Parameter 626, 629
WAIT RELEASE Status WHY Option
Active Environment Screen 183 Active Environment Screen 175, 200
WAIT SCHEDULE (PIPE) Status Why Screen
Active Environment Screen 184 Adding Conditions 202
WAIT SCHEDULE (WITH RESTART) Status Deleting Negative Conditions 202
Job Rerun 221 Deleting NOT-CONDs 202
WAIT SCHEDULE Field Example 200
Global View Screen 195, 197, 199 Reasons 201
WAIT SCHEDULE ON SPOOL Status WAIT SCHEDULE Status 200
Active Environment Screen 183 Window Exit
X
X Command
Online Facility Exit 91
X Option
Primary Option Menu 87
Y
YEAR Field
Calendar Definition 309
Calendar Facility Entry Panel 302
Job Scheduling Plan Screen 160
Year List Screen 303
Commands 305
Exiting 314, 315
Index 989
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