BMC Control-M and Control-O Products on zOS

Job scheduling and console automation are very important operational characteristics of high-end enterprise data centers. Control-M and Control-O are nice pieces of BMC software to achieve high service levels. I will tell how to use these tools in customer installations. I believe it will be useful for consultant colleagues.

Control-M is job scheduling solution for lots of platforms including zOS. You can start interactive facilities using TSO IOAISPF, even if you do not know where ISPF/PDF option is inserted. In the IOA primary option menu you see Control-M and Control-O selections. IOA is Integrated Operations Architecture covering both products.

 ---------------------       IOA PRIMARY OPTION MENU       ------------------(1)
 OPTION ===>                                               USER        SYSUSER
                                                           DATE        28.05.13

   2   JOB SCHEDULE DEF  CTM Job Scheduling Definition
   3   ACTIVE ENV.       CTM Active Environment Display
   4   COND/RES          IOA Conditions/Resources Display
   5   LOG               IOA Log Display
   6   UTILITIES         IOA On-Line Utilities
   7   MANUAL COND       IOA Manual Conditions Display
   8   CALENDAR DEF      IOA Calendar Definition
  IV   VARIABLE DATABASE IOA Variable Database Definition Facility
   C   CMEM DEFINITION   CTM Event Manager Rule Definition
  OR   RULE DEFINITION   CTO Rule Definition
  OM   MSG STATISTICS    CTO Message Statistics Display
  OS   RULE STATUS       CTO Rule Status Display
  OL   AUTOMATION LOG    CTO Automation Log Display
  OA   AUTOMATION OPTS   CTO Automation Options Menu
  OC   COSMOS STATUS     CTO COSMOS Status Screens

 COMMANDS:  X - EXIT, HELP, INFO  OR CHOOSE A MENU OPTION               10.12.53

Using Control-M you can start a job stream some time every day, periodically one after the other, last Saturday of a month, 9 to 5 etc etc. First you select “Schedule Definition” facility. A schedule library will be displayed.

 ------------ CONTROL-M SCHEDULING DEFINITION FACILITY - ENTRY PANEL --------(2)
 COMMAND ===>

 SPECIFY LIBRARY, SCHEDULING TABLE, JOB

    LIBRARY ===> IOA6304.CTM.SYSA.SCHEDULE
    TABLE   ===>                     (Blank for table selection list)
    JOB     ===>                     (Blank for job selection list)

    TYPE OF TABLE         ===>       ( J  Job - default
                                       G   Group - for new tables only)

 SHOW JOB DOCUMENTATION   ===> N     (Y/N)
 AUTO-SAve DOCUMENTATION  ===> N     (Y/N)

 USE THE COMMAND SHPF TO SEE PFK ASSIGNMENT                             10.14.03

You enter to accept it. All tables in that schedule library will be displayed.

 LIST OF TABLES IN IOA6304.CTM.SYSA.SCHEDULE                    -------------(2)
 COMMAND ===>                                                    SCROLL===> CRSR
 OPT  NAME -------- VV.MM  CREATED         CHANGED     SIZE  INIT   MOD   ID
      IDGS1         01.01 2010/04/15 2010/04/15 14:49    30    21     0 SYSUSER
      ITABLE1       01.06 2013/05/24 2013/05/27 08:23     9     9     0 SYSUSER
      IVP0          01.00 2009/09/11 2009/09/11 16:11    35    35     0 USR1006
      IVP1          01.00 2009/09/11 2009/09/11 16:11    71    71     0 USR1006
      IVP2          01.00 2009/09/11 2009/09/11 16:11    65    65     0 USR1006
      IVP3          01.00 2009/09/11 2009/09/11 16:11    85    85     0 USR1006
      IVP4          01.00 2009/09/11 2009/09/11 16:11    98    98     0 USR1006
      IVP5          01.00 2009/09/11 2009/09/11 16:11    62    62     0 USR1006
      IVP6          01.00 2009/09/11 2009/09/11 16:11   194   194     0 USR1006
      MAINDAY       01.00 2009/03/17 2009/03/17 12:00    53    53     0 IOA6304
      MAINDAY0      01.02 2009/03/17 2010/02/18 16:33    53    53     0 USR1006
      SYSYPRJ       01.09 2011/04/07 2012/04/10 09:45    44    11     0 SYSUSER
      SYSYPRJ0      02.98 1999/02/04 2010/04/07 15:03    58    10     0 SYSUSER
  ====== >>>>>>>>>>>>>>>>>>>    NO MORE TABLES IN LIBRARY   <<<<<<<<<<<<<<<< ===

 OPTIONS S SELECT  O ORDER  F FORCE  G GRAPHIC FLOW  B BROWSE  D DELETE 10.14.39

