Wednesday, July 24, 2024

How to install BIN File (Control-M Fixpacks)

 Whenever BMC come up with a fixpack for any bug fixes or updates, they will prepare fixpack BIN file. Usually we can run the file directly like ./DR***.BIN but it uses /tmp to extract files and execute from there. 

Some organizations won't allow to run scripts from temp folder. In that situation you need to change the default temporary folder for any BMC installation using the below command.

setenv INST_TEMP_DIR "/ctm/temp/" 

Note: You need to proceed /ctm/ with your installation directory path.

If you are using v921 then you MUST set Java Home path as well. You can use the below command. Make sure to note installed jre path.

setenv BMC_INST_JAVA_HOME "/ctm/Java/jre"

Once the above steps are done then you can proceed to stop the agent using "shut-ag" command as no agent process should be active while applying fix pack.

Run the fix pack from the agent home directory.

cd

./DRMQL.9.0.21.100_Linux-86_64.BIN

The above is to install Control-M for DB v921. This is the prerequisite to install Control-M Application Pack v921.

Saturday, October 17, 2020

Control-M EM Gateway "No Sync" Issue - Possible Causes and Solutions

Control-M EM Gateway "No Sync" Issue is a rare scenario but as per my experience once it occurs it reappears several times until you find a root cause for this. First lets see the quick workaround for this and then we will see the possible causes for this.

Workaround:

  • shut_ca
  • shut_ctm
  • init_prflag
  • start_ctm
  • start_ca

 

Possible Causes/Preferred solutions:

1.      1) This might be a Java heap memory issue. Whenever you see "java.lang.OutOfMemoryError: Java heap space" in the CE log on Control-M server then you need to increase the heap memory based on the volume of the jobs. Also make sure your system supports the increased memory. Should be under <ctm Server>/data/config.dat file.

a.      CTMS_JVM_MAX_HEAP 512 to 2048 (per the jobs)

2.      2) If you are running more MFT jobs, this may cause the issue as well. Try not running more MFT jobs from server instead use the module installed on agents.

3.      3) Check if there are any jobs passing garbage/junk value which make the CE process crash.

4.      4) Preferred to use Update Control-M Server definitions during Check-In in the synchronization parameter of Control-M Server in CCM

5.      5) heck for any agents which are causing the issue. This can be checked in the CE log. Look for “Lock Table CMR_NODES in exclusive mode”. This may cause DB lock and eventually EM lost connection with server.

6.      6)  There might be another third party software grabbing control-m ports. Check that using the below command

a.      netstat -an | grep 2370

b.      netstat -an | grep 2369

c.      netstat -tulpn | grep 2370

d.      netstat -tulpn | grep 2369

7.     8) Check if there is any network scanner is running on the machine. If so make sure to exempt control-m application from that.

8)  9) If you have any obsolete unavailable agents either disable or delete them.

     10) Run the below command to see if there are any updates causing the issue. Observe the field “AgentAppUpdates” this column should be 0… if its keep growing then that’s definietely an issue caused by a MFT/AFT agent which is in “PERSISTENT” mode. Check on which agent there are more AFT jobs running and change that to “Transient” mode.

      ctmipc –dest ce –msgid ctl –data “CtmThreadPool”.

0

)

Also, Run ctms_data_collector and em_data_collector to collect the logs and open a case with BMC


Saturday, January 19, 2019

Ctmsec use/How to list, update, delete, and copy users in the Control-M Security database.

Use the following command to list user authorizations: ctmsec -USER_LIST <user> Use the following command to update user authorizations: ctmsec -USER_UPDATE <user> <description> <group> Use the following command to delete user authorizations: ctmsec -USER_DELETE <user> Use the following command to copy user authorizations from one user to another: ctmsec -USER_COPY <from_user> <to_user>

Saturday, October 27, 2018

Control-M Latest Fixpacks for v8, v9 and v9.0.18

