Uncovering Control-M User Dailies Secrets - What is an User daily, How to define, run/execute and manage them
What is an User Daily
An User Daily is an abstraction that Control-M utilizes to organize and group the SmartFolders/Folders with jobs together under the same "Entity Name" defined by the control-m user, optionally at the moment of the Job and Folder objects definition with the main intent to split up the overhead of Daily SYSTEM into multiple loads throughout the batch windows in order to allow them to be ordered as a single operation, as one "GROUP Entity" on a different time during the cycle of the production Day until the NDP (New Day Procedure) as part of SYSTEM Daily jobs defined to run ctmudly util as NAMED User Daily Jobs.
The User Daily Entity Name is a 1-10 characters and can also be defined/updated after the tables or jobs are created and checked in to Control-M EM.
As it is an Abstraction Entity Name, unfortunately, there are some challenging steps that need to be addressed in order to take advantage this capability and effectively have the grouped set of Folders of jobs enabled to be ordered automatically by a mandatory Control-M defined User DAILY JOB with ctmudly util adjusted to execute at specific time defined as desired by the user/Department needs.
How to plan and Define an User Daily - Lightning the Documentation
- Firstly: The User Daily Entity is not subject of any naming or security standard and as a Control-M EM User, there is no easy way to realize its existence. Also, as part of the Job Planning User perspective it is not perceived whether a NEW User Daily is really required or it should be restricted and avoided of being defined once that the Abstraction or Concept of Daily is implemented by handling the "Order Method" Folder property when defining/updating a new/existing Job Entity in the Planning Domain which most of the times is completely forgettable.
The Order Method property existence and its options meaning is almost always overlooked by the Job Planning User when Job Folders is being defined due to the fact that it is controlled by a Control-M EM System parameter named AutomaticOrderMethodByDefault as default =1, that means the Folders/Smart Folders currently being defined will belong to Daily SYSTEM or Automatic (Daily).
Determines whether the default for folders that are created by Order Method is automatic or manual.
Valid values: 1: Automatic Order Method (Daily) / 0: None (Manual Order) Default: 1
- Second: Once "defined" an user daily entity you need to validate whether there is already an "Used Daily" Job active, or the Control-M Administrator will need to define and extra job entity that runs ctmudly utility with the DAILY NAME as parameter in order to make your daily job tables be effectively scanned automatically when the time is right for eligible jobs to placed into Active.
As you can see, the process of splitting up the daily load into small dailies allegedly flexible to any user create their on daily load supported by the Control-M platform is not comprehensive enough and certainly it should be enhanced, simplified and better managed for future BMC Control-M releases as part of CCM management capabilities.
Steps required to "Define, Plan and Run" an User Daily:
1) Create a Folder and Select "Specific User Daily" from "Order Method" options list and provide a 1-10 characters name.
|a) Create a Folder and Select "Specific User Daily"|
When Defining new Job Folders in the Control-M Sit, if this order method property is not noticed or touched, it can potentially cause problems overloading the DAILY SYSTEM with to many tables to be scanned an jobs to be placed active during the NDP.
Defines the method for ordering the entity as one of the following:
b) Provide a NAME for the desired DAILY
Please note that You only have 1-10 characters to provide the meaningful name for the Daily or select from the dynamically distinct list provided based on previous existing daily names associated to Tables of Jobs loaded from Control-M
User Daily name
Defines User Daily jobs whose sole purpose is to order jobs. Instead of directly scheduling production jobs, the New Day procedure can schedule User Daily jobs, and those User Daily jobs can schedule the production jobs. Set User Daily Name when Order Method is set to Specific User Daily.
2) Create jobs belonging to the Folder recently defined to be part of the desired USER Daily, and "check in" your jobs to Control-M EM.
Once the Job Folder with at least one job entity is loaded to Control-M EM, the new User Daily Name will be displayed as an option for selection on the "User Daily Name" list.
Now, that we have added a Job Folder assigned to an user defined DAILY, we need to Define the USER DAILY Jobs as part of the SYSTEM DAILY in order to allow the Daily defined to be scanned.
As of this Example, we are defining 3 Daily Jobs as part of a Job Folder assigned to the SYSTEM Daily, that will be the last configuration step required in order to get the User Dailies to work appropriately. The User Dailies jobs must run the cmtudly utility as ctmsrv user and a local agent to CTM Server is required in order to submit for execution the ctmudly command.
a) Create a Job under the newly created Folder Name and provide a Job Name, Description, Command, and Run As user. The Host/Host Group must point to the local agent or leave it blank.
|a) Define a Folder name and Order Method|
b) Provide mandatory Job Details
|c) Adjust the appropriate TIME, for each specific DAILY Job|
Define User Daily Jobs
Choose Automatic (Daily) or SYSTEM
Now, after "Check in" the ORDER_USER_DAILIES Folder to Control-M EM, at next NDP, the SYSTEM Daily will load the UDLY_ORDER Jobs.
The UDLY_ORDER will be placed into Active Jobs and will be submitted to run at planned "From Time". When the "From Time" arrives, each UDLY_ORDER will execute ctmudly with its specific DAILY Name as parameter and the Folders of Jobs that is associated the that specific NAMED User Daily will be scanned and the jobs that are eligible to be ordered will be placed Active.
I Hope You ALL like it and find it Helpful.