Select a table typing “S” in front of it. To create a table type “S” and a non-existent table name on command line. First browse through some existing members in tables and then you create your first scheduled job.

After defining a job, type “O” in front of it to order (activate). The job will be started when the time comes.

You can see job status in “Active Environment Display” option. Status for each job is either “Wait Schedule” or “Ended OK” most of the time.

Note that next day it will not execute automatically. If you would like to execute it every day, you have to add the table in CTMDAY procedure DAJOB concatenation. CTMDAY procedure will be executed some time after midnight and all jobs in DAJOB DD definition will be rescheduled. Once you add a table into CTMDAY procedure, you can add new jobs in that table. All jobs in that table will be rescheduled every day.

If you would like to remove the job before execution, first “hold” it and then “delete” it in “Active Environment” option.

 Filter:           ------- CONTROL-M  Active   Environment ------ UP     D  - (3)
 COMMAND ===>                                                    SCROLL ==> CRSR
 O Name     Owner    Odate  Jobname  JobID   Typ ----------- Status ------------
 ==================        Top  of  Jobs  List       =================
   DAILYPRD PRODMNGR 280513                  JOB Wait Schedule
   DAILYSYS SYSTEM   280513                  JOB Wait Schedule
   IOALDNRS PRODMNGR 280513                  JOB Wait Schedule
   IOACLCND PRODMNGR 280513                  JOB Wait Schedule
   MQPTDEF  USR1022  280513 MQPTDEF /03587   JOB Ended "OK"
   BKPWKY   USR1002  280513 BKPWKY  /03556   JOB Ended "OK"
   IRX0080  SYSUSER  280513 SYSUSERA/03623   JOB Ended "OK"
   IRX0080  SYSUSER  280513 SYSUSERA/03625   JOB Ended "OK"
   IRX0090  SYSUSER  280513 SYSUSERA/03626   JOB Ended "OK"
 ==================        Bottom of Jobs List       =================

 Commands: OPt DIsplay Show HIstory RBal REFresh Auto Jobstat SHPF Note Table
           OPt command toggles between Commands and Options display     10.27.01

If you would like to execute a job multiple times a day, define its TASKTYPE as “CYClic” and specify “FROM TIME”, “UNTIL TIME” and “INTERVAL”.

 JOB: MYDEMO2  LIB IOA6304.CTM.LP13.SCHEDULE                     TABLE: MANUAL1
 COMMAND ===>                                                    SCROLL===> CRSR
 +---------------------------------- BROWSE -----------------------------------+
 | MEMNAME MYDEMO2     MEMLIB   PRDZ.LP13.OPERLIB                              |
 | OWNER   USR1015     TASKTYPE CYC                                            |
 | APPL                                GROUP                                   |
 | DESC    SAATLI VE TEKRARLI IS BASLATMA                                      |
 | OVERLIB                                                   STAT CAL          |
 | SCHENV                         SYSTEM ID                  NJE NODE          |
 | SET VAR                                                                     |
 | CTB STEP AT         NAME            TYPE                                    |
 | DOCMEM  MYDEMO2     DOCLIB   IOA6304.CTM.LP13.DOC                           |
 | =========================================================================== |
 | DAYS    ALL                                                   DCAL          |
 |                                                                    AND/OR   |
 | WDAYS                                                         WCAL          |
 | MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y      |
 | DATES                                                                       |
 | CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                      |
 | MINIMUM          PDS                                                        |
 | DEFINITION ACTIVE FROM          UNTIL                                       |
 | =========================================================================== |
 | IN                                                                          |
 | CONTROL                                                                     |
 | RESOURCE                                                                    |
 | FROM TIME    0900 +     DAYS    UNTIL TIME 0935 +     DAYS                  |
 | DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM                 |
 | TIME ZONE:                                                                  |
 | =========================================================================== |
 | OUT                                                                         |
 | SYSOUT OP   (C,D,F,N,R)                                              FROM   |
 | MAXRERUN      RERUNMEM                           INTERVAL 00030 M FROM END  |
 | STEP RANGE         FR (PGM.PROC)          .          TO          .          |
 | ON PGMST          PROCST          CODES                               A/O   |
 |   DO                                                                        |
 | ON SYSOUT                                          FROM     TO        A/O   |
 |   DO                                                                        |
 | SHOUT WHEN          TIME       +     DAYS      TO                  URGN     |
 |   MS                                                                        |
 | =========================================================================== |
 | APPL TYPE                                  APPL VER                         |
 | APPL FORM                                  CM   VER                         |
 | INSTREAM JCL: N                                                             |
 |                                                                             |
 ======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====

  COMMANDS:  DOC, PLAN, JOBSTAT                                         09.00.39

