Control-M Manual
Control-M Manual
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 1
_____________________________________________________________________
Contents
1 Introduction……………………………………………………………………………… 3
2 Control M Terminology………………………………………………………………... 5
3 Getting Use of Control- M…………………………………………………………….. 5
3.1.1 Draft………………………………………………………………………………………..6
3.1.2 Steps to create a job……………………………………………………………….. 7
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 2
_____________________________________________________________________
1 Introduction
Control M is a standard graphical user interface Batch scheduling tool designed and
developed by BMC software Singapore. This tool fits in the Infrastructure and
application management of the project life cycle because of batch processing automation
that the product provides.
Before going to the detail of the tool as a first step it is mandatory to know about the
Architecture. The below diagram explains you the distributed Control M three –tiered
architecture.
DB
GUI CONTROL-M/Enterprise
Manager
GATEWAY (CONTROL-M/EM)
GATEWAY GATEWAY
GATEWAY
MS Windows
Unix MVS (Mainframe)
Unix
Windows
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 3
_____________________________________________________________________
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 4
_____________________________________________________________________
1. Job Execution performed at Agent tier, which also provides interface to
business applications like SAP, peoplesoft, etc….
2. Each Control M server ,the scheduler ,in middle tier can manage multiple
Agent Of different types
3. Control M /EM tier provides integrating features such as global conditions
to built the communication between different type of Control M servers
2 Control M Terminology
As we learnt about the architecture it is advisable to spend some time to know about the
terminology used in the tool.
Job
- A job is essentially any scheduled request for a computer to perform a specific task.
In most cases, the process for creating a job requires some setup in addition to tasks
performed in the CONTROL-M environment. For example, you may need to prepare a
script that manipulates database objects. The job processing definition that you create
describes what to do with this script and when
Data center-
-A Control M managed host, usually we call the control M server as Data center.
Upload
-Movement of data (scheduling table) from Control M EM to a Control M server
Download
-Movement of data from Control M server to EM.
A copy of each job processing definition from an attached Control-M server is kept in the
CONTROL-M/EM database. Thus, the job processing definition is kept in two places
After successful installation of the control M tool you can able to get the two desktop
icons named Control M Enterprise manager and Control M desktop.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 5
_____________________________________________________________________
3.1.1 DRAFT
Drafts are the repository for storing and working on job processing definitions in
CONTROL-M/Desktop. Drafts can contain job processing definitions from either a
single Scheduling table or from multiple Scheduling tables.
Drafts are totally independent of CONTROL-M and the CONTROL-M production
environment. Because of this independence,
• Work can be saved at time without undergoing the validity checks that
occur
• When exiting the Job Editing form in CONTROL-M/Desktop. (In
CONTROL-M, job processing definitions can be used immediately in the
production environment and therefore must be subject to validity checks
whenever you exit the definition screen.)
• Users do not require direct access to CONTROL-M or the CONTROL-M
platform to be able to work in CONTROL-M/Desktop. At sites where only the
CONTROL-M administrator has direct access to CONTROL-M, personnel from other
departments can still work in CONTROL-M/Desktop.
Flow diagram
pane
Tree View
pane
Net Overview
pane
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 6
_____________________________________________________________________
1. A Job Editing form displays all of the job processing parameters for one job.
To Create and edit new jobs, select Edit=>New Job... (Or click the new job icon
)
The Job Editing form will always have a CONTROL-M specified that
corresponds to the CONTROL-M selected in the current skeleton. The
CONTROL-M can be changed, but typically you will use specific skeletons for
one CONTROL-M.
This form is divided into multiple panes, with each pane containing a group of
parameters
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 7
_____________________________________________________________________
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 8
_____________________________________________________________________
Group – Name of the group to which the job belongs. Together with parameter
Application, it determines the position of the job within the Application/Group hierarchy
(Text).
CONTROL-M – Name of the CONTROL-M server to which the job belongs. Together
with parameter Scheduling Table Name, it determines the position of the job within the
CONTROL-M/Scheduling Table hierarchy (Text).
Doc Mem – name of the member in which the documentation resides. It may be viewed
using the Documentation option in the job menu (Text).
Doc Lib – name of a library/directory containing the documentation file (Text).
Time Zone − Indicates the global time zone used to calculate when the job should run.
Command – text of the command line to be submitted for the job when the Task Type
parameter is Command (Text).
Description – description of the Job (Text).
The Scheduling panel is used to set the dates that a job can be scheduled for possible
submission. The Month Days, Week Days, and dates selected can optionally be used in
conjunction with calendars.
Click here
to select
ALL days
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 9
_____________________________________________________________________
• When the Month Days Calendar parameter is specified with the Days
parameter, the job is scheduled for execution only if all the indicated Days
are also marked in the calendar.
• If the Month Days Calendar parameter is specified with a Days parameter
that includes the + symbol, the job is scheduled for execution on those
dates marked with a + (in the Days parameter), in addition to the dates
marked in the calendar.
• If the Month Days Calendar parameter is specified with a Days parameter
that includes the – symbol, the job is not scheduled for execution on those
dates even if the date is marked in the calendar.
• The appropriate Months parameters must be checked.
• The and/or relationship between Days and Weekdays is analyzed.
In the below scenario, job will run every Wednesday that is an odd-numbered day if that
day is selected as a working day in both of the specified calendars. It can get difficult to
track complex solutions so you should always look for the simplest scheduling option.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 10
_____________________________________________________________________
Calendars are listed by name in the Calendars window. This window enables the user to
do the following:
• Delete existing calendars
• Define new calendars and edit existing calendars via the Calendar
Definition window, accessed from this window
• Upload calendars from the CONTROL-M/EM database to the
CONTROL-M database
• Download calendars from the CONTROL-M database to the CONTROL-
M/EM database.
Regular – regular calendar consists of a succession of dates, specifying when a job can
or cannot be ordered. A job whose job processing definition points to a calendar in the
Days Calendar And/Or Week Days Calendar parameter is ordered based on the set of
dates in that calendar. Other Scheduling parameters can be used with a regular calendar
to further control the dates on which the job is ordered.
Relative – [OS/390] one which is intended for use another calendar. A relative calendar
is combined (via CONTROL-M utility IOABLCAL) with a regular calendar or with
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 11
_____________________________________________________________________
another relative calendar to generate a new regular calendar. The new calendar resulting
from this process is a combination of the two calendars input to the utility. For more
information about relative calendars and examples of how utility IOABLCAL is used,
refer to the (OS/390) CONTROL-M User Manual.
Periodic – used to divide the year into working periods (that is, 13 periods, 20 periods,
and so on) instead of into 12 months. Each period can be the same or different in length.
Periods do not have to be specified using consecutive dates, and they can overlap. A
periodic calendar is used with the Days or Week Days parameters to specify on which
dates a job should be ordered.
Delete – Deletes the selected Calendar from the CONTROL-M/EM database only.
Force Delete – Delete the Calendar from both CONTROL-M/EM and CONTROL-M,
regardless of whether or not a later version of the Calendar exists in the CONTROL-
M/Server database.
Local Delete – Deletes the Calendar from the CONTROL-M/EM database.
Remote Delete – Deletes the Calendar from the CONTROL-M/Server database. This
option is not available if the Calendar in the CONTROL-M/Server database was modified
more recently than the one in the CONTROL-M/EM database. Override this restriction
using the
Force Delete option. For additional information, see “Table Synchronization” in the
CONTROL-M/Enterprise Manager User Guide.
Update – Opens the Calendar Definition window to update the selected calendar.
Upload – Copies the selected calendar to the indicated CONTROL-M/Server database.
The upload takes place as a background process, allowing the user to perform other
actions during transmission. Upon completion, the Modified field changes to No. If the
calendar in the CONTROL-M/Server database is a later version, a message appears
indicating that the Upload is not allowed. This restriction can be overridden using the
Force Upload option (described below).
Force Upload – Copies the selected calendar to the indicated CONTROL M/Server
database, regardless of whether or not a later version of the calendar exists in the
CONTROL-M/Server database. The upload takes place as a background process,
allowing the user to perform other actions during transmission. Upon completion, the
Modified field changes to No.
Download – Copies the selected calendar from the CONTROL-M/Server database to the
CONTROL-M/EM database. The download takes place as a background process,
allowing the user to perform other actions during transmission. Upon completion, the
Modified field changes to No. To download a calendar that does not appear in the
Calendar Manager window (and therefore cannot be selected), first create the calendar
(using the Calendar Definition window) and then download the calendar normally.
Unlock – Unlocks the selected calendar to allow modification by a different user.
Refresh – Refresh the status of calendars in the window.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 12
_____________________________________________________________________
Steps:
1. Click the [New] button. The New Calendar name window opens.
2. Specify the CONTROL-M and a name for the new calendar.
3. Select [Regular/Relative] or [Periodic].
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 13
_____________________________________________________________________
5. Define the calendar criteria. When you are finished selecting dates in the
new calendar, click the [OK] button in the Calendar Definition window to
create the calendar in the CONTROL-M/EM database.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 14
_____________________________________________________________________
4. To mark multiple dates, click the left mouse button to select the dates and
either type the appropriate mark or click the right mouse button to open
the selection menu and select the option from the menu.
After the successful creation of the calendar using the above steps you should upload the
calendar into the specific Control M server by using the upload option in the calendar
definition window
Node ID/Group - Host name of the Agent platform on which the job is running. For
application-specific jobs, this parameter must contain the host name of the CONTROL-
M/Agent that will trigger the specified application.
A Node Group is logical name that is used to refer to a list of node Ids representing Agent
platforms. When the name of a Node Group is specified in the Node ID/Group
parameter of the job processing definition, CONTROL-M automatically applies load-
balancing to the related job.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 15
_____________________________________________________________________
Node Groups are defined in the Node Group menu in CONTROL-M/Server. All nodes in
each group must share the following characteristics:
• Similar operating systems (for example, various Unix computers).
• User environment (for example, access to the same file systems).
• They should all be able to execute the jobs assigned to the Node Group.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 16
_____________________________________________________________________
From – Earliest submission time.
Until – Latest submission time.
Multi Agent – Specifies that job submission details be broadcast to all Agents within a
Node Group
The Conditions parameter panel is used to define prerequisite In and Out conditions. The
panel contains two sections. In conditions are defined in the left section; Out conditions
are defined in the right section. After editing or creating a condition, click the green
check mark next to the Text line to save the changes and/or add the condition to the list.
The Conditions panel for this job does not currently show any In or Out conditions.
The main part of each section lists already defined conditions. Below this box is a Text
line used for editing already defined conditions or defining new conditions. When you
select a condition in the list, its contents are displayed in the Text line. After editing or
creating a condition, click the green checkmark next to the Text line to save the changes
and/or add the condition.
We can easily understood the process of creating conditions by the end of below example
The jobs shown in the CONTROL-M/Desktop window shown here do not have In or Out
conditions. If they did, they would be represented by arrows and lines.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 17
_____________________________________________________________________
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 18
_____________________________________________________________________
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 19
_____________________________________________________________________
The arrow pointers and connectors will get created automatically when the conditions are
correctly defined.
After creating the job definition by using the above steps we should send the scheduling
table into the both Control M EM and Server from the CM desktop. Just follow the below
steps to complete the job scheduling.
Steps:
1. Select Edit => Scheduling Tables => Write to CONTROL-M/EM from the menu
bar or click the [Write to CONTROL-M/EM] icon.
2. If the Scheduling table to be written was read from CONTROL-M/EM, a
summary window is displayed and CONTROL-M/Desktop executes the Write. If
the Scheduling table to be written is new, the Scheduling Tables window is
displayed.
3. Select the Scheduling table to write and click the [Write] button. CONTROL-
M/Desktop validates all field values in the job processing definitions in the
specified table regardless of the Tools => Options [General] panel [Job Validity]
option. Errors are displayed in the Message window. Correct the errors and/or
enter the missing fields. If no errors are detected before the write process, a
summary window is displayed. Click the [OK] button. CONTROL-M/Desktop
executes the write process, and a message window is displayed. Click the [OK]
button.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 20
_____________________________________________________________________
If the Scheduling table that you are writing already exists in the CONTROL-M/EM
database, you will get a window displaying a message asking you to confirm that you
want to overwrite the existing table. This includes cases where you started by reading the
table from CONTROL-M/EM, or if you created new jobs with a Scheduling table name
that already exists. In the latter case, you will completely overwrite the existing
Scheduling table.
4. Next you need to upload the same scheduling table into the Control M server as we
already know that Scheduling table copy should maintain at both CM EM and Server
level
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 21
_____________________________________________________________________
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 22
_____________________________________________________________________
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 23
_____________________________________________________________________
The Order option places jobs in the Active Jobs file only if their scheduling criteria are
satisfied. The Force option places jobs in the Active Jobs file regardless of scheduling
criteria.
Once a job is scheduled, it is not submitted for execution until its run-time requirements
4. After the job got ordered you can see the ordered jobs in the appropriate EM view
point. The Control M job is having different states in its execution cycle.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 24
_____________________________________________________________________
There is an internal housekeeping activity on every day to clear the old jobs from the
Control M view point. Before know about this new day process we should aware of the
AJF.
Active Jobs File (AJF) – Lists all jobs scheduled for submission in the current day. Each
job in the Active Jobs file is not submitted until all conditions in the job processing
definition for the job are satisfied. The Active Jobs file is in the CONTROL-M database.
Changes made to a job order affect only the information in the Active Jobs File, not the
job parameters maintained in the CONTROL-M database. To make permanent changes to
job parameters, use the CONTROL-M /Desktop; and then write the changes to the
CONTROL-M.
During New Day processing, CONTROL-M determines whether or not the job is a
candidate for execution on the particular date. If it is, the job is ordered (that is, placed in
the Active Jobs File). Jobs that finish with a status of “Ended OK” are not immediately
removed from the AJF. They are retained in the AJF until the daily housekeeping occurs.
If the same job is scheduled for consecutive days, it will be added to the AJF as a new job
order on the same day that “Ended OK” job order is removed.
Max Wait Parameter (Execution tab of the job scheduling form) – specifies the
number of extra days (beyond the original scheduling date) the job is allowed to remain
in the Active Jobs File awaiting execution. If the job still has not run after the specified
number of days, the job is removed from the Active Jobs File. The default value is 0. The
range is 0-98 when specifying a number of days to remain in the AJF, or 99 to specify an
indefinite retention period.
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 25
_____________________________________________________________________
To implement the control-M for End of Day process we are following the below
methodology
Environment setup
ControlM _ Release_Document_ID.doc.zip
POSTENGINE_CONTOLM_Z03.doc.zip
5. Once the above release gone to database server make sure the below checklist is
in place
(i) Under the path /apps/Batch/Common there will be a file
Countrycode_eBBS_Batch.ini
This ini file contains the below fields which is used by the
executeEOD.sh which is available in the same path
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 26
_____________________________________________________________________
(ii) There should be a soft link for the database profile like
Countrycode_eBBS_profile -> /home/db2inst1/sqllib/db2profile
(iii) Also make sure that ebbseod user is having the proper rights to execute
the db profile also the select privileges for BPRGSTS table in the
present database.
6. Once the environment setup was done, need to implement the EOD system into
the Control –M. Ensure an uniform approach towards the implementation for
different countries. It is always best practice to prepare a sheet with all the
required fields before start the schedule in the control M desktop. The same sheet
also needs to be mention in the Country ASRM document to track the upcoming
changes in the eod schedule.
CN_eBBS_EOD_RunSheet.xls.zip
Use the below terminology while naming some important fields in the job schedule
Data Center
Same as the host name, which should be XX99
where XX = PG for production
RG for DR
DG for development
TG for testing
99 = machine sequence number
Table Name
The Schedule Table name used in control M,XXXX_SCH
XXXX Application Code
Member Name
The Name of program or script file. There is no restriction of the member name.
Normally we use the combination of programid, serviceid and execution sequence of the
job.
Group Name
The group Name used where doing job setup in control M.Normally, will use the
Application code as the group name.(like DAILY,MONTHLY)
Application
Name of the application to which job’s group belongs in control M (like
eBBS,eGLEX,eBRANCH…)
Job Name
[e][aaaa][cc][nnn][f] Where e=first character of environment (p,o,u,d etc..)
aaaa=applicationcode
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 27
_____________________________________________________________________
cc=country identifier
nnn=sequence number
f=job run frequency
d for daily
w for weekly
m for monthly
y for yearly
Command
Command line will have a shell script executeEOD.sh with the dynamic arguments
for every job as specified in the sample run sheet in the above.
Owner
Owner filed should be populated with the username; with what userid we are going
to execute the command line of the job (executeEOD.sh).Normally we use the
ebbseod user to run the EOD through control M.
<END>
_____________________________________________________________________
CONTROL–M REFERENCE GUIDE 28