Thought of sharing this... because many people asked me about this.... Here are the latest Fixpacks available for different control-m versions as of Oct-2018.


Saturday, June 30, 2018

Control-M V9 Features


High Availability

Control-M high availability solution enables you to maximize your production environment uptime and prevent data loss in the event of hardware maintenance or failure.

In the case of hardware failure or if all Control-M processes are down unexpectedly, you can now perform either an automatic or manual failover for both Control-M/EM and Control-M/Server. After the problem is fixed, you can fallback to the primary host. This functionally applies to customers using an Oracle or MSSQL database for Control-M.

In the event of a hardware failure, when using Control-M/Server with PostgreSQL database, you can perform a manual failover to a secondary Control-M/Server, and later, when the problem is fixed, you can fallback to the primary Control-M/Server. In addition, this solution provides PostgreSQL database replication for Control-M/Server.


Automated Agent Deployment

Upgrade one or many agents to V9 and future versions including fix packs in just a few simple steps. You can choose between transferring the package to agents for later deployment, or automatically transferring and deploying in a single step.

Automated Client Deployment

The new Client Deployment utility replaces the WebLaunch tool in previous Control-M versions. Use the Client Deployment utility to easily distribute full client installation packages, fix packs and patches to users. You can set policies to force users to apply update packages by a specific date.


Promotion between environments

Promotion between environments is a new capability of the Control-M Workload Change Manager that enables you to move job definitions between environments. For example, from a development environment to a production environment. During the promotion process, job definitions are modified and validated according the Site Standards of the target environment.

Control-M configuration Manager (CCM) enhancements

The Control-M configuration Manager user interface has been updated to improve user experience. In addition, the following Control-M components are now managed via the tool: Control-M Database, Naming Server (NS), Configuration Management Server (CMS) as well as Control-M Workload Archiving.


Usage alerts

Keep an eye on your task usage with Usage Alerts, available from within the CCM. Define task usage alert thresholds across all of your EMs. Exceeding a threshold will send an email alert.

Security enhancements

Introducing the SSL certificate deployment capability that extends the packaging and deployment of SSL security certificates with the option to specify an external Certificate Authority.
Improved security algorithm.
SSL support for:
• AES suite ciphers (128 bit and 256 bit)
• SHA-2 hashing (on Enterprise Manager Client-Server communication)
• RSA keys with length 2048, 3072 and 4096
• Control-M Enterprise Manager password hashed using SHA-512



NFS support for Control-M/Server and Control-M Agent installation

You can now install Control-M/Server and Control-M/Agents on NFS.


IPv6 communication

IPv6 support, including support for mixed IPv4 and IPv6 environments, is now available for the following components:
• Control-M/Agent
• Control-M/Server
• Control-M Mainframe
• Control-M/Enterprise Management – Server, Clients
Note: Control-M Agentless is not supported at this configuration.


Sharing information between jobs

Ability to share information between jobs by extracting data from a job output and passing it to other jobs as a variable. Additional granularity of the variables is introduced as well, allowing to define variables in groups called “named pools” or as Smart folder variables that are unique per folder execution, in addition to global and local variables.


Runtime estimations

With Control-M Batch Impact Manager you can now see estimated runtimes of all the jobs in a regular viewpoint without them being defined as a part of a Batch Impact Manager service.


Multi-days job flows monitoring

Improved monitoring and troubleshooting for the job flows that span on multiple days. You can now configure the active environment retention period for a SMART folder so the SMART folder itself and its jobs are kept in the active environment until the end of the period.


Dynamic job ordering on a remote Control-M Server

Ability to order jobs on remote Control-M Servers by setting an action in a job to trigger another job on a different Control-M Server and also pass variables as a part of this order operation.


Control-M Event Management Rules in Workload Automation client

z/OS customers can now view, edit, and manage CMEM rules via the Control-M Workload Automation client.


What If Host simulation

