0% found this document useful (0 votes)
66 views41 pages

Control M Presentation

Uploaded by

Vishal Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views41 pages

Control M Presentation

Uploaded by

Vishal Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

CONTROL- M Presentation

DataCenter Services

Enterprise Production Control Team


TOPICS

• What is Control-M? Slide 3


• The Components of Control-M Slide 4
• A Look at Control-M Slide 13
• Control-M Menu Options Slide 14
• Special Scheduling Requests Slide 29
• Acceptable Non-Zero Return Codes Slide 30
• ODAT Usage Slide 35
• Global Conditions Slide 36
• Shout Messages (interface with PEM and Clarify) Slide 37
• Other Products Slide 39
• Closing Slide 40

2
What is Control-M

• Control-M is a software application product to provide enterprise-level job scheduling

and management.

• According to BMC’s literature “CONTROL-M for Distributed Systems is a business

integrated scheduling product that focuses on the production environment's business

applications and platforms”.

• In Simple words:- Control-M is an application able to execute programs on many

different types of servers, manage the timing of them and report the results to a central

point.

3
WHAT IS CONTROL-M (CTL-M)?

• Control-M is a component member of the INCONTROL family of products by


BMC Software
We are also using 3 other INCONTROL component members:
• CONTROL-R (CTL-R) - Restart Management System
• Automates the activities that must be performed when restarting failed jobs, including the scratching and
uncataloging of datasets created by failed jobs.

• CONTROL-M Analyzer (CTL-B) – Automated Information Integrity System (Balancing)


• Performs in-stream validation, accuracy, and reasonability checks on information used by data center
production tasks (for example – MasterCard Settlement reports)

• CONTROL-T (CTL-T) - Tape Management System


• Increases utilization of removable media and controls retention periods. Prevents misuse of media, and
provides tape library and vault control.

• CTL-M is the automated production control and scheduling system

• CTL-M manages and automates the setup, scheduling and execution of jobs in the
OS/390 (MVS) environment

4
COMPONENTS OF CONTROL-M

• Job Scheduling Definitions

• Active Jobs File (AJF)

• CONTROL-M Monitor

5
JOB SCHEDULING
COMPONENT 1 -
DEFINITIONS
• Specifies criteria that identify decisions to be made and actions to
be taken regarding the handling of a particular job

• General Parameters

• Basic Scheduling Parameters

• Runtime Scheduling Parameters

• Post-Processing Parameters

6
Job Scheduling Definitions: GENERAL PARAMETERS

Information about the job (identifies the library and


member where the JCL is stored)

7
Job Scheduling Definitions:
BASIC SCHEDULING PARAMETERS

Criteria according to which CONTROL-M schedules the


job

8
Job Scheduling Definitions:
RUNTIME SCHEDULING PARAMETERS
Runtime requirements that must be satisfied before CONTROL-M
submits the job

9
Job Scheduling Definitions:
POST-PROCESSING PARAMETERS
Actions CONTROL-M performs after the job ends, depending upon the outcome of job
execution (for example, one set of actions if the job ends OK, another set of actions
if an abend occurs or job not running, running too long, etc).

10
JOB SCHEDULING DEFINITIONS (continued)

•Stored as members in PDS


(libraries)

– Related applications are placed in a


scheduling table

– Multiple scheduling tables are


stored in PDS called scheduling
libraries

– Multiple scheduling libraries can


be defined
• There is only one production
scheduling library:
PRD1.BNVSM.SCHEDULE

11
COMPONENT 2 - ACTIVE JOBS FILE (AJF)

• If a job is scheduled for a particular day, a copy of its job


scheduling definition is placed in this file

– How does a job get to the AJF?


• Via daily load job
• Manually forced
• Forced by CMEM (DSNEVENT, JOBARRIVAL, JOBEND)
• Forced by another job

• Only jobs in the AJF are candidates for submission by the CTL-M
monitor

12
COMPONENT 3 - CONTROL-M MONITOR

• Checks the runtime requirements of each job in the AJF

• Monitors available resources

• Determines that the conditions and resources required by a job are available

• If conditions and resources are available, the monitor allocates the resources and
submits the job

• Monitors the execution of the job

• Implements post-processing decisions based on instructions in the job scheduling


definition and the results of the job execution

• Operates continually as it evaluates the production environment and implements


