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.

  • 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