New capability for Control-M Batch Impact Manager and Forecast to simulate the influence of the unavailability of a specific Control-M Agent or a group of Control-M Agents on your job flows, and prepare for planned shutdowns and maintenance windows.


Global calendars

You can now save time and reduce the efforts invested in calendar management by creating a single calendar in the Control-M/Enterprise Manager that will be distributed to all the Control-M/Servers.


Bookmarks

You can bookmark the jobs in a workspace or a viewpoint to analyze flows and easily locate your jobs. Bookmarks are supported in the Planning, Monitoring, Forecast, and History domains.


Export flow diagram to a file

Till now one of the biggest challenge is to export the graphical view. Its not anymore, now You can now export your flow diagram to a Microsoft Visio-compatible EMF format from any domain. Just click the “Save as” function in the application “File” menu. its that simple.


Enhanced search when loading jobs to a workspace

Now you can view more fine-tuned results when loading jobs into a workspace in the Planning domain by filtering folders and jobs with a larger variety of fields.

x

Sunday, September 18, 2016

Control-M Server Processes and their Duties/Activities

SU: The Supervisor (p_ctmsu):

  • performs heartbeat monitoring of all processes 
  • Before start of New Day, it suspends all the processes and then to itself 

SL: The Selector (p_ctmsl):

  • Makes a selection loop to determine which job will be submitted for the execution to the OS 
  • Performs partial jobs post-processing actions 
  • Frees all resources occupied by jobs 

NS: The Network Server (p_ctmns):

  • Manage the communication to all Control-M/Agents 
  • When a message arrives from the Agent, NS sends a trigger to a process that will handle the request 
  • Updates the Agent status file and notifies TR, SL, CD and CS processes by sending triggers 

TR: The Tracker (p_ctmtr):

  • Updates jobs state when informed by the agent 
  • Performs late execution shouts and DO STMT 

CO: Communication Gateway (p_ctmco):

  • It handles two types requests- one from CD like Download and other from Control-M/EM, to be handled by CS like order, view 
  • It analyzes requests and sends them to the appropriate destination 

CS: Communication Service (p_ctmcs):

  • All requests to the CS pass through the CO process 
  • Handles the requests that comes from Control-M/EM 
  • Multiple number of CS processes can be set 

RT: Communication Router (p_ctmrt

  • Manage the communication messages between all processes 
  • Responsible for the messages to arrive in the correct order 

WD: The Watchdog (p_ctmwd):

  • Monitors essential Control-M processes, resources and sends an appropriate alert when there is a problem 
  • WD checks all the primary Control-M processes are functioning 

LG: The Logger Process:

  • Logs all the details

CD: Communication Download Process (p_ctmcd):

  • CD process checks if the New Day Time has arrived 
  • It sends a message to SU to suspend all Control-M processes and the “STOP LINK” message to Control-M/EM 
  • CD updates the IOALOG about New-Day Beginning and updates a Date in the Control-M server database 
  • It sends the New Day message to all available agents for cleanup purpose 
  • It cleans the jobs from Active Job File, log messages and statistics information 
  • It orders jobs upon their scheduling criteria to the AJF 
  • Once New day is completed, it sends the “START LINK” message to Control-M/EM and a message to CO to activate all the Control-M processes

Thursday, January 9, 2014

Tasks performed during New Day Process


CONTROL-M processes execute as background processes on the server computer and remain active at all times except during NDP. Once a day, at the time specified by the CONTROL-M system parameter Day Time (starting time of working day), CONTROL-M starts the New Day Procedure (formerly known as the “General Daily procedure”).

The New Day procedure performs automatic functions that start a new day under CONTROL-M. This procedure is used as a master scheduler for all CONTROL-M
activities.

The following actions were performed during NDP till v6.2.01, on later versions these were disabled and a new utility can be executed as a batch job during the day to perform the cleanup

-> Agents cleanup

-> Statistics cleanup

The New Day Procedure performs the following sequence of operations:

  1. A new Odate (CONTROL-M date) is calculated (based on the system date and CONTROL-M system parameter Day Time).

  2. A partial cleanup of the CONTROL-M/Server log is performed, based on system parameter Maximum Days Retained By CONTROL-M Log. 

  3. A partial cleanup of job SYSOUT directories on agent computers is performed, based on system parameter Maximum Days to Retain Sysout Files.

  4. A selective cleanup of the Active Jobs file is performed. Jobs that have already executed and ended OK, and jobs whose parameter Max Wait has been exceeded (and are not Held), are erased from the Active Jobs file.

  5. A partial cleanup of the statistics in the CONTROL-M/Server database is performed. For each job, CONTROL-M retains statistical information regarding the last 20 successful executions. This value can be changed by defining the RUNINF_PURGE_LIMIT parameter in the CONTROL-M config.dat file. CONTROL-M must be shut down and restarted for this change to take effect.

  6. A selective cleanup of prerequisite conditions is performed. Prerequisite conditions are deleted if their date reference (month and day) is equal to the new CONTROL-M date +1 (tomorrow). This prevents jobs from being triggered by prerequisite conditions remaining from the previous year.

  7. Job orders are placed in the Active Jobs file according to job processing parameters contained in Scheduling tables (assigned to User Daily “SYSTEM”). These job orders can include the submission of User Daily jobs.

  8. CONTROL-M begins downloading the new Active Jobs file to the CONTROL-M Configuration Manager. During download, CONTROL-M processes are suspended.


Monday, January 6, 2014

What does it mean by "chmod 777 ." in Unix?

In general the below are the 5 values which we'll use for permissions  in unix.

  • 0 - No Access
  • 1 - Execute
  • 2 - Write
  • 4 - Read
  • 7 - Full Access
Usually file permission field is a 3 digit number. First digit denotes the OWNER of the file/folder, second digit denotes GROUP, third digit denotes EVERYONE.


chmod 400 file - Read by owner 
chmod 040 file - Read by group 
chmod 004 file - Read by world 
chmod 200 file - Write by owner 
chmod 020 file - Write by group 
chmod 002 file - Write by world 
chmod 100 file - execute by owner 
chmod 010 file - execute by group 
chmod 001 file - execute by world 

chmod 111 file - Allow execute permission to owner and group and world 
chmod 222 file - Allow write  permission to owner and group and world 
chmod 444 file - Allow read permission to owner and group and world 
chmod 777 file - Allow everyone to read, write, and execute file 


You can also use them by adding them. For example if you would like to give Read & Write access then you can use 2+4 = 6. If you would like to give Read and Execute access then you can use 1+4 = 5.

Sunday, January 5, 2014

How to Add a Condition using SHOUT (POSTPROC)

As most of us know that we can add conditions using "Conditions" tab or through steps tab.  Normally we can add/remove conditions based on the below scenario's.
  • When job Ended OK (using Conditions Tab)
  • When the job Ended NOTOK (using Steps Tab)
  • When a job failed with a specific return code (using Steps Tab)
  • When you find a particular string in Log/Sysout (using Steps Tab)
  • When Run Counter criteria met (using Steps Tab)
... there might be many other scenario's where we may need to add/remove conditions. few of them are When a job executing for longer time, or If the job not submitted by a particular time or If the job not completed by a certain time. In general we will trigger an ALERT in these scenario's using PostProc tab. Now I'm going to explain you how can we add a condition instead of generating an alert.

Like how we use LateTime/ExecTime/LateSub, we'll goto PostProc tab and select the particular event which you would like to check and add a condition.

A SHOUT WHEN EXECTIME > nnn (The range is 001 to 999 in minutes only) or 
A SHOUT WHEN LATE SUB > HHMM or 
A SHOUT WHEN LATE TIME > HHMM

If you want to Average time then use + and you can also use % (percentage) to limit above the average time.

Here is the example:



"condition" must be added in the shout destination table as a script i.e program as destination. You can name as you desire (something like add-condition.sh). The script should contain the below statement to add the condition.

ctmcontb –add $2
The ctmcontb utility performs different operations on prerequisite conditions in the Control-M/Server database (Like Add, Delete, List conditions).

In the same way you can also invoke any other utility depend upon the requirement.

Wednesday, January 1, 2014

Control-M 8 Changes vs Earlier Versions

I've started working on BMC Control-M lastest version which is 8.0 recently. I had experience in Control-M scheduling for around 6.7 years in various versions (v6.1, v6.2, v6.3 and v6.4). Till now what I learnt is completely different in V8.0. It took couple of days for me to understand the new concepts and Envitonment. This is really awesome, very simple GUI interface and many options were simplified. I just thought of sharing few of my findings. so here is my 1st blog post on Control-m 8.
ParameterPreviously Known As
Host/Host GroupNode/Node group
Run asOwner
Override PathOverride library
VariableAutoEdit
Sub ApplicationGroup
Created byAuthor
FolderTable
Order MethodUser daily
OutputSysout
Come back to this website for more info....

Saturday, July 27, 2013

Why statistics are not correctly shown in the Control-M/EM GUI?


"ctmjsa" is used to collect statistics of all Control-M jobs.

Generally calculation of statistics can be done with Jobname or Memname

This is determined by the Operational Parameter Statistics Mode.

When it is set to Memname the statistics won't be shown right.


Change Statistics Mode to Jobname, recycle Control-M, run ctmjsa again, and now view Statistics of any job from Control-M EM GUI. You can see the difference.

Thursday, July 25, 2013

How can you say if the agent for a particular job is available?



While there is a continuous connection between CONTROL-M EM and Control-M/EM Server, the communication between CONTROL-M/Server and CONTROL-M/Agent is not constant.

CONTROL-M/Server is doing the following:

1. It sends a TRACK_ALL message for each agent that has running jobs every 'Polling Interval' (the default is 15 minutes).

2. There is no indication that an agent becomes unavailable unless there was a request to that agent.

While the agent waits for its time window it does not check if the agent is available. This will be checked only when the job will be submitted.

3. You can check the Agent status using Control-M Configuration Manager.

What can I do if my agents become unavailable sometimes?

Solution: Run ctm_menu:

(5) Parameter Customization -> (4) Parameter Customization for Specific Agent Platform:

Communication Timeout (default 120)

Maximum Retries (default 12)

Increase the timeout parameters for the agent platforms. The same can be achieved using Control-M Configuration Manager. You can open Agent properties and change the parameters accordingly.

Wednesday, July 24, 2013

How do I check communication between Server and Agent?

From the Agent run:
   ag_diag_comm

From the Server run:
   ctm_diag_comm <Agent host name>

Compare the results. Specially check the following:

  1. Server-to-Agent Port Number is the same on both outputs
  2. Agent -to-Server Port Number is the same on both outputs
  3. Server-Agent Comm. Protocol is the same on both outputs
  4. Unix ping to Agent Platform, ctm_ping to agent, and Unix Ping to Server Platform all Succeeded
  5. Service "<agent service>" is Active
  6. Server Host Name, in ag_diag_comm output, is correct.


Thursday, July 11, 2013

How to KILL a Job using PostProc Tab



During our day to day activities sometimes we may come across a scenario to Kill a job during run time. The most commonly scenario is to kill a job when it is exceeding its normal time limit. We can achieve this using PostProc tab without any manual intervention.

To perform this you MUST have access to Control-M Server.
  1. You have to connect to Control-M Server using Telnet.
  2. From the "ctmsys" menu, goto "Shout Destination Tables" and define a shout destination with type "P" (process), Address Type "A" (agent), Logical Destination "Kill_Job" and Physical Destination"$HOME/ctm/exe_<architecture>/killjob.sh".
  3. Go to your CONTROL-M/Server home directory, and define a script under ctm/exe_<architecture>/. The script name will be "killjob.sh", which contains the following lines:

    #!/bin/csh
    ctmkilljob -ORDERID $2 &


    Note: the ampersand (&) at the end of the command. This must be present for this solution to work.
  4. Job definition
    • Goto the "PostProc" tab and define a shout WHEN LATETIME or EXECTIME
    • in the Destination put "Kill_Job
    • in the Message Box put "%%ORDERID" (the parameters for the "killjob.sh" script).

Wednesday, July 10, 2013

How to get a job to email the SYSOUT



Update the STEPS panel of the failing job with the following statements:

      On Stmt=*            Code=COMPSTAT!0 (or NOTOK or other specific return codes)
      DO Set-Var          %%\G_ORDERID                %%ORDERID
      DO Set-Var          %%\G_JOBNAME               %%JOBNAME
      DO Set-Var          %%\G_MAILADDRESS      youremail@domain.com
      Do Force-Job      Table=YourTable                 Jname=EMAILSYSOUT

Note: The “Do Set-Var” is setting global variables to be passed to another job. Global variables are defined using a backslash.
The global variables are used in the other job without the backslash.


Force job definition: Job name EMAILSYSOUT

On the command line:
ctmpsm -LISTSYSOUT 000%%G_ORDERID |mailx -s "Job %%G_JOBNAME failed. See sysout attached!" %%G_MAILADDRESS


Note: The Node-id on the Execute tab must be the home server for Control-M.


Tuesday, January 22, 2013

Control-M EM GUI



The CONTROL-M/Enterprise Manager application provides a single, centralized point of access and control of your batch processing environment. CONTROL-M/Enterprise Manager lets you to automate the scheduling and processing of your production jobs. Its main GUIs are CONTROL-M/Desktop and the CONTROL-M/Enterprise Manager window (simply called CONTROL-M/EM).

Logging into Control-M/EM:


Click on the Icon which is located on your Desktop.


Go to Start Menu\Programs\CONTROL-M Enterprise Manager 6.3.01\ Default\ CONTROL-M Enterprise Manager GUI





ViewPoint Manager

Defining ViewPoints

A ViewPoint builds a view of the active environment by retrieving and displaying data according to the criteria defined in the ViewPoint’s collection, hierarchy, and global filter definitions.

■ Collections determine the jobs to be loaded into memory.
■ Global filters determine which jobs to display.
■ Hierarchies determine the hierarchical structure in which to display jobs.

CONTROL-M/EM is supplied with a number of predefined ViewPoints, but you can create or modify definitions.

To define a ViewPoint
  1. In CONTROL-M/Enterprise Manager, choose Tools => ViewPoint Manager.


  2. In the ViewPoint Manager dialog box, do one of the following:
    1. To create a new ViewPoint definition, select the ViewPoints node and click New. Then, in the ViewPoint dialog box that opens, enter a name for the ViewPoint.

    2. To edit an existing ViewPoint definition, select the definition under the ViewPoints node and click Edit.

  3. In the ViewPoint Properties dialog box, do the following:
    1. Enter a description for the ViewPoint (optional).
    2. Select a collection for the ViewPoint.
    3. Select a global filter for the ViewPoint.
    4. Select a Hierarchy definition for the ViewPoint.
    5. After selecting the hierarchy, select the Initial Level of the Hierarchy to display when the ViewPoint is opened.
    6. By default, the highest hierarchy level nodes are displayed in when the ViewPoint is opened.
    7. Click OK.

Wednesday, November 21, 2012

Using Wild card in File Watcher [ctmfw ]

Most of us know that ctmfw utility is used for File Watcher (create/delete). Normally most of us (all of us.. may be ???? I've used many times before knowing the exact usage ;-D ) will use the file name in quotes (" "), which is actually wrong. The correct way of using this is , placing the quotes only with the file name not with entire path.

Invalid: "test/mahi/touchfile.txt"

Valid: test/mahi/"touchfile.txt"

This will be very helpful while using wildcard character (*)

Eg: test/mahi/"touchfile*.txt"

This will give a flexibility to watch for any file like touchfile1.txt, touchfile2.txt, touchfile-random.txt... etc

Tuesday, November 20, 2012

Control-M Road Map [ History of Control-M ]


Control-M was a batch-scheduling tool originally developed for scheduling jobs on mainframe computer systems, by an Israel-based company New Dimension Software (the company was originally called 4th Dimension Software and later renamed to New Dimension Software). In the early 90's, Control-M also became available on the distributed environment (for example, Windows and Unix). Users can use Control-M either in a distributed/mainframe only or mixed environment. There are a number of other mainframe-focused products within the same product line such as Control-D, Control-M/Tape, Control-O, Control-V, and Control-M/Links. BMC software acquired New Dimension Software in 1999 and continued the product line. In the recent years, BMC software made Control-M to become part of its BSM strategy by integrating Control-M with BMC Atrium Configuration Management Database (CMDB). Today Control-M is one of the most widely used enterprise batch scheduling software on both mainframe and distributed environments, with customers around the world from every major industry.

The following are the milestones in the Control-M history:

  • 1985: Innovated the integrated approach for batch processing automation (mainframe)
  • 1993: Provided single focal point of control of the heterogeneous batch environment – Enterprise Control Station (later on, the name changed to Control-M/Enterprise Manager)
  • 1993: Release of control modules to extend Control-M's scheduling capability into external applications
  • 1996: Enabled event-based scheduling
  • 2000: Release of new control modules - integration with ERP applications
  • 2004: Added the support for SOA approach – Business Process Integration
  • 2004: Link batch scheduling with business SLAs – Batch Impact Manager
  • 2006: Release of Agentless technology - part of Control-M 6.3.01
  • 2007: Integration with BMC Atrium CMDB – BMC Batch Discovery
  • 2008: Workload Lifecycle Management - within Control-M 6.4.01
  • 2010: Workload automation – Control-M 7
  • 2012: The Power of Simple – Control-M 8

Reference: BMC Control-M 7: A Journey from Traditional Batch Scheduling to Workload Automation

May be Conditions (Manual Conditions)

Sometimes we will get different scenarios in Scheduling control-M jobs, one of that is like below.

Lets say there are JOB-A,JOB-B,JOB-C. JOB-C, is dependent on other 2 jobs.
  • If JOB-A & JOB-C are DAILY Jobs
  • JOB-B is Mon, Wed, Fri job 
If you try to implement the above change the first thing comes to your mind is using DUMMY job (in case if you are good in Scheduling though).

if it is a single scenario in your entire batch jobs then we can use Dummy jobs, lets say you have 100's of similar scenarios. then it would be difficult to have 100's of dummy jobs, it will make your scheduling solution complex, so it is better to use May Be Conditions or Manual Conditions.

Steps to Implement this:

  1. Out Conditions of JOB-A and JOB-B should be  #-JOB-A-OK and   #-JOB-B-OK
  2. In  Conditions of JOB-C is  #-JOB-A-OK and   #-JOB-B-OK
  3. Create 1 job with TASK TYPE as Command and use "ctmldnrs -CALCCOND -ADDMODE NO" as a commad
  4. Create 1 job with TASK TYPE as Command and use ctmldnrs -LOAD "#-*" as a commad
The job in Step3 will create a default output file in <controlm_user_dir/ctmldnrs.dat>

The job in Step4 will read the conditions from a default file <controlm_user_dir/ctmldnrs.dat> and load it on Conditions table. This means the jobs which are not in schedule for that day and if there are any jobs waiting for their conditions (#- Conditions) will be created in Conditions table.

Note:
  • Step3 job must run immediately after New Day Process
  • Step4 job must run after Step3 job
I hope it is clear. Please drop your comments in case if you have any queries.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Awesome Deals | Bloggerized by Mahendra - 24x7FunOnline