decisions

13
A LOOK AT CONTROL-M

•New Day Processing

– 8 am daily

– Clean up of old jobs


• Jobs that have executed successfully
• Jobs that were deleted
• Jobs whose MAXWAIT days have been exceeded
– MAXWAIT – number of extra days the job can wait in the AJF for submission
– Ordering of new jobs
• Order / Original Date (ODAT) changes

14
CTL-M PRIMARY OPTIONS MENU

• Opt. 2 - Scheduling Definition Facility


– Library Name: PRD1.BNVSM.SCHEDULE

• Opt. 3 - Active Environment Screen

• Opt. 4 - Conditions / Resources Map

• Opt. 5 - Log Screen

• Opt. 8 - Calendar Facility


– Library Name: SYS7.PROD.IOAP.CAL

• Opt. C - CMEM Rule Definition Facility


– Library Name: PRD1.CTLMP.CMEM.RULES

15
SCREEN SHOTS FROM OPT. 2 & OPT. 3

• Opt. 2 - Scheduling Definition Facility


– Schedule Definition
– Plan
– DOC
– Shout Messages

• Opt. 3 - Active Environment Screen


– Show
– OPT
– ? (Why)
– L (Log)
– Z (Zoom)
– S (Stat)

16
OPTION 2 (SCHEDULE TABLES) – SCHEDULE DEFINITION

DISPLAYING THE SCHEDULE DEFINITION


Type S beside job to display the schedule definition of the job.

17
OPTION 2 (SCHEDULE TABLES) – PLAN COMMAND

PLAN
Type PLAN on the command line to display the days when the job will be loaded to the AJF.
Specify the date range you want to see.

18
OPTION 2 (SCHEDULE TABLES) – PLAN COMMAND

The * indicates the days when the job is loaded to the AJF.

19
OPTION 2 (SCHEDULE TABLES) – DOC COMMAND

DOC - DOCUMENTATION
Type DOC on command line to display the job documentation.

20
OPTION 2 (SCHEDULE TABLES) – SHOUT
MESSAGES
SHOUT MESSAGES
•Located in the Post-Processing section of the Schedule Definition.
•The message is displayed when the specified parameter is true.
•Parameters are coded next to SHOUT WHEN.
•The parameters are NOTOK, EXECTIME, LATE & LATESUB
– NOTOK = shouts when a job abends
– EXECTIME = shouts when a job executes longer or shorter than the specified time in minutes
– LATE = shouts when a job does not finish executing by a specified time
– LATESUB = shouts when a job has not submitted by a specified time

21
OPTION 3 (AJF) - SHOW COMMAND

SHOW
Type on the command line S, SH, or SHOW to filter what jobs you want to see on the AJF

The screen shown below will be displayed.

22
Job Filtering using the SHOW Command

Type full job names or prefixes next to MEMNAME for what you want displayed on the AJF. There is a maximum of 5 fields.

23
OPTION 3 (AJF) - OPT COMMAND

OPT
Type OP or OPT on the command line to toggle between the Command and Options display.

The Options are actions for jobs on the AJF. Enter the option character next to the job. Job
must be in HELD status to Delete, Undelete, or Free it and to save a change in the Zoom screen.

The screen shown below will be displayed.

24
OPTION 3 (AJF) - ? (WHY) OPTION

? - WHY
Type ? next to a job to display the reasons why the job is in the Wait Schedule Status.

25
OPTION 3 (AJF) - L (LOG) OPTION

L - LOG
Type L next to a job to display the Log Messages for the job.

26
OPTION 3 (AJF) - Z (ZOOM) OPTION

Z – ZOOM
Type Z next to a job to display the job details.

27
Displaying the DOC within the ZOOM Screen

DOC - DOCUMENTATION
Type DOC on command line to display the job documentation.

28
OPTION 3 (AJF) - S (STAT) OPTION

S - STAT
Type S next to a job to display the job run statistics.

29
SPECIAL SCHEDULING REQUESTS

A request to perform any of the following:

• Execute a regularly scheduled job outside of normal schedule


• Execute an on request job
• Delete job from AJF
• Add/Change/Delete in/out conditions on jobs on the AJF
• Other temporary scheduling changes

To request any of the above actions:

