Control-M questions
1. What is NDP (new day process)?
Each day Control-m EM (Enterprise Manager) launches this process. It looks at the specified tables.(and the jobs in those tables) that are scheduled to run
on the current date.
The CONTROL-M server then takes a copy of that job definition and puts it into the Active Job File for execution by the CONTROL-M server, as viewed by
users in Enterprise Manager. The New Day Process also deletes all jobs from the prior day that ended with a status of OK, jobs that may not have run but
have exceeded their MaxWait, and any conditions that pre-exist for the new current ODAT.
2. What is ODAT (Order Date)?
When jobs are first created, one of the job definition variables is an ODAT. When jobs are moved from the permanent tables to the Active Job File,
CONTROL-M Server replaces every reference to ODAT with the order date either assigned by the operator, or the system order date*.
3. What is the importance of ODAT?
The issuance of a new ODAT each day (or for duplicate jobs in a single day) is important to:
•keep jobs that fail on one day from setting off jobs with the same conditions the next day,
•assign unique identifiers to jobs that need to be brought into the Active Job File as duplicates.
4. What is active jobs file?
Each day, at a pre-set time, a process called the New Day Process searches specified permanent tables for jobs whose scheduling criteria matches the
system ODAT. The New Day Process transfers those jobs to the Active Job File for execution by the CONTROL-M server, as viewed by users in Enterprise
Manager.
5. What are different types of Job status?
The Top Bar and Side Bars are all color-coded to indicate the status of the job.
6. What is the difference between ORDER and FORCE?
Forcing a job or table in bypasses ALL scheduling criteria and will bring in the job or job(s) regardless - even if
all scheduling criteria has been removed. The disadvantage of using force is that it may bring in more jobs
than you want to come in and set off chains of prerequisites that you were not expecting, resulting in
duplicate job runs or unexpected job runs. If you know you are bringing in a job table that does not exist in
your Active Day File, and you want to bring it in without any consideration of choosing scheduling dates - use
a simple force. However, if you are unsure if the job(s) already exist in the Active Job File, it will be cleaner to
Order jobs in, rather than using Force.
Job File, it will be cleaner to Order jobs in, rather than using Force.
ORDER is used when we want to run the jobs which are in the plan or which is fulfilling the scheduling criteria
of the job.
Control-M questions
7. what is quantitative resources?
User-defined variables representing a resource in the Control-M Installation. The user defines the total
quantity of this resource in the Control-M and for each job, the quantity required/used by that job. Control-M
verifies that a job is not submitted for execution unless the Quantitative resources required by the job are
available. Example: You have 100 report jobs that run about noon. You only want 10 to run at a time. You
can either schedule in groups of 10, OR - the easier way is to tell Control-M to only run 10 jobs at a time, so it
will launch the additional jobs as resources become available, never exceeding 10 at the same time. Also can
be used as a "lights out" resource. When you need to bring your data center down, you can define every job
to use the same resource, with quantity of at least 1 - then define an unlimited number to the system. Define
as 9999 That way - you can set it to 0 to bring everything down..
1. Select Resources > Quantitative Resources
2. Click OK
3. Enter a name for the Quantitative Resource
you want to define. The name is a resource
identifier that jobs may be controlled by.
4. Enter the Max number of tokens you want to
make available at any one time to be used by jobs
to run against this resource.
5. Click Add Resource.
This example that we set up is pointing to your
PeopleSoft HR database and is used to limit the
number of reports that can be run against it at any
one time.
Control-M questions
8. What are 2 modes of working on Control-M Desktop?
1. Work with draft (local) copies of your jobs (not recommended - used primarily to create your first job)
2. Download jobs from the permanent tables in the CONTROL_M Environment, work on them, and then write and upload the
changes. Downloading jobs from the permanent tables is the preferred method for making changes to your jobs, since any
time a table is being edited, it will be locked for use by other users and there is less chance of having jobs overwritten.
9. What are types of TASKTYPE or different types of jobs?
Type of the job (task) to be performed by Control-M. Valid values are:
Job: In the Job Tasktype, the filename and path has to be defined and points to a specific script within a
directory.
Command: This is the Tasktype used for PeopleSoft or any specific command execution. The Command
input is a command line on General Tab and allow for multiple combinations of command strings and variables.
Dummy: Method of temporarily turning off a job without removing it from the dependency structure.
10. What do we need to select in the scheduling if we want to schedule the job to run
in the first week of the month and also every Friday?
SELECT in the the MONTH days as 1 to 7 and select OR option and FRIDAY. Also we need to click the months for which
we need to run the job. Additionally we can use the calendar if we want the job to satisfy the business day criteria as
well.
10. What are maxwait criteria?
Maximum number of days that the job can wait to be executed after its original scheduling date has passed. The default
is 0 for cyclic jobs since they are scheduled to run all days.
11.What are control resources?
User-defined physical or logical resource in a Control-M installation. For each job the user specifies whether the job
requires exclusive or shared access to the resource. Control-M verifies that a job is not submitted for execution unless
the Control resources required by the job are available in the required state (shared/exclusive). This prevents deadlock
situations or contention between jobs for a given resource. This is a way of keeping two jobs from butting heads. Two
jobs both write to the same table - if you give them both exclusive access to that resource that will allow only one at a
time access to that table. Shared resources allows multiple jobs to run against the same resource - so Database
READS can be shared, but WRITES have to be exclusive.
Control-M questions
12. What is the importance of STEPS in the properties of Control-M
Statement: Used only if you are running CONTROL-M jobs under the Tasktype of Job. Since we are running basically
under the Tasktype of Command, this will not apply. When not running Tasktype of job, field must have an asterisk (*).
However, if you DO run under Job for specific non-PeopleSoft scripts, you could apply the On Statement to a single line of
code from within the script.
Code: Every job that runs exits with a return code. Control M views anything >0 as a failure. You can define actions
to take based on the return code - either on the actual code (the number) or by the Sys Out return from the job (i.e. file
not found).
Do Statement Definition Line
This line is used to define actions to be performed when the ON statement criteria are satisfied. To display this line, click
on the
DO button located on the right-hand side of the panel. After editing or creating each DO statement, click the check
button at the lower corner of the panel to save the changes and/or add the statements to the list.
The Steps Panel is client optional and not required for basic job scheduling.
Control-M questions
13. What is the importance of postproc?
Describes messages that should be sent to specified destinations when (il.e.) the job completes, it fails, it has not ended
by the specified time, etc. Parameters that can be defined include:
When: States what should cause the Shout message to be sent. Values include:
OK Send a message if the job terminates with a completion status of OK
NOTOK Send a message if the job terminates with a completion status of NOTOK
RERUN Send a message if the job's completion status was set to Rerun. Typically would be set to rerun as a
consequence of an action defined in the Steps panel.. (On Step xx Do xxxx) OR by scheduler forcing
the job to rerun.
LATESUB Send the message if the job is still not submitted and cannot be submitted at the
specified time entered on the Execution Page time field (i.e. the parent job has not run yet - or there are not
resources available to run the job.)
EXECTIME Send the message if the job's elapsed runtime is outside a specified time limit. The limit is specified
in the Time field. Formulas can be expressed in any of the following formats where n= a non-zero
number up to three digits. (No runtime value can exceed 999)
>n job's elapsed runtime is greater than n minutes
<n job's elapsed runtime is less than n minutes
+n job's elapsed runtime exceeds the average job execution by at least n minutes
+n% job's elapsed runtime exceeds the average job execution by at least n%
-n job's elapsed runtime is at least n minutes less than the average job execution time
-n% job's elapsed runtime is at least n% less than the average job execution time
Time: Used to specify additional parameters required for the When. Options included LATESUB, LATETIME and EXECTIME
Urgency: Urgency of the Shout message directed to the Alerts window. Values include R (regular),
U (urgent), V (very urgent).
Destination: Logical destination of the Shout message. The Destination is the name of an entry in the Shout
Destination table. Please note: An administrator has to set up recipients in this Shout Destination table, in order for
schedulers to get a shout message from the system. You can not just simply enter a person's LAN ID directly as a
destination.
Message: The text of the Shout message. 1-255 characters, spaces allowed. The message can also include AutoEdit
variable, including any combination of text, Control-M system variables, job submission variables and User variances.
Control-M questions
14. What are different types of date reference used?
Name: Name of the prerequisite condition and its successor (JobA-JobB)
Date Reference
ODAT: Original scheduling date
STAT: Static condition that is not date driven this is a way of having jobs depend on each other across new day boundaries. An example
would be a month-end job. Month end of June is dependent on having Month end of May run successfully. The job would be set up with a
MaxWait of 30 days and then that would show visually every day for the month that your May end report did not run successfully.
PREV: Job B looks for another job (i.e. Job A). Job A is listed as the in condition of Job B - but it looks for the LAST DAY that Job B ran. It looks
at itself and determines the last time it was scheduled to run, and then replaces the PREV date with the last date that the job was scheduled.
NEXT: Job B would not run until tomorrow version of Job A runs. Very confusing, not suggested to run this way.
****/$$$$: Wildcards. * replaces whole field - but it's a 4 character field so use all four **** - Says Any date will satisfy this IN condition.
$ sign is a replacement for a single digit. So 06$$ will satisfy for any day it ran in June.
AND/OR: Logical relationship between multiple conditions
( ) Used to clarify AND/OR relationships. Can be used for multiple jobs in sequence. Add the left parenthesis to 1st
job and right parenthesis at the end of the last job you want included in the and / or statement.
Out Conditions: Out conditions define the conditions of the current job that must occur prior to launching the next
job or job group.
Parameters
Name: Name of the prerequisite condition
Date Reference: Same as the In Condition Date Reference
+ or - Indicates whether to add or delete the condition
Control-M questions
15. What is the default USEDAILY used?
SYSTEM
16. How do we DISABLE a table or jobs which should not run henceforth?
Remove the USERDAILY or turn-off the month if we need to disable only some jobs of the table.
17. What do you mean by RETRO?
Retro: Indicates if the job should be scheduled for possible execution after its original scheduling date has passed (retroactively).
Today, integration of TGZ has been unfrozen (it was frozen since 07/04/2011).
The new day procedure was working fine but a lot of jobs were order at all the odate since 07/04/2011 until today (most of them were on ctmint1)
because they had option Retro check (check attached picture).
Job Manipulation: Operator Actions
Schedulers can perform a series of commands on jobs. These job command include the ability to:
Control-M questions
Hold
Applying Hold will permanently hold the job until it is freed. It will hold the job not only for the current 24-
hour period, but will also hold the job over during the next days New Day process, even if that exceeds its
MaxWait. Jobs that are Held have a lock.
Confirm
A job action that has to be set up by checking the Confirm Checkbox on the Execution Panel of the job
when the job is created. Then, any job that has to be confirmed will appear as pink until the operator
actually goes in and chooses this action of "Confirm" to launch the job.
Free
Releases a job that has been placed on hold.
Rerun
Can be used only on jobs that have already run. You can rerun any job - jobs that have completed with
status of OK, or jobs that have abended. More information on rerunning jobs will be provided in the
Section titled: Ordering / Forcing / Rerunning.
Restart
Not used. Used only in mainframe environments.
React
Not used. Used only with VMS and MVS mainframe environments.
Delete
Delete will mark a job for deletion, regardless of its status. The job will not actually delete from the
Enterprise Manager GUI screen - it will remain in the Active Job File with a red X until the next new day
process. Deleting a job will prevent any subsequent jobs from running if the deleted job is a prerequisite
(IN) condition.
Undelete
Undeletes a job that has been deleted. This returns it to the status it had before it was deleted.
Kill
Cancels a job. Puts the job in abend (red) status. This will prevent any subsequent jobs from running if the
killed job is a prerequisite (IN) condition. Kill is used to stop a job that is in the middle of executing.
Force OK
Force OK marks the selected job as having run successfully - thus allowing any subsequent jobs to run.
Force OK is typically used on jobs that have failed if you need to free the subsequent jobs.
Sysout
Provides the system sysout associated with the processing of a job. This is the CONTROL-M captured
sysout that is generated when the job executes, regardless of the completion status.
Statistics
Lists the job id, start time, end time, elapsed time and cpu utilization for the last 20 executions of the job.
Log
Every action taken by CONTROL-M against this instance of this job. (i.e. while it has been in the Active Job
File - or passed over to the new days Active Job File.)
View JCL/Script
Used only for jobs with a Task type of job. It opens the script in read-only mode. Tasktype of job is not
used for PeopleSoft.
Edit JCL/Script
Used only for jobs with a Task type of job. It opens the script in edit mode. Tasktype of job is not used for
PeopleSoft.
Why
Why is used to find out what is preventing a job in a "Wait" status from running. It will provide information
for prerequisite conditions, execution time, resources, hold status, and confirmation requirement.
Control-M questions
Enhanced Why
Shows the chain of jobs that must execute before this job, not just the immediate predecessor.
Order / Force
This allows an operator to manually bring permanent job definitions into the Active Job File. This can be
done at any time of day to bring in a single job or an entire table immediately. The job will still wait for its
conditions to be met before it runs (i.e. prerequisite conditions, time, resources, or confirmation
requirement.)
7.0 Creating Jobs through the Job Editing Form
Clicking the New Job icon in CONTROL-M (for a first job), or double-clicking an existing job launches the Job Editing
Form. This form contains 8 panels, all of which are used to set up jobs, their relations to each other, their inclusion within
a scheduling table, and the eventual upload of the job processing definitions and scheduling tables to the CONTROL-M
Enterprise environment.
Panels of the Job Editing Form
General (what is it) The panel used to enter general job information such as filename, owner, and author; where
information is first entered to link the job to a job group, application, and scheduling table; and where the command line
parameters to identify the oracle instance, the jobname, the process type (SQR report, Cobol, etc), the run control id,
and output location for the output file, and other command variables as needed.
PS8 (PeopleSoft Control Module Form) This panel is very similar to a PeopleSoft run control page. Its identifies
the instance, Run Control Id, Server Name, Process Type, Process Name. It also provides the ability to add parameters that
are passed to the Process Definition Parameter List. The values for each field is obtained via the drop-down arrows.
Scheduling (what day will it run) The panel used to establish the job-scheduling table. Scheduling tables are
collections of related Job Processing definitions. Scheduling tables are stored in the CONTROL-M database and duplicated
in the Enterprise Controlstation database. Jobs appear in Enterprise Controlstation under the "all Jobs" viewpoint only if
scheduled for that day.
Execution (what time will it run) The panel used to enter time, frequency and priority of your job.
Conditions (who does it wait for) Panel used to enter user-defined prerequisite conditions. Submission of a job for
execution can be made dependent upon the existence of one or more prerequisite conditions (created either manually by
the user, or by other jobs). By using prerequisite conditions, any kind of dependency can be created, (e.g., job
dependencies, manual operations dependencies, etc.). Conditions can be set on individual jobs or on job groups.
Resources (what does it wait for) The panel used to define Quantitative and Control resources. This panel is client
optional and is not required for setting up job scheduling.
%%Set (what does it pass) AutoEdit variables that have been defined for the job through the use of skeletons
are displayed in the central window of this panel. The only time these values would change is if there is a change in the
Unisys environment, in which case you would have to go back and edit the new environment information in your skeletons
and verify that the information has defaulted throughout your jobs.
Steps(What does it do when) Indicates conditional post processing actions to be performed, depending on the
outcome of specified statements. ON statements indicate conditions under which specified actions should be performed.
DO statements indicate actions to be performed when the preceding ON statements are satisfied. This panel is client
optional and is not required for setting up job scheduling.
PostProc (who does it tell) "Shout When" and Sysout-handling post processing instructions.
The General Panel
The General Panel is used to enter general job information such as filename, owner, and author; where information is
first entered to link the job to a job group, application, and scheduling table; where a description of the job is entered; and
where command line parameters are entered or modified.
Fields
Job Name: Name of the job.
Filename: Name of the file that contains the job script. It is recommended that users keep the job name and
filename the same
when running Command Tasktype jobs with PeopleSoft. This is because the default filter in the Enterprise
Manager GUI always defaults by
filename.
Path: Used only for Job Tasktype. Job lets you execute named scripts or batch files - one at a time a- as specified by
filename. The only advantage gained is that you can edit the script itself through this process while it runs, and it gives
you access to the Override Library (Over LIB).
Control-M questions
This is not used for processing jobs via the Command Tasktype.
Over Lib: This is a temporary directory to use instead of the path directory - when using the Job Tasktype. This is not
used for processing jobs via the Command Tasktype.
Owner: Identifies the owner (user ID) on whose behalf the job is executed. This parameter is also used by the
CONTROL-M security mechanism to determine those operations that each user is authorized to perform.
Author: Original author of the job.
Tasktype: Type of the job (task) to be performed by Control-M. Valid values are:
Job: In the Job Tasktype, the filename and path has to be defined and points to a specific script within a
directory. Job Tasktype is not used with PeopleSoft.
Detached Job: This is a VMS Tasktype and is not applicable in this environment.
Command: This is the Tasktype used for PeopleSoft or any specific command execution. The Command
input is a command line on
the General Tab and allow for multiple combinations of command strings and variables.
Dummy: Method of temporarily turning off a job without removing it from the dependency structure.
Table: Name of the Table to which the job belongs. Tables are a collection of related job processing definitions.
Scheduling tables are stored in
the CONTROL-M database (and duplicated in the Enterprise Controlstation database). Scheduling tables are “ordered”
by the New Day Process or
User Daily jobs.
Application: Provides the name of the application to which the job’s group belongs. This parameter is used to supply
a common descriptive name
to a set of related groups of jobs (see Group). Group: Provides the name of the group to which the job belongs. The
Group parameter facilitates
more convenient and orderly management of groups of production jobs.
Control-M: Name of the Control-M to which the job belongs.
Doc Mem: Name of the member in which the documentation resides. This can be viewed using the Documentation
option in the Action menu.
This feature is not currently used.
Doc Lib: Name of a library or directory containing the documentation file. This feature is not currently used.
** Command Line: Only available when using a Tasktype of Command in the Option for PeopleSoft. It is no longer
available with the Control Module
for PeopleSoft. The command line is the exact command that will be executed when the job runs. For PeopleSoft jobs,
it will provide the commands
Control-M questions
for selecting the job (i.e. report number, run control ID), against the environmental variables.
Description: Field where you can enter a description of the job.
Control-M v8 Information
Terminology