Another nice tool for operations staff is Control-O. It is very useful for console automation. You can create rules to issue complicated set of commands like starting traces, issuing dump commands just creating user commands. You can issue commands periodically. Automate IPL (Initial Program Load) procedures and system and network restarts.

To create rules, select Control-O “Rule Definition” option from IOA primary option menu. All tables in rule library are displayed.

 TABLES OF LIBRARY IOA6304.CTO.LP14.RULES                       ------------(OR)
 COMMAND ===>                                                    SCROLL===> CRSR
 OPT  NAME -------- VV.MM  CREATED         CHANGED     SIZE  INIT   MOD   ID
      $COSMOSU      01.00 2009/03/17 2009/03/17 12:00  2383  2383     0 IOA6304
      $HASP         01.00 2009/03/17 2009/03/17 12:00    50    50     0 IOA6304
      COMMANDS      01.00 2009/03/17 2009/03/17 12:00    26    26     0 IOA6304
      COSMOS        01.00 2009/03/17 2009/03/17 12:00  3739  3739     0 IOA6304
      CTDMRULE      01.00 2009/03/17 2009/03/17 12:00     8     8     0 IOA6304
      CTMAPIF       01.00 2009/03/17 2009/03/17 12:00    21    21     0 IOA6304
      CTMMRULE      01.00 2009/03/17 2009/03/17 12:00     8     8     0 IOA6304
      CTOGATEI      01.00 2009/03/17 2009/03/17 12:00   295   295     0 IOA6304
      CTOMRULE      01.00 2009/03/17 2009/03/17 12:00     8     8     0 IOA6304
      CTOSCMD       01.00 2009/03/17 2009/03/17 12:00    33    33     0 IOA6304
      DAILY         02.05 1997/04/30 2012/05/16 09:07   117    18     0 SYSUSER
      DAILY0        01.00 2009/03/17 2009/03/17 12:00     9     9     0 IOA6304
      DELQUEUE      01.26 2001/02/26 2011/01/11 09:39   373   241     0 SYSUSER
      DEVICE        01.00 2009/03/17 2009/03/17 12:00    29    29     0 IOA6304
      EVENTS        01.00 2009/03/17 2009/03/17 12:00    24    24     0 IOA6304
      IEA           01.01 2009/03/17 2011/08/10 14:10    47    38     0 SYSUSER
      IEC           01.00 2009/03/17 2009/03/17 12:00     8     8     0 IOA6304
      INFOMAN       01.00 2009/03/17 2009/03/17 12:00    49    49     0 IOA6304
      IOAVARS       01.00 2009/03/17 2009/03/17 12:00    64    64     0 IOA6304
      IOS           01.00 2009/03/17 2009/03/17 12:00    12    12     0 IOA6304
      LOGBATS       01.01 2010/09/29 2010/09/29 16:22    10    10     0 SYSUSER
      LOGTEST       01.02 2010/09/28 2012/01/20 15:41    11    10     0 SYSUSER
      NETMAN        01.00 2009/03/17 2009/03/17 12:00    77    77     0 IOA6304
      REPJHIST      01.00 2009/03/17 2009/03/17 12:00    42    42     0 IOA6304
 OPTIONS: S SELECT  O ORDER  F FORCE  B BROWSE  D DELETE                15.49.43

First browse existing rules and than create your own rule.

In the example, we will create a user console command DISPCONS. First DISPLAY C command is issued. After 5 seconds of wait (WAIT 0005) DISPLAY T command is issued.

RL: DISPCONS   LIB IOA6304.CTO.LP14.RULES                       TABLE: MYDEMO1
 COMMAND ===>                                                    SCROLL===> CRSR
 +-----------------------------------------------------------------------------+
 | ON COMMAND  = DISPCONS                                                      |
 |    JNAME          JTYPE      SMFID        SYSTEM          USERID            |
 |    ROUTE          DESC       CONSOLEID    CONSOLE                           |
 |    APPEARED       TIMES IN      MINUTES                        And/Or/Not   |
 | OWNER SYSUSER  GROUP                         MODE PROD    RUNTSEC           |
 | THRESHOLD                                                                   |
 | DESCRIPTION DISPLAY CONSOLE INFORMATION                                     |
 | DESCRIPTION                                                                 |
 | =========================================================================== |
 | DO DISPLAY  = SUPPRESS Y ROUTE     DESC    CONSOLEID    CONSOLE             |
 |    SYSTEM                                                                   |
 | DO COMMAND  = DISPLAY C                                                     |
 |    WAIT              CONSOLEID    CONSOLE          SYSTEM                   |
 |    WAITMODE   N                                                             |
 | DO COMMAND  = DISPLAY T                                                     |
 |    WAIT       0005   CONSOLEID    CONSOLE          SYSTEM                   |
 |    WAITMODE   N                                                             |
 | DO                                                                          |
 | =========================================================================== |
 | DAYS                                                          DCAL          |
 |                                                                    AND/OR   |
 | WDAYS   ALL                                                   WCAL          |
 | MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y      |
 | DATES                                                                       |
 | CONFCAL          SHIFT                                                      |
 | ENVIRONMENT SMFID      SYSTEM                                               |
 | =========================================================================== |
 | IN                                                                          |
 | TIME FROM      UNTIL           INTERVAL      PRIORITY     CONTINUE SEARCH Y |
 ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

Another example would be to issue DISPLAY A,L command periodically (INTERVAL 060)

 RL: DISP-ALL   LIB IOA6304.CTO.LP14.RULES                       TABLE: MYDEMO1
 COMMAND ===>                                                    SCROLL===> CRSR
 +-----------------------------------------------------------------------------+
 | ON EVENT    = DISP-ALL                                                      |
 | OWNER SYSUSER  GROUP                         MODE PROD    RUNTSEC           |
 | THRESHOLD                                                                   |
 | DESCRIPTION DISPLAY ADDRESS SPACES PERIODIACALLY                            |
 | DESCRIPTION                                                                 |
 | =========================================================================== |
 | DO COMMAND  = DISPLAY A,L                                                   |
 |    WAIT              CONSOLEID    CONSOLE          SYSTEM                   |
 |    WAITMODE   N                                                             |
 | DO                                                                          |
 | =========================================================================== |
 | DAYS    ALL                                                   DCAL          |
 |                                                                    AND/OR   |
 | WDAYS                                                         WCAL          |
 | MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y      |
 | DATES                                                                       |
 | CONFCAL          SHIFT                                                      |
 | ENVIRONMENT SMFID      SYSTEM                                               |
 | =========================================================================== |
 | IN                                                                          |
 | TIME FROM 0100 UNTIL           INTERVAL 060  PRIORITY     CONTINUE SEARCH Y |
 ======= >>>>>>>>>>>>>>> END OF RULE DEFINITION PARAMETERS <<<<<<<<<<<<<<< =====

“Order” your rule to activate. They will be seen “Rule Status” panel.

 ---------------------------- CONTROL-O RULE STATUS ---------------------(OS)
 COMMAND ===>                                                    SCROLL===> CRSR
 RULES:     87  MSG     42  CMD      3  EVN     31  ACTIVATED     34  SMFID LP14
 O RULE       TYP ---- DESCRIPTION ---- ACTIVATED --------- STATUS -------- UP
   $HASP373 A  S  ASYSBATS ACMA ISLEMI         0  ACTIVE
   $HASP373 A  S  ASYSTIBM ACMA ISLEMI         0  ACTIVE
   $HASP373 A  S  ASYSPROD ACMA ISLEMI         0  ACTIVE
   IEA994E     M  MVS - WARNING THAT S         0  WAIT ACTIVATION
   IEA404A     M  MVS - SEVERE WTO BUF         0  ACTIVE
   IEA405A     M  MVS - SEVERE WTO BUF         0  ACTIVE
   IEF453I DU  S  DUMPXY JCL ERROR             0  ACTIVE
   DISPCONS    C  DISPLAY CONSOLE INFO         0  ACTIVE
   DISP-ALL    E  DISPLAY ADDRESS SPAC         1  ACTIVE
   IOAVAR      L  RULE WHICH CHECKS TH         0  ACTIVE
   IOAVARRS    L  RULE TO RESOLVE A VA         0  ACTIVE
   IOAVARST    L  RULE TO SET A VALUE          0  ACTIVE
   $CHKPNT$    L  CHECKPOINT A GLOBAL          0  ACTIVE
 ======= >>>>>>>>>>>>>>>>>>> BOTTOM OF ACTIVE RULES <<<<<<<<<<<<<<<<<<<< =======

 OPTIONS:  ? WHY  H HOLD  D DEL  F FREE  M MODE  C CANCEL  R RESUME     09.58.58

To be able to use your rules in incoming days, either add your table in DARULLST DD statement member of Control-O startup or issue an “order” command similar to below, after new day process is performed in early minutes of next day:

MODIFY CONTROLO,O=IOA6304.CTO.PROD.RULES(MYTABLE1)

After testing a couple of operations scenarios, you will be proficient to define your own automation scenarios.

This entry was posted in IBM zEnterprise Servers, IT Service Management and tagged , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s