1. Submit a DCS Request form to CCMVS (type dcsrequest in the intranet browser window) for the
above actions.
2. Submit a DCS Request form to EPC for temporary changes to schedule tables (e.g. placing a
confirmation hold on a CMEM triggered job); revert a Change Man package; Cycle out a
temporary package early; reject or cancel a Change Control Request already in the EPC MVS
Performing Team queue

30
ACCEPTABLE NON-ZERO RETURN CODES

1. Coding for instream program step RC exceptions

RC04, RC03, RC02, RC01 are acceptable for step STEP0010 (PSPSPMCH)

Coded in JCL
//STEP0010 EXEC PGM=IEFBR14

Coded in CTL-M
ON PGMST STEP0010 PROCST CODES <C0005 A/O
DO OK

2. Coding for instream proc step RC exceptions


RC2050 and RC3001 are acceptable for PROC SAS in step JS015 (PBC311DD)

Coded in JCL
//JS015 EXEC SAS,

Coded in CTL-M
ON PGMST SAS PROCST JS015 CODES C2050 C3001 A/O
DO OK

31
ACCEPTABLE NON-ZERO RETURN CODES (cont’d)

3. Coding for program step RC exceptions in a called procedure


RC1501 is acceptable for step PS060 in PROC PSPCRLNM which is step JS010 (PSPCRLQA)

Coded in JCL

//JS010 EXEC PSPCRLNM,


...
//PSPCRLNM PROC OWNER='PSP',  called procedure
...
//PS060 EXEC PGM=CRHHIDUP,PARM='&SEG',COND=(0,LT)
...

Coded in CTL-M

ON PGMST PS060 PROCST JS010 CODES C1501 A/O


DO OK

32
ACCEPTABLE NON-ZERO RETURN CODES (cont’d)

4. Coding for RC exceptions of a program step in an imbedded PROC


RC01 is acceptable for step PS0150 in PROC PSPPT19A which is step PS1000 of PROC PSPPT198 which is executed by
step STEP001 (PSPPT198)

Coded in JCL
//STEP001 EXEC PSPPT198

//PSPPT198 PROC  called procedure


//PS1000 EXEC PROC=PSPPT19A,GEN=(+0)
//PSPPT19A PROC OWNER='PSP',  called procedure
...
//PS0150 EXEC PGM=UTCHKEMP

Coded in CTL-M
ON PGMST PS0150 PROCST PS1000 CODES C0001 A/O
DO OK

33
ACCEPTABLE NON-ZERO RETURN CODES (cont’d)

5. Coding for RC exceptions for the imbedded PROC

RC01 is acceptable for PROC PSPUTNFF in step PS0121 which is in PROC PSPPT335 which is executed by step
STEP001 (PSPPT335)

Coded in JCL
//STEP001 EXEC PSPPT335
...
//PSPPT335 PROC OWNER='PSP',  called procedure
...
//PS0121 EXEC PSPUTNFF  called procedure
...

Coded in CTL-M

ON PGMST PSPUTNFF PROCST PS0121 CODES <C0002 A/O


DO OK

34
ACCEPTABLE NON-ZERO RETURN CODES (cont’d)

6. Coding for RC exceptions for the imbedded PROC (3 levels)

RC <9 is acceptable for step PS2010D1 executing PROC PTSACHKF in PROC PSPPTFTM which is step PS0010 of
PROC PSPPT381 which is executed by step JS0010 (PSPPT381)

Coded in JCL
//JS0010 EXEC PSPPT381

//PSPPT381 PROC  called procedure


//PS0010 EXEC PSPPTFTM
//PSPPTFTM PROC  called procedure
...
//PS2010D1 EXEC PTSACHKF

Coded in CTL-M

ON PGMST PTSACHKF PROCST PS2010D1 CODES <C0009 A/O


DO OK

35
ODAT USAGE

The following dateref sub-parameters are used for IN and OUT conditions:

• ODAT – Resolves to the original scheduling date; changes daily at 8 am

• date – Specific date in mmdd format

• PREV – Resolved to the previous date on which the job should have been scheduled according to
its basic scheduling criteria

• STAT – Static. Indicates that the condition is not date-dependent

• **** -- Resolves to any scheduling date

The following dateref sub-parameter is used for OUT conditions only:

• NEXT – Resolves to the next date on which the job is scheduled according to its basic scheduling
criteria; currently not being used on any jobs

36
GLOBAL CONDITIONS USING ODAT vs. ****

• Global conditions are posted to/from UNIX


– Format: fromto-conditionname
– MVS box is represented as CPU (CPUD); UNIX boxes are represented as first 3 characters of
the name (i.e. KOV = kovu, ZEP = zeppo)
– In condition posted from UNIX kovu to MVS CPUD (KOVCPU-CSALCR_080-OK)
– Out condition posted from MVS CPUD to UNIX zeppo (CPUZEP-PSP-PSPCRTBL)

• Many Unix boxes load at 12 midnight and MVS loads at 8 am, therefore forcing the
use of ODAT or **** (any ODAT) date reference.

• Scenarios:
1. UNIX loads at 12 midnight Tuesday and MVS loads at 8 am Tuesday. The MVS job runs at 1
pm on Tuesday. ODAT would be used to satisfy in condition.
2. MVS loads at 8 am Tuesday and UNIX loads at 12 midnight Wednesday. The MVS job runs
Wednesday at 3 am. **** (any ODAT) would be used to satisfy in condition.
Exception – If a special requirement is setup on UNIX to post PREV, then ODAT would be used to
satisfy in condition on MVS job.

• Global conditions for database up status, use **** as the ODAT


– ZEPCPU_PCARDUP ****

37
SHOUT MESSAGES

• All production CTL-M jobs including OTS has the default ABENDED shout message
coded. For OTS jobs, the word OTS is inserted behind keyword ABENDED.

• The 2nd word in the message is the keyword. Only keywords ABENDED, LATE,
LATESUB & EXECTIME produce PEM Alerts and create Clarify Tickets while
keyword INFO does not produce them.

38
SHOUT MESSAGES (cont’d)

• The following keywords will produce a PEM Alert and Clarify Ticket

– ABENDED = shouts when a job abends


• %%JOBNAME ABENDED IN STEP %%STEP WITH RC=%%JOBCC
• %%JOBNAME ABENDED OTS IN STEP %%STEP WITH RC=%%JOBCC

– EXECTIME = shouts when a job executes longer or shorter than the specified time in minutes
• %%JOBNAME EXECTIME JOB IS RUNNING TOO LONG. CONTACT XXX.

– LATE = shouts when a job does not finish executing by a specified time
• %%JOBNAME LATE JOB NOT FINISHED BY XX:XX. CONTACT XXXX.

– LATESUB = shouts when a job has not submitted by a specified time


• %%JOBNAME LATESUB JOB NOT STARTED BY XX:XX. CONTACT XXXX

• The following key will NOT produce a PEM Alert or Clarify Ticket

– INFO = used to shout for the parameters EXECTIME, LATE or LATESUB, but does not produce a PEM Alert
or Clarify Ticket
• %%JOBNAME INFO <ACTION MESSAGE FOR OPERATORS, SUCH AS CONTACT XXXX or
CHECK XXXX, ETC>

39
OTHER PRODUCTS

EPC are Administrators of other products for MVS Platform


• Change Man
• Tool used to move components from a staging area through testing and finally installed
into production via a packaging process
• An audit is required before freezing your package
• First step in the Audit Process is a JOB/SCAN (JCL and PRC components only)
• JOB/SCAN step must complete successfully before the remaining components are
audited and before the package can be frozen

• JOB/SCAN
• Tool used to validate JCL and Procedures (PROCs) before being installed and executed
in production
• During the audit process of Change Man, JOB/SCAN is invoked to validate the JCL and
PRC components in a package

• OnDemand
• Tool used to store job output (JESMSG, JCL, etc.)
• Tool also stores reports created by jobs
• Reports are viewed online
• Reports are printed and distributed (as requested)

40
CLOSING

Contact Information
• E-Mailbox: Enterprise Production Control
• Monitoring and Automation Technologies
• Greg Kogut, Manager
• Dave Blanton
• Chip Nelson
• EPC Application Code and Scheduling Management
• Judy Coe, Manager
• Eddie Henry
• Tanya Joyner
• Valencia Hicks

Documents
• User Guides, Standards, and Processes and Procedures documents are available on
Knowledge Link
• Path: Enterprise > Information Technology > Technology Delivery > ETS
Technical Library > DataCenter Services (DCS) > DCS Enterprise Production
Control > MVS > Public Docs

41

You might also like