Control-M Utilities

Some utilities prefixed by IOA replace corresponding utilities prefixed by CTM in previous versions. In such cases, the old utilities are supported for your convenience; however, you should use the IOA utilities.

CTMAESIM – Test AutoEdit Syntax

The CTMAESIM utility simulates the actions of the Control-M submission mechanism. It checks AutoEdit syntax and JCL setup. A command specified in an input statement determines how the simulation works. The utility scans an entire JCL member to find all the AutoEdit errors in the member. For more information, see the JCL and AutoEdit facility chapter in the Control-M for z/OS User Guide.

CTMAESIM Parameters

The utility receives the following parameters using DD statement DASIM.

Either JCL Library Mode parameters or Scheduling Mode parameters (but not both) must be specified to run the utility. These parameters determine the mode in which the utility operates. In addition, other general simulation parameters are specified.

Table 85 CTMAESIM JCL Library Mode Parameters

Parameter

Description

LIBRARY

JCL library name

When LIBRARY GENERAL is specified then the JCL libraries in the DALIB DD concatenation are used to search for the specified JCL members.

MEMBER

Member name. Character masking is supported (in batch only).

OWNER

Owner ID. Optional.

APPL

Name of the application (as specified in field APPL in the job scheduling definition). Optional.

GROUP

Name of the group to which the job belongs, such as BACKUPS, RESERVATIONS, INVENTORY, and so on.

NJE NODE

Identifies the node in the JES system at which the job must execute

OWNER

Owner ID. Optional.

TAG

A unique rule-based calendar (RBC) to be applied to the accompanying set of scheduling criteria. Multiple sets of scheduling criteria can be defined, each with its own rule-based calendar.

SCHENV

Name of the workload management scheduling environment to be associated with the job

SYSID

In JES2, the identity of the system in which the job must be initiated and executed

In JES3, the identity of the processor on which the job must be executed

Table 86 CTMAESIM Scheduling Mode Parameters

Parameter

Description

SCHEDLIB

Name of the library containing the job scheduling definition

TABLE

Name of the table containing the job scheduling definition

JOB

Name of the job scheduling definition. Character masking is supported.

When specifying Scheduling Library Mode parameters, the owner, application name, JCL library and JCL member of the job, scheduling environment, system ID, and NJE node name are not specified because the utility takes these values directly from the specified job scheduling definition. f a value is specified for parameter OVERLIB in the job scheduling definition, that value (instead of parameter MEMLIB) is used as the name of the JCL member.

Table 87 CTMAESIM Parameters

Parameter

Description

command

Determines how the simulation works. Valid values:

  • LIST – Control-M checks the JCL and writes the results to SYSPRINT only.

  • SEND – Same as LIST. This command is supported for reasons of backward compatibility. Command LIST is the preferred command.

  • SUBMIT – Control-M checks the JCL and writes the results to both SYSPRINT and to the file referenced by DDstatement DASUBMIT. If you specify INTRDR for the RDR parameter, the job is submitted for execution and the JCL is also checked by MVS. The submitted job will fail if there are any AutoEdit errors in the JCL member.

  • SUBSCAN – Same as SUBMIT except that the statement TYPRUN=SCAN is added to the job statement. If you specify INTRDR for RDR, the job is submitted but not executed. The JCL is checked by MVS.

  • When the SUBSCAN option is chosen, for internal processing purposes, the utility inserts the following accounting code into the jobcard of the job:
    CTM-FORCE-AESNM

  • In addition, under JES3 systems, the following JES3 statement is also inserted:
    //*NET ID=AESUSER

  • When executing the AutoEdit simulation SUBSCAN function, any JES statements that can cause the console subsystem to be triggered are removed from the job's runstream. Examples of such JES2 statements are:

    Copy
    /*MESSAGE/*NETACCT
    /*NOTIFY
    /*OUTPUT
    /*PRIORITY
    /*ROUTE
    /*SIGNxxx
    /*SETUP
    /*XMIT

JES3 statements that have similar effects are also removed.

Use this function if a JCL-checking product is in use at the site. The utility creates a copy of the JCL member with all Control-M AutoEdit variables resolved. The JCL-checking product can then be invoked against this copy. If JOB/SCAN is in use at the site, consider using the on-line version of the CTMAESIM utility, which is described in the Control-M for z/OS User Guide.

ODATE

Original scheduling date of the job. Optional.

SETVAR

Assigns values to AutoEdit variables (in batch only):

  • In JCL Library mode, parameter SETAVAR assigns AutoEdit variable values without referencing the scheduling library.

  • In Scheduling Library mode, parameter SETAVAR can be used to test values that are not set in the job scheduling definition.

To prevent Control-M from trying to resolve AutoEdit variables specified in the SETVAR control statement, the user must either:

  • submit the CTMAESIM utility outside of Control-M or

  • code the AutoEdit command %%RESOLVE OFF prior to the SETVAR control statement

WDATE

Working date. Optional.

$SIGN

Assigns a value to the %%$SIGN System variable

Any number of members can be submitted for testing in one simulation run.

If multiple members are specified, not all parameters need to be specified for each member. The first member always requires a complete set of parameters. Subsequent members require specification of the member name, command, and any parameter statements whose values differ from the values of the preceding member. For all unspecified parameters, the simulation uses the corresponding value provided for the preceding member as the default.

Activating the CTMAESIM Utility

You can activate the utility either through a batch JCL or invoking it from another program.

CTMAESIM from Batch JCL

The following is a sample batch JCL used to invoke CTMAESIM:

Copy
// .... JOB ....
// EXEC CTMAESIM
//DASIM DD *

Invocation of CTMAESIM from another program

The following is sample code used to invoke CTMAESIM from another program:

Copy
    CALL  CTMAES,(DUMMY)
...
DUMMY    DC    F'0'

When you invoke CTMAESIM from another program, observe the following conventions:

  • The procedure that executes the invoking program must allocate all the files that are necessary to execute AutoEdit simulation.

  • There must be no conflict between the DDnames required by the program and by AutoEdit simulation (for example, the DDname SYSPRINT).

  • Because CTMAES is an authorized module, you must ensure that any program that calls it must also be authorized and resides in an authorized library.

  • All the loadlibs in the STEPLIB concatenation must be authorized.

  • INCLUDE the CTMAES module from the IOA loadlib in the link-edit step.

  • Prior to calling CTMAES, the invoking program must be placed into AMODE 31.

  • The calling program must be in RMODE 24.

  • The module must not be linked as RENT (re–enterable) or REUS (reusable).

  • Even though CTMAES does not require any parameters, when invoked from a high-level language such as COBOL or PL/1, it must be called with a dummy parameter containing zeros (0).

CTMAESIM Return Codes

Table 88 CTMAESIM Return Codes

Code

Description

0

Operation performed successfully

8

One of the following occurred:

  • An error was detected in the utility control statements.

  • Operation failed in the Submitter component. Look for an SUBxxxy error message to determine the cause of the problem.

Other

Operation failed

Examples for CTMAESIM

CTMAESIM Example 1

The following jobs are checked by Control-M and if no errors are found, they are submitted (but not executed) and checked by the MVS JCL checking mechanism:

Figure 16 CTMAESIM – Example 1

Copy
// . . . JOB . . .
//    EXEC CTMAESIM,RDR=INTRDR
//DASIM DD *
USERID   SY01
WDATE    060600
ODATE    060600
$SIGN    2
MEMBER    JOBDAY01
LIBRARY    SYS3.CTM.JOBS
SUBMIT
OWNER    SY01
WDATE    060600
ODATE    060600
MEMBER    JOBWEKLY
LIBRARY    SYS3.CTM.JOBS
SUBMIT

CTMAESIM Example 2

The following jobs are checked in Scheduling Library mode and the results appear in the sysout:

Figure 17 CTMAESIM – Example 2

Copy
// . . . JOB . . .
// . . . EXEC CTMAESIM,RDR=INTRDR
//DASIM DD *
ODATE    060600
SCHEDLIB    SYS3.CTM.JOBS
TABLE    DEFSCHED3
JOB    TAPE01
LIST
JOB    TAPE02
LIST
TABLE    DEFSCHD4
JOB    JOB1
LIST

CTMAPI - Control-M Application Program Interface

The Control-M Application Program Interface (CTMAPI) is an open interface between the application environment and Control-M. CTMAPI enables application programs to interface with Control-M, allowing access to IOA and Control-M services and enabling you to extract data from Control-M into your own programs.

CTMAPI is accessible from all application environments. It can be called from the following programs or environments:

  • High Level Language or Assembler programs, running under various environments, such as CICS, IMS, or the like

  • a batch job or step

  • REXX or CLIST

CTMAPI supports various types of services, but not all of them are supported under all environments. Some of the functions can be executed using existing IOA or Control-M utilities. For example, CTMJOB can be used to order jobs. Other functions, such as the Status request or AJF Action requests, cannot be processed by means of any other existing program or utility.

Future enhancements will be provided first to the API, rather than to the appropriate utility. Therefore, BMC recommends that you use CTMAPI for all requests, even functions that are supported using other utilities.

For a detailed description of CTMAPI see , The Control-M Application Program Interface (CTMAPI) in the Control-M for z/OS User Guide.

CTMBGRP – Convert Regular Scheduling Tables to Group Scheduling Tables — Replaced

This utility has been replaced by the CTMBTBL utility, described in CTMBTBL – Convert Tables to SMART Tables. BMC recommends that you no longer use the CTMBGRP utility.

CTMBTBL – Convert Tables to SMART Tables

The CTMBTBL utility automatically converts tables to SMART Tables.

During conversion to a SMART table, the following actions are automatically performed by the utility:

  • A SMART Table Entity is created for the table.

  • A table name is defined and added (in protected mode) to the TABLE field in each job scheduling definition.

  • The format of the regular job scheduling definitions is modified to match the format of job scheduling definitions in SMART Tables (meaning, the SCHEDULE RBC field is added to, and supported in, the job scheduling definitions).

  • By default, the value of parameter MAXWAIT is obtained from the SMART Table definition. However, if parameter RBCMAXWT in member CTMPARM of the IOA PARM library is set to N (No), the value of this parameter is obtained from the job definition.

  • Basic scheduling criteria specified in a job definition are converted to a TBL Level RBC in the SMART table.

  • If a job in a regular table is using a CTM Level RBC, the regular table is not converted to a SMART table and an appropriate message is issued.

Compress jobs within a table (meaning, job scheduling definitions with the MINIMUM and PDS fields defined) are converted, but these jobs are not assigned SCHEDULE RBC fields. Instead, their only scheduling criteria after the conversion are the MINIMUM and PDS criteria. However, a SCHEDULE RBC field can be manually added following conversion.

CTMBTBL Statements and Parameters

The utility receives parameters using DD statement SYSIN. All utility messages are written to the SYSPRINT file.

CTMBTBL Statements

The required data sets are referenced by the following DD statements:

Table 89 CTMBTBL Required Data Sets

Data Set

Description

DALOG

References the IOA Log file

SYSIN

References the utility input file

SYSPRINT

References the utility message file. This file can be a SYSOUT file.

Keywords in the SYSIN statements must be specified beginning in column 1 and the keywords must appear in the exact sequence indicated.

CTMBTBL Parameters

Table 90 CTMBTBL Required Keywords

Keyword

Description

ADJUST-COND

Optional. Whether to set the ADJUST CONDITIONS parameter in the SMART Table Entity to Yes, No, Dummy, or Bridge. Valid values are:

  • Y

  • N (Default)

  • D - Dummy

  • B - Bridge

RBC-PREFIX

Optional. Whether to use the group name or table name as the prefix for the rule-based calendar names created in the SMART Table Entity. Valid values are:

  • the value of GROUP

  • the value of TABLE

Default: GRB_GEN_RBC .

IN-TABLE

Old table library and member

OUT-TABLE

New (SMART) table library and member

Multiple tables can be converted in a single run of the utility by passing multiple sets of IN or OUT lines. These sets can be separated by one or more comment lines.

The value assigned to OUT-TABLE cannot be identical to value of IN-TABLE.

WARNING!: If the output table (OUT-TABLE) already exists, it will be overwritten when the CTMBTBL utility creates a new output table.

Activating the CTMBTBL Utility (and Example)

A job to activate the utility can be found in member CTMBTBL in the Control-M JCL library.

CTMBTBL Return Codes

Table 91 CTMBTBL Return Codes

Code

Description

0

All SMART tables were successfully converted.

4

All tables were successfully converted, but at least one of the tables contained at least one compress job. Compress jobs are not assigned SCHEDULE RBC fields during conversion.

8

At least one table was not converted due to error. An error message identifying the unconverted table, and the error, was issued for each unconverted table.

16

Initialization failed. No tables were converted. A message indicating the error was issued.

20

Insufficient memory. No tables were converted.

CTMBLDAE – Build AutoEdit Symbols Member

The CTMBLDAE utility automatically builds AutoEdit symbol members using regular and periodic IOA calendars as input. For more information about types of AutoEdit symbols and instructions, see the JCL and AutoEdit facility chapter in the Control-M for z/OS User Guide.

For every scheduled date in the specified calendar, the CTMBLDAE utility creates one line in an AutoEdit member. The content of this line is determined according to a user-defined "generation (GEN) card." The GEN card is a string used to create records in the output member (one record for each scheduled date in the calendar).

This utility must be executed outside of the Control-M environment or with a %%RESOLVE OFF AutoEdit statement preceding the SYSIN parameter.

CTMBLDAE Parameters

The parameters for the CTMBLDAE utility are specified in blocks in the SYSIN file. Blocks consist of the following mandatory parameters (described below):

CALLIB=input-calendar-librar

ALMEM=input-calendar-member

OUTLIB=output-library

OUTMEM=[/]output-member

GEN=string

ENDCAL

  • More than one block of parameters can be specified.

  • Each parameter must be specified in each block. However, the parameters in each block can be specified in any order.

    In a parameter block, each parameter is specified only once. However, if a parameter is specified more than once in a block, only the last occurrence of the parameter in the block is accepted.

  • If more than one parameter block is specified, each parameter block must be delimited by parameter ENDCAL.

  • Comment lines can be specified by coding * in column 1.

  • Parameter lines must not contain any TSO line numbers (in column 73 - 80).

Blocks of parameters are specified in the following format:

Table 92 CTMBLDAE Parameters

Parameter

Description

CALLIB

Name of the library containing the calendar to be used as input to the utility

CALMEM

Name of the member containing the calendar to be used as input to the utility

ENDCAL

Delimits parameter blocks. Mandatory.

GEN

String that forms the basis of the AutoEdit variables created by the utility. The usual format for this string is

variable=expression

where

  • variable is a user-defined AutoEdit variable

  • expression is a value or expression that resolves to a specific value

The variable and/or expression can contain any of the following reserved words (substrings) that are replaced with the corresponding date values:

  • ODAT – represents the date scheduled in the calendar, in yymmdd format.

  • NEXT – represents the next date scheduled in the calendar, in yymmdd format.

  • PREV – represents the previous date scheduled in the calendar, in yymmdd format.

  • ODAY – represents the day scheduled in the calendar, in dd format.

  • OMONTH – represents the month scheduled in the calendar, in mm format.

  • OYEAR – represents the year scheduled in the calendar, in yy format.

  • $ODAT – represents the date scheduled in the calendar, in yyyymmdd format.

  • $NEXT – represents the next date scheduled, in yyyymmdd format.

  • $PREV – represents the previous date scheduled in the calendar, in yyyymmdd format.

  • $OYEAR – represents the year scheduled in the calendar, in yyyy format.

  • $OCENT – represents the first two digits, in the yyyy date format (for example,20 in 2000).

  • PERIOD – represents the one-character period designation of the scheduled day, when the CALMEM calendar is periodic.

GEN

The variable and/or expression can also contain the reserved substring, %%##. This substring represents a sequential line number for each line generated by the utility.

OUTLIB

Name of the library to which the AutoEdit member, created by the utility, is written

OUTMEM

Name assigned to the AutoEdit member created by the utility.

If the user specifies the same output member (meaning, the same OUTLIB or OUTMEM combination) in more than one block, normally only the results of the last occurrence of that member are saved.

To retain the results of all occurrences of that output member, use the expression PARM=MERGE in the JCL EXEC statement. If you use this statement, the results of each occurrence of the output member are concatenated in the member.

If the OUTMEM parameter is specified using the format OUTMEM=/member-name, the expression PARM=MERGE is ignored for the block.

Activating the CTMBLDAE Utility

Activate the utility using the CTMBLDAE member in the Control-M JCL library.

CTMBLDAE Return Codes

Table 93 CTMBLDAE Return Codes

Code

Description

0

Operation performed successfully

8 and above

Operation failed

Examples for CTMBLDAE

CTMBLDAE Example 1

Figure 18 CTMBLDAE – Example 1

Copy
//SYSIN    DD    *
CALLIB=CTM.PROD.CAL
CALMEM=PAYROLL
OUTLIB=CTM.PROD.SYMBOLS
OUTMEM=PAYCHECK
GEN=%%DATE_TYPE_OF_ODAT=REGULAR
//

Input calendar PAYROLL looks like the following (in September 2000):

Copy

-----S-------------S-------------S-------------S-------------S-------------S    
    1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
09    Y    Y    Y    Y
-----S-------------S-------------S-------------S-------------S-------------S    

An AutoEdit table named PAYCHECK is created, as follows:

Copy
%%DATE_TYPE_OF_000908=REGULAR
%%DATE_TYPE_OF_000915=REGULAR
%%DATE_TYPE_OF_000922=REGULAR
%%DATE_TYPE_OF_000929=REGULAR

CTMBLDAE Example 2

A job requires as input a data set whose name contains the date – PREFIX.%%RL%% created on the date of the program’s last run. The JCL for the job contains the following statements:

Figure 19 CTMBLDAE – Example 2

Copy
//JCL JOB
//* %%LIBSYM CTM.PROD.SYMBOLS %%MEMSYM RLPREVD
//    EXEC PGM=RLPGM
//SYSUT1  DD  DSN=PREFIX.%%RL%%ODATE,DISP=SHR
//SYSUT2  DD  DSN=PREFIX.RL%%ODATE,DISP=(NEW,CATLG)

The CTMBLDAE utility is submitted with the following statements:

Copy
%%RESOLVE OFFCALLIB=CTM.PROD.CAL
CALMEM=RLRUN
OUTLIB=CTM.PROD.SYMBOLS
OUTMEM=RLPREVD
GEN=%%RLODAT=RLPREV

Input calendar RLRUN looks as follows (in September 2000):

Copy
 -----S-------------S-------------S-------------S-------------S-------------S
    1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
09    Y    Y    Y    Y
-----S-------------S-------------S-------------S-------------S-------------S

An AutoEdit symbols member named RLPREVD is created:

Copy
%%RL990907=RL000831
%%RL990914=RL000907
%%RL990921=RL000914
%%RL990928=RL000921
%%RL991005=RL000928

The submitted JCL DD statements on September 14, 2000:

Copy
//SYSUT1    DD  DSN=PREFIX.RL000907,DISP=SHR
//SYSUT2    DD  DSN=PREFIX.RL000914,DISP=(NEW,CATLG)

CTMBLDAE Example 3

For JOB2, CTMBLDAE merges all the GEN statements for member PAYCHECK.

Figure 20 CTMBLDAE – Example 3

Copy
//SYSIN    DD    *
CALLIB=CTM.PROD.CAL
CALMEM=PAYROLL
OUTLIB=CTM.PROD.SYMBOLS
OUTMEM=PAYCHECK
GEN=%%DATE_TYPE_OF_ODAT=REGULAR
ENDCAL
CALLIB=CTM.PROD.CAL
CALMEM=PAYROLL
OUTLIB=CTM.PROD.SYMBOLS
OUTMEM=PAYCHECK
GEN=%%DATE_TYPE_OF_$ODAT=REGULAR
ENDCAL
CALLIB=CTM.PROD.CAL
CALMEM=PAYROLL
OUTLIB=CTM.PROD.SYMBOLS
OUTMEM=PAYCHECK
GEN=%%DATE_TYPE_OF_ODAT_NEXT=REGULAR
ENDCAL
//

Input calendar PAYROLL looks as follows (in September 2000):

Copy
-----S-------------S-------------S-------------S-------------S-------------S
    1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
09    Y    Y    Y    Y
-----S-------------S-------------S-------------S-------------S-------------S    

An AutoEdit table named PAYCHECK is created:

Copy
%%DATE_TYPE_OF_000908=REGULAR
%%DATE_TYPE_OF_000915=REGULAR
%%DATE_TYPE_OF_000922=REGULAR
%%DATE_TYPE_OF_000929=REGULAR
%%DATE_TYPE_OF_20000908=REGULAR
%%DATE_TYPE_OF_20000915=REGULAR
%%DATE_TYPE_OF_20000922=REGULAR
%%DATE_TYPE_OF_20000929=REGULAR
%%DATE_TYPE_OF_000908_000915=REGULAR
%%DATE_TYPE_OF_000915_000922=REGULAR
%%DATE_TYPE_OF_000922_000929=REGULAR

CTMBLT – Create Tables

The CTMBLT utility automatically builds Control-M tables containing job scheduling definitions according to a set of specified input statements, and optionally orders or forces them.

The utility builds tables that can contain multiple job scheduling definitions. At least one table must be defined in each library specified. At least one job scheduling definition must be defined in each table. For SMART Tables, the scheduling definition for the table must be defined for the jobs in the table as a whole.

For a description of other output files created by the utility see Activating the CTMAESIM Utility

CTMBLT Parameters

The CTMBLT utility receives parameters from an input file referenced by the DAINPRM DD statement. The syntax of the input statements is:

Figure 21 CTMBLT Input Syntax

Copy
[{LIBRARY=libraryname}
{MEM-OVERWRITE=Y|N|ADD|ADDG|ORDER|FORCE}
{RECOVER_AFTER_ABEND=Y|N}
{ADD-GLOBAL=Y|N|G|J}
{OPTION=opt}
[
{Super Global Parameter Statements}
TABLE=tablename
{Global Parameter Statements}
[
     {TABLE-ENTITY=table-entity-name| GROUP-ENTITY=group-entity-name}
     MEMNAME=jobname
     {Optional Local Parameter Statements}
     {SCHEDULE-RBC=rbcname}
]
]
]

Note the following points about this syntax:

  • Parameters enclosed in braces { } are optional.

  • Parameters not enclosed in braces { } are mandatory.

It is not necessary to define mandatory parameters locally if their corresponding global definitions have been provided.

  • The set of parameters enclosed in a matching pair of brackets [ ] can be specified more than once.

  • Parameters may begin in any column of the 80-byte input record. No spaces are included between keywords and parameters.

  • One parameter is permitted per line. Subparameters can follow a main parameter on the same line, separated from the main parameter by a comma. Comments can be placed on the same line, separated from the parameter by a space.

  • To use a double-byte character set (DBCS) in free text fields, enclose the free-text parameter values (for example,DESC, SHOUT MSG) between shift-out (x’OE’) and shift-in (x’OF’) delimiter bytes to indicate the beginning and end of DBCS text.

  • Lines beginning with an asterisk (*) are treated as comments.

  • Any parameters whose values contain special characters (for example, DESC='this description, contains blanks and commas') should be enclosed in either single or double quotes, or parentheses.

The parameters specified in the input file are divided into the following groups:

  • General Parameters

    • These parameters specify scheduling library names (LIBRARY), table names (TABLE), job or SMART Table Entity scheduling definition names, (MEMNAME and TABLE-ENTITY) and rule-based calendars (SCHEDULE-RBC).

    • This set of parameters also contains the following control parameters: MEM-OVERWRITE, ADD-GLOBAL, and OPTION. These control parameters can be specified any number of times, in any order, anywhere in the input stream. Each control parameter applies to the table definition in which it is embedded, taking effect from the point where it is encountered, and all subsequent table definitions, until a new value for the parameter is specified.

  • Job Scheduling Definition Parameters

    • These parameters correspond to the parameters of the job scheduling definition screen. They can be defined in the ways shown in the following table:

Table 94 CTMBLT Job Scheduling Definition Parameters

Parameter

Description

Global

Apply to all job scheduling definitions in the table in which they are specified. When multiple occurrences of a parameter are not permitted, and there are no Local definitions specified, the Global definition of the parameter is applied. Global definitions are specified by placing such parameters between the TABLE parameter and the first MEMNAME or TABLE-ENTITY (SMART Table Entity) parameter in the table.

Local

Apply only to the job scheduling definition for which they are specified.

Super Global

Super Global parameters, if specified, must be specified before the first TABLE parameter and after any control parameters in the input stream. Alternatively, they can be specified after parameter TABLE=*END that is used to delimit the scope of the Super Global parameters (rather than to define a new table). Any job scheduling definition parameter defined as a Super Global parameter remains in effect as a Global parameter across all the tables in the input run stream until a TABLE=*END parameter is encountered or until the end of the run stream.

The sequence in which the parameters appear in the input file is important as it determines

  • which job and SMART Table Entity scheduling definitions belong in which table, and which tables belong in which library

  • whether job scheduling definition parameters are interpreted as Super Global, Global or Local

    When duplicate parameters are specified as Global or Super Global parameters, only the last takes effect.

  • Special Parameters

    • MODEL – By using this parameter when creating a new job scheduling definition, you can significantly reduce the number of job scheduling parameters you need to code. You achieve this by specifying an existing job scheduling definition to serve as a model or skeleton. When you do, the effect is as if you had effectively specified every possible CTMBLT job scheduling parameter, with values corresponding to those contained in the job scheduling definition of the model.

      MODEL must be the first parameter specified in the job scheduling definition; it must be specified immediately after the MEMNAME or TABLE-ENTITY (SMART Table Entity) parameters.

      You cannot specify MODEL as a global or super-global parameter.

      MODEL fields supplied for multiple value fields (for example, IN and OUT) are always retained in the output job definition – the values provided by input parameters (LOCALs, and GLOBALs/SUPER GLOBALs if ADD-GLOBAL=Y) are added to the output job definition.

      After specifying MODEL, you can specify any number of job scheduling parameters to modify or add to the model definition, subject to the following restrictions:

      • Job scheduling parameters specified after MODEL must be consistent with the model. If, for example, the model definition contains DAYS values and you wish to specify DATES parameters, then precede the DATES parameters with the OPTION=/DATES statement. For more information, see "OPTION" in CTMBLT General Parameters.

      • If the model you specify contains an RBC which is not defined in the SMART Table Entity to which the current job belongs, CTMBLT will accept the model, but will produce an error message after displaying the job scheduling definition.

      • If the model you specify contains an RBC, but the current job does not belong to a SMART Table, the RBC is ignored.

      • You can only specify a model SMART Table Entity following a TABLE-ENTITY (SMART Table Entity) general parameter.

    • JCL – This parameter is used to build in-line JCL statements to replace the JCL member specified in the MEMLIB parameter.

    • APPL-FORM, APPL-TYPE, APPL-VER, CM-VER – These parameters are used when defining jobs as distributed (non-mainframe) job definitions. For information about the proper usage of these parameters, consult the relevant Control-M User Guide.

    • DEFTYPE – This parameter is used to specify that a job definition is to be built for use on a distributed platform only.

The parameters of the input file are described below, according to SMART Table.

CTMBLT General Parameters

Table 95 CTMBLT Parameters

Parameter

Description

ADD-GLOBAL

Determines if Global parameter definitions and/or Super Global parameters are added when Local definitions for the parameter exist. Local parameter definitions are always applied. Therefore, this parameter is relevant only for parameters that can be specified more than once in a job scheduling definition.

Valid values are:

  • Y (Yes) – Add Global or Super Global parameter definitions after the local parameter definitions. Default.

  • N (No) – Ignore Global parameter definitions when a Local parameter definition exists. Therefore:

  • - If any local was provided in the input, globals will NOT be added.

  • - If no local was provided in the input, globals will be added.

  • G (SMART Table Entity only) – global parameter definitions are only processed for SMART Table Entities

  • J (job definition only) – global parameter definitions are only processed for job definitions (and not SMART Table Entities).

The value pairs Y/N and G/J are NOT mutually exclusive to each other. For example,

  • - ADD-GLOBAL=Y and ADD-GLOBAL=J can both be in affect simultaneously

  • - ADD-GLOBAL=Y/N does not affect processing of globally defined blocks ON PGM and SHOUT-WHEN. Parameters affected by this ADD-GLOBAL=Y/N are indicated with ‘++’ in column ‘M’ of the Job Scheduling Definition Parameter Tables.

END

Terminates the processing of input control statements from the DAINPRM file. This parameter is optional—it is necessary only when calling CTMBLT from other programs under certain circumstances; see the line# parameter in Table 96 in Calling the CTMBLT Utility from another program.

TABLE-ENTITY

The table-entity-name value specified (not more than 20 characters) is not used but is required for backward compatibility. When the TABLE-ENTITY parameter follows a TABLE parameter (and any global parameters following the TABLE parameter), the table is a SMART Table. All parameters that follow the TABLE-ENTITY parameter, until the next MEMNAME or TABLE parameter (or end-of-input), define the SMART Table Entity.

The TABLE-ENTITY parameter must not follow the MEM-OVERWRITE=ADD(G) parameter.

GROUP-ENTITY

The group-entity-name specified (not more than 20 characters) is propagated to the GROUP name of both the table-entity and all job definitions in the SMART table. Any GROUP parameters coded in the table-entity or job definitions are ignored. When the GROUP-ENTITY parameter follows a TABLE parameter (and any global parameters following the TABLE parameter), the table is a SMART Table. All parameters that follow the GROUP-ENTITY parameter, until the next MEMNAME or TABLE parameter (or end-of-input), define the SMART Table Entity.

The GROUP-ENTITY parameter must not follow the MEM-OVERWRITE=ADD(G) parameter.

LIBRARY

Specifies the name of the library in which the table is saved.

  • The LIBRARY parameter is optional, but if specified, it must be the first parameter specified to the utility. If the LIBRARY parameter is not specified, add DDstatement DASCHD, as explained in Activating the CTMBLT Utility and Considerations (CTMBLT). The CTMBLT utility runs more efficiently when a DDstatement is specified in place of the LIBRARY parameter.

  • The LIBRARY parameter must be followed by at least one TABLE parameter.

  • The LIBRARY parameter applies to all subsequent TABLE parameters until another LIBRARY parameter, or the end of the input file, is encountered.

  • When multiple LIBRARY parameters are specified, each LIBRARY parameter (after the first) should be immediately preceded by a TABLE=*END statement.

MEMNAME

Specifies the JCL member name of the job (and therefore the name of the job scheduling definition).

Although MEMNAME is a job scheduling definition parameter, it is included here as a general parameter because it determines the name of the job scheduling definition and cannot be defined globally.

Since each job scheduling definition applies to a specific JCL member, the name assigned to the job scheduling definition is the name of the JCL member.

At least one MEMNAME parameter must be specified after each TABLE parameter. You should create a SMART Table consisting of only a SMART Table Entity with no jobs only if the IOA Profile variable PTBLEMPT is set to Y (see the INCONTROL for z/OS Administrator Guide for details). Each occurrence of the MEMNAME parameter indicates the beginning of a new job scheduling definition.

MEM-OVERWRITE

Determines how the table (and its jobs) is handled

Valid values are:

  • Y (Yes) – Overwrite the current table if a table with the same name already exists in the library.

  • N (No) – Do not overwrite the current table if a table with the same name already exists in the library. Display an error message. Default.

  • ADD – If the table does not exist, add it to the library. If a table with the same name already exists, add the new jobs to the existing table. This option cannot be used to add SMART Tables to a library.

  • ADDG – Adds jobs to a SMART Table. If a SMART Table with the same name already exists, add the new jobs to the existing SMART Table.

  • ORDER or FORCE – Do not write the table to a library. Directly order or force jobs to the Active Jobs file without creating Control-M job scheduling definitions. However, if OPTION=S is specified, job schedule tables are created. For details, see Building Tables in Memory Followed by Immediate Ordering.

  • X – Do not write the table to a library. This option is useful when you want to test (simulate) the CTMBLT input statements for syntactical and logical correctness without creating the output tables.

Warning! Use caution if specifying Y (Yes) in this parameter because the old contents of all overwritten members are irretrievably lost.

RECOVER_AFTER_ABEND

Determines whether the CTMBLT build process is stopped immediately after an I/O Abend.

  • Y – The CTMBLT process continues when an I/O Abend occurs. Default.

  • N – The CTMBLT process stops immediately after an I/O Abend.

SCHEDULE-RBC

Specifies the name of a SCHEDULE RBC to be created in the SMART Table Entity (up to 20 characters). SCHEDULE-RBC cannot be followed by the D-CAT, MINIMUM and PDS parameters. Up to 5000 SCHEDULE-RBC parameters can be defined in a table scheduling definition. All parameters following the SCHEDULE-RBC parameter define the scheduling criteria for that calendar, until the next occurrence of the SCHEDULE-RBC parameter. The special keyword SCHEDULE-RBC=*END must be specified after the scheduling criteria of the last SCHEDULE-RBC parameter to identify the end of those scheduling parameters.

Global or Super Global basic scheduling parameters (DAYS, WDAYS, and so on.) are not applied to rule-based calendars defined in the SMART Table Entity definition.

SCHEDULE-RBC definitions (that is, the rule-based calendars name together with its basic scheduling parameters) cannot be specified within Global or Super Global parameters.

RBC-LEVEL

The level of the rule-based calendar to be created.

Valid values:

  • CTM - the associated RBC is to be created as a CTM level rule-based calendar

  • TBL - the associated RBC is to be created as a TBL level rule-based calendar

TABLE

Specifies the name of the table (member) to be created

  • A table name must be a valid partitioned data set (PDS) member name.

  • At least one TABLE parameter must be specified after each LIBRARY parameter.

  • For tables (handling jobs individually), at least one MEMNAME parameter (identifying a job scheduling definition) must follow each TABLE parameter.

  • The TABLE parameter applies to all subsequent job scheduling definitions until the next TABLE parameter or the end of the input file is encountered.

  • When a TABLE=table-name parameter is followed by another TABLE=table-name parameter, and the table-name value is the same as in the previous TABLE parameter, the following occurs:

  • - succeeding job definitions continue to be placed in the same TABLE table-name and

  • - the user can add to or modify the global parameters for the TABLE.

The new or modified global parameters are those parameters that follow the duplicate TABLE parameter, until the next MEMNAME parameter is encountered. The new global statements take effect in the job definition in which they are specified. This enables the user to change or override global parameters several times during a table definition, if necessary.

For additional usage of the TABLE parameter, see the discussion of Super Global parameters in Table 94 in CTMBLT Parameters, and the LIBRARY parameter in this table.

OPTION

Enables customization of the utility operation. Valid values are:

  • /xxx — Overrides the values specified by xxx, where xxx is DAYS, DATES, WDAYS, MONTHS, DESC, SETVAR, or RBC.
    On the next line (after the OPTION=/xxx parameter), set a new value for xxx (DAYS, DATES, WDAYS, MONTHS, DESC, SETVAR, or RBC). If you only want to clear the existing value (for DAYS, DATES, WDAYS, MONTHS, or DESC), set xxx to an empty value. To clear an existing value with SETVAR or RBC, set OPTION=/SETVAR or OPTION=/RBC.
    This method of overriding values of job parameters is especially useful when used after the MODEL parameter. It enables you to override, rather than add to, the existing values of the parameters specified in the model job schedule definition.

For examples of various scenarios for using the OPTION=/xxx parameter, see CTMBLT Example 9.

Overriding the DAYS value also clears the DCAL and RELATION values. Similarly, overriding the WDAYS value also clears the WCAL and RELATION values.

  • O — Prevents the utility from failing (and issuing messages CTM391S and BLT895I) due to multiple, contradictory values. Setting OPTION to O instructs the utility to use the last-specified contradictory value to override all previous contradictory values.

  • For example, if WDAYS=1 is specified and followed by WDAYS=-1, WDAYS=-1 overrides WDAYS=1 if OPTION=O is specified.

  • By specifying OPTION=O when also using the MODEL parameter, you can override DAYS and then set DATES (or vice versa), without receiving an error message. See also CTMBLT Example 9.

  • E — Writes the table to the scheduling library (subject to any specified MEM-OVERWRITE override) even if an error occurred during processing of a table input parameter.

The utility ignores the OPTION=E parameter when creating SMART Tables.

  • V — Suppress parameter validation processing. This option should not be specified except upon explicit request of the BMC Customer Support representative. To reactivate parameter validation processing specify OPTION=V/.

OPTION (cont)

  • M — Causes additional information messages to be produced by the utility. (Expanded message option.)

  • Q — When the CTMBLT utility tries to create or update a table that is being updated or edited by another task simultaneously, it produces the following error message:

  • dsn in use

  • If OPTION is set to Q, the CTMBLT utility waits until the other task completes updating the table and no error message is produced. Ensure that an enqueue management product issues periodic reminders that a resource conflict must be resolved (alternate serialization enqueue method).

  • S[/subopt] — Indicates that the job scheduling definition is saved in the scheduling library after the job is ordered or forced. If value ORDER or FORCE has been specified for parameter MEM-OVERWRITE, OPTION=S can be used to specify as a subopt value one of the usual values of MEM-OVERWRITE (that is, Y (Yes), N (No), ADD, or ADDG). The specified value has the same meaning and application as if specified in parameter MEM-OVERWRITE.

  • If OPTION is set to S, the LIBRARY parameter, if specified, must contain the name of an existing scheduling library.

    • I — Suppresses the ISPF statistics which the CTMBLT utility normally creates for each member (table) in the job scheduling library.

    • C — The CTMBLT utility ignores the setting of the EMPTYTBL parameter in the CTMPARM member (in the IOA PARM library) and always allows empty SMART tables to be created. This option is useful when using CTMBLT to convert from a 3rd party scheduling product.

    • ! — The CTMBLT utility verifies that the EXCLUDE RBC functionality feature is enabled (through the EXCLURBC parameter in the CTMPARM member of the IOA PARM library). If it is not enabled, the current run fails and a message is issued indicating that the feature must be enabled to process the RBC definitions.

    • R[/Y] — Dynamically creates external (LEVEL=CTM) SCHEDULE RBCs in the IOA RBC library whenever CTMBLT creates a CTM LEVEL SCHEDULE RBC in a job scheduling definition. If OPTION=R/Y is specified then existing SCHEDULE RBCs will be replaced in the RBC library.

OPTION (cont)

  • D/variable-name — When the MODEL parameter is specified, it normally contains 3 mandatory subparameters (see Table 103). When duplicate jobnames exist in a scheduling table, it is not possible to indicate which of the duplicate jobs are to be used as a MODEL. OPTION=D allows the specification of a fourth optional subparameter to differentiate between the duplicate jobs when the jobs contain a SETVAR variable variable-name, and this allows CTMBLT to choose the correct model. In such a case, the fourth subparameter should be coded with the value of the desired SETVAR variable.

    If OPTION=D is not specified, then the first (or only) copy of the duplicate jobs is used for modeling.

    If OPTION=D/variable-name is specified and a fourth subparameter is not specified in the MODEL statement, then the duplicate job in which SETVAR variable-name is not present is selected to serve as the model job.

    Table TBL in library SCHED.LIB contains 3 duplicate jobs named DUP. In each of these duplicate jobs there is a SETVAR variable THISJOB. The values of THISJOB for the 3 jobs are JOB1, JOB2, and JOB3, respectively. The user wants to select the third of the duplicate jobs to serve as a model for job JOBMODEL to be created by CTMBLT. To accomplish this, code the following CTMBLT statements:

    Copy
    OPTION=D/THISJOB
    MEMNAME=JOBMODEL
    MODEL=(SCHED.LIB,TBL,DUP,JOB3)

CTMBLT Job Scheduling Definition Parameters

These parameters correspond to the parameters of the Control-M job scheduling definition screen. For a detailed description of what each parameter does, refer to the job production parameters chapter in the Control-M for z/OS User Guide. For a brief description of each parameter, see Job Scheduling Definition Parameter Tables.

Some parameters, including DATES, IN, CONTROL, RESOURCE, OUT, CODES, MAIL-TO, and MAIL-CC, can be repeated by specifying more than one value for the parameter.

Calling the CTMBLT Utility from another program

The CTMBLT utility can be called from another program. The calling program passes required control statements to the CTMBLT utility using a table residing in memory (rather than from a data set referenced by the DAINPRM DD statement). The CTMBLT utility can also pass back to the calling program replies on the activities it performed.

To call CTMBLT from another program and pass a table of control statements residing in memory to the CTMBLT utility, specify the following parameters in the calling statement:

Except for the cnt parameter, not all the parameters are required. If a parameter is not required, you should specify 0 as the value, unless it is the last parameter in the list, in which case you can omit it.

Table 96 CTMBLT Calling Parameters

Parameter

Description

cnt

Specifies the number of parameters that follow (valid values are 2, 3, and 4). This parameter must be a halfword.

line#

Specifies the number of control statements being passed to the CTMBLT utility. This parameter must be a full word.

This parameter is mandatory if an address of a table residing in memory is also specified, unless an END statement has been included in the table containing the CTMBLT control statements.

taddress

Specifies the address of the table residing in memory. This table contains CTMBLT control statements, and each element in the table must be an 80-byte card image.

altaddress

Specifies the address of the table of alternate ddnames that CTMBLT uses. This table provides alternate ddnames for the following files:

  • DAINPRM

  • DAPRINT

  • DASCHD

  • DATABERR.

This parameter points to a table containing these four 8-byte alternate ddnames, in the order shown. A DD name for which the user does not want to supply an alternate must be left blank. You must use this table when the calling program is already using one of these ddnames.

Do not use DAMSG as an alternate DD name, and do not use DD name LIBOUT as an alternate for DASCHD.

replyaddr

Specifies the address of a parameter list used when requesting replies from CTMBLT and any program that it calls, such as CTMJOB when setting MEM-OVERWRITE to ORDER or FORCE. These replies usually contain information about each table built by CTMBLT, and about jobs ordered by CTMJOB.

The parameter list must be formatted as specified in macro CTMBAPI, which is supplied in the IOA MAC library, as shown in Table 97. The BAPIRPLS and BAPIRPLE parameters must be specified. These parameters indicate the beginning and end (last byte) address of a reply area, which the user must supply. Optionally, the user can specify the BAPICMDA and BAPICMDL parameters instead of the corresponding line# and taddress parameters in the CTMBLT calling list.

Replies from CTMBLT and the programs that it calls are returned to the area addressed by BAPIRPLS. CTMBLT returns as many replies as can be fit in this area, which is determined by BAPIRPLE. The number of replies is returned in BAPIRPL#. The format and size of the each reply slot is mapped by macro CTMBAPO in the IOA MAC library. If the supplied reply area is insufficient to hold all replies, a Reason Code of 286 is placed in BAPIRSN. The final utility return code is placed in BAPIURC.

Table 97 shows the CTMBAPI parameters used when requesting replies from CTMBLT and programs that it calls.

Table 97 CTMBAPI Parameters Used by CTMBLT

Parameter

Description

BAPICMDA

Address of CTMBLT input control statements

BAPICMDL

CTMBLT input control statement buffer length

BAPIRPLE

Address of the end of the reply area mapped by CTMBAPO

BAPIRPLS

Address of reply area slots mapped by CTMBAPO

BAPIRPL#

Number of reply entries returned to CTMBLT

BAPIRC

CTMBAPI return code

BAPIRSN

CTMBAPI reason code

Although there are other CTMBAPI parameters, they are reserved for program use, and should be initialized to binary zero.

For example, in Assembler the following statement format is used:

Copy
CALL    CTMBLT,(cnt,line#,taddress,altaddr,replyaddr)

If the CTMBLT utility cannot build a table, a non-zero return code is placed in register 15 (R15) and an error message is written to the file referenced by DD statement DAPRINT.

Building Tables in Memory Followed by Immediate Ordering

The CTMBLT utility can create tables in memory (instead of in a scheduling library) and order or force them.

This functionality enables users to order or force jobs to the Active Jobs file without saving Control-M job scheduling definitions in a scheduling library.

To create tables in memory and then order or force them, specify the same parameters as when creating tables in a library.

However, note the following point about the syntax:

Copy
MEM-OVERWRITE={ORDER|FORCE}[({SDATE|WDATE|yymmdd[/WAIT]})]

The MEM-OVERWRITE statement must be specified in this syntax. An order or force action must be specified, followed, optionally, by one of the following date references (in parentheses):

  • SDATE – Current system date

  • WDATE – Current Control-M working date (default)

  • yymmdd – Any valid 6-character date

  • You can also specify a future date. The date may be optionally followed by the /WAIT option, for example, MEM-OVERWRITE=ORDER(yymmdd/WAIT). This causes the job execution to be delayed until the date yymmdd specified, even if all other required run-time criteria (conditions, resources, and so on) are available.

  • Users who want to save the resultant Control-M job scheduling definitions in a scheduling library can do so by coding OPTION=S. For detail, see Table 95 in CTMBLT General Parameters.

When building a SMART Table containing a SMART Table Entity only, without any job definitions, the EMPTYTBL parameter in the CTMPARM member of the IOA PARM library must be set to Y to be able to ORDER or FORCE the SMART Table.

All error and informational messages produced by the job ordering component (CTMJOB) are written to the same message file (DAPRINT by default) which CTMBLT uses instead of the SYSPRINT DD.

This capability is provided only when invoking CTMBLT services in conversational (BAPI) mode, either

Activating the CTMBLT Utility

A sample job to activate the utility can be found in the CTMBLT member CTMBLT in the Control-M JCL library.

Considerations (CTMBLT)

The file referenced by DD statement DAPRINT holds all messages produced by the utility. This file can alternatively be specified as a data set instead of a sysout print file.

The file referenced by DD statement DATABERR holds parameters from the file referenced by DD statement DAINPRM that could not be processed due to syntax errors or other errors. Statement DATABERR is optional. Omitting this DD statement improves the performance (meaning, reduces the elapse time) of the utility; therefore, for very large runs of the CTMBLT utility, consider removing this statement from the JCL.

Parameters in the file referenced by DD statement DAINPRM can be specified either as in-stream data or as 80-byte card image data.

It is unnecessary to specify DD statements for scheduling libraries because the utility dynamically allocates job-scheduling libraries according to the LIBRARY parameter. A DASCHD DD statement is required when the LIBRARY parameter is not specified as the first input parameter of the utility. For example

Copy
CALL    CTMBLT,(cnt,line#,taddress,altaddr,replyaddr)

Use of this DD statement is also recommended in any of the following situations:

  • The CTMBLT utility creates a single job-scheduling library.

  • Many members are created within the library.

CTMBLT Return Codes

Table 98 CTMBLT Return Codes

Code

Description

0

The CTMBLT utility ended successfully.

4

The utility has issued a warning due to incompatibilities of data or program version/release. The requested action has been taken, but it is recommended that the user attempt to resolve the warning and rerun the utility.

8

An error occurred while analyzing the input stream.

Check the output referenced by DD statement DAPRINT for a message indicating the cause of the problem. Correct the definitions and resubmit the job.

12

A severe error occurred.

Check the output of the job for messages indicating the source of the problem. If you are unable to correct the problem, contact your INCONTROL administrator.

16

The user attempted to define an empty SMART table (a SMART table entity without any associated jobs), but the CTMPARM parameter, EMPTYTBL, in the IOA PARM library was set to 'N' or an internal error occurred as a result of previous error conditions. Correct all the previous errors and rerun the job.

Examples for CTMBLT

CTMBLT Example 1

Copy
IN=(condname,date,condname,date...)
MAIL-TO=(email-address1,email-address2,...)

Multiple occurrences for job scheduling definition parameters can also be defined (when permitted) by repeating the keyword for each occurrence.

CTMBLT Example 2

Copy
SETVAR=%%A=%%ODAT
SETVAR=%%B=53

Normally, these parameters are defined for the specific job scheduling definition in which they appear (meaning, they are defined as local). To simplify specification of the input parameters for the utility, all job scheduling definition parameters in a table (except the general parameter) can also be defined as Global or Super Global. Global definitions are used as defaults for all jobs in the table. Super Global definitions are used as defaults for all tables within their scope.

If a combination of Global, Super Global, and Local values for a parameter are specified, the order of precedence of the parameter values is as follows: Local, Global and Super Global. The Global and Super Global parameter definitions may or may not be used depending on the following:

  • For parameters that do not permit multiple occurrences, the order of precedence is as above.

  • For parameters that permit multiple occurrences

    • If no Local values appear, Global and Super Global values are applied.

    • Parameters ONPGM and SHOUT are always processed as if ADD-GLOBAL=Y were specified.

    • If Local values appear and N (No) was specified in parameter ADD-GLOBAL, Global and Super Global values are ignored.

    • If Y (Yes) was specified in parameter ADD-GLOBAL, Global and Super Global values are used in addition to Local values.

  • Some parameters, when defined as Global and Super Global parameters, are ignored when a SMART Table Entity is built. These parameters are processed normally when job scheduling definitions are built in the SMART Table. For the parameters that fall into this category, see Table 99 through Table 103.

  • A SETVAR variable name determines whether it appears as a Local value or not. For example, when ADD-GLOBAL=N is specified, if SETVAR %%VAR1=abc is defined locally and SETVAR %%VAR2=abc is defined globally, then they will both be processed since VAR1 and VAR2 are different variable names. If %%VAR1=xyz is defined globally, then only the local %%VAR1 will be processed.

Input job scheduling definition parameters are validated in the same manner as in the online environment.

CTMBLT Example 3

The following example creates two tables (INITJOBS and PRDDAILY) in the CTM.PROD.SCHEDULE library. In table INITJOBS, two job scheduling definitions (PNADCICW and PNADCIC1) are created. In table PRDDAILY, one job scheduling definition (CHKACC) is created.

Global parameters GROUP=INIT-JOBS-1 and MEMLIB=GENERAL are defined for table INITJOBS, and apply to the two job scheduling definitions in that table. They are identified as Global definitions because they are positioned between parameter TABLE=INITJOBS and parameter MEMNAME=PNADCICW, which is the first MEMNAME parameter in the table.

Figure 22 CTMBLT – Example 3

Copy
//DAINPRM    DD *
    LIBRARY=CTM.PROD.SCHEDULE
    MEM-OVERWRITE=N
    ADD-GLOBAL=Y
    TABLE=INITJOBS
          TABLE=INIT-JOBS-1
          MEMLIB=GENERAL
          MEMNAME=PNADCICW
                OWNER=OPSUSER
          DESC='CO - POST ONLINE COPY IMAGE FOR PHASE3'
                IN=(PNADCICW-OK,PREV)
                OUT=(PNADCICW-OK,ODAT,+)
          MEMNAME=PNADCIC1
                OWNER=OPSUSER
                OUT=(PNADCIC1-OK,ODAT,+)
    TABLE=PRDDAILY
          MEMNAME=CHKACC
                MEMLIB=GENERAL
                OWNER=OPSUSER
                TASKTYP=JOB
                TABLE=CHECK-ACCOUNTS
                WDAYS=(2,3,4,5)
                IN=(PNADCICW-OK,ODAT)
                ONPGM
                    STEP=ANYSTEP
                    CODES=NOTOK
                    DO=SYSOUT
                       SYSOUT-OP=C
                       SYSOUT-FRM=R
                       SYSOUT-PRM=M
                SHOUT-WHEN=NOTOK
                    DEST=OPER-12
                    MSG='JOB CHKACC HAS AN ERROR CHECK IT'
                    URG=U
                CTBSTART
                    CTBS-TYPE=RULE
                    CTBS-NAME=CHKBRL
                    CTBS-ARGS='1 TO 45 CHARS'
                CTBEND
                    CTBE-TYPE=MISSION
                    CTBE-NAME=ENDMI1
                    CTBE-ARGS='1 TO 45 CHARS'

CTMBLT Example 4

In the following example, the MEM-OVERWRITE statement indicates that tables TABLE1 and TABLE2 are created in memory and immediately ordered.

In table TABLE1, a job scheduling definition, MYMEM1, is created and then ordered. In table TABLE2, a job scheduling definition, MYMEM2, is created and forced. (Both jobs are ordered or forced without saving external job scheduling definitions.)

Figure 23 CTMBLT – Example 4

Copy
//DAINPRM    DD  *
LIBRARY=name1
MEM-OVERWRITE=ORDER(WDATE)
ADD-GLOBAL=Y
TABLE=TABLE1
      TABLE=TABLE1
      MEMLIB=GENERAL
      MEMNAME=MYMEM1
      OWNER=CTMBLT
      DESC='ORDER JOB MYMEM1’
      DAYS=ALL
      OUT=(MYMEM1-OK,ODAT,+)
LIBRARY=name2
MEM-OVERWRITE=FORCE
TABLE=TABLE2
      TABLE=TABLE2
      MEMLIB=GENERAL
      MEMNAME=MYMEM2
      OWNER=CTMBLT
      DESC='FORCE JOB MYMEM2'
      IN=(MYMEM1-OK,ODAT)
//

(Since the tables are created in memory, any library name can be specified. It does not need to correspond to an actual library or file.)

CTMBLT Example 5

The following, simplified example calls CTMBLT from another program and passes required control statements to CTMBLT. CTMBLT uses a table in memory to force the MYJOB job.

In this example, a DAINPRM DD statement was not needed to execute the JCL. Usually, situations require CTMBLT control statements to be read from an external file or dynamically constructed into a GETMAIN area within the program. Also, any output normally routed to DD name DATABERR is written to DD name ERROR.

In addition, CTMBLT returns replies from itself and from the CTMJOB utility, which is invoked to perform the job order. For a look at the format of the reply areas, see the CTMBAPO member.

Figure 24 CTMBLT – Example 5

Copy
           CALL    CTMBLT,(FOUR,0,TBLADDR,ALTDDP,RPLYP)
           LTR     R15,R15    
           BNZ     error-routine
           ...
FOUR DC    H'4'                           4 PARAMETERS
TBLADDR    DC    A(INCORETB)
ALTDDP     DC    A(ALTDDL)
ALTDDL     DC    CL8' '
           DC    CL8' '
           DC    CL8' '
           DC    CL8'ERROR'
*
RPLYP      DS    6A                       (see CTMBAPI details)
           DC    A(RPLYAREA)              BAPIRPLS
           DC    A(RPLYAREA+(10*64)-1)    BAPIRPLE
           DS    F                        BAPIRPL#
           DS    A
           DS    26C
           DS    H                        BAPIRSN
           DS    H                        BAPIURC
           DS    XLn                      (n=remaining length)
RPLYAREA   DS    10CL64              (see CTMBAPO for details) Room for 10 replies
*
INCORETB   DS    0CL80  TABLE OF CTMBLT CARD-IMAGE CONTROL STMTS
           DC    CL80’LIBRARY=*INCORE* `
           DC    CL80’MEM-OVERWRITE=FORCE `
           DC    CL80’TABLE=MYTABLE `
           DC    CL80’MEMLIB=GENERAL
           DC    CL80’MEMNAME=MYJOB `
           DC    CL80’END `    (a linecount parameter is not necessary)

CTMBLT Example 6

The following example illustrates the creation of SMART Tables and Super Globals:

Figure 25 CTMBLT – Example 6

Copy
MEM-OVERWRITE=Y
ADD-GLOBAL=Y
      DOCLIB=SUPER.GLOBAL.DOCLIB              SUPER GLOBAL
      APPL=SUPER-GLOBAL-APPL                  SUPER GLOBAL
      ONPGM    SUPER GLOBAL    
        STEP=ANYSTEP                          SUPER GLOBAL
        CODES=C0008                           SUPER GLOBAL    
        DO=COND                               SUPER GLOBAL    
        CONDS=(SUPER-GLOBAL-COND,ODAT,+)      SUPER GLOBAL
TABLE=@INITJOB
      OWNER=GLBLOWN
      SCHEDULE-RBC=X
      ADJUST-CONDS=Y
      PRIORITY=GL
      MEMLIB=GLBL-MEMLIB
      APPL=GLOBAL-APPL
      OVERLIB=OVER.LIB.GLOBAL
      ONPGM
        STEP=ANYSTEP
        CODES=C0000
        DO=COND
        CONDS=(GLOBAL-COND,ODAT,+)
      CONTROL=(CONTROL-RESOURCE,E)
      RESOURCE=(QUANTIT-RESGLOBL,0009)
TABLE-ENTITY=TABLE-ENTITY1
   TASKTYP=TBC             cyclic smart table
   ONPGM
   STEP=GROUPEND                    ON TABLE-END
   CODES=NOTOK
   DO=SHOUT
   MSG='TABLE-ENT SHOUT'
   DEST=OPER-2,URG=U
SCHEDULE-RBC=RBC1
WDAYS=6
 EXT-SHIFT=+7
 CONFCAL=GRPDCAL
SCHEDULE-RBC=RBC3
 DATES=(1010,0202,0909)
 MAXWAIT=03
SCHEDULE-RBC=RBC4
 DAYS=10
 WDAYS=0
SCHEDULE-RBC=X
SCHEDULE-RBC=*END
***=== SMART Table ENTITY (NON-RBC) DEFINITIONS ==
  ADJUST-CONDS=Y
  IN=(TABLE-IN-COND,ODAT)
  OUT=(TABLE-OUT-COND,ODAT,+)
  MAXRERUN-CYC=9999
  CYCLIC-TYPE=S
  TOLERANCE=0999
  CYC-RUNTIME=1030,000
  CYC-RUNTIME=1520,000
  CYC-RUNTIME=1310,000
  CYC-RUNTIME=2015,000
  CYC-RUNTIME=1155,000
  ONPGM
   STEP=GROUPEND                    ON TABLE-END
   CODES=OK
   DO=SHOUT
   MSG='FIRST MSG'
   DEST=OPER-1,URG=V
 SHOUT-WHEN=OK
   MSG=SHOUT-WHEN
   DEST=OPER-3
*
   MEMNAME=PNADCICW
      DAYS=+15
      DCAL=CALENDR
      OWNER=MKGRP
      MEMLIB=GENERAL-LIB
      MAXRERUN=233
      INTERVAL=1440
      IN=(PNADCICW,PREV)
      OUT=(PNADCICW-OK,ODAT,+)
      RBC-RELATION=A
      SCHEDULE-RBC=RBC1
      RESOURCE=(JOB-RESOURCE,0099)
      SCHEDULE-RBC=RBC3
      SCHEDULE-RBC=*
   MEMNAME=PNADCICX
      APPL=LOCAL-APPL
      IN=(PNADCICX,PREV)
      OUT=(PNADCICX-OK,ODAT,+)
      SCHEDULE-RBC=RBC1
   MEMNAME=ANOTHER
      MEMLIB=GENERAL
      IN=(ANOTHER,ODAT)
TABLE=@INITJO2
      MEMLIB=GLBL-MEMLIB2    GLOBAL
TABLE-ENTITY=TABLE-ENTITY2
SCHEDULE-RBC=RBC8
  DAYS=5
  DCAL=GRPDCAL
SCHEDULE-RBC=RBC9
    PERIOD=L2P3
    DCAL=PERCAL2
 SCHEDULE-RBC=RBC10
    DATES=(1111,1212,0808)
SCHEDULE-RBC=*END
    DOCMEM=TABLE2
MEMNAME=PNADCCW2
SCHEDULE-RBC=RBC8
    SCHEDULE-RBC=RBC9
MEMNAME=PNADCCX2
    IN=(PNADCICW,PREV)
    SCHEDULE-RBC=RBC10
MEMNAME=ANOTHER
      IN=(ANOTHER,ODAT)
TABLE=@INITJO3    === NOT A SMART TABLE ===    
      GROUP=GLBL-TABLE3       GLOBAL
      MEMLIB=GLBL-MEMLIB3     GLOBAL
      DAYS=5
MEMNAME=PNADCCW3
      GROUP=INIT-JOBS
      DESC='THIS IS A BATCH JOB/TABLE GENERATION'
      OUT=(PNADCICW-OK,ODAT,+)
MEMNAME=PNADCCX3
      IN=(PNADCICW,PREV)
      PREVENT-NCT2=L
***  ======= SPECIFIY NEW SET OF SUPER GLOBALS ==========
TABLE=*END
 ADD-GLOBAL=Y
      DOCLIB=SUPER.GLOBAL.DOCLIB2    SUPER GLOBAL
      APPL=SUPER-GLOBAL-APPL2        SUPER GLOBAL    
TABLE=@INITJPB
OWNER=GLBLOWN9
      GROUP=GLBL-TABLE9
      SCHEDULE-RBC=X
MEMLIB=GLBL-MEMLIB
      OVERLIB=OVER.LIB.GLOBAL9
      CONTROL=(CONTROL-RESOURCE9,E)
TABLE-ENTITY=TABLE-ENTITY1
SCHEDULE-RBC=RBC1
  WDAYS=6
SCHEDULE-RBC=RBC4
  WDAYS=0
SCHEDULE-RBC=X
SCHEDULE-RBC=*END
OUT=(TABLE-OUT-COND,ODAT,+)
MEMNAME=PNADCICW
      MEMLIB=GENERAL-LIB
      MAXRERUN=233
      INTERVAL=1440
      INTERVAL-TYP=E
      IN=(PNADCICW,PREV)
     RBC-RELATION=A
     SCHEDULE-RBC=RBC1
     RESOURCE=(JOB-RESOURCE,0099)
    SCHEDULE-RBC=*
  MEMNAME=PNADCICX
      APPL=LOCAL-APPL
      IN=(PNADCICX,PREV)
     SCHEDULE-RBC=RBC1
  MEMNAME=ANOTHER
IN=(ANOTHER,ODAT)    

CTMBLT Example 7

You want to create a new job scheduling definition JOBB in table TABLEB of library SCHED.LIBB. It will be identical to the scheduling definition of JOBA in table TABLEA of library SCHED.LIBA, except for the value of the OVERLIB parameter, which you want to set to JCL.OVERLIB.

Figure 26 CTMBLT – Example 7

Copy
LIBRARY=SCHED.LIBB
   TABLE=TABLEB
      MEMNAME=JOBB
         MODEL=(SCHED.LIBA,TABLEA,JOBA)
         OVERLIB=JCL.OVERLIBB

CTMBLT Example 8

Copy
LIBRARY=QUEST.CTMBLT.AUTO.AFTERBLT.SCHEDULE
MEM-OVERWRITE=Y
TABLE=BLTTBLS2
TABLE-ENTITY="BLTTBLS2"
GROUP="GROUPBLT"
TASKTYP="TBC"
MAXWAIT="10"
TIMEFROM="0000"
TIMEUNTIL="2359"
CONFIRM="N"
DUE-OUT="1200"
SAC="N"
OWNER="Q82"
PRIORITY="*6"
REMOVEATONCE="Y"
DAYSKEEPNOK="03"
ADJUST-CONDS="D"
DESC="TABLE MUST BE FORCED!"
APPL="APPL-SMART-SAVE-TEST"
DOCMEM="BLTTBLS2"
DOCLIB="IOAQ.V7H2X5.CTM.OPR.DOC"
INTERVAL-TYP="E"
MAXRERUN-CYC="9999"
CYCLIC-TYPE="S"
TOLERANCE="0999"
CYC-RUNTIME="1030,000"
CYC-RUNTIME="1520,000"
CYC-RUNTIME="1310,000"
CYC-RUNTIME="2015,000"
CYC-RUNTIME="1155,000"
END    

CTMBLT Example 9

The following examples demonstrate various scenarios for using the OPTION=/xxx parameter in the CTMBLT input file to override the values of job parameters.

Clear DAYS and set WDAYS:

Copy
OPTION=/DAYS
DAYS=
WDAYS=2

Clear WDAYS and set DAYS:

Copy
OPTION=/WDAYS
WDAYS=
DAYS=20

Clear DAYS by setting DATES:

Copy
OPTION=/DATES
DATES=1112

Clear DATES by setting DAYS:

Copy
OPTION=/DAYS
DAYS=24

Clear DATES setting:

Copy
OPTION=/DAYS
DAYS=

Override DAYS and set DATES, when MODEL parameter is also specified:

Copy
OPTION=/DAYS
DAYS=
OPTION=O
OPTION=/DATES
DATES=0202

Job Scheduling Definition Parameter Tables

The following parameters can be defined as Local or Global parameters using the CTMBLT utility. For complete descriptions of these parameters, see the Job Production parameters chapter in the Control-M for z/OS User Guide.

Note that in the following tables:

  • + in column M indicates that multiple occurrences of the parameter are allowed.

  • ++ in column M indicates that multiple occurrences are allowed and that ADD-GLOBAL=Y/N is relevant for this parameter.

  • The USAGE column indicates special usage information. Possible values in this column and their meanings are listed below:

    • 1 - The parameter can appear in a job scheduling definition of a SMART Table.

    • 2 - The parameter can appear in the SMART Table Entity of a SMART Table.

    • 3 - The parameter can appear in a rule-based calendar definition.

    • 4 - The parameter cannot appear in a table that schedules jobs individually.

    • 5 - When the parameter is defined as a Global and/or Super Global parameter, it is ignored when the SMART Table Entity is built.

    • 6 - The Control-M job scheduling definition screen (screen 2) does not contain a corresponding parameter. Therefore, the parameter remains in effect only until the job definition is edited. This parameter is primarily used to perform on-the-fly ordering (see Building Tables in Memory Followed by Immediate Ordering).

Table 99 CTMBLT General Job Parameters

Parameter

M

Value

Description

Default

Usage

ADJUST-CONDS

 

Y (Yes), N (No),
D (Dummy), or B (Bridge)

Adjust conditions indicator. For SMART Table Entities only

N

2,4

APPL

 

1 through 20 characters

Application name

 

1,2

CTBE-ARGS

 

1 through 45 characters within apostrophes

Arguments passed to Control-M/Analyzer

 

1,5

CTBE-NAME

 

1 through 8 characters

Name of the Control-M/Analyzer mission or rule associated with the CTBEND step

 

1,5

CTBEND

 

None

Define the
Control-M/Analyzer step as the last job step

 

1,5

CTBE-TYPE

 

R (RULE) or M (MISSION)

Type of Control-M/Analyzer entity associated with the CTBEND step

 

1,5

CTBS-ARGS

 

1 through 45 characters within apostrophes

Arguments passed to Control-M/Analyzer

 

1,5

CTBS-NAME

 

1 through 8 characters

Name of the Control-M/Analyzer mission or rule associated with the CTBSTART step

 

1,5

CTBSTART

 

None

Define Control-M/Analyzer step as first job step

 

1,5

CTBS-TYPE

 

R (RULE) or M (MISSION)

Type of Control-M/Analyzer entity associated with the CTBSTART step

 

1,5

DESC

++

Up to 70 characters per DESC parameter

Description of job

 

1,2

DOCLIB

 

1 through 44 characters

Documentation library

 

1,2

DOCMEM

 

1 through 8 characters To leave DOCMEM blank, specify
DOCMEM=/

Documentation member

Same as MEMNAME

1,2

GROUP

 

1 through 20 characters

Group name (Ignored if SMART table was created via the GROUP-ENTITY parameter)

 

 

MEMLIB

 

1 through 44 characters

Library containing JCL member

GENERAL

1

NJE-NODE

 

1 through 8 characters

NJE node name

 

1

OWNER

 

1 through 8 characters

User-identification

USER who submitted the job; jobname, if user is unknown

1,2

OVERLIB

 

1 through 44 characters

Overriding JCL library name

 

1,5

PREVENT-NCT2

 

Y, N, F, L, or blank

Prevent ‘NOT CATLGD 2’ errors

 

1

SCHENV

 

1 through 16 characters

Workload management scheduling environment name

 

1

SETVAR

++

1 through 66 characters

%%varname=value

Set AutoEdit value

If value contains delimiter characters (for example, commas), enclose the entire parameter text in quotes or apostrophes (for example, ‘%%varname=value’).

 

1,2

STAT-CAL

 

1 through 8 characters

Statistics calendar name

 

1,2

SYSTEM-ID

 

1 through 5 characters

System affinity name

 

1

RBC-RELATION

 

A (And) or O (Or)

Relationship between rule-based calendars and basic scheduling criteria

O

1,4,5

TASKTYP

 

3 characters

Type of task

JOB and TBC for SMART Tables

1,2,5

Table 100 CTMBLT Scheduling Parameters

Parameter

M

Value

Description

Default

USAGE

ACTIVE-FROM

 

6 digit date in the format yymmdd

Date in the RBC ACTIVE FROM or DEFINITION ACTIVE FROM fields

 

1,3

ACTIVE-UNTIL

 

6 digit date in the format yymmdd

Date in the RBC ACTIVE UNTIL or DEFINITION ACTIVE UNTIL fields

 

1,3

CATEGORY

 

1 through 20 characters

Category for Control-D

 

1

CONFCAL

 

1 through 8 characters

Confirmation calendar name

 

1,3

DATES

+

4 characters

DATES scheduling

 

1,3

DAYS

+

1 through 3 characters
For information, see the Job Production parameters chapter in the Control-M for z/OS User Guide

Scheduling days (non-periodic)

 

1,3

DAYSKEEPNOK

 

2 digits (0–99)

The minimal number of days that the folder and its jobs are kept in the AJF after the folder is marked as "NOT-OK".

1-98 – Number of days to keep.

99 – Keep forever.

The above two options are invalid when REMOVEATONCE is set to "No".

0 – Do not keep. This is the only valid value when REMOVEATONCE is set to "No".

0

1,3

DCAL

 

1 through 8 characters

DAYS calendar name

 

1,3

EXT-SHIFT

 

2 through 3 characters

Additional shift

 

 

Blank

No additional shift

   

–nn

Shift n days backward

   

+nn

Shift n days forward

   

MAXWAIT

 

2 digits (00...98,99)

Maximum days job is retained

0-98

99 that indicates "forever"

Value specified in optional Wish WM2367

1,2,3

MINIMUM

 

3 digits

Minimum tracks left free

 

1

MONTHS

+

0

NO months

 

 

1 through 3 characters
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ALL

MONTHS scheduling

ALL

1,3

PDS

 

1 through 44 characters

Full name of PDS Library to be checked

 

1

PERIOD

+

4 through 5 characters (DnPi or LnPi)

Periodic scheduling days

 

1,3

RELATION

 

A or O

AND or OR relation between DAYS or WDAYS

O

1,3

REMOVEATONCE

 

Y (Yes) or N (No)

Indicates that all the jobs will be removed together, when the folder is ready to be removed.

N

1,3

RETRO

 

Y (Yes) or N (No)

Retroactive selection

In SMART Tables, N is the only value permitted for the RETRO parameter.

Value specified in optional Wish WM2548

1,3

SCHEDULE-RBC

+

1 through 20 characters or *END

Rule-based calendar name

 

1,2, 3,4,5

SHIFT

 

1 character

Blank, >, <, @

Shift on confirmation calendar

 

1,3

WCAL

 

1 through 8 characters

WDAYS calendar name

 

1,3

WDAYS

+

1 through 4 characters
For information, see the Job Production parameters chapter in the Control-M for z/OS User Guide

Weekly scheduling days (non-periodic)

 

1,3

WPERIOD

+

4 through 5 characters (DnPi or LnPi)

Periodic weekly scheduling days

 

1,3

Table 101 CTMBLT Runtime Parameters

Parameter

M

Value

Description

Default

Usage

CONFIRM

 

Y (Yes) or N (No)

Confirmation for scheduling

 

1,2

CONTROL

++

(control,type,opt)

  • control – 1 through 20 characters

  • type – S or E

  • opt – K

Control resource

Name of Control resource

Usage type:
Shared or Exclusive
Disposition of the resource when job ends NOTOK (K=Keep)

Blank

1,2

DUE-IN

 

SKP

Skip Due-In time check

 

1,2,6

ORDER

 

HLD

Set the job status to HELD immediately after being ordered.

 

1,2,6

DUE-OUT

 

(hhmm,nnn)

Time when the job finishes executing

nnn is an offset of up to 120 days

0

1

IN

 

++

(cond,date)

  • cond – 1 through 39 characters

  • date – 4 characters

  • Boolean characters |()

IN condition

Name of IN condition

Date reference of IN condition

ODAT (for date reference)

1,2

If the condition name contains boolean characters (open or close parentheses), enclose the parameter value in quotation marks rather than parentheses.

PIPE

 

++

pipe name (1 to 44 characters)

MAINVIEW Batch Optimizer (MVBO)/Job Optimizer Pipes pipe name

 

1,5

This field is supported only if MAINVIEW Batch Optimizer (MVBO) is installed at your site.

PRIORITY

 

1 to 2 characters

Priority.

 

1,2

RESOURCE

++

(resource,number, opt1, opt2)

  • resource – 1 through 20 characters

  • number – 4 digits

  • opt1 – D

  • opt2 – K

Quantitative resource.

Name of resource.

Quantity of resource.

Disposition of the resource when job ends OK (D=Delete)

Disposition of the resource when job ends NOTOK (K=Keep)

 

 

 

Blank

 

Blank

1,5

SAC

 

1 character (P, N, -, +, blank)

Schedule Adjustment for Conversion.

 

1,2

TIMEFROM

 

(hhmm,nnn)

Earliest time to submit job

nnn is an offset of up to 120 days

0

1,2

TIMEUNTIL

 

(hhmm,nnn)

>,nnn

Latest time to submit job

Submit as soon as possible

nnn is an offset of up to 120 day

0

1,2

TIME-ZONE

 

1 through 3 characters

Time zone designation

 

1, 2

Table 102 CTMBLT Post-Processing Parameters

Parameter

M

Value

Description

Default

Usage

OUT

++

(out,date,option)

  • out – 1 through 39 chars

  • date – 4 characters

  • option – +/-

Name of OUT condition

Date reference

Function: ADD or DELETE

ODAT (for the date reference)

+ (for the option)

1,2

AUTOARC

 

Y (Yes) or N (No)

Archive SYSDATA

Y (Yes)

1

SYSDB

 

Y (Yes) or N (No)

Archive to common data set

Y (Yes)

1

MAXDAYS

 

2 digits

Expiration period

 

1

MAXRUNS

 

3 digits

Max number of runs

 

1

SYSOUT-OP

 

1 character (C,F,N,D,R)

SYSOUT option

 

1

SYSOUT-FRM

 

1 character

SYSOUT option FROM CLASS

 

1

SYSOUT-PRM

 

For SYSOUT-OP:

  • C – 1 character

  • F – 1 through 44 chars

  • N – 8 characters

  • D – none

  • R – none

SYSOUT parameter – according to SYSOUT option SYSOUT-OP

 

1

MAXRERUN

 

3 digits; Up to 255

Maximum number of reruns.

 

1

MAXRERUN-
CYC

 

4 digits; 0 through 9999

Maximum number of cyclic runs. Effective only if TASKTYPE is set to CYC or TBC for SMART cyclic table.

 

1,2

RERUNMEM

 

1 through 8 characters

Name of rerun job

 

1

ENDTABLE

 

Y (Yes) or N (No)

Determines whether the job is an end point for the SMART table. After an end point job completes, no additional jobs in the SMART table are submitted and the table is marked as complete as soon as executing jobs end.

N (No)

1

INTERVAL

 

5 digits, 0 through 64800

Time interval between reruns

 

1,2

INTERVAL-TYP

 

S, E, T

Start or End of Interval or Target

END

1,2

INTERVL-UNIT

 

M, H, D

The units in which INTERVAL is expressed (Minutes, Hours, or Days)

M

1,2

CYCLIC-TYPE

 

C, S, V

Type of interval between cycles:

  • C – constant

  • S – specified

  • V – varying

C

1,2,5

TOLERANCE

 

1 to 4 digits

Enhanced cyclic tolerance - the maximum number of minutes after the specified time permitted for a late submission.

0000

1,2,5

VAR-INTERVAL

++

nnnnn, unit

Enhanced cyclic varying interval (nnnnn - interval length, unit = M (Minutes), H (Hours), D (Days)

M

1,2,5

CYC-RUNTIME

++

hhmm, nnn

Enhanced cyclic specific run times in 24-hour format: hh (hour), mm (minutes) with an optional day-offset (nnn)

 

1,2,5

RET-DAYS

 

3 digits

Retention number of days

 

1

RET-GENS

 

2 digits

Retention number of generations

 

1

STEPRNG

+

1 through 7 characters

Step Range name

 

1

FROMPGM

 

1 through 8 characters

FROM PGM STEP in step range

 

1,5

FROMPROC

 

1 through 8 characters

FROM PROC STEP in step range

 

1,5

TOPGM

 

1 through 8 characters

TO PGM STEP in step range

 

1,5

TOPROC

 

1 through 8 characters

TO PROC STEP in step
range

 

1,5

ON-SYSOUT

+

(text)

1 through 40 characters, including quotes if the text contains special/blank characters

Identifies the beginning of an ON-SYSOUT block

 

 

FROM-TO-COL

 

(from-col,to-col)

1 through 3 digits

from-col and to-col have values from 1 through 132

from-col=1

to-col=132

1,2,5

ONSYS-RELATE

+

A or O

AND or OR relation

 

1,2,5

ONVAR-NAME

+

1 to 64 characters

  • Local: %%VAR-NAME

  • Global: %%\VAR-NAME

Name of an AutoEdit variable in an ON VAR block

 

1,2,5

ONVAR-OPERAT

+

For an integer:

  • EQ - Equal to (=)

  • NE - Not equal to (!=)

  • GT - Greater than (>)

  • GE - Greater than or equal (>=)

  • LT - Less than (<)

  • LE - Less than or equal (<=)

  • IR - In range (a<=x<=b)

  • NR - Not in range (x<a or x>b)

For a string:

  • LK - Like

  • NL - Not like

  • IX - Is exactly

  • NX - Is not exactly

  • SW - Starts with

  • EW - Ends with

  • CO - Contains

  • NC - Does not contain

  • MP - Is empty

  • NP - Is not empty

Comparison operator for checking the current value of the AutoEdit variable

 

1,2,5

ONVAR-VALUE

+

1 to 64 characters

Can contain AutoEdit variables.

Not relevant for operators IR and NR.

For operators MP and NP, leave empty.

The value that the variable must match for the DO action to be performed

 

1,2,5

ONVAR-MIN

+

1 to 64 characters

Relevant for operators IR and NR.

Lower limit of the value range that the variable must match for the DO action to be performed

 

1,2,5

ONVAR-MAX

+

1 to 64 characters

Relevant for operators IR and NR.

Upper limit of the value range that the variable must match for the DO action to be performed

 

1,2,5

ONVAR-RELATE

+

A or O

AND or OR relation in the ON VAR block

 

1,2,5

ONPGM

+

 

Identifies the eginning of an ON block

 

1,2,5

STEP

+

1 through 8 characters

GROUPEND

PROGRAM STEP name for ON block

GROUPEND parameters for SMART Table Entities only. Codes OK and NOTOK

 

1,2,5

PROCST

+

1 through 8 characters

PROC STEP name for ON block

 

1,5

CODES

+

(6 chars,6 chars,...)

ON block codes

 

1,2,5

ON-RELATE

+

A or O

AND or OR relation

 

1,5

DO=OK

 

OK

Changes the status of a job step or SMART Table from NOTOK to OK

 

1,2,5

DO=NOTOK

 

NOTOK

Changes the status of a job step or SMART Table from OK to NOTOK

 

1,2,5

DO=REMEDY

 

REMEDY

Open a Remedy problem ticket

 

1,2

URG

 

1 character (L,M,H,U)

Urgency rating of the message

 

1,2

RMD-SUM

+

1 through 128 characters

Summary of reason for Remedy case

At least one line must be entered

 

1,2

RMD -DES

+

1 through 1024 characters

Description of Remedy case

At least one line must be entered

 

1,2

There is a limit of 2 RMD-SUM and 15 RMD-DES text lines.

DO=RERUN

 

RERUN

Reschedules jobs following an unsuccessful job run

 

1,5

DO=COND

+

COND

 

 

1,2,5

CONDS

+

(out,date,option)

OUT condition

Same as OUT parameter

1,2,5

DO=FORCEJOB

+

FORCEJOB

 

 

1,2,5

DO=FORCEJOB applies to both regular and remote FORCEJOB (REMFORCE) blocks. It is considered a remote FORCEJOB if any of the RFJ-xxx keywords are present.

FORCE-TAB

 

1 through 8 characters, or 1 through 64 characters for distributed system jobs

Table name

 

1,2,5

FORCE-JOB

 

1 through 8 characters, or 1 through 64 characters for distributed system jobs

Job name

 

1,2,5

FORCE-DATE

 

6 characters

Date

ODAT

1,2,5

FORCE-LIB

 

1 through 44 characters. Ignored for distributed system jobs.

Library name

 

1,2,5

RFJ-CTM

 

1 through 20 characters

Control-M name

 

1,2,5

RFJ-VAR

 

1 through 70 characters.
1 through 66 character variable name (including %% and = ), followed by the value (or beginning of the value). The remainder of the value, if applicable, is specified by one or more RFJ-VAL parameters.

Set AutoEdit value. If the value contains delimiter characters (for example, commas), enclose the entire parameter text in quotes or apostrophes (for example, '%%varname=value').

 

1,2,5

RFJ-VAL

 

1 through 70 characters.

Continuation of the AutoEdit value specified by the previous RFJ-VAR or RFJ-VAL parameters. If the value contains delimiter characters (for example, commas), enclose the entire parameter text in quotes or apostrophes (for example, '%%varname=value').

 

1,2,5

DO=IFRERUN

 

 

 

 

1,5

IFRERN-FROM

 

1 through 16 characters

From

 

1,5

IFRERN-FROM is a 16 character field whose value consists of an 8 character program step name and an 8 character proc step name. If a proc step name is specified and the program step name is less than 8 characters, then the program step name must be padded with blanks and the value must be enclosed by delimiters.

IFRERN-TO

 

1 through 16 characters

To

 

1,5

IFRERN-TO is the same as described in the footnote above.

IFRERN-CONF

 

Y (Yes) or N (No)

Confirm

 

1,5

DO=CTB

 

CTB

 

 

1,5

CTB-RULE

 

1 through 45 characters

Rule name

 

1,5

CTB-ARG

 

1 through 36 characters

Arguments

 

1,5

DO=SET

+

SET

 

 

1,2,5

SETVAR

 

1 through 66 characters %%varname=value

Set AutoEdit value.

If value contains delimiter characters (for example, commas), enclose the entire parameter text in quotes or apostrophes (for example, ‘%%varname=value’).

 

1,2

DO=SHOUT

+

SHOUT

 

 

1,2

MSG

 

1 through 70 characters

SHOUT message

 

1,2

DEST

 

1 through 16 characters

SHOUT destination

OPER

1,2

URG

 

1 character (R,U,V)

SHOUT urgency

R

1,2

DO=STOPCYCL

 

 

Stops reruns of cyclic jobs

 

1,2,5

DO=SYSOUT

+

SYSOUT

 

 

1,5

SYSOUT-OP

 

1 character (C,F,N,D,R)

SYSOUT option

 

1,5

SYSOUT-FRM

 

1 character

SYSOUT option FROM CLASS

 

1,5

SYSOUT-PRM

 

For SYSOUT-OP:

  • C – 1 character

  • F – 1 through 44 chars

  • N – 8 characters

  • D – none

  • R – none

SYSOUT parameter – according to SYSOUT option SYSOUT-OP

 

1,5

DO=MAIL

 

 

 

 

1.2

M-ATTACHMENT

 

1 character (Y,N,D)

e-mail SYSOUT attachment

D

1.2

MAIL-TO

+

(addr1,addr2,...)

e-mail TO addresses

 

1.2

MAIL-CC

+

(addr1,addr2,...)

e-mail CC addresses

 

1,2

There is a limit of 255 MAIL-TO and 255 MAIL-CC addresses.

MAIL-SB

 

‘subject-line’

e-mail subject line

 

1,2

MAIL-TX

+

‘text-line’

e-mail text line

 

1,2

There is a limit of 255 MAIL-TEXT lines.

SHOUT-WHEN

+

Valid values are:

  • O – OK

  • N – NOTOK

  • L – LATE

  • S – LATESUB

  • E – EXECTIME

  • R – RERUN

Indicates start of SHOUT block

 

1,2

TIME

 

(time-opt,nnn)

SHOUT on LATE or LATESUB or EXECTIME

nnn is an offset of up to 120 day

"*" for the LATE or LATESUB values

0

1,2

MSG

 

1 through 70 characters

SHOUT message

 

1,2

DEST

 

1 through 16 characters

SHOUT destination

OPER

1,2

URG

 

1 character (R,U,V)

SHOUT urgency

R

1,2

ON-CAPTURE

+

1 through 4 characters or *END

CAPTURE block header or trailer

 

1,5

  CAPT-SEARCH

 

1 through 53 characters

Capture search string

 

1,5

  CAPT-SKIPROW

 

0-99999999

Capture - number of rows to skip

0

1,5

  CAPT-BY

 

W or C

Capture by word(W) or character(C)

W

1,5

  CAPT-SKIP

 

0-255

Capture - number of words or characters to be skipped

0

1,5

  CAPT-DELIM

 

1 character

Capture - words delimiter

blank

1,5

  CAPT-INTO

 

AutoEdit variable name

Capture - target AutoEdit variable for storing capture results

 

1,5

  CAPT-TAKE

 

0-44

Capture - number of words or characters to store in the AutoEdit variable

1 - Word mode; Empty - end of line - Char mode

1,5

Table 103 CTMBLT Special Parameters

Parameter

M

Value

Description

Default

Usage

APPL_FORM

 

 

See notea

 

 

 

1,5

 

APPL_TYPE

   

APPL_VER

   

CM_VER

   

DEFTYPE

 

X

Job/table definition should be treated as a distributed (non-mainframe) job definition. See CTMTLB – Produce XML and CTMBLT Utility Files for details.

 

1,2

JCL

+

1 through 72 characters

In-line JCL statement

 

1,5

MODEL

 

library-name, table-name, job-name

Job definition skeleton

 

1,2

a These parameters are for use in jobs defined on a distributed platform (for example, UNIX or SAP) only. For details on their meaning, use, format, and valid values, see the relevant guide.

CTMBLWK - Add or Update Local Workload Policies

The CTMBLWK utility enables you to add new Local Workload Policies or update existing Local Workload Policies without having to access Workload Management in the Control-M Online facility. For more information about Workload Policies, see Managing Workload Using Workload Policies.

The following JCL sample for running CTMBLWK can be found in the CTM JCL library:

Copy
//%JOBNAME% JOB %JOBCARD%                                              
//         JCLLIB  ORDER=%ILPREFA%.PROCLIB                             
//         INCLUDE MEMBER=IOASET                                       
//CTMBLWK  EXEC PGM=CTMBLWK                                            
//         INCLUDE MEMBER=&IOAENV                                      
//SYSPRINT DD SYSOUT=*                                                 
//DAWKLD   DD DISP=SHR,DSN=%ILPREFA%.PARM(CTMWKLDT)   <== CHOOSE ONE    
//DAWKLD   DD DISP=SHR,DSN=%ILPREFA%.IOAENV(CTMWKLDT) <== OPTION FOR DAWKLD        
//SYSIN    DD DISP=SHR,DSN=YOUR.INPUT.DSN(YOURMEM)    <== TAILOR OR CHOOSE THE      
//SYSIN    DD *                                       <== OTHER SYSIN OPTION
W.NAME=JUSTAJOBS
W.STATUS=A
F.MEMNAME=A*
R.TYPE=S
R.SINGDUAL=S
R.SEPOST=JUSTBJOBS
R.PERIOD_TYPE=WDAYS
R.WDASYS=ALL;
                                                                   
W.NAME=JUSTBJOBS
W.STATUS=A
F.MEMNAME=B*
R.TYPE=J
R.LIMIT=0100
R.PERIOD_TYPE=WDAYS
R.WDASYS=SUN,MON;

//SYSABEND DD SYSOUT=*

This JCL sample contains the definitions of two Workload Policies:

  • JUSTAJOBS : This Workload Policy states that, based on the defined filters, jobs in members that begin with the letter A cannot run when jobs associated with the JUSTBJOBS Workload policy (that is, jobs in members that begin with the letter B) are running.

  • JUSTBJOBS: This Workload Policy states that, based on the defined filters, jobs in members that begin with the letter B can run only on Sunday and Monday and are limited to a maximum of 100 jobs that can run in parallel.

CTMBLWK DD Statements

Data sets required by CTMBLWK are referenced by the following DD statements:

Data Set

Description

SYSPRINT

References the utility message file.

DAWKLD

References the Workload Policies file, CTMWKLDT.

The location of this file is set during installation. It is typically stored in %ILPREFA%.PARM or in %ILPREFA%.IOAENV.

SYSIN

References the Workload Policy input parameters using one of the following methods:

  • Through a utility input file that you create.

  • In the JCL itself, after a DD * statement.

CTMBLWK Parameters

CTMBLWK input parameters that you define through a SYSIN statement are divided into the following categories:

The last parameter line of each Workload Policy must end with a semicolon (;).

General Workload Parameters

The following table lists the general Workload parameters that you define with a W. prefix:

Parameter

Description

NAME

Defines a unique name for a Local Workload Policy. Mandatory.

Length: Up to 20 characters.

OVERRIDE

Determines whether to override the Workload Policy definitions if a Workload Policy with this name already exists:

  • Y: Override the existing Workload Policy.

  • N: Do not override the existing Workload Policy; terminate the operation with an error.

  • U: Update the existing Workload Policy, according to the following behavior:

    • Workload Policy status is overridden.

    • New filter parameters are added, but existing filters are not modified.

    • Rule parameters are overridden with the new input.

Default: Y

STATUS

Determines the activity status of the Workload Policy:

  • A: ACTIVE

  • I: INACTIVE

Default: A

Filter Parameters

Workload Policy Filter parameters define a combination of job attributes that determine which jobs are included in the Workload Policy. The following table lists the filter parameters that you define with an F. prefix:

Parameter

Description

Rules

MEMNAME

Defines the name of a member that contains a JCL or started task.

  • All are optional, but you must define at least one.

  • Each has a length of 1–60 characters.

  • Supported wildcards: * and ?

  • Use commas to separate multiple values.

 

 

 

 

APP

Defines the name of the application to which the group of the job belongs.

GROUP

Defines the group that the job belongs to.

SCHED

Defines the name of the job scheduling table.

SCHENV

Defines the name of the scheduling environment that is associated with the job.

Rule Parameters

Workload Policy Rule parameters enable you to define rules to apply to the jobs in the Workload Policy for controlling the job load during specific periods of time. You must define at least one rule in each Workload Policy. The following table lists the rule parameters that you define with an R. prefix:

Parameter

Description

TYPE

Determines one of the following rule types:

  • R: Limits the usage of resources by jobs.

  • J: Limits the number of jobs that can run concurrently.

  • S: Separates workloads, that is, allows jobs of one Workload Policy to execute only if jobs of other Workload Policies are not executing at the same time.

Default: S

DESC

Defines an optional free-text description of the Workload Policy rule, to clarify its purpose.

Length: 1–60 characters

RES

Defines the name of a resource, for a rule of type R (Resource).

Length: 1–20 characters

LIMIT

Defines the limit for a rule of type R (Resource) or J (Jobs):

  • Resource limit: The number of resources to allocate while the Workload Policy rule is in effect.

  • Jobs Limit: The maximum number of concurrent jobs to allow to run while the Workload Policy rule is in effect.

Valid values: 0000–9999

SEPNUM

Defines the number of Workload Policies that must not have jobs executing, to allow execution of the jobs of the current Workload Policy. This parameter is relevant for a rule of type S (Separate Execution).

This parameter is followed by a SINGDUAL line and SEPOST line for each specific Workload Policy.

Valid values: 0000–9999

SINGDUAL

Determines the directionality of separation between Workload Policies, in a rule of type S (Separate Execution).

Set this parameter to a value of S (Singular) for each Workload Policy that you define with a SEPOST parameter.

SEPOST

Defines the name of a specific Workload Policy that must not have jobs executing, to allow execution of jobs of the current local Workload Policy. If jobs of the specified Workload Policy are executing, jobs of the current Workload Policy are blocked from running. Relevant in a rule of type S (Separate Execution).

Length: 1–20 characters

The total number of SEPOST lines in the rule must match the value of SEPNUM.

INDEXNM

Defines the name of a Load-Index that must reach a specified threshold level (next parameter) for the Workload Policy rule to be enforced. Optional.

Length: 1–20 characters

INDEXLVL

Determines the threshold load level that the Load-Index (previous parameter) must reach for the Workload Policy rule to be enforced.

Valid values:

  • LOW

  • MEDIUM

  • HIGH

  • V-HIGH (very high)

  • CRITICAL

INDEXLVL=MEDIUM means that the limit is enforced when the Load-Index reaches MEDIUM, HIGH, V-HIGH, or CRITICAL.

BYPASS

Defines the maximum number of minutes before DUE-IN time to apply a bypass to the Workload Policy rule.

This optional bypass enables you to allow urgent jobs to run if they are too close to their DUE-IN time, ignoring the limit set by the policy rule.

Valid values: 000–999

BYPASS=5 means that a bypass is applied (and the Workload Policy rule is ignored) only if 5 minutes or less are left until DUE-IN time. Otherwise, the rule is implemented as defined.

PERIOD_TYPE

Determines the type of time period when the Workload Policy rule is in effect:

Valid values:

  • WDAYS: Weekdays

  • BDATES: Between dates

  • BWDAYS: Between weekdays

  • SDATES: Specific dates

Default: WDAYS

WDAYS

Determines the days of the week when the rule is in effect.

Relevant when PERIOD_TYPE=WDAYS.

Valid values:

  • Any combination of the days of the week, separated by commas.

    • WDAYS=SUN,MON,WED,THU,FRI

    • WDAYS=FRI,SAT

    • WDAYS=TUE

  • ALL: All days of the week.

Default: ALL

FR_TIME

Defines the beginning of an optional range of hours when the rule is in effect (or not in effect) on each separate day.

Such a range of hours is relevant for any type of time period (specified by PERIOD_TYPE). If no range of hours is specified, the rule is applied during the full 24 hours of each day.

Format: HHMM, where HH ranges from 00 to 23, and MM is one of the four quarters of the hour (00, 15, 30, or 45).

TO_TIME

Defines the end of an optional range of hours when the rule is in effect (or not in effect) on each separate day.

Format: HHMM, where HH ranges from 00 to 23, and MM is one of the four quarters of the hour (00, 15, 30, or 45).

  • FR_TIME=1000 and TO_TIME=1300: The rule is applied between 10 AM and 1 PM each day.

  • FR_TIME=1300 and TO_TIME=1000: The rule is applied during all hours of the day except for between 10 AM and 1 PM each day.

FR_DATE

Defines the calendar date at the beginning of a range of dates.

Relevant when PERIOD_TYPE=BDATES.

Format: DDMMYYYY

TO_DATE

Defines the calendar date at the end of a range of dates.

Relevant when PERIOD_TYPE=BDATES.

Format: DDMMYYYY

FR_WDAY

Defines the day of the week at the beginning of a range of weekdays.

Relevant when PERIOD_TYPE=BWDAYS

Valid values: Abbreviated (3-character) names of weekdays (SUN, MON, TUE, WED, THU, FRI, SAT)

TO_WDAY

Defines the day of the week at the end of a range of weekdays.

Relevant when PERIOD_TYPE=BWDAYS

Valid values: Abbreviated (3-character) names of weekdays (SUN, MON, TUE, WED, THU, FRI, SAT)

FR_BTIME

Defines a specific time for the rule to begin to take effect on the first day of the time period.

Optional. Relevant when PERIOD_TYPE is set to BDATES or BWDAYS.

Format: HHMM, where HH ranges from 00 to 23, and MM is one of the four quarters of the hour (00, 15, 30, or 45).

TO_BTIME

Defines a specific time for the rule to end on the last day of the time period.

Optional. Relevant when PERIOD_TYPE is set to BDATES or BWDAYS.

Format: HHMM, where HH ranges from 00 to 23, and MM is one of the four quarters of the hour (00, 15, 30, or 45).

For a time period that starts on August 5 at 2:30 PM and ends on August 8 at 4:00 AM, set the following combination of parameters:

  • PERIOD_TYPE=BDATES

  • FR_DATE=05082023

  • TO_DATE=08082023

  • FR_BTIME=1430

  • TO_BTIME=0400

NUM_SDATES

Defines the number of specific dates on which to apply the rule.

This parameter is followed by SDATES lines with the specific dates.

Relevant when PERIOD_TYPE=SDATES.

Valid values: 0000–9999

SDATES

Defines a specific date on which to apply the rule.

Relevant when PERIOD_TYPE=SDATES.

Format: DDMMYYYY

The total number of SDATES lines in the rule must match the value of NUM_SDATES.

CTMBLWK Return Codes

Code

Description

0

New Workload policies added or updated successfully.

4

At least one workload policy was successfully overridden or updated. A message provides further details.

8

Syntax and validity problems were detected in the input file.

12

Logical or functional failure or security issues detected.

The following scenarios are examples of logical failures:

  • OVERRIDE is N and the Workload Policy exists.

  • Separate Execution rule that references a non-existent Workload Policy.

CTMCAJF – Maintain the Active Jobs File

The CTMCAJF utility performs special maintenance functions on the Active Jobs file. The operator is warned in advance when the file is nearly full. The operator can use the CTMCAJF utility to perform any of the following actions:

  • Compress the file.

  • Delete entries from the Status screen.

  • Activate the AJF Space Reuse facility if requested.

  • Change the size of the file by copying the file to a different size file.

CTMCAJF Statements and Parameters

The utility receives parameters, that designate the required function, using DD statement DACOPPRM (or SYSIN). Any of the following functions can be requested:

Table 104 CTMCAJF Parameters

Parameter

Description

CLEANUP

Logically delete all jobs marked ENDED OK in the Active Jobs file. These jobs are marked DELETED and remain in the Active Jobs file until the New Day procedure is run.

Logically deleted jobs can be restored using the U (Undelete) option in the Control-M Active Environment screen (screen 3).

COMPRESS

Make room in the Active Jobs file by physically deleting all jobs marked DELETED or ENDED OK. Also update pointers in the AJF to the Control-M Resources and IOA Conditions files, when necessary.

COPY

Copy the Active Jobs file to a different size file, generally a larger file.

The COMPRESS function cannot run in parallel with the Control-M monitor. If the monitor is not shut down, the utility terminates. Online users can remain logged on. The CLEANUP function must run simultaneously with the Control-M monitor and the same AJF must be allocated to both the monitor and the batch utility job. Do not shut down the monitor when running the utility with this function.

SELECT/IGNORE Statements for CTMCAJF

SELECT/IGNORE statements are optional and can only be specified for COMPRESS and CLEANUP functions. They identify jobs that are deleted or not deleted, as follows:

Table 105 CTMCAJF SELECT/IGNORE Statements

Statement

Description

IGNORE statements

Identify jobs that are not deleted.

SELECT statements

Identify jobs that are deleted.

If a CLEANUP is being performed, SELECT/IGNORE statements are applied in addition to (not instead of) the default SELECT/IGNORE statements specified in the New Day procedure. New Day procedure default SELECT/IGNORE statements are applied by this utility.

Up to 500 SELECT/IGNORE statements can be specified. Jobs are handled according to the first statement for which the criteria are met.

One or more of the parameters described in Table 106 can be specified in any SELECT/IGNORE statement (in any order).

Table 106 CTMCAJF SELECT/IGNORE Statement Parameters

Parameter

Description

FROM date

Starting ODATE in yymmdd format

GROUP groupname

Name of the group appearing in the job scheduling definition

JOBNAME jname or MEMBER memname

  • jname—Name of the job appearing in both the JOB statement and the JOBNAME field of the Status screen

  • memname—Name of the JCL member (specified in the MEMNAME field in the job scheduling definition)

  • jname or memname (but not both) can be specified in one statement

STATUS status

Valid values are:

  • ACTIVE

    ACTIVE status includes all statuses except WAITSCHED, ENDOK and ENDNOTOK. This status enables the user to select or ignore jobs that are in ACTIVE status.

  • ENDOK

  • ENDNOTOK

  • HELD

  • WAITSCHED

  • DELETED

  • TBL-ACTIVE (This status means that at least one job in the SMART Table has not completed processing.)

TO date

Ending ODATE in yymmdd format

A prefix can be specified instead of a full table name, job name or member name by placing an asterisk (*) at the end of the string (for example, PROD*).

Specifying AutoEdit Variables and Functions for CTMCAJF

AutoEdit variables can be specified for any of the above parameters. These variables are especially useful for specifying relative date ranges in the FROM and TO parameters.

AutoEdit functions can be used to set variables and these variables can then be used in the parameters of the utility. The lines in which the variables are set must have an asterisk (*) in the first column of the line. Such lines are resolved by the AutoEdit facility and are interpreted as comments by the utility. Regular comments can also be specified in lines with an asterisk in the first column.

For example,

Copy
*  IGNORE MEMBERS PREFIXED WITH BR14 that WERE ORDERED
*  WITHIN THE LAST THREE DAYS.
*  %%SET %%F = %%CALCDATE %%DATE -3    IGNORE MEMBER BR14*    FROM %%F

The following AutoEdit terms cannot be used in the input for this utility:

  • %%ODATE

  • %%OYEAR

  • %%OMONTH

  • %%ODAY

  • %%OWDAY

  • %%INCLIB

  • %%INCMEM

File Statements for CTMCAJF

File statements are mandatory for COPY functions. They cannot be specified for COMPRESS or CLEANUP functions. OLDAJF and NEWAJF statements must be specified for COPY functions:

Table 107 CTMCAJF File Statements

Statement

Description

OLDAJF

Name of the old Active Jobs file

NEWAJF

Name of the new Active Jobs file

Compressing the Active Jobs File

The Active Jobs file often contains entries for jobs that are no longer needed (jobs with a status of DELETED or ENDED OK). Compression makes room in the Active Jobs file by physically removing these unneeded entries from the file. Removed entries are no longer displayed in the Status screen.

The COMPRESS function saves the Active Jobs file as a BKP file prior to performing the actual file compression. Therefore, prior to running the COMPRESS function, a copy of the BKP file should be created in order to preserve the BKP file data of the last New Day run.

The compression function can also run in simulation mode. This can be done by specifying the SIMULATION statement after the COMPRESS statement. When running in simulation mode, the compress function only lists the jobs that would be removed from the active jobs file if 'real' compression were run, and does not actually remove any of them.

Cleaning the Active Jobs File

Normally, the Active Jobs file is cleaned (meaning, unneeded job entries are deleted) once a day by the New Day procedure. By default, all jobs with status ENDOK that are not being held are deleted during this cleanup. The defaults can be overridden by using SELECT/IGNORE statements (that select or ignore jobs for deletion).

The CTMCAJF utility can be run as often as necessary to clean the Active Jobs file.

Unlike the cleanup performed by the New Day procedure, the cleanup function of the CTMCAJF utility does not actually delete the unneeded jobs. Instead, it marks the job entries as deleted so that they are ignored by Control-M and so that, by default, the job entries do not appear in the Status screen. (To display these logically deleted jobs in the Active Environment Status screen, specify Y (Yes) in the DELETED field in the Show Screen Filter window (3.SHOW) of the Status screen.)

Logically deleted jobs are physically deleted the next time the New Day procedure or COMPRESS function is run.

When the CTMCAJF utility is run to clean up the Active Jobs file, it applies the cleanup criteria of the New Day procedure in addition to the cleanup criteria specified with the utility. If the cleanup criteria of the New Day procedure are not desired when running the CTMCAJF utility, they are overridden by SELECT/IGNORE statements specified in the utility.

Changing the size of the Active Jobs File

If online, do not access the Control-M Active Environment screen in the IOA Online facility while the size of the Active Jobs file is being changed.

To change the size of the Control-M Active Jobs file, perform the following steps:

  1. Enter ICE and select Customization.

  2. In the Customization screen, set Product ID to CTM.

  3. Select "Customize Control-M Dataset Parameters."

  4. Select step "Control-M Dataset Parameters," update the AJFSIZE parameter and exit the step.

  5. Select step "Save Parameters into Product Libraries."

  6. Select step "Format the Active Jobs File," and reply Y (Yes) when asked to replace existing copy of the job.

  7. Change the dsname, unit and volser as required and run the job. This step allocates and formats a new Active Jobs file and its associated BKP file.

  8. Run the CTMCAJF utility. The utility copies the current Active Jobs file to new Active Jobs file.

  9. Rename the old Active Jobs file.

  10. Rename the new Active Jobs file to the former name of the old file.

Activating the COMPRESS function

Copy
//COMP    EXEC CTMCAJF    COMPRESS
//

Activating the COMPRESS function in simulation mode

Copy
//COMP EXEC CTMCAJF    COMPRESS    SIMULATION
//

Activating the CLEANUP function

Copy
//CLEANUP EXEC CTMCAJF    CLEANUP
//

Activating the COPY function (Active Jobs File)

Copy
//COPY EXEC CTMCAJF,
//    OLDAJF='CTM.PROD.CKP',    OLD ACTIVE JOBS FILE
//    NEWAJF='CTM.PROD.NEWCKP'    NEW ACTIVE JOBS FILE
COPY
//

A sample job to activate the COPY function of the utility can be found in member CTMCAJF2 in the Control-M JCL library.

CTMCAJF Return Codes

Table 108 CTMCAJF Return Codes

Code

Description

0

Operation performed successfully.

other

Operation failed.

Examples for CTMCAJF

CTMCAJF Example 1

Delete all jobs of the night batch from the Active Jobs file, except those with a WAIT SCHEDULE status. In addition, delete jobs that ended OK and jobs whose MAXWAIT interval has been exceeded if such jobs do not have WAITSCHED status.

Copy
//COMP EXEC CTMCAJF    COMPRESS    IGNORE STATUS WAITSCHED    SELECT GROUP NIGHT-BATCH

CTMCAJF Example 2

Delete only jobs in group G1, G2, and G3.

Copy
//COMP EXEC CTMCAJF    COMPRESS    SELECT GROUP G1    SELECT GROUP G2    SELECT GROUP G3    IGNORE GROUP *

CTMCAJF Example 3

Delete all jobs except job A622451C.

Copy
//COMP EXEC CTMCAJF    COMPRESS    IGNORE MEMBER A622451C    SELECT MEMBER *

CTMCRES – Copy or Resize the Control-M Resources File

The CTMCRES utility copies the contents of the Control-M Resources file to another file that may or may not be the same size, or converts a non-supported version (earlier than 6.x.x) IOA Conditions/Resources file to the current version of the Control-M Resources file. For more information, see the CONVERT parameter in Table 109.

When the CTMCRES utility is run to upgrade the Control-M Resources file, or to expand it, the queue name of both files must match the SHRQNAM parameter in IOAPARM. If not, error message CTMJ03E is issued.

A sample JCL to execute the utility can be found in member CTMCRES in the Control-M JCL library.

The CTMCRES utility cannot run simultaneously with the Control-M monitor. Online users can remain logged on but must not access the online facility while the size of the Control-M Resources file is being changed.

Parameters and DDNAMEs for CTMCRES

The utility accepts one parameter using PARM of the EXEC statement, as follows:

Table 109 CTMCRES Parameters

Parameter

Description

CONVERT

Convert a non-supported version (earlier than 6.x.x) IOA Conditions/Resources file to a current version Control-M Resources file

COPY

Copy an existing file to a new (larger) file.

The following DD statements must be changed to correctly point to the old and new files:

Table 110 CTMCRES Statements

Statement

Description

DAOLDRES

Name of the source Control-M Resource file, or the old IOA Conditions/Resources file

DARESF

Name of the new Control-M Resources file

How to Change the Size of a Control-M Resources File

To change the size of an existing Control-M Resources file perform the following steps:

  1. Enter ICE and select Customization.

  2. In the Customization screen, set Product ID to CTM.

  3. Select major step "Customize Control-M Dataset Parameters," and then minor step "Control-M Datasets Parameters."

  4. Change parameters RESBQNT#, RESQNT# and/or RESCNTL# (depending on which part of the file is enlarged), and exit the step. For more information about these parameters, see the Control-M installation chapter in the INCONTROL for z/OS Installation Guide.

  5. Perform step "Save Parameters into Product Libraries."

  6. Perform step "Format the Resource File" and submit the job. This job allocates and formats a new Control-M Resources file (make sure you use a different name for the newly-formatted file that the DARESF DDstatement points to).

  7. Run the CTMCRES utility, specifying the original Control-M Resources file in the DAOLDRES DDstatement and the newly-created Control-M Resources file in the DARESF DDstatement. This utility copies the original Control-M Resources file to the new file.

  8. Rename the original Control-M Resources file using any new name, and then rename the new Control-M Resources file to the original file name.

  9. Resume all activities that use the new file (that is, start Control-M monitor, reenter the IOA online environment, and so on.)

The CTMCAJF utility (compressing the AJF) should be ran only after expanding the resource file.

CTMCRES Return Codes

Table 111 CTMCRES Return Codes

Code

Description

0

Operation performed successfully.

8 and above

Operation failed; see message in the job.

CTMCSMF, CTMRSMF – Extract performance statistics

Control-M has the capability of gathering performance statistics from various Control-M components. These statistics are accumulated in the IBM System Management Facility (SMF) database. The CTMRSMF utility extracts these statistics records from SMF and creates a Comma Separated Values (.CSV) file which can be used to produce user-generated reports.

This utility is normally executed only upon request of BMC Technical Support.

To accumulate meaningful performance data in the SMF database you must set appropriate parameters (PFMINT, PFMSMF) in the CTMPARM member of the IOA PARM library and appropriate trace levels. You can also dynamically accumulate these statistics using the Control-M PREFDATA command. For more information on the parameters, see the INCONTROL for z/OS Installation Guide. For more information on setting trace levels and using the PERFDATA command, see the INCONTROL for z/OS Administrator Guide.

Preparing the CTMCSMF utility

You need to prepare the CTMCSMF member before executing the CTMCSMF utility for the first time. All subsequent uses of the utility can use the same version of the CTMCSMF member. Use the following procedure to prepare the job in the CTMCSMF member, located in the Control-M JCL library:

  • Specify the SMF input file by entering the site dependent SMF data set name in the CTMCSMF member in the IOA PROCLIB library. See the comments in the CTMCSMF member for more information on the changes needed.

  • Modify the CTMCSMF member in the Control-M JCL library, as specified within the member. Specifically the following control statements need to be modified for your site:

  • INDD(INDD,OPTIONS(DUMP))

  • OUTDD(DUMPOUT,TYPE(??))

  • For more information on these control statements, refer to the IBM System Management Facility documentation.

Extracting performance data to a .CSV file

Use the following procedure to generate a .CSV file containing Control-M performance statistics:

  1. Run the job in CTMCSMF member in the Control-M JCL library. This job executes the IBM IFASMFDP utility to extract the Control-M performance statistics from the SMF database.

  2. Run the job in the CTMRSMF member in the Control-M JCL library to convert the output from the CTMCSMF utility into a .CSV file.

CTMCSMF, CTMRSMF Parameters

The only parameters necessary to execute the CTMCSMF utility are control statements for the IBM IFASMFDP utility described in Preparing the CTMCSMF utility. The CTMRSMF procedure does not require any control statements.

Activating the CTMCSMF, CTMRSMF Utilities

To extract performance data from the SMF database to a .CSV file, run the following jobs in sequence:

  1. Run the job in the CTMCSMF member in the Control-M JCL library

  2. Run the job in the CTMRSMF member in the Control-M JCL library

CTMCSMF, CTMRSMF Output

The result of running these two utilities is a .CSV file containing Control-M performance statistics. You can use the .CSV file as input to spreadsheet type programs to select and analyze the performance data. You can also send the .CSV file to BMC Technical Support upon request.

For a detailed explanation of the structure of the performance trace record, see the INCONTROL for z/OS Administrator Guide, "Understanding the performance trace record."

Table 112 shows sample records from a .CSV file.

Table 112a Sample .csv output (columns 1 to 7)

TASK ID

START DATE

START TIME

END TIME

FUNC NAME

NO OF TIMES FUNC CALLED

TOT ELAPSED TIME

CTMRUN

8240

141905

142235

RUN

39

9.92

CTMRUN

8240

141905

142235

CKP

39

1.22

CTMRUN

8240

141905

142235

PLX

39

2.51

CTMRUN

8240

141905

142235

OPR

39

6.17

CTMSEL

8240

141859

142235

SEL

38

1.21

CTMSEL

8240

141859

142235

WCN

36

0

CTMSEL

8240

141859

142235

X15

2

0

CTMSEL

8240

141859

142235

CND

77

0.3

CTMSEL

8240

141859

142235

SHT

2

0.03

CTMSEL

8240

141859

142235

PRE

36

0.01

CTMSEL

8240

141859

142235

POS

36

0.01

CTMSUB

8240

141859

142307

SUB

6

2.08

CTMSUB

8240

141859

142307

JSP

11

0

CTMSUB

8240

141859

142307

X02

29

0

CTMSUB

8240

141859

142307

SE2

29

0.06

CTMSUB

8240

141859

142307

JES

20

1.66

CTMSUB

8240

141859

142307

ERQ

2

0

CTMSUB

8240

141859

142307

ALC

2

0.16

CTMSUB

8240

141859

142307

GET

2

0

CTMSPY

8240

141859

142311

SPY

2

1.34

CTMSPY

8240

141859

142311

STA

2

0

CTMSPY

8240

141859

142311

PSO

4

0.87

CTMSPY

8240

141859

142311

COP

3

0.22

CTMSPY

8240

141859

142311

EX2

1

0.02

CTMSPY

8240

141859

142311

NJE

2

0

Table 112b Sample .csv output (columns 8 to 14)

TOT CPU TIME

AVG ELAPSED TIME

AVG CPU TIME

MAX ELAPSED TIME

MAX CPU TIME

FUNC RELATED: #a

FUNC RELATED: AVG #b

0.05

0.25

0

6.51

0.02

0

0

0.02

0.03

0

0.24

0

0

0

0

0.06

0

0.18

0

0

0

0.02

0.15

0

6.17

0.02

0

0

0.03

0.03

0

0.43

0.01

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0.01

0

0

0

0

0.01

0

0.03

0

0

0

0

0

0

0.01

0

0

0

0

0

0

0.01

0

0

0

0.01

0.34

0

1.02

0

2

0.33

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0.03

0

0

0

0

0.08

0

0.85

0

0

0

0

0

0

0

0

0

0

0

0.08

0

0.1

0

0

0

0

0

0

0

0

0

0

0.02

0.67

0.01

1.15

0.02

0

0

0

0

0

0

0

0

0

0

0.21

0

0.87

0

0

0

0.01

0.07

0

0.18

0.01

0

0

0

0.02

0

0.02

0

0

0

0

0

0

0

0

0

0

  1. The scope of FUNC RELATED: # varies, according to the application. For the Control-M monitor, task CTMSUB, it refers to the number of jobs processed. For the Application Server, task CTWDET, it refers to the number of updates sent per detection cycle.

  2. The scope of FUNC RELATED: AVG # varies, according to the application. For the Control-M monitor, task CTMSUB, it refers to the average number of jobs processed per CTM cycle. For the Application Server, task CTWDET, it refers to the average number of updates sent per detection cycle.

CTMCSMF, CTMRSMF Return Codes

Table 113 CTMCSMF, CMTRSMF Return Codes

Code

Description

0

Operation performed successfully.

other

Operation failed. Check accompanying error messages.

TMDSR - Recovery report for SYSOUT actions

The CTMDSR utility enables you to generate a recovery report that lists SYSOUT actions or DO SYSOUT actions with an indeterminate end status. Such SYSOUT actions might exist when Control-M runs in multi-SPY mode and the Control-M Monitor terminates abnormally.

In multi-SPY mode, SYSOUT actions are performed asynchronously. This can result in an update of job status to ENDED OK or ENDED NOTOK before the SYSOUT action has been performed. If the Control-M monitor terminates abnormally during that time, the job remains in ENDED status even though the SYSOUT action has not been performed. Note that if the job is in the post-processing phase during the abnormal termination of Control-M, the job will complete during the Control-M recovery process.

The CTMDSR utility detects SYSOUT actions with an indeterminate end status based on the messages in the IOA Log.

The following JCL sample for running CTMDSR can be found in the CTM JCL library:

Copy
//*********************************************************************
//*                            CTMDSR JOB                             *
//*                                                                   *
//*   THIS JOB RUNS THE CTMDSR UTILITY, TO CHECK THE IOA LOG FOR      *
//*   'SYSOUT' ACTIONS THAT MIGHT NOT HAVE COMPLETED BEFORE AN        *
//*   ABNORMAL TERMINATION OF THE CONTROL-M MONITOR.                  *
//*                                                                   *
//*   INPUT:                                                          *
//*   ======                                                          *
//*   SYSIN DD CARD -> REPSTART YYMMDDHHMM                            *
//*                    REPEND   YYMMDDHHMM                            *
//*                                                                   *
//*   REPSTART REPRESENTS THE START TIME, AND REPEND REPRESENTS THE   *
//*   END TIME. ENSURE THAT BOTH PARAMETERS APPEAR ON CONSECUTIVE     *
//*   LINES, WITH NO LINES IN BETWEEN.                                *
//*   WHEN THE DD CARD IS MISSING THE DEFAULT VALUES WILL BE USED.    *
//*                                                                   *
//*   DEFAULT VALUES:                                                 *
//*   REPSTART 0001010000 (BEGINNING OF THE YEAR 2000)                *
//*   REPEND CURRENT DATE AND TIME                                    *
//*                                                                   *
//*                                                                   *
//*   OUTPUT:                                                         *
//*   =======                                                         *
//*   THE PROGRAM PRINTS A REPORT OF ALL THE 'SYSOUT' ACTIONS THAT    *
//*   MIGHT NOT HAVE COMPLETED BEFORE AN ABNORMAL TERMINATION         *
//*   OF THE CONTROL-M MONITOR.                                       *
//*                                                                   *
//*   REQUIRED DD CARDS:                                              *
//*   ==================                                              *
//*   DALOG, DAREPORT                                                 *
//*                                                                   *
//*********************************************************************
//*
//         JCLLIB  ORDER=xxxx.xxxx.PROCLIB    <== Update the environment prefix    
//         INCLUDE MEMBER=IOASET
//CTMDSR   EXEC PGM=CTMDSR
//         INCLUDE MEMBER=&IOAENV
//DALOG    DD DISP=SHR,DSN=&DBPREFA..LOG
//DAREPORT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSIN    DD *
REPSTART YYMMDDHHMM         <== Update the date & time the report start
REPEND   YYMMDDHHMM         <== Update the date & time the report end

CTMDSR DD Statements

Data sets required by CTMDSR are referenced by the following DD statements:

Table 113a CTMDSR Required Data Sets

Data Set

Description

DALOG

References the IOA Log file.

DAREPORT

References the report output file and utility messages

The CTMDSR utility receives input through the PARM of the EXEC statement or through the DD statement SYSIN.

To define the start time and end time of the report, you can choose between the following parameters:

Table 113b CTMDSR Parameters

Context

Parameters

Description and guidelines

SYSIN DD statement

REPSTART yyMMddHHmm

REPEND yyMMddHHmm

The REPSTART parameter represents the start time of the report, and the REPEND parameter represents the end time.

Ensure that both parameters appear on consecutive lines, with no lines in between.

No spaces are allowed within the parameter values, and empty values are not allowed.

Defaults for these keywords (when not specified):

  • REPSTART 0001010000 (beginning of the year 2000)

  • REPEND current date and time

EXEC statement

PARM='yyMMddHHmm,yyMMddHHmm'

The first parameter represents the start time of the report, and the second parameter represents the end time.

Use a comma or single space to separate between the start time and end time. Do not include spaces within these parameters.

Default:

  • Start time: 0001010000 (beginning of the year 2000)

  • End time: current date and time

If both SYSIN and PARM are specified, the PARM parameters take precedence.

CTMDSR generates the following output in the DAREPORT DD:

  • Utility messages

  • Recovery report of SYSOUT or DO SYSOUT actions with indeterminate end status

Here is an example of a CTMDSR report:

Copy
             Recovery Report for SYSOUT Actions
             ----------------------------------                 
From:  01/01/20,10:00                                               
Until: 01/01/20,11:00                                               
Log file: IOAA.MODM1.DB.LOG                                         
                                                                    
Jobname    JobID      Option          FromClass    ToClass   Dest    
---------------------------------------------------------------------
MU1S2I3    J0028950   D-Delete                                       
MU1S26Q    J0028954   C-ChangeClass   X            D                
MU1S37C    J0028956   R-Release                                     
MU1S40C    J0028958   R,C,N           X            A         U1234  
---------------------------------------------------------------------
End of report                                                        
Number of SYSOUT actions in the report: 4  


In this report:

  • Options can be any of the following:

    • C — changing the SYSOUT class

    • D — deleting the sysout

    • N — changing the SYSOUT destination

    • R — releasing the SYSOUT

  • SYSOUT actions from the same class can be combined in one request. For example, R,C,N (as in the last record in the sample report above). For more information see Multiple SYSOUT Operations in the Control-M for z/OS User Guide.

CTMDSR Return Codes

Table 113c CTMDSR Return Codes

Code

Description

0

The CTMDSR utility ended successfully.

4

Invalid SYSOUT action type encountered.

8

An error occurred.

Check the output referenced by the DAREPORT DD statement for a message that indicates the cause of the problem. Correct the input statements and resubmit the job.

12

A severe error occurred.

Check the output referenced by the DAREPORT DD statement for a message that indicates the cause of the problem.

CTMDSRN – Distributed system job submission from mainframe

The CTMDSRN utility executes scripts on distributed system platforms and saves the results in a file on the mainframe. The utility supports Control-M/Agent version 8.0.00 and higher but only with protocol version 10.

Activating the CTMDSRN Utility

The following DD statements are used to activate the utilities:

  • STDOUT - output stream of a script

  • STDIN - input stream.

  • SYSPRINT - diagnostic and trace messages of the utility

  • SCRIPT - refer to the file where the script to be run is located (optional)

  • SYSIN - input parameters

  • DEFPARMS - refers to the file with the default parameters

CTMDSRN Parameters

The CTMDSRN utility receives the following parameters from the DEFPARMS input file referenced by the SYSIN DD statement:

Table 114 CTMDSRN input parameters (referenced by SYSIN DD)

Parameter

Description

*

Comment

–te2a

EBCDIC to ASCII translation table name. Optional. Default is defined in the file referred to by DD DEFPARMS.

–ta2e

ASCII to EBCDIC translation table name. Optional. Default is defined in the file referred to by DD DEFPARMS.

–cleanup  number_of_days

Sends NEWDAY request to all agents defined in the DSHOSTS member of CTMPARM library. If cleanup is defined, the utility ignores all other parameters.

The number_of_days option specifies the number of days to keep the SYSOUT log. number_of_days is a mandatory value.

It is recommended to run cleanup once per day.

–s/–script ddname

Specifies a script file to execute. Optional. If omitted, SCRIPT ddname is assumed.

–script_type type

Specifies the type of script using the script filename extension, such as, bat, cmd, or vbs. Optional. The utility takes the default value from SUBMITDS.

–o/-options options

Specifies command line options. Optional.

–f/-x/-file ddname

Specifies the ddname that refers to the plain text file containing the values for the utility options. Optional.

-C/-cmdid order_ id

Specifies an order ID for the task. Optional. If omitted, the utility generates an order ID.

–c/-cmd command

Command line (If define command line script related parameters are ignored): -script, -script_name and –script_type

–u/-userid user

Owner (user). Optional. If omitted – utility will use default user from DSHOSTS.

–i/–host host

Computer name where the script will run.

–p/-port port

Specify the Control-M/Agent "server_to_agent" port. Optional. If omitted assume default value from DSHOSTS table.

All parameters begin with a hyphen (-). The utility ignores a parameter if it is unknown. There can be more than one parameter per line. A parameter and its value are separated with spaces. A value ends when the next parameter begins or at the end of the file. Input parameters can be coded in positions 1 – 72.

If the values for the -options, -cmd, -script_name parameters contain spaces or shell meta-characters, they must be enclosed in single ( ' ) or double ( " ) quotation marks. If an enclosing character is part of the option, prefix the character with the command line escape character, back slash ( \ ).

SUBMITDS default parameter member

The DEFPARMS DD statement refers to a member that contains the default parameters for the CTMDSRN utility.

The sample default member, SUBMITDS, located in the Control-M PARM library, shows the following structure:

  • Values in the file are separated with commas (and spaces following the commas).

  • Lines with an asterisk (*) character in the 1st column are interpreted as comments.

  • Each parameter begins in column 1 on a new line. The rest of the line, after the comma is ignored and can be used for a comment.

  • Parameters use positions from 1 to 71.

  • Values cannot be continued on the next line.

Figure 27 Sample default member, SUBMITDS

Copy
PORT=1111,                             Default CTM/Agent port.
SCRIPT_PREFIX=CTMMF,                   Script name prefix
SCRIPT_TYPE=bat,                       Default script type.
MF_HOST_NAME=tlv3,                     MF host name
A2ETBL=<name>,                         ASCII to EBCDIC table name
E2ATBL=<name>,                         EBCDIC to ASCII table name

The parameters in SUBMITDS are decribed in the following table:

Table 115 Description of sample default member, SUBMITDS

Parameter

Description

PORT=1111

Default Control-M/Agent "server_to_agent" port. Used if the –port parameter is missing and is not defined in DSHOSTS table.

SCRIPT_PREFIX=CTMMF

This prefix is added to each script name generated by the utility to identify the script.

SCRIPT_TYPE=bat

Specifies the type of script, using the script filename extension, which in this sample is bat.

MF_HOST_NAME=tlv3

Host name which must be passed to Control-M/Agent for authentication purposes.

A2ETBL=<name>

Name of member, located in the IOA PARM library, that contains the ASCII to EBCDIC translation table. If the name is not specified, a default English translation table is used.

E2ATBL=<name>

Name of member, located in the IOA PARM library, that contains the EBCDIC to ASCII translation table. If the name is not specified, a default English translation table is used.

DSHOSTS host and agent parameter member

The DSHOSTS member, located in the Control-M PARM library, specifies the host and agent parameters.

The CTMDSRN utility searches DSHOSTS for the logical host name defined in the HOST parameter. If the host name is found, the utility retrieves the definition of this logical host name to run a script or command there.

The CTMDSRN utility uses the value of the PORT parameter specified in DSHOSTS. If no value is specified, CTMDSRN uses the default value defined in SUBMITDS.

Every host definition begins with the HOST field and ends at either the beginning of the next definition or the end of the file.

In general, every field in the host definitions must be defined in the positions from 1 to 71. Each definition begins on a new line and ends with a space. The free space in the line can be used for a comment.

The DIRECTORY field is an exception to the above rule. The value of this field can use several lines, but cannot contain any comments. If the 72nd position on a line of this field contains a character, the character is included in the value and the value continues onto the next line, starting from the 1st position.

The field names are case insensitive, but their values are case sensitive.

Lines with an asterisk character (*) in the 1st column are interpreted as comments.

Empty lines are ignored.

Table 116 Structure of DSHOSTS member

Parameter

Description

HOST = logical_host_name

Logical host name. Maximum length – 64 characters.

REAL_HOST=host_name

Real host name or IP address. Maximum length – 64 characters.

AGENTNAME=agent_name

Logical agent name. Maximum length – 64 characters.

DEFAULT_USER=userDS

User name. Maximum length – 32 characters.

DIRECTORY=directory_name

The utility uses this directory to upload scripts and data. It must be created on the agent computer. The Control-M/Agent must have full access to this directory.

Maximum length - 200 characters.

PORT=xxxx

Specify the Control-M/Agent "server_to_agent" port. Optional. If omitted, the utility takes a value from the SUBMITDS member in the Control-M PARM library. Number between 1025 and 65000.

Figure 28 Example of a DSHOSTS member

Copy
host = ds_host_alias                  logical host name
real_host = ds_host_name.domain       real host name  
agentname = agent_name                agent name      
default_user = userds                 DS user         
directory = home/userDS/scripts/abcdef/dfdfd/ertrehyfgbnfb/ertretret/tyt
sdsdsd
port = 1111                           Port            

Security and user exits

Security exit CTMSE06 and user exit CTMX006 are used to verify that the specified user is allowed to submit scripts and commands on the specified host.

The $$STRDS.qname.ds_user.hostname security entity must be defined for a user to be given the permission for submitting scripts. Host name in the entity must be an actual host name, which is listed in the DSHOSTS table.

All entities must be defined in the SAF (System Authorization Facility) class that accepts long entity names. The name of this class must be assigned to the IOAXCLAS parameter of the SECPARM member in the IOA PARM library. All entities must be defined in upper case.

For example, to permit a mainframe user, USERA, to submit scripts on a host, HOSTB, using a distributed systems user, DSUSERA, use the following commands:

  • For RACF

    Copy
    PERMIT $$STRDS.qname.DSUSERA.HOSTB  ACCESS(READ) ID(USERA) CLASS(XFACILIT)
  • For TOP SECRET

    Copy
    TSS PERMIT(USERA) IBMFAC($$STRDS.qname.DSUSERA.HOSTB) ACC(READ)
  • For ACF2

    Copy
    SET RESOURCE(CMF)
                            COMP
                        $KEY($$STRDS.qname.DSUSERA.HOSTB) TYPE(CMF) UID(USERA) ALLOW

CTMDSRN Return Codes

Table 117 CTMDSRN Return Codes

Code

Description

16

Incorrect input parameters.

20

Security problem. Specified user cannot submit script on the specified host.

24

Unsupported agent version.

28

Error during work with agent. For example, agent does not answer or is busy.

other

Return code of a script.

Example for CTMDSRN

The following example of the utility usage is provided in the CTMDSRN member, located in the IOA PROCJCL library:

Copy
//DSRUN PROC REG=0M,OUT=’*’
// EXEC PGM=CTMDSRN,REGION=&REG
//SYSPRINT DD SYSOUT=&OUT
//STDOUT DD DSN=SCRIPTOUT,DISP=(,CATLG),SPACE=(TRK,(100,10),RLSE)
//STDIN DD DSN=STDIN,DISP=SHR
//DAPARM DD DSN=IOAP.V900.PARM,DISP=SHR
//    DD DSN=IOAP.V900.IOAENV,DISP=SHR
//DAALOCIN DD DSN=IOAP.V900.IOAENV(ALCMONM), DISP=SHR
// PEND
//*
// EXEC DSRUN
//SCRIPT DD DSN=IOAP.V900.SCRIPTS(script),DISP=SHR
//SYSIN DD *
-script_name filename
-script_type bat
-j run_filename
-cmdid 0bgel
-host hostid
//

Control-M Agent requirements

The Control-M Agent requirements are described in the following list:

  • A separate dedicated agent must be used with this utility. The agent cannot be shared with a Control-M/Server.

  • The agent must be version 8 or higher and must use protocol version level 10.

  • The agent must be configured in one of the following ways:

    • UNIX - add in CONFIG.dat - AGENT_TO_SERVER_CONNECT N

    • WINDOWS - in the registry, under the agent CONFIG key, add a new string value with the name AGENT_TO_SERVER_CONNECT and value N

The parameter does not exit by default, and therefore must be added as a new, additional parameter.

In addition, the following changes in the agent configuration must be performed:

  1. Run ctmagcfg - the Agent Configuration Utility.

  2. Select 3: Primary Control-M/Server Host.

  3. Define the mainframe hostname.

  4. Select option 7: Advanced parameters.

  5. Ensure that Protocol Version is [10]. If not, change it.

  6. Select r: Return to the main menu.

  7. Save.

  8. Quit the Agent Configuration Utility.

CTMEVRT – Retrieve lost DSNEVENTs from SMF

The CTMEVRT utility is used in a process for recovering DSNEVENTs that were not handled during a CMEM outage or Control-O outage.

In general, the recovery process consists of the following stages:

  1. The CTMEVRT utility reads SMF records and creates the DAEVENTS file, which contains a list of DSNEVENTs that occurred during the outage period.

  2. The user edits the extracted DAEVENTS file as required.

  3. The edited DAEVENTS file serves as the input to the CTMEVEX utility, which executes the actions of the CMEM/Control-O rules that were not handled during the CMEM/Control-O outage.

This utility creates a list of extracted DSNEVENTs that occurred during the time of the CMEM/Control-O outage. It accomplishes this by retrieving DSNEVENTs from the SMF records written during the outage and cross-referencing them with the CMEM/Control-O rules list.

  • Only DSNEVENTs are processed; all other non-dataset events are ignored. Similarly, only the DO COND and DO FORCEJOB actions are processed, and all other DO actions are commented with (*) Unsupported action - not executed.

  • Actions for Control-O rules that have scheduling criteria and/or IN conditions are commented with (!) Sched/IN conditions in the rule. You must determine whether all conditions are met before passing these DO actions to the CTMEVEX utility to be performed.
    Actions for Control-O rules that have a preceding IF, WHILE or TERMINAT statement in a rule are commented with (?) Conditional-IF/WHILE/TERM precedes.
    Both these types of actions call for special attention.

The following JCL sample for running CTMEVRT and recovering CMEM events can be found in the CTM JCL library. It uses the CTMEVRT procedure in the IOA PROC library:

Copy
//*                                                                     
//* CONTROL-M CMEM: RECOVER LOST DSNEVENTS FROM SMF                     
//*                                                                     
//*  This is the first stage:                                           
//*      Read SMF records to retrieve missed CMEM DSNEVENTs             
//*                                                                     
//*  This utility creates a list of extracted DSNEVENTs that occurred   
//*  during the time of the CMEM outage. It accomplishes this by reading
//*  the SMF records written during the CMEM outage and                 
//*  cross-referencing them with the CMEM rules list.                   
//*                                                                     
//*  The next stage is manually reviewing DAEVENTS.                     
//*  The third stage is running CTMEVEX.                                
//*                                                                     
//         JCLLIB  ORDER=IOAP.V900.PROCLIB                              
//         INCLUDE MEMBER=IOASET                                        
//CTMEVRT  EXEC CTMEVRT                                                 
//DASMF    DD   DISP=SHR,DSN=SMF.DATASET        <==== SMF DATA SET NAME 
//DAEVENTS DD   DSN=&OLPREFM..CTMEVRT.EVENTS,                           
//           DISP=(,CATLG,DELETE),                                      
//           UNIT=&DBUNITM,                                             
//           SPACE=(TRK,(200,100))                                      
//SYSIN    DD   *                                                       
INCLTIME=2016/01/30,11:00-2016/01/30,11:30                              
SYSID=SYSA                                                              

A similar JCL sample for running CTOEVRT and recovering Control-O events can be found in the CTO JCL library. It uses the CTOEVRT procedure in the IOA PROC library. CTOEVRT was introduced in Control-O version 9.0.20.100 and can be applied to prior versions through APAR WM10166.

To enable DSNEVENTs extraction from the SMF, the following SMF record types must be collected continuously: 14, 15, 17, 30, 61, 64, 65, and 119 (z/OS Communication Server FTP records subtype 70).

For examples of a recovery scenario, see the Control-M Event Manager (CMEM) chapter in the Control-M for z/OS User Guide or the Overview of the Rule Parameters chapter in the Control-O for z/OS User Guide.

Input to CTMEVRT

The following input is relevant for CTMEVRT:

  • SYSIN parameters - to identify the system, and time duration involved in the CMEM outage or Control-O outage and required for the DSNEVENT recovery

  • DACTMLST DD - specifies the relevant CMEM rule list

  • DARULLST - specifies the relevant IOA and CTO rule list (Control-O only)

  • DASMF DD - specifies the SMF records that were written during the outage

  • CTM PARM member DSNEVEXL - contains a list of datasets and jobs to be excluded from DAEVENTS output events list (Optional; member exists by default, but can be removed)

SYSIN parameters

Table 120a SYSIN parameters

Parameter

Description

INCLTIME

The period of time during which DSNEVENTs were lost and not handled by CMEM/Control-O. Once the CMEM monitor or Control-O is brought back up following an outage, the user must identify the period of time DSNEVENTs were not handled by CMEM/Control-O.

Can be specified only once. Mandatory.

Valid format:

  • yyyy/mm/dd,hh:mm-yyyy/mm/dd,hh:mm

The outage duration is the period of time passed between the CMEM critical error message or the message indicating the reason or command that caused the monitor to stop, and the CTO147I CTMCMEM - INITIALIZATION COMPLETE message of the new, functioning monitor.

The following are examples of critical error messages that CMEM/Control-O might issue before it stops:

  • CTO107I SHUT DOWN UPON REQUEST FROM OPERATOR

  • CTO109I CMEM/CONTROL-O MONITOR IS SHUTTING DOWN. A NEW MONITOR WAS STARTED

  • CTO142S CMEM/CONTROL-O MONITOR DETECTED AN INTERNAL xxxx

  • CTO121S CMEM/CONTROL-O MONITOR ENDED WITH ERROR

  • CTO300S INTERNAL ERROR - REASON = xxxx. NOTIFY THE IOA ADMINISTRATOR

INCLTIME (continued)

It is possible that the error occurred in the monitor before the last one as the last one was started automatically right after the failure but failed to recover from the error.

In addition to the outage time, there might be DSNEVENTs that took place before CMEM/Control-O ended, which CMEM/Control-O started to handle but did not complete before it went down.

The SMF records provided should cover the outage duration and also several minutes before CMEM/Control-O ended in order to include possible DSNEVENTs that were not fully handled. The exact duration prior to CMEM/Control-O ending that should be covered may vary. It depends on whether the jobs that are monitored for DSNEVENTs got fast service or were delayed (swapped out or did not get CPU). Since CMEM/Control-O handles such events under the jobs where they occur, the handling could be delayed when the jobs are delayed. If there were no such delays then it would be sufficient to cover one minute before CMEM/Control-O ended. Otherwise the delay duration must be estimated and added to the period that is covered by the SMF records provided.

SYSID

or

SYSTEM

System identification (from the SID parameter from SMFPRMxx or SYSNAME parameter in the IEASYSxx PARMLIB member). Mandatory.

INCLJOB

Job name or job name mask. Only the events triggered by these jobs will be listed in the DAEVENTS list. An example of a job name mask is FTP*.

More than one INCLJOB statement can be specified. Optional.

EXCLJOB

Job name or job name mask. The events triggered by these jobs will be excluded from the DAEVENTS list. An example of a job name mask is TEST*.

More than one EXCLJOB statement can be specified. Optional.

INCLDSN

Dataset name or dataset name mask. Only the events triggered by these datasets will be listed in the DAEVENTS list. An example of a dataset name mask is FILE.FROM.IBANK.*.

More than one INCLDSN statement can be specified. Optional.

EXCLDSN

Dataset name or dataset name mask. The events triggered by these datasets will be excluded from the DAEVENTS list. An example of a dataset name mask is FILE.FROM.IBANK.TEMP*.

More than one EXCLDSN statement can be specified. Optional.

_BPX_JOB

Job name of the FTP forked tasks. Specify one of the following:

  • Job name of the FTP forked tasks as set by the _BPX_JOBNAME environment variable in the FTPD cataloged procedure.

  • USER, when the forked tasks assume the name of the logged-in user.

Since this configuration is not commonly used, specifying this parameter is not required for most installations. For more information, consult your FTP administrator or see "Using _BPX_JOBNAME for similar job names" in the z/OS Communications Server: IP Configuration Guide.

If you receive CTMR2RE or CTMR2ZE messages regarding FTP records during CTMEVRT execution, this parameter probably requires adjustment.

Optional; set if the _BPX_JOBNAME environment variable is set in the FTPD cataloged procedure or if the forked tasks assume the name of the user.

When filtering jobs or data sets using both include and exclude statements, only jobs and data sets satisfying both criteria are included in the DAEVENTS list.

DACTMLST DD

The DACTMLST DD statement, which is mandatory for CMEM, specifies the CMEM rule list. By default, this DACTMLST DD statement is identical to the DACTMLST DD statement in the CMEM or Control-O monitor procedure, but can be modified if necessary.

DARULLST DD

The DARULLST DD statement, which is mandatory for Control-O, specifies the Control-O rule list. It can be modified, if necessary.

DASMF DD

DASMF DD statement specifies the SMF records written during the outage by the required LPAR. Mandatory.

The records can be provided to the utility by using a sequential file (either a single file or a concatenation of multiple files) containing the SMF data or by using the SUBSYS=(LOGR,IFASEXIT) interface to the SMF log streams.

When log stream is to be allocated to DASMF, use the following JCL to allocate it:

Copy
//DASMF    DD DSNAME=logstream.name,  
//            LRECL=32756,RECFM=VB,   
//            BLKSIZE=32760,  
//            SUBSYS=(LOGR,IFASEXIT)

There is no problem of over-supplying SMF records (for example, including 5 hours of SMF when the outage lasted only 25 minutes). Events are selected for the period specified using the INCLTIME statement.

DSNEVEXL member

The DSNEVEXL member, located in the CTM PARM library, contains a list of dataset name masks and job name masks to be excluded from all DAEVENTS list outputs. Optional; member exists by default but can be removed.

The member contains EXCLJOB and EXCLDSN statements for permanently excluding job and dataset names that are common in SMF files, but are irrelevant to the DSNEVENT recovery process (for example, temporary data sets). Excluding these job and data set names results in better utility run times. These EXCLJOB and EXCLDSN statements are in addition to the ones provided in the SYSIN statement.

Each EXCLJOB and EXCLDSN statement is listed on a separate line, starting at position 1. The rest of the line, after the job or dataset name mask is ignored and can be used as a comment. Any line beginning with an * will be treated as a comment.

The following is the default content of the DSNEVEXL member:

Copy
***********************************************************************
*                                                                     *
*            JOB AND DATA SET NAMES EXCLUDE LIST FOR                  *
*                     UTILITY CTMEVRT                                 *
*                                                                     *
* Each line in the file represents a separate exclusion case.         *
*                                                                     *
* Lines with * in 1st column are considered a comment.                *
*                                                                     *
* Possible statements are:                                            *
* EXCLJOB - Specifying a job name or job name mask                    *
* EXCLDSN - Specifying a data set name or data set name mask          *
*                                                                     *
* Each parameter begins in column 1 on a new line. The rest of        *
* the line, after the job or data set name is ignored and can be      *
* used for a comment.                                                 *
*                                                                     *
* Parameters use positions from 1 to 71.                              *
*                                                                     *
* Values cannot be continued on the next line.                        *
*                                                                     *
***********************************************************************
EXCLDSN=SYS*.T*.RA000.*                TEMPORARY DATA SETS

DAEVENTS DD

The DAEVENTS DD statement specifies the dataset that will contain the extracted DSNEVENTs.

DAREPORT DD

The DAREPORT DD statement specifies the parameters for the dataset containing the report of the successful or failed execution of the CTMEVRT utility. In addition, the report contains error messages, and statistics.

DAERR DD

The DAERR DD statement specifies the parameters for the dataset containing the error messages produced while CTMEVRT was handling the CMEM or Control-O rules' DO actions.

Output from CTMEVRT

CTMEVRT generates the following output:

  • DAEVENTS DD - list of the extracted DSNEVENTs, to be used, after being manually reviewed and edited by the user, as the input to the CTMEVEX utility

  • DAREPORT DD - report of successful execution, error messages, and statistics

  • DAERR DD – report of any errors encountered while handling the DO actions of the CMEM/Control-O rules.

DAEVENTS file

The DAEVENTS file, the output generated by CTMEVRT, lists the extracted DSNEVENTs. The DAEVENTS file is used as the input to the CTMEVEX utility, which executes the DSNEVENTs’ DO actions. However, first the user must review and edit, if necessary, the list of DSNEVENTs, making sure that the actions to be executed are still required and will not interfere with current CMEM/Control-O processing. Special attention must be given to duplicate actions (marked with *DUP*); for example, making sure that duplicate forced jobs are appropriate.

The user can use a regular editor, to review and edit the DAEVENTS file. The user can prevent DSNEVENTs from being executed by removing them from the file or, preferably, commenting them out by inserting an asterisk at the beginning of the line.

Since the report will include DSNEVENTs that occurred prior to the CMEM/Control-O outage, it is the user's responsibility to remove DSNEVENTs that had already been handled by CMEM or Control-O.

The DAEVENTS file

  • is a sequential dataset in readable format that can be modified by the user

  • is sorted in chronological order

  • treats any line beginning with an * as a comment

  • begins with a headline that has column headers which are described in the following table:

Table 120b Column headers for the DAEVENTS file

Column header

Description

Date

Date displayed in the following format: yyyy/mm/dd

Time

Time displayed in the following format: hh:mm:ss

SID

The System ID where the event occurred

Data Set Name

Name of dataset that triggered the event.

C

Indicates catalog status. Valid values:

  • Y - Cataloged

  • N - Not Cataloged

Jobname

The name of the job that triggered the event

JobID

The Job ID of the job that triggered the event

If the event was triggered by FTP, only the job number is displayed.

UserID

The User ID of the job that triggered the event

Disp

The data set disposition that triggered the event (for example, “C”, “D”)

StepName

The name of the step that triggered the event

ProcStep

The name of the procedure step that triggered the event

StepRc

The return code of the step that triggered the event.

RuleName

The name of the rule that caught the event. The format is xxxx-TableName:RuleName where the xxxx is the DACTMLST entry sequence number as listed in CTMR3DI.

Action

DO action (for example, DO COND FILE-ARRIVED +/DO FORCEJOB JOB1). CMEM/Control-O AutoEdit variables, if any exist, are resolved.

If two (or more) DO actions are defined for an event, they will appear as two identical events, but with different DO actions.

Dup-I

A duplicate indication is given when a DSNEVENT and its associated action appear more than once (with the same data set name and disposition and the same action) in DAEVENTS

Comment

Comments:

(*) Unsupported action - not executed – actions other than DO COND and DO FORCEJOB

(!) Sched / IN conditions in the rule - actions for rules that have scheduling criteria and/or IN conditions

(?) Conditional-IF/WHILE/TERM precedes - actions that have a preceding IF or TERMINAT statement

Limitations

CTMEVRT has the following limitations:

  • Events that occurred in jobs that ran with MSGLEVEL other than 1, which would not have been caught by CMEM or Control-O, will be caught by CTMEVRT as SMF has no indication of MSGLEVEL. In general, this is not a problem since rules would not be written for such jobs.

  • CTMEVRT-CTMEVEX process carries out only the DO COND and DO FORCEJOB options. All other DO actions are listed, but are commented with (*) Unsupported action - not executed.

  • DO COND with CONDOPT “?” will be ignored, as well as DO FORCEJOB with DATE set to anything other than a specific date, ODAT, or DATE.

  • CTMEVRT cannot consider scheduling criteria and/or IN conditions for Control-O rules. These actions are commented with (!) Sched / IN conditions in the rule. You will need to manually review these actions.

  • CTMEVRT cannot figure out whether conditions of a preceding IF, WHILE, or TERMINAT statement were met or not. These actions are commented with (?) Conditional-IF/WHILE/TERM precedes. You will need to manually review these actions

  • CTMEVRT cannot consider PRIORITY and CONTINUE SEARCH parameters of Control-O rules. Note that these parameters could affect other active rules. Therefore, if you have rules with CONTINUE SEARCH = N, locate and manually review rules that might not get control.

  • NCT2 events will not be caught since they are not reported by any standard SMF record. The report will issue a warning message if a rule for NCT2 event was found in definitions.

  • Dataset deletion by IDCAMS and IKJEFT01 SYSIN is recognized by CMEM/Control-O as DISP=KEEP. The utility will recognize these events as DISP=SCRATCH.This limitation is documented in Control-O manuals.

  • When JCL allocates a dataset, without opening or cataloging it, CMEM/Control-O recognizes a DISP=K event; but in such case, CTMEVRT does not recognize the event.

  • CMEM/Control-O cannot detect new dataset creation when the dataset is passed to a subsequent step (that is, DISP=(..,PASS,..)). The utility will report such events.

  • For batch jobs, the utility will require STEP-END SMF record in order to avoid a wrong DISP assignment caused by not seeing the entire picture (for example, seeing DISP=CATLG but missing the deletion at step termination). In special cases, the DSNEVENT will be listed with a comment that the step has not ended. This will allow the user to manually review the dataset’s disposition.

  • CMEM/Control-O cannot detect data sets created using DEFINE by IDCAMS; the utility will list such events as DISP=C.

CTMEVRT Return Codes

Table 120c CTMEVRT Return Codes

Code

Description

0

Successful execution

4

Either warning message(s) have been issued or no events were found in SMF

8

Error message(s) have been issued

CTMEVEX – Execute the actions of DSNEVENTs retrieved from SMF

The CTMEVEX utility is used in a process for recovering DSNEVENTs that were not handled during a CMEM outage or Control-O outage.

In general, the recovery process consists of the following stages:

  1. The CTMEVRT utility reads SMF records and creates the DAEVENTS file, which contains a list of DSNEVENTs that occurred during the outage period.

  2. The user edits the extracted DAEVENTS file as required.

  3. The edited DAEVENTS file serves as the input to the CTMEVEX utility, which executes the actions of the CMEM/Control-O rules that were not handled during the CMEM/Control-O outage.

After reviewing and editing, if necessary, the list of the extracted events and the actions that would consequently be triggered, the user runs CTMEVEX on the LPAR that experienced the CMEM/Control-O outage. The CTMEVEX utility executes the rules’ DO COND actions using IOACND and the DO FORCEJOB actions using CTMJOB.

The CTMEVEX utility performs the execution process in the following stages:

  1. Reading the DAEVENTS file and converting it to commands.

  2. IOACND executes the DO COND commands.

  3. CTMJOB executes the DO FORCEJOB commands.

The following JCL sample for running CTMEVEX can be found in the CTM JCL library. It uses the CTMEVEX procedure in the IOA PROC library:

Copy
//*                                                                     
//* CONTROL-M CMEM and Control-O: RECOVER LOST DSNEVENTS FROM SMF       
//*                                                                     
//*  This is the third stage:                                           
//*           Execute the extracted DSNEVENTs actions                   
//*                                                                     
//*  This utility executes the DO actions of the events extracted       
//*  by CTMEVRT in the previous stage.                                  
//*  CTMEVEX executes the rules DO COND actions using IOACND and the    
//*  DO FORCEJOB actions using CTMJOB.                                  
//*                                                                     
//*  The CTMEVEX utility performs the execution process in the following
//*  stages:                                                            
//*  1. Reading the DAEVENTS file and converting it to commands.        
//*  2. IOACND executes the DO COND commands.                           
//*  3. CTMJOB executes the DO FORCEJOB commands.                       
//*                                                                     
//* ** Prior to running this step please review the extracted **        
//* ** events and their matching DO actions as listed in the  **        
//* ** DAEVENTS DD. Make sure that the actions to be executed **        
//* ** are still required and will not interfere with current  **       
//* ** CMEM/Control-O processing.                              **        
//*                                                                     
//*                                                                     
//* 1. CONVERT EVENTS DO ACTIONS TO COMMANDS                            
//CTMEVEX  EXEC CTMEVEX,SIMULATE='YES'                                  
//DAEVENTS DD   DISP=SHR,DSN=&OLPREFM..CTMEVRT.EVENTS                   
//DACNDIN  DD   DISP=(,PASS),SPACE=(CYL,(2,1)),DSN=&&DACNDIN            
//DAJOB    DD   DISP=(,PASS),SPACE=(CYL,(2,1)),DSN=&&DAJOB              
//* 2. EXECUTE CONDITION COMMANDS                                       
//IOACND   EXEC IOACND,COND=(0,NE,CTMEVEX.CTMEVEX)                      
//DACNDIN  DD   DSN=&&DACNDIN,DISP=(SHR,DELETE)                         
//* 3. EXECUTE FORCEJOB COMMANDS                                        
//CTMJOB   EXEC PGM=CTMJOB,PARM='NODACHK',COND=(0,NE,CTMEVEX.CTMEVEX)   
//         INCLUDE MEMBER=&IOAENV                                       
//DAALOCIN DD   DISP=SHR,DSN=&DAALOCIN(ALCMJOBP)                        
//DAJOB    DD   DSN=&&DAJOB,DISP=(SHR,DELETE)                           

The DO actions are processed based on the ODATE of the date and time on which the event occurred (taken from the generated events file) and not based on the actual machine date/time at the utility execution (this would allow the conditions and jobs to be processed with the ODATE they were supposed to be associated with if CMEM/Control-O was up and running when the event occurred).

A simulation mode is provided through the SIMULATE parameter. When running in simulation mode the utility lists the commands to IOACND and CTMJOB but does not execute them (in simulation mode the converter step ends with return code 4 that prevents the IOACND and CTMJOB steps from running due to their COND definition).

For examples of a recovery scenario, see the Control-M Event Manager (CMEM) chapter in the Control-M for z/OS User Guide or the Overview of the Rule Parameters chapter in the Control-O for z/OS User Guide.

Input to CTMEVEX

The following input is relevant for CTMEVEX:

  • DAEVENTS DD - statement specifies the (optionally edited) DAEVENTS dataset containing the list of the extracted DSNEVENTs. Mandatory.

  • SIMULATE - parameter that determines whether to run CTMEVEX in simulation mode or not. Valid Values: YES/NO. Default is YES.

Output from CTMEVEX

CTMEVEX generates the following output:

  • DAREPORT DD - Action conversion utility output

  • DAIOACND DD - If CTMEVEX is run in simulation mode, this output file contains the commands for IOACND

  • DACTMJOB DD - If CTMEVEX is run in simulation mode, this output file contains the commands for CTMJOB

  • DAPRINT DD - If CTMEVEX is not run in simulation mode, this output file contains the IOACND output

  • SYSPRINT DD - If CTMEVEX is not run in simulation mode, this output file contains the CTMJOB output

CTMEVEX Return Codes

Table 120d CTMEVEX Return Codes

Code

Description

0

Successful execution

4

Successful SIMULATE=YES execution or

No DO FORCEJOB were generated

8

Error message(s) have been issued

12

Error message(s) have been issued

16

Unable to read DAEVENTS file

CTMHCLN – Maintain the History Jobs File

The CTMHCLN utility performs special maintenance functions on the History Jobs file. The operator is warned in advance when the file is nearly full. The operator can use the CTMHCLN utility to delete entries from the Status screen.

SELECT/IGNORE Statements for CTMHCLN

The utility receives parameters in the form of SELECT/IGNORE statements that designate the required function, using DD statement DAFRMIN (or SYSIN). They identify jobs that are deleted or not deleted, as follows:

Table 118 CTMHCLN SELECT/IGNORE Statements

Statement

Description

IGNORE statements

Identify jobs that are not deleted.

SELECT statements

Identify jobs that are deleted.

The default action of the CTMHCLN utility is to delete jobs in the History Jobs file based on their retention criteria. To override this default use the SELECT/IGNORE statements.

Up to 500 SELECT/IGNORE statements can be specified. Jobs are handled according to the first statement for which the criteria are met.

One or more of the parameters described in Table 119 can be specified in any SELECT/IGNORE statement (in any order).

Table 119 CTMHCLN SELECT/IGNORE Parameters

Parameter

Description

FROM date

Starting ODATE in yymmdd format

GROUP groupname

Name of the group appearing in the job scheduling definition

JOBNAME jname or MEMBER memname

  • jname—Name of the job appearing in both the JOB statement and the JOBNAME field of the Status screen

  • memname—Name of the JCL member (specified in the MEMNAME field in the job scheduling definition)

  • jname or memname (but not both) can be specified in one statement.

STATUS status

Valid values are:

  • ACTIVE

    ACTIVE status includes all statuses except WAITSCHED, ENDOK and ENDNOTOK. This status enables the user to select or ignore jobs that are in ACTIVE status.

  • ENDOK

  • ENDNOTOK

  • HELD

  • WAITSCHED

  • DELETED

  • TBL-ACTIVE

TO date

Ending ODATE in yymmdd format.

SIMULATION

Activate Simulation mode, for simulation of the maintenance functions, without performing any changes in the History Jobs file.

A prefix can be specified instead of a full table name, job name or member name by placing an asterisk (*) at the end of the string (for example, PROD*).

Specifying AutoEdit Variables and Functions for CTMHCLN

AutoEdit variables can be specified for any of the above parameters. These variables are especially useful for specifying relative date ranges in the FROM and TO parameters.

AutoEdit functions can be used to set variables and these variables can then be used in the parameters of the utility. The lines in which the variables are set must have an asterisk (*) in the first column of the line. Such lines are resolved by the AutoEdit facility and are interpreted as comments by the utility. Regular comments can also be specified in lines with an asterisk in the first column.

The following AutoEdit terms cannot be used in the input for this utility: %%ODATE, %%OYEAR, %%OMONTH, %%ODAY, %%OWDAY, %%INCLIB, and %%INCMEM.

Activating the CTMHCLN Utility

A sample job to activate the utility can be found in the CTMHCLN member in the Control-M JCL library.

CTMHCLN Return Codes

Table 120 CTMHCLN Return Codes

Code

Description

0

Operation performed successfully.

other

Operation failed.

Examples for CTMHCLN

The following examples demonstrate several maintenance functions that you can perform on the History Jobs file using the CTMHCLN utility:

  • Delete jobs belonging to groups G1, G2, and G3 regardless of their retention criteria, and process all other jobs according to their retention criteria:

    Copy
    SELECT GROUP G1
    SELECT GROUP G2
    SELECT GROUP G3
  • Delete all jobs with odate from 010118 to 250118, and ignore all other jobs:

    Copy
    SELECT FROM 010118 TO 250118
    IGNORE MEMBER *
  • Delete all jobs with prefix MYTAB and status ENDOK, and ignore all other jobs:

    Copy
    SELECT MEMBER MYTAB* STATUS ENDOK
    IGNORE MEMBER *
  • Delete all jobs with prefix JOB regardless of their retention criteria, and process all other jobs according to their retention criteria. However, do this in Simulation mode, without making changes to the History Jobs file.

    Copy
    SIMULATION
    SELECT MEMBER JOB*

CTMHCOP – Copy or Expand History Jobs File

The CTMHCOP utility copies the History Jobs file to a new History Jobs file. The utility can be used to change the size of the file by copying the file to a different size file.

Statements and Parameters for CTMHCOP

The utility receives a parameter, which designates the required function, using the DACOPPRM DD statement (or SYSIN). The following function can be requested:

Table 121 CTMHCOP Parameter

Parameter

Description

COPY

Copy the History Jobs file to a different file, either the same size or a larger file.

File Statements for CTMHCOP

File statements are mandatory for the COPY function. OLDHST and NEWHST statements must be specified as follows:

Table 122 CTMHCOP File Statements

Statement

Description

NEWHST

Name of the new History Jobs file

OLDHST

Name of the old History Jobs file. If omitted, the current HST file is used.

Changing the Size of the History Jobs File

Online users must not access the Control-M History Environment screen in the IOA Online facility while the size of the History Jobs file is being changed.

To change the size of the Control-M History Jobs file, perform the following steps:

  1. Enter ICE and select Customization.

  2. In the Customization screen, set Product ID to CTM.

  3. Select "Customize Control-M Dataset Parameters."

  4. Select step "Control-M Dataset Parameters," update the HSTSIZE parameter, and exit the step.

  5. Select step 3, "Save Parameters into Product Libraries."

  6. Select step 7, "Format the History Jobs File," and reply Y (Yes) when asked to replace existing copy.

  7. Edit the FORMHST member, changing the dsname, unit, and volser as required and run the job.

  8. Run the CTMHCOP utility. The utility copies the current History Jobs file to new History Jobs file.

  9. Rename the old History Jobs file.

  10. Rename the new History Active Jobs file to the former name of the old file.

Activating the COPY Function

A sample job to activate the utility can be found in the CTMHCOP member in the Control-M JCL library.

CTMHCOP Return Codes

Table 123 CTMHCOP Return Codes

Code

Description

0

Operation performed successfully.

other

Operation failed.

CTMJNM – Print the daily job counts

The CTMJNM utility is used to print the daily job counts accumulated in the CTM STAT file by Control-M Monitor.

The utility does not have any input parameters.

The DD statement DASTAT defines the CTM STAT file where the daily job counts are accumulated by Control-M Monitor

The following rules are used for establishing the job count:

  1. Count all jobs that reside in the AJF for a specific date - both jobs that were left from previous day and jobs ordered during the day.

  2. SMART table entries (group elements) are not counted.

  3. Jobs with Time Zone are counted only if the current date is between their ODATE and ODATE+MAXWAIT (if they are pre-ordered or kept a day after their MAXWAIT expired, they are not counted for those days).

  4. Jobs that are deleted during the day (AJF Space Re-Use) are counted.

    The utility's report is produced in the SYSPRINT DD statement. Following is an example of the report. The report starts at the date when the corresponding Control-M began scheduling jobs and finishes at the current date.

    Copy
    DATE       , COUNTER
    13/10/2016 , 00000036
    14/10/2016 , 00000029
    15/10/2016 , 00000025
    16/10/2016 , 00000000
    17/10/2016 , 00000000
    18/10/2016 , 00000030
    19/10/2016 , 00000028
    20/10/2016 , 00000036
    21/10/2016 , 00000000
    22/10/2016 , 00000000

CTMJOB – Order Jobs to the Active Jobs File

The CTMJOB utility is a job ordering utility that can be invoked from a job step or by calling the program from a TSO environment and/or application program, such as batch or CICS.

Job ordering instructions are passed to CTMJOB using one of the following:

  • DDstatement DAJOB.

    When ordering jobs using DDstatement DAJOB, job orders can be specified either

    • by concatenating tables in the JCL (Method 1)

      This method requires that the user specify the name of a table and library directly in the JCL, in the format.

      DSN=sched_library(table)

      For example

      Figure 29 DD Statement DAJOB Method 1 Example

      Copy
      //DAJOB      DD  DISP=SHR,DSN=sched_library(table1)
      //           DD  DISP=SHR,DSN=sched_library(table2)
      //           DD  DISP=SHR,DSN=sched_library(table3)

or

  • as ORDER control statements (Method 2)

    Figure 30 DD Statement DAJOB Method 2, Example 1

    Copy
      //DAJOB      DD  DISP=SHR,DSN=parm_library(member)
  • where member contains ORDER, SELECT, IGNORE statements

    Figure 31 DD Statement DAJOB Method 2, Example 2

    Copy
    //DAJOB      DD  *
        ORDER . . .
        [SELECT RBC rbcname1]
        [IGNORE RBC rbcname2]
            .
            .
            .

The format of these statements is described in Format of the ORDER, SELECT, and IGNORE Statements for CTMJOB.

Method2 provides the following advantages over Method1:

Changes required can be made to the member in the PARM library without changing the JCL.

Individual jobs can be specified.

An entire library can be specified in one order statement.

  • PARM parameter in an EXEC statement in the JCL. This method can only be used to order a single table or job. For more information, see Activating the CTMAESIM Utility.

By default, the CTMJOB utility stops running when a User Daily job discovers an error in one of the job scheduling definitions. Alternately, if your INCONTROL administrator sets the CNTERCRD parameter to Y (Yes) in the CTMPARM member of the IOA PARM library, the CTMJOB utility continues processing job scheduling definitions after an error occurs. In either case, the message JOB536S is issued. If the job scheduling definition that contains an error belongs to a SMART Table Entity or to a job belonging to a SMART Table, and the processing continues, the utility skips the entire SMART Table and continue processing the next job or SMART Table.

The CTMJOB utility can also be used to order tables with a particular ODATE (for example, to emulate a User Daily job with a specific date) by setting the target date to the desired ODATE for the jobs to be ordered. All other dates must be set for one day earlier. For more information about tables with a particular ODATE, see the discussion of alternative methods of job ordering in the Control-M chapter in the INCONTROL for z/OS Administrator Guide.

Example for CTMJOB

The following example shows how the DATEREC file (pointed to by DD statement DACHK) orders jobs with an ODATE of March 21, 2000 (using MDY format):

Copy
032100      032000  032000     032000  032000     032000

Format of the ORDER, SELECT, and IGNORE Statements for CTMJOB

ORDER, SELECT and IGNORE statements must be in the following format:

Copy
ORDER{DSN=schedlib|DDNAME=dd|DD=dd},{MEMBER=table|MEM=table}
    [,TABLE=table}[,JOB=jobnm][,ODATE=date|DATE=date]
    [,ODATEOPT={VALUE|VAL|RUN}][,FORCE][,UFLOW][,INTOTBL=table rba],
    [DUP|NODUP],[NEWT]
[SELECT RBC rbcname1]
[IGNORE RBC rbcname2]

To order an entire library with one order statement use the following format:

Copy
ORDER DSN=sched.library MEMBER=*

At least one ORDER statement must be specified. SELECT and IGNORE statements are optional. Multiple statements of each type are permitted.

An ORDER statement can be written from column 1 through column 72 only. If you try to continue beyond column 72, the CTMJOB utility fails and the error message JOBL34E is issued. If you want to use a very long ORDER statement, insert a minus sign (-) preceded by a space at the end of the line, before you reach column 72, and continue the statement on the next line. If you do so, the program will treat the contents of the two lines as one long line.

For example, the following would be treated as one line:

Copy
ORDER DSNAME=long_data set_name, -
MEMBER=member_name

CTMJOB Parameters

Table 124 CTMJOB Parameters

Parameter Syntax

Description

ORDER

Indicates a specific table member (or job) to be ordered

DSN=schedlib

Specifies the name of the scheduling library. You must specify either this parameter or parameter DDNAME, but not both.

DDNAME=dd | DD=dd

Specifies a pre-allocated DD name that points to the scheduling library. You must specify either this parameter or parameter DSN, but not both.

{MEMBER | MEM}=tableName

Specifies the name of the table that contains the job scheduling definitions. Full masking of the tableName table is supported. Mandatory.

TABLE={table | *}

Equivalent to the MEMBER parameter.

JOB{jobname | *}

Specifies the name of a job scheduling definition in the table. Optional. If a job name is not specified, or if an asterisk (*) is specified, the entire table is processed.

ODATE={date | ODATE | DATE} | DATE={date |ODATE | DATE}

Specifies the order date of the jobs in the table, in mmddyy, ddmmyy, or yymmdd format, depending on the site standard defined by the DATETYP parameter in IOAPARM. This parameter overrides the checkpoint date specified in DD statement DACHK. Optional.

The default is the date from the checkpoint record. However, if it is run with PARM or from an application program, the DATEREC (DACHK) is ignored and the default is the current Control-M working date. Valid values:

  • date – specific order date in mmddyy, ddmmyy, or yymmdd format, depending on the site standard

  • ODATE – V-M working date

  • DATE – system date

ODATEOPT

or ODOPT

Whether to wait for a specific date, or process the Order or Force request immediately.

Valid values are:

  • VALUE or VAL – The Order or Force request is processed immediately. Default.

  • RUN – The Order or Force request is not executed before the date set in the ODATE field, even if all required conditions and resources are available.

INTOTBL=table_rba

Dynamically inserts a job into a table, where table_rba is the RBA of a table which was already ordered and exists in the Active Jobs File.

You must also use the JOB parameter of the ORDER statement to identify the job you wish to insert into the Table.

The insertion is done as a FORCE, that is, the scheduling criteria of the job are not checked before it is inserted.

Even though a job may already have been ordered, it can be inserted again, as a duplicate, by means of the DUP parameter.

DUP | NODUP

DUP allows, and NODUP prohibits, the dynamic insertion of duplicate jobs, that is of jobs that already exist in the table.

This parameter is available only when used with CTMAPI.

NEWT

Orders a new SMART Table Entity together with the job that was specified in the JOB parameter.

FORCE

Places the job order in the Active Jobs file regardless of the job's Basic Scheduling parameters. Optional.

UFLOW

Specifies that a unique job flow is ordered or forced (only available when ordering or forcing a table).

A unique job flow feature is used to ensure that, when an entire table is ordered or forced, the new jobs are not effected by conditions that might already exist as relationships between jobs in the AJF. This is accomplished by automatically adding a unique 3-character suffix to the names of any condition that connects jobs within the ordered table. The unique suffix is only added to the names of conditions that consist of 1) an OUT condition of a job in the ordered table and 2) an IN condition to another job in the ordered table.

A typical use case for the unique job flow feature is where the same table is ordered multiple time a day, and there is a need for an independent job flow for each invocation.

SELECT RBC rbcname

and

IGNORE RBC rbcname

Specify RBCs whose associated jobs are either ordered or not ordered. A RBC is a set of Basic Scheduling criteria specified in a SMART Table Entity that is used to schedule specific jobs in the SMART Table. For more information, see the Control-M for z/OS User Guide.

  • SELECT RBC or IGNORERBC statements may be used for ordering SMART Tables and regular tables.

  • SELECT RBC statements indicate RBCs to be used to select jobs to be ordered.

  • IGNORE RBC statements indicate RBCs to be used to prevent jobs from being ordered.

  • Each SELECT RBC statement or IGNORE RBC statement must appear on a separate line.

  • Each block of SELECT RBC or IGNORE RBC statements must be preceded by an ORDER statement.

  • An asterisk (*) can be included as a masking character for the suffix of the rule-based calendar name, or for the entire RBC name. For more information about character masking, see the Control-M for z/OS User Guide.

  • Any number of SELECT RBC and IGNORE RBC statements can be specified

  • Processing SELECT RBC and IGNORE RBC should include CTM and Table Level RBCs.

SELECT and IGNORE RBC Logic (CTMJOB)

By default, all rule-based calendars for the SMART Table Entity in the specified SMART Table are examined for scheduling eligibility. Therefore, to ignore specific rule-based calendars and select all others, you need only specify the appropriate IGNORE RBC statement. For an illustration, see Example 1 in the topic SELECT and IGNORE RBC Examples for CTMJOB.

If a rule-based calendar name matches more than one SELECT RBC or IGNORE RBC statement, the first statement that matches the RBC name is applied.

To select specific RBCs and ignore all others, first indicate the specific RBCs to be selected in SELECT RBC statements and then specify a generic IGNORE RBC statement as the last statement in that SELECT RBC or IGNORE RBC block. For an illustration, see Example 2 in the topic SELECT and IGNORE RBC Examples for CTMJOB.

The scheduling of specific jobs depends on whether optional keyword FORCE is specified in the preceding ORDER statement:

  • If FORCE is not specified, RBCs specified in an IGNORE RBC statement are treated as if their basic scheduling criteria are not satisfied, that is, no jobs are scheduled according to these rule-based calendars.

    A job is scheduled when either of the following is true for the scheduling definition of the job:

    • O (Or) is specified for parameter RELATIONSHIP; and the basic scheduling criteria and/or the scheduling criteria of a selected RBC associated with the job are satisfied.

    • A (And) is specified for parameter RELATIONSHIP; and both the basic scheduling criteria and the criteria of a selected RBC are satisfied.

      If no RBC is specified for a job, the scheduling of that job is dependent only on the basic scheduling criteria of the job.

  • If FORCE is specified, a job is scheduled if either of the following conditions exists:

    • At least one of the selected RBCs is associated with the job.

      or

    • No RBCs were specified in the job scheduling definition.

SELECT and IGNORE RBC Examples for CTMJOB

Example 1

Copy
ORDER DSN=mylib,MEMBER=sample
IGNORE RBC ACCT*

Ignores all RBCs with a prefix of ACCT. All other RBCs are automatically selected.

Example 2

Copy
ORDER DSN=mylib,MEMBER=sample
SELECT RBC ACCT1
SELECT RBC ACCT2
IGNORE RBC *

Selects only RBC ACCT1 and ACCT2 and ignores all others.

Activating the CTMJOB Utility

Figure 32 CTMJOB Activation

Copy
//S1 EXEC   PGM=CTMJOB,PARM=’NODACHK’
//STEPLIB   DD  DISP=SHR,DSN=ioa.loadlib
//DAPARM    DD  DISP=SHR,DSN=IOA.Vxxx.PARM
//          DD  DISP=SHR,DSN=IOA.Vxxx.IOAENV
//DAALOCIN  DD  DISP=SHR,DSN=ioa.v600.IOAENV(ALCMJOBP)
//SYSPRINT  DD  message file
//DAJOB     DD  tables or ORDER statements

Note the following:

  • The STEPLIB DDstatement is only necessary if the CTMJOB utility does not reside in a system link-listed library.

  • When activating the utility, the PARM parameter with a value of NODACHK or FORCE can be specified in the EXEC statement. When PARM is set to NODACHK, the Date Control record is ignored. When PARM is set to FORCE, the job is forced onto the AJF regardless of whether the basic scheduling criteria are satisfied or not.

  • The file referenced by the SYSPRINT DDstatement holds all messages produced by the utility. This file can alternatively be specified as a data set or a system print file (SYSOUT).

  • The DAJOB DDstatement is described in detail in CTMJOB – Order Jobs to the Active Jobs File.

Examples for CTMJOB

  • The following example shows how to specify job order statements using the PARM statement in the EXEC statement:

    Copy
    //ORDERJOB EXEC   PGM=CTMJOB,
    //       PARM='ORDER DSN=IOA.PROD.SCHEDULE TABLE=TABLE1 JOB=SORT ODATE=070700'
  • The following example shows how to invoke CTMJOB from an Assembler program, specify the call as shown below:

    Copy
    LOAD    EP=CTMJOB

    CALL    CTMJOB,(JOBPARM),VL
    DELETE  EP=CTMJOB
            .
            .
    JOBPARM  DC   Y(L'ORDERREQ)
    ORDERREQ DC   C'ORDER DSN=IOA.PROD.SCHEDULE TABLE=TABLE1 JOB=SORT DATE=070700'
  • The following example shows how to invoke the CTMJOB utility from TSO, issue the following command:

    Copy
    CALL 'ioa.prod.load(CTMJOB)' 'ORDER DSN=IOA.PROD.SCHEDULE TABLE=TABLE1
    JOB=SORT,DATE=070700'
  • The following example shows how to specify job order statements using the DAJOB DDstatement:

    Copy
    //ORDERJOB EXEC  PGM=CTMJOB
    //ORDERDD  DD    DSN=IOA.PROD.SCHEDULE DISP=SHR
    //DAJOB    DD    *
      ORDER  DDNAME=ORDERDD MEMBER=TABLE1 FORCE
      ORDER  DDNAME=ORDERDD MEMBER=TABLE2
      ORDER  DDNAME=ORDERDD MEMBER=TABLE3 JOB=JOB1
      . . .
    //
  • The following example shows how to force a job using the PARM statement in the EXEC statement:

    Copy
    //FORCEJOB EXEC PGM=CTMJOB,
    // PARM=’ORDER DSN=IOA.PROD.SCHEDULE TABLE=TABLE2 JOB=SORT ODATE=070700 FORCE’
  • To invoke the CTMJOB utility from a CICS application, parameters are passed to the API CTMCIOR using a COMMAREA described by the DSECT CTMCIAOR. The API and DSECT can be found in the IOA CICSSAMP library. Program CTMCIOR passes the parameters to the CTMJOB utility.

  • The following example shows how the API is called from a CICS application using fields defined in the DSECT:

    Figure 33 CTMJOB – Example

    Copy
    PARMAREA DS    (CMORDLEN)C
    PARMARLN EQU   *-PARMAREA
             MVC   CMORDDSN,DSNAME    PARAMETERS
             MVC   CMORDTBL,TBLNAME
             MVC   CMORDJOB,JOBNAME
             MVC   CMORDDAT,DATE
             EXEC  CICS LINK PROGRAM (‘CTMCIOR’)        *
                   COMMAREA (PARMAREA)                  *
             LENGTH (=Y(PARMARLN))
                . . .
    DSNAME   DC    CL44’CTM.PROD.SCHEDULE’
    TBLNAME  DC    CL8’DEFSCHD1’
    JOBNAME  DC    CL8’JOBA’
    DATE     DC    CL6’090600’

CTMJOB Return Codes

Table 125 CTMJOB Utility Return Codes

Code

Description

0

Operation performed successfully.

4

At least one job was not ordered because of: missing calendar, PREV or NEXT date conditions missing, Exit1 cancelled the order, or no job orders were requested.

8 and above

Operation failed.

CTMJSA – Job Statistics Accumulation

The CTMJSA utility maintains the Control-M Statistics file by updating various job statistics (start/end time, elapsed time, CPU/SRB time, and so on) and tape drive usage statistics (when the AUTOTAPE parameter in the CTMPARM member in the IOA PARM library is set to Y) and deleting inactive/obsolete records or job occurrences. The CTMJSA utility scans the IOA log file for various messages (such as SPY281I, SPY28GI, SEL208, and SEL219) to obtain the necessary statistical information. By default, only jobs that ended OK within a specified date range participate in the update process. Statistical records may also be deleted from the Statistics file according to various criteria. Refer to the CLEANUP parameter in Table 126 in CTMJSA Parameters.

A number of features that significantly improve production handling and flow rely on Statistics file data. Therefore, it is important to run CTMJSA at regular intervals. BMC recommends that CTMJSA be run at least once a day during New Day processing.

Control-M can accumulate data for up to 200 runs (occurrences) of each job on a single statistical record. See the STENT# parameter in the CTMPARM member in the IOA PARM library. By default, statistical data is not accumulated in the following cases:

  • The job finished with a status of NOTOK.

  • For jobs rerun using a DO RERUN statement, statistics are not accumulated for any but the last job run.

  • Dummy jobs.

These defaults can be overridden with the use of the INCLUDE parameter (see below).

When the accumulation of statistical information has been properly automated, the information can be effectively used for the following facilities and reports:

  • Online display of job statistics (JOBSTAT command in screen 2, S option in screen3)

  • Simulation and forecasting

  • Automatic Tape Drive Resource adjustment

  • Deadline scheduling

  • SHOUT processing that uses job elapsed times (EXECTIME)

  • QUIESCE facility (planned shutdown)

  • KSL reports

Recent occurrences of long-running cyclic jobs might not be accumulated into a statistics record if the ODAT under which the cyclic job was originally ordered is earlier than the FROMDATE parameter (see below) that was specified when executing the utility. Reruns of DUMMY jobs are not accumulated in the statistics records.

CTMJSA Parameters

The following parameters can be specified for the CTMJSA utility:

Table 126 CTMJSA Parameters

Parameter

Description

ODATE date

Date reference for use by the FROMDATE or TODATE parameter, or both. Mandatory if a relative date is specified for either the FROMDATE or TODATE parameter; otherwise, optional.

The date specified for this parameter can be a specific date (in mmddyy, ddmmyy, or yymmdd format, depending on the site standard defined by the DATETYP parameter) or an AutoEdit variable that resolves to a specific date.

FROMDATE date

Date from which to accumulate statistical data from the IOA Log file. Mandatory if the TODATE parameter is specified.

The date can be a specific date (in mmddyy, ddmmyy or yymmdd format, depending on the site standard defined by the DATETYP parameter), or a relative negative number (including –0) of days from the date specified in parameter ODATE.

TODATE date

Date until which to accumulate statistical data from the IOA Log file. Mandatory if the FROMDATE parameter is specified.

The date can be a specific date (in mmddyy, ddmmyy or yymmdd format, depending on the site standard defined by the DATETYP parameter), or a relative negative number (including –0) of days from the date specified in parameter ODATE.

INCLUDE job_status mem_name

Criteria to include additional jobs in the Statistics file in addition to jobs that ended OK. This parameter consists of the following subparameters:

  • job_status – include jobs with the following statuses in the statistical accumulation:

    • - NOTOK – jobs that ended NOTOK

    • - DUMMY – dummy jobs

  • mem_name – jobs whose member name matches mem_name with type job_status are to be included in the statistical accumulation.

CLEANUP date MEM mem_name GRP grp_name CPU cpu_id JNO jes_job_id STD std_dev_mult TYP job_type

Criteria used to delete records from the Statistics file or specific occurrences of job executions within a statistical record. This parameter consists of the following subparameters:

  • records, all of whose job occurrences have run dates prior to the specified date, are deleted from the Statistics file. The value can be an absolute date (in mmddyy, ddmmyy or yymmdd format, depending on the site standard defined by the DATETYP parameter, or an AutoEdit variable that resolves to a specific date), or a relative negative number (including –0) of days from the date specified in the ODATE parameter. Optional, if any or all of MEM, GRP, and CPU are specified.

  • records whose member names match mem_name are deleted from the Statistics file. Optional.

  • records whose table names match grp_name are deleted from the Statistics file. Optional.

  • records whose CPU IDs match cpu-id are deleted from the Statistics file. Optional, 1 or 2 digit number.

  • jes-job-id—job occurrences whose JES job ID matches jes-job-id are deleted from the Statistics record. The Statistics record is not deleted unless all its job occurrences have been deleted. Either MEM or GRP, or both, must also be specified. Optional, 1 to 7 digit number.

  • std_dev_mult—job occurrences whose elapsed time falls outside the range of the job record's elapsed time standard deviation, multiplied by std_dev_mult (on either the high or low side), are deleted from the Statistics record. The Statistics record is not deleted unless all its job occurrences have been deleted. Either MEM or GRP, or both, must also be specified. Optional, 1 to 255 numeric characters. Default: 1.

  • job_type—job occurrences whose job type and/or status match job_type are deleted from the Statistics record. The Statistics record is not deleted unless all its job occurrences have been deleted. Valid values for job_type are the job type DUMMY, or the ending statuses OK and NOTOK. Either MEM or GRP, or both, must also be specified. Optional.

  • Multiple CLEANUP statements may be specified.

  • The subpar a meters of the CLEANUP statement are implicitly related via an AND relationship, that is, a job record or occurrence is not deleted unless they are all satisfied.

  • If any job occurrence has a date later than the CLEANUP date, then the entire statistics record (containing all the earlier occurrences) is NOT deleted.

  • Masking may be used for the values mem_name and grp_name of the MEM and GRP subparameters, and in the INCLUDE statement.

  • Either the FROMDATE and TODATE pair of parameters, or the CLEANUP parameter, must be specified.

  • The Elapsed time standard deviation is defined by the following mathematical formula:

  • Standard-deviation = SQRT(1/n * Summation[i=0 to n] (job-elapsed-time[i] - average-elapsed-time)**2)

  • where n is the number of job occurrences in the Statistics record, SQRT is the square-root function and '**' represents 'raising to the power' function.

Merging Statistics Records

When STIGNCPU is set to Y (in the CTMPARM member of the IOA PARM library), the statistics merge functionality takes affect during the following execution of CTMJSA, only for jobs where a job occurrence causes the statistics file to be updated. In such a case, all the job's records, with the various CPU indicators, are merged into a single record. The merge process creates a new statistics record (whose CPUid field is set to binary zeros) for this job and up to 20 (or whatever the STENT# parameter in the CTMPARM member in the IOA PARM library is set to) slots are filled by the participating job's records. When a maximum of STENT# entries is reached the merge process for that job is terminated even if there exist later (by date) job occurrences on the same or other job records for that job.

On the following execution of CTMJSA, the later job occurrences might be accumulated, but only if the date-range of the utility is properly set to pick them up and the LOG file still contains the messages (SPY281) for these job occurrences.

BMC therefore recommends that when specifying STIGNCPU=Y that you do one of the following:

  • increase STENT# to accomodate all the old merged statistics records on a single enlarged statistics record

  • set the FROMDATE parameter, when accumulating statististics via CTMJSA, to enable the date-range to capture any late job occurrences that might not have been picked up in the original merge process.

The size of the IOA LOG file might need to be increased to accommodate additional days of messages.

Activating the CTMJSA Utility

A sample job can be found in member CTMJSA in the Control-M JCL library.

CTMJSA Return Codes

Table 127 CTMJSA Return Codes

Code

Description

0

The CTMJSA utility ended successfully.

12

An error occurred while analyzing the input stream or during the update of the Statistics file.

Check the output referenced by DD statement SYSPRINT for a message indicating the cause of the problem. Correct the problem and resubmit the job.

Some error messages may be accompanied by VSAM error codes. Refer to the IBM Using Data Sets Macro Reference Guide for an explanation of these codes.

Examples for CTMJSA

CTMJSA Example 1

Accumulate statistics for 3 days. Include jobs that ended NOTOK, and DUMMY jobs.

Copy
ODATE %%OMONTH.%%ODAY.%%OYEAR
FROMDATE -3
TODATE -1
INCLUDE NOTOK   *
INCLUDE DUMMY   *

The statistical accumulation for the above example works on jobs that executed from three days ago until the day before today. The same job's data is not accumulated twice.

The above sample job contains AutoEdit variables and must therefore be submitted directly by Control-M.

CTMJSA Example 2

Delete all job occurrences from all records whose elapsed time exceeds twice the job records elapsed time standard deviation.

Copy
CLEANUP   MEM *   STD 2

CTMJSA Example 3

An installation is eliminating an LPAR whose CPU ID is 5, and wants to delete all associated statistical records of jobs that ran on this LPAR. InCTMJSA Example 3 addition, remove all DUMMY job occurrences from all the statistical records.

Copy
CLEANUP   CPU 5
CLEANUP   MEM *  TYP  DUMMY

CTMJSA Example 4

The following SYSOUT illustrates a run of the CTMJSA utility during which entries were removed from the Statistics file because a date was specified for the CLEANUP parameter:

Copy
CLEANUP 010600
09.43.56 JSA921I ACCUMULATION OF JOB EXECUTION STATISTICS STARTED
09.43.57 JSA909I MEMBER=@BR14 GROUP=ABC WAS REMOVED
09.43.57 JSA909I MEMBER=CTMJSA GROUP=DEF WAS REMOVED
09.43.57 JSA909I MEMBER=IEBGEN GROUP=QRS WAS REMOVED
09.43.57 JSA909I MEMBER=RUNCTMJS GROUP=UVW WAS REMOVED
09.43.57 JSA909I MEMBER=TAPE22 GROUP=XYZ WAS REMOVED
09.43.57 JSA922I ACCUMULATION OF JOB EXECUTION STATISTICS ENDED WELL

CTMMAJF – Merge Active Job Files

The CTMMAJF utility merges two Active Job files. It can be used to combine job information from two different Control-M environments into one AJF. The utility can also be used to change the size of an AJF by merging the file with a newly defined larger or smaller AJF.

Two Active Job files can only be merged when both files are of the same release level.

CTMMAJF Statements and parameters

The utility uses the DAMRGIN DD statement (or SYSIN) to receive a parameter that designates the required function. The following function can be requested:

Table 128 CTMMAJF parameters

Parameter

Description

MERGE AJF

Merge the AJF specified by the OLDAJF JCL parameter into the current AJF.

UPDORDID

Indicates that the jobs merged into the current AJF will receive new ORDERIDs based on the ordered sequence of the merged AJF. By default, the original ordered IDs of the merged jobs are not changed. Optional.

CTMMAJF File statements

File statements are mandatory for the MERGE function. MRGAJF and OLDAJF statements must be specified as follows:

Table 129 CTMMAJF file statements

Statement

Description

MRGAJF

Name of the merged Active Jobs file. By default, this is the name of the AJF in the IOA environment in which the CTMMAJF utility is executed.

OLDAJF

Name of the Active Jobs file to be merged into the current AJF.

Activating the MERGE function (CTMMAJF)

A sample job to activate the utility can be found in the CTMMAJF member in the Control-M JCL library.

CTMMAJF Return codes

Table 130 CTMMAJF return codes

Code

Description

0

Operation performed successfully.

any other code

Operation failed.

CTMMHST – Merge Jobs History Files

The CTMMHST utility merges two Jobs History files. It can be used to combine job information from two different Control-M environments into one History file. The utility can also be used to change the size of a History file by merging the file with a newly defined larger or smaller History file.

Two Jobs History files can only be merged when both files are of the same release level.

CTMMHST Statements and parameters

The utility uses the DAMRGIN DD statement (or SYSIN) to receive a parameter that designates the required function. The following function can be requested:

Table 131 CTMMHST parameters

Parameter

Description

MERGE HST

Merge the History file specified by JCL parameter OLDHST into the current History file.

UPDORDID

Indicates that the jobs merged into the current History file will receive new ORDERIDs based on the ordered sequence of the merged History file. By default, the original ordered IDs of the merged jobs are not changed. Optional.

CTMHST File statements

File statements are mandatory for the MERGE function. MRGHST and OLDHST statements must be specified as follows:

Table 132 CTMMHST file statements

Statement

Description

MRGHST

Name of the merged Jobs History file. By default, this is the name of the History file in the IOA environment in which the CTMMHST utility is executed.

OLDHST

Name of the History file to be merged into the current History file.

Activating the MERGE function (CTMMHST)

A sample job to activate the utility can be found in the CTMMHST member in the Control-M JCL library.

CTMMHST Return codes

Table 133 CTMMHST return codes

Code

Description

0

Operation performed successfully.

any other code

Operation failed.

CTMRAFL – Produce Active Jobs File Job Flow Report

The CTMRAFL utility is obsolete and is retained here for backward compatibility reasons only. Use the CTMRFLW utility instead, specifying SOURCE='CKP' when executing the CTMRFLW procedure, or code the JOBSDD control statement pointing to an AJF file.

CTMRCAL – Create a Calendar Using the Job Plan Report

This utility creates calendars that contain all the dates on which the job is scheduled to execute. The calendars are based on the Job Plan report produced by the CTMRPLN utility.

The name of the calendar created for each job scheduling definition is the name of the job in parameter MEMNAME. This calendar is completely valid for all purposes. It can be viewed using Option 8 (Calendars) of the IOA Primary Option menu and it can be used by any Control-M or IOA utility.

The utility is composed of two steps:

  1. The first step produces the regular CTMRPLN report. For more details about this report, see CTMRPLN – Job Plan Report.

  2. The second step produces calendars for the job schedules analyzed by the first step. The calendars are written to the library referenced by DDstatement DACAL (of the second step). The sample utility is supplied with the library prefix.version.CALJOB, which is not automatically allocated during Control-M installation.

If multiple jobs exist with the same name, each job causes the program to assign a unique calendar name. To maintain cross-references between job and calendar names, a DAXREF file is created that cross-references every calendar to its corresponding job name.

When PARM=MERGE is specified in the JCL EXEC statement of the second step, jobs with the same name create only one calendar containing all schedule days merged from all jobs with the same name.

When PARM=REPLACE is specified in the JCL EXEC statement of the second step, jobs with the same name cause any pre-existing calendars with that name to be replaced.

CTMRCAL Parameters

The parameters for the first step of the utility are identical to the parameters for the CTMRPLN utility. For more information on these parameters, see CTMRPLN – Job Plan Report.

For parameter REPTYPE, only report types 0S, 1S, and 2S are valid for use in this utility.

Activating the CTMRCAL Utility (and Example)

The utility can be activated for one or many tables (concatenated to the DAPLNJOB DD statement). CTMRPLN treats all table entries with the same job name and table name as a single job, and outputs one line containing all the dates that the job can run.

A sample job to activate the utility can be found in the CTMRCAL member in the Control-M JCL library.

CTMRCAL Return Codes

Table 134 CTMRCAL Return Codes

Code

Description

0

Operation performed successfully.

Other

Operation failed.

CTMRELRS – Release Resources

This utility releases (deallocates) Quantitative or Control resources that are allocated to, but no longer needed by, a job that is still executing.

The utility can be used only for jobs that are submitted by the Control-M monitor. It cannot be used for started tasks activated by the Control-M monitor. A job can only request the release of resources that are allocated to it.

The utility is useful in situations in which resources used in the first steps of the job are not needed in later steps of the job. If the utility is not used, the resources are released or deleted only at the end of the job. Alternatively, such resources could be released or deleted by dividing the job into two jobs.

After the appropriate step, the utility notifies Control-M that the resource is not needed so Control-M can use the resource for other jobs. The release is recorded in the following ways: in the job’s SYSOUT as a message, on the operator console, and as an event in the IOA Log file.

If it is necessary to release or delete resources during a job step, CTMRLR can also be called as a program from within the application program. For more information, see Example of Activating the CTMRELRS Utility.

The Simulation and Forecasting facility does not use this utility; instead it releases the resources only at the end of job execution. Therefore, actual production results may be better than the simulation results. If the Control-M Resources file is shared across multiple CPUs, use an enqueue manager (such as MIM or GRS) to prevent simultaneous update of the file. For more information, see the description of the QNAME and SHRQNAM parameters in the IOA installation chapter of the INCONTROL for z/OS Installation Guide.

CTMRELRS Parameters

Parameters can be received by the utility in two ways: using the DARELIN DD statement (or SYSIN) or using PARM=...

Multiple commands can be specified in the same control statement.

Parameters can be specified in either of the following formats:

Copy
RELEASE RESOURCE res-name-1 quant-1; res-name2 quant-2; ...

or

Copy
CHANGE RESOURCE res-name-1 quant-1; res-name-2 quant-2; ...

or

Copy
RELEASE CONTROL cntl-res CONTROL-type

where

  • res-name-n is the name of the Quantitative resource (20 characters maximum).

  • quant-n is the value indicating a quantity (4 digits maximum).

  • cntl-res is the Control resource name (20 characters maximum).

  • control-type is the type of control. Valid values are:

    • E – Exclusive control

    • S – Shared control

When the RELEASE format is used, the specified quantity is deducted from the quantitative resource allocated to the job, or the specified CONTROL resource is deleted that is under the specified type of control.

When the CHANGE format is used, the quantity of resources allocated to the job is changed to the specified quantity.

Lines beginning with an asterisk are treated as comments.

Example for CTMRELRS

Assume 10 initiators (INIT) are allocated to a job:

  • If RELEASE RESOURCE INIT 3 is specified, 7 initiators remain allocated.

  • If CHANGE RESOURCE INIT 3 is specified, 3 initiators remain allocated.

Examples of Activating the CTMRELRS Utility

Example of Activating the CTMRELRS Utility

  • As a step in the job:

    Copy
    //REL EXEC CTMRELRS
      RELEASE RESOURCE TAPE 1
  • From an application program

    Figure 34 CTMRELRS Utility Example

    Copy
                LA    R1,PARMCNDA
                L     R15,=V(CTMRLR)
                BALR  R14,R15
                LTR   R15,R15
                BNZ   ERROR
                ...
    PARMCOND    DC    AL2(PARMCNDE-PARMCOND)
                DC    'RELEASE RESOURCE ADABAS-POWER 0005'
    PARMCNDE     EQU   *
    PARMCNDA    DC    A(PARMCOND)

    The CTMRLR program works in 24-bit addressing mode.

CTMRELRS Return Codes

Table 135 CTMRELRS Utility Return Codes

Code

Description

0

Operation performed successfully.

4

Action could not be performed.

8

Syntax error in DARELIN input statement.

12

Fatal error. Program terminated.

other

Operation failed.

CTMRES – Allocate and Format the Control-M Resources File

For details about allocating, formatting, and enlarging the Control-M Resources file, see the information about expanding Control-M files in the INCONTROL for z/OS Administrator Guide.

CTMRFLW – Produce a Table Job Flow Report

The CTMRFLW utility produces a report that provides job flow information about jobs in tables and in the Active Jobs file.

The utility can generate two types of output:

  • Job Flow Report

  • This report displays the job dependencies. This output is always generated. Jobs are presented in order of execution. The jobs can be sorted by table, in which case they are presented in order of execution by table. This report can be generated in the following formats:

Table 136 CTMRFLW Formats

Format

Description

Chart format

A graphic presentation of job dependencies (in addition to the text format). Job flow is displayed from left to right in chart format (that is, leftmost jobs are not dependent on other jobs). When sorted by table, one table appears in each chart.

Text format

Report consists of printed text. This format is always generated.

The Job Flow chart can also be viewed online by specifying option G (Graphic Jobflow) in the Table List screen in the Scheduling Definition facility. For details, see IOA Utilities .

  • Cross Reference lists

    Lists the conditions and resources added, deleted, and/or required by the jobs in the tables. The following separate lists can be produced:

    • prerequisite conditions list

    • control resource list

    • quantitative resource list

    The contents of each list are sorted alphabetically. The Cross Reference lists can be useful for identifying various job requirements. For example

    • Jobs that require more than three tape drives.

    • Jobs that require IMS to be active before they can be executed.

    • Jobs that update a particular VSAM file.

    • Job interdependency.

    By default, the number of lines in a report page is 60. This default can be modified in the EXEC statement.

    Furthermore, by default, all jobs in the tables are included in the report. This default can be modified in the EXEC statement by specifying a successor or a predecessor job:

    • If you specify a successor job, information is provided only for the predecessor jobs leading up to that successor job.

    • If you specify a predecessor job, information is provided only for the successor jobs that follow the predecessor job.

EXEC Statement Parameters (CTMRFLW)

The DAJOB DD statement, or any other DD statement that is referred to by the JOBSDD input parameter, defines the input to the CTMRFLW utility. The following parameters can be included in the EXEC statement:

Copy
//CTMRFLW EXEC CTMRFLW[,SOURCE=CKP] 
// [,PARM='[LINECNT=linecount][,][SUCCESR=jobname|PREDESR=jobname]']

The following parameters can be included in the EXEC statement:

Table 137 CTMRFLW Parameters

Parameter

Description

SOURCE=CKP

The report is generated from the Active Jobs file instead of the job scheduling definitions.

LINECNT

Number of lines per report page. This parameter does not impact the chart format. Default: 60.

PREDESR

Name of the predecessor job. If specified, only successor jobs of this job is included in the report. This parameter cannot be specified if parameter SUCCESR is specified.

SUCCESR

Name of the successor job. If specified, only predecessor jobs of this job is included in the report. This parameter cannot be specified if parameter PREDESR is specified.

Report Parameters (CTMRFLW)

Report parameters are optional. They are supplied using DD statement DAFLWPRM (or SYSIN).

Table 138 CTMRFLW Report Parameters

Parameter

Description

CHART [YES|NO]

Indicates whether to print the Job Flow report in Graphic (chart) format. Valid values are:

  • YES – Produce a chart in addition to the Job Flow report.

  • NO – Produce only the Job Flow report. Default.

CONTROLO

If specified, the CTMRFLW utility reads the Control-O table specified in DD statement DACTO. The CTMRFLW utility then marks all manual conditions added by Control-O rules with an asterisk (*), to distinguish them from other manual conditions. If this parameter is not specified, the Control-O table is not read.

FONT font_code

Valid only if PRINTER LASER is specified. FONT affects the quality and type of drawing in the chart. Valid font codes:

  • 1 Fine line

  • 2 Medium line; default

  • 3 Heavy line

  • 4 Very small characters

  • 9 High quality IBM character set; this font is not available at all IBM sites. Contact your IBM representative if you do not have this font.

GROUP [ALL [SIMPLIFIED]|UNITED|
groupname]

Indicates which groups to include in the report, and the sort order of information included. Valid values are:

  • ALL – Sorts the jobs according to group as defined in the GROUP parameter in the job scheduling definitions. Default.

  • SIMPLIFIED – Creates the same report as the ALL report, but the SIMPLIFIED report

  • - does not contain connections between SMART Table Entities and their jobs

  • - contains only those connections between the jobs themselves

  • UNITED – All jobs in the table are considered as one group.

  • groupname – Includes the jobs of only the tables specified. Up to 20 groups can be specified, each on a different GROUP line. Do not specify group names if ALL or UNITED is specified.

Character masking of specified group names is supported, as follows:

  • ? represents any one character.

  • * represents any number of characters (including no characters).

JOBSDD ddname

DD name of the library. If specified, all members of the library are processed by the utility (unless limited by the TABLES parameter). This makes it unnecessary to specify a concatenation of DD statements (one statement for each table) in the JCL.

LINESIZE col_num

Maximum number of columns in a line of the logical page, where col_no is a multiple of 16, between 16 and 240. Default: 128.

MAXCARDS num_rcds

Maximum number of job scheduling definition records that can be processed. This parameter is useful when processing large numbers of records. Maximum limit: 9999999. Default: 96000.

PAGESEQ [YES|NO]

A chart can exceed the physical page size of the paper in width and in length. In such cases, the chart is printed on multiple pages of paper. Use the PAGESEQ parameter to assist in placing the physical pages in order. Valid values are:

  • YES – Default: Page location is printed on the upper-right corner of the chart in the format:

    PAGE=xx,yy

    where:
    xx Positional page number from the left side of the chart
    yy Positional page number from the top of the chart

    PAGE=01,02 indicates that the current page is the first page from the left and the second from the top.

  • NO – Page location is not printed.

PAGESIZE line_no

Maximum number of lines in a logical page, where line-no is a multiple of 4, between 12 and 120. Default: 80.

PRINTER [LASER|IMPACT]

Type of printer on which the chart is to be produced. Valid values are

  • LASER – IBM 38xx laser printer or compatible only. Default.

  • IMPACT – Any impact printer (1403, 3211, 3203, 3262, and so on).

REPORT

[JOBFLOW

XREFCOND

XREFCNTL

XREFQUANT]

Indicates the type of report to print. Each REPORT line can contain only one report type, but multiple REPORT lines can be specified. If no REPORT lines are specified, all report types are printed. Valid values:

  • JOBFLOW Job Flow report

  • XREFCOND Cross Reference list – prerequisite conditions

  • XREFCNTL Cross Reference list – control resources

  • XREFQUANT Cross Reference list – quantitative resources

TABLES tbl1,tbl2,...

Tables to be processed within the library identified by parameter JOBSDD. If parameter JOBSDD is specified without parameter TABLES, the entire library is processed. Supports full masking. For information about character masking, see IOA Utilities

RBCREF [YES|NO]

Indicates whether the scheduling criteria defined in the rule-based calendars to which the jobs refer, should be included in the Job Flow report.

Valid values:

  • No (default)

  • YES - the scheduling criteria from the relevant RBC is included in the report.

Example Chart Page Sequence

If a chart spans three pages in length and two pages in width, combine the sequentially printed pages 1, 2, 3, 4, 5 and 6 in the following order:

1

4

2

5

3

6

A sample job can be found in member CTMRFLW in the Control-M JCL library.

Example JCLs for Text Format

The following JCL produces a Job Flow report in text format:

Copy
//CTMRFLW  EXEC CTMRFLW
//DAJOB    DD   DISP=SHR,DSN=SCHEDLIB(Table1)
//         DD   DISP=SHR,DSN=SCHEDLIB(Table2)
//         DD   DISP=SHR,DSN=SCHEDLIB(Table3)
//         DD   DISP=SHR,DSN=SCHEDLIB(Table4)
                    .
                    .
                    .
                    .
                    .
//SYSIN    DD   *
  TABLE UNITED

The following sample JCLs produce a Job Flow report in chart (as well as text) format:

CTMRFLW Example 1

Figure 35 CTMRFLW – Example 1

Copy
//CTMRFLW EXEC CTMRFLW,SOURCE=CKP report generated from the AJF
//DAFLWPRM DD   *
CHART YES
TABLE UNITED
PRINTER LASER
FONT 1
PAGESIZE 80
LINESIZE 160
//

CTMRFLW Example 2

Figure 36 CTMRFLW – Example 2

Copy
//CTMRFLW  EXEC CTMRFLW
//ALLTBL   DD   DISP=SHR,DSN=LIB
//DAFLWPRM DD   *
JOBSDD ALLTBL
CHART YES
TABLE UNITED
PRINTER LASER
FONT 1
PAGESIZE 80
LINESIZE 160

Figure 37 CTMRFLW – Example of TABLES Format

Copy
//CTMRFLW EXEC CTMRFLW
//SCHEDLIB DD DISP=SHR,DSN=LIB
//DAFLWPRM DD *
PRINTER IMPACT                
TABLE UNITED                   
JOBSDD SCHEDLIB               
REPORT JOBFLOW                
PREDESR DAT006V               
TABLES GR,M71*                
//                               

CTMRFLW Sample Output Job Flow Report in Text Format

Figure 38 illustrates a sample Job Flow report in text format. A description of the report fields follows.

Figure 38 CTMRFLW – Sample Job Flow Report

Copy
PRODUCED BY CONTROL-M 6.3.01                 JOBS FLOW REPORT - BY TABLE                                   DAILY-PROD-YH  TABLE
BMC SOFTWARE, INC.                           ===========================                                  
  
LVL   MEMBER   DEPEND ON       DESCRIPTION          TYP CALENDR CMP,DAYS IN WEEK/MONTH TABLE DEPENDENT      MANUAL COND   TAPE
--------------------------------------------------------------------------------------+-----------------------------------
   1 PRODYJCL          CREATE INPUT FILES # 2        M BANKDAYS                       |  YH-INPUT-FILE-2-OK 0001
                                                                FROM 1700 UNTIL 0645  |           
   1 PRODYHC2          CREATE INPUT FILE # 2         M BANKDAYS                       |  YH-INPUT-FILE-2-OK 0001
   1 PROJYFOT          BEGIN OF EVENING PROCESS      M BANKDAYS                       |  YH-START-EVENING-RUN
   1 PROLYPAR          NIGHT INPUT COLLECTION # 1    M STOCKDAY                       |  YH-NIGHT-INPUT-1-OK 0001
                                                                FROM 2300 UNTIL       |
   1 PROLYPAG          NIGHT INPUT COLLECTION # 2    M DAYSOFF                        |  YH-NIGHT-INPUT-2-OK 0001
                                                                FROM 2200 UNTIL       |
   2 PRODYHTK PRODYJCL PROCESS INPUT DATA FOR        M BANKDAYS                       |
                       PRODYHST                                 FROM 1000 UNTIL 1400  |
   2 PRODYBCK PRODYHC2 PROCESS INPUT DATA FOR        M BANKDAYS                       |
                       PRODYIDK                                                       |
   2 PROJYMRG PROJYFOT EVENING UPDATE PROCEDURE      M BANKDAYS                       |
   2 PROLYKLT PROLYPAR MERGE OF INPUT FILES          M BANKDAYS                       |                       0002
              PROLYPAG                                                                |
   3 PRODYIDK PRODYBCK UPDATE # 1                    M BANLDAYS                       |
   3 PROJYMTI PROJYMRG VERIFICATION PROCESS OF       M BANKDAYS                       |
                       EVENING UPDATE                                                 |
   3 PROJYHO1 PROJYMRG SPECIAL CALCULATIONS FOR      M BANKDAYS                       |
                       ACCOUNTING DEPARTMENT                                          |
   3 PROJYDPY PROJYMRG UPDATE OF ON-LINE FILES       M BANKDAYS                       |
   3 PROLYUPD PROLYKLT NIGHT UPDATE PROCEDURE        M BANKDAYS                       |
   4 PRODYHST PRODYHTK UPDATE # 2                    M BANKDAYS                       |
              PRODYIDK                                          FROM 1000 UNTIL 1445  |
   4 PRODYIZN PRODYIDK REPORTS FOR BRANCH MANAGERS   M BANKDAYS                       |
<+>4 PROJYHO2 PROJYHO1 REPORTS FOR ACCONTING         M-BANKDAYS                       |
                       DEPARTMENT                                                     |
   4 PROJYDTK PROJYDPY REPORTS OF ON-LINE FILES      W BANKDAYS >1                    |
   4 PROJYDLI PROJYDPY CREATE DUAL ON-LINE FILE      W BANKDAYS >1<+>                 |
   4 PROLYMIZ PROLYUPD NIGHT UPDATE PROCEDURE - NEW  M BANKDAYS                       |
                        UPDATE                                                        |
   5 PRODYBTL PRODYHST REPORTS FOR BRANCHES          M BANKDAYS                       |
                                                                FROM 1000 UNTIL 1445  |
   5 PRODYEND PRODYIZN REPORTS FOR MAIN OFFICE       M BANKDAYS                       |
   5 PROYH11  PROJYDTK YH APPLICATION UPDATE         W BANKDAYS >1                    |
                       PROJYDLI                                                       |
   5 PROLYBCK PROLYMIZ BACKUP MAIN FILE              M BANKDAYS                       | |                           0001
   5 PROLYFMZ PROLYMIZ REPORTS FOR MAIN OFFICE       M BANKDAYS L01                   |
   5 PROLYBCK PROLYMIZ BACKUP MAIN FILE              M BANKDAYS                       | |                           0001
   5 PROLYFMZ PROLYMIZ REPORTS FOR MAIN OFFICE       M BANKDAYS L01                   |
   5 PROLYBME PROLYMIZ CREATE EXTERNAL TAPE          M BANKDAYS L01                   |                           0001
   5 PROLYDM1 PROLYMIZ ARCHIVE YH APPLICATION DATA   M BANKDAYS >01                   |                           0001
                       SET #1                                                         |
   6 PROJYFIN PROJYDPY CLEAN-UP FOR YH APPLICATION   M BANKDAYS                       |
                       PROYH11                                                        |
   6 PROLYDOC PROLYBCK BACKUP FILES STATUS REPORTS   M BANKDAYS                       |
   6 PROLYDEL PROLYFMZ DELETE TEMPORARY "REPORT"     M BANKDAYS L01                   |
                       FILES                                                          |
   6 PROLYDM2 PROLYDM1 ARCHIVE YH APPLICATION DATA   M BANKDAYS >01                   |                           0001
                       SETS #2                                                        |
   7 PROJYBNK PROJYFIN VERIFICATION OF BRANCH        M BANKDAYS                       |
                       BALANCES                                                       |
   8 PROJEND  PROJYBNK FINAL YH APPLICATION          M BANKDAYS L01                   |
                       PROCEDURE                                                      |

Fields of the Job Flow Report in text format

The following information is presented for each job in the Job Flow report:

Table 139 CTMRFLW Job Flow Report Fields

Field

Description

CALENDR

Name of the calendar, if scheduled by a calendar.

DEPEND ON

The names of the members (jobs) in the table, which are prerequisites for execution of the job.

DESCRIPTION

Short description of the job optionally supplied in the job scheduling definition.

In addition, if RBCREF YES is specified, then rule-based calendars (and their accompanying scheduling criteria) to which the job refers are listed

TABLE DEPENDENT

Prerequisite condition that is added (created) by a job belonging to another table.

LVL

Submission level of the job in the table. For example, 1 – first job in the table, 2 – a job that depends on one (or more) jobs in Level 1, and so on.

MANUAL COND

Prerequisite conditions that are added manually (that is, conditions that are not added automatically by any job analyzed in the job flow).

Because conditions may be up to 39 characters long, if a manual condition or a condition that causes cross-table dependency is more than 20 character long, it is split into two lines when displayed in the Job Flow report.

MEMBER

The member name (from parameter MEMNAME).

scheduling data

The days in the month, or the days of the week, or specific dates, or the name of the library to be checked for free space. If a time limit is specified for the job, that appears, as well.

TAPE

Quantity required for a Quantitative resource whose name starts with TAPE.

TYP

Schedule type. possible values:

  • M – By DAYS, MONTH and/or DCAL parameters.

  • W – By WDAYS, MONTH and/or WCAL parameters.

  • D – By the DATES parameter.

  • C – By PDS and MINIMUM parameters.

  • F – Confirmation by CONFCAL calendar.

M and W schedule types can be preceded by an AND sign (&) or an OR sign (|), indicating AND/OR logic.

The CTMRFLW utility recognizes if the report input is from an AJF file. If this is the case, the Job Flow report displays different information. For further detail see Fields of the Job Flow Report in text format.

Job flows that are cyclic can be defined to Control-M. Since it is impossible to determine which job in a cycle runs first, the Job Flow report program makes an arbitrary decision where to break the cycle. The job selected is marked by an asterisk (*) to the left of the member name, and a warning message is issued.

Figure 39 illustrates a sample output of a Job Flow report.

Sample Job Flow Report Output in Graphic Format

Figure 39 CTMRFLW Job Flow Report Output

Fields of the Job Flow Report when input is an AJF file

If the input to the CTMRFLW utility is from an AJF file, the Job Flow Report structure is modified. The TYPE, CALENDR, and scheduling data (COMP,DAYS IN WEEK/MONTH) columns, as shown in Figure 38, are removed, and ODATE, FROM UNTIL, STATUS, and ORDERID information is provided. These replacement columns are described in Table 140:

Table 140 Changed CTMRFLW Job Flow Report fields when input is from an AJF file

Field

Description

ODATE

Original date, shown in yymmdd format

FROM UNTIL

Time of possible selection for run, shown in hhmm format

STATUS8

Status of the job. Valid values are:

  • WSCHD

Job is in wait scheduling status

  • EXEC

Job is in an input queue waiting for execution, or job is running

  • WCONF

Job is in wait confirmation status

  • ACTIV

SMART Table is active

  • NOACT

SMART Table is not active

  • OK

Job ended with final status of OK

  • NOTOK

Job ended with final status of NOTOK

The status indicator may be followed by a single character that indicates whether the entry was deleted (D) or is being held (H).

ORDERID

5-character Control-M job order ID

CTMRFLW Sample Prerequisite Condition Cross Reference List

Figure 40 CTMRFLW Sample Prerequisite Condition Cross Reference List

Copy
PRODUCED BY CONTROL-M 6.2.17                 CROSS REFERENCE LIST - PREREQUISITE CONDITIONS
BMC SOFTWARE, INC.                           ==============================================

CONDITION                                 ODATE TYPE  OPT   TABLE NAME          MEMBER   
-------------------------------------------------------------------------------------+-------------
ADD_ANOTHER_LONG_COND                     STAT  CODES  -  IVP                   A61TEST         
ADD_ANOTHER_LONG_COND                     STAT  CODES  -  IVP                   A61TEST
API0-OK                                   3101  IN        IVPAPI                M61API    
API0-OK                                   3101  IN        IVPAPI                M61API   
API0-OK                                   3101  OUT    +  IVPAPI                A61TEST

CTMRFLW Sample Control Resources Cross Reference List

Figure 41 CTMRFLW Sample Control Resources Cross Reference List

Copy
PRODUCED BY CONTROL-M 6.3.01                 CROSS REFERENCE LIST - CONTROL RESOURCES
BMC SOFTWARE, INC.                           ========================================

RESOURCE NAME         S/E TABLE NAME            MEMBER
--------------------------------------------------------------------------------+---------
HN.KDAM.INPUT          S  DAILY-PROD-YH         PRODYHC2
PRAD-ADAKOV-M203UTIL   E  DAILY-PROD-YH         PRODYBCK
PRAD-ADAKOV-M206UTIL   E  DAILY-PROD-YH         PROLYBCK
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYHST
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYJCL
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYBTL
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYHC2
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYBCK
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYIDK
PRAD-MPM203-IN-USE     S  DAILY-PROD-YH         PRODYIZN
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PRODYHC2
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYFOT
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYMTI
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYHO1
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYHO2
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYDPY
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYDTK
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYDLI
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYFIN
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJYBNK
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROJEND
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYKLT
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYUPD
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYMIZ
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYBCK
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYDOC
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYFMZ
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYDEL
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYDM2
PRAD-MPM206-IN-USE     S  DAILY-PROD-YH         PROLYDM1
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROJYDPY
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROJYDTK
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROJYDLI
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROLYKLT
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROLYUPD
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROLYDOC
PRAD-M206F093-IN-USE   S  DAILY-PROD-YH         PROLYFMZ
PRPR-ADAKOV-M203F008   S  DAILY-PROD-YH         PRODYHC2
PRPR-ADAKOV-M203F021   E  DAILY-PROD-YH         PRODYHC2
PRPR-ADAKOV-M203F021   E  DAILY-PROD-YH         PRODYBCK
PRPR-ADAKOV-M203F021   E  DAILY-PROD-YH         PRODYIDK
PRPR-ADAKOV-M203F022   E  DAILY-PROD-YH         PRODYHC2
PRPR-ADAKOV-M203F022   E  DAILY-PROD-YH         PRODYBCK
PRPR-ADAKOV-M203F022   E  DAILY-PROD-YH         PRODYIDK
PRPR-ADAKOV-M203F023   E  DAILY-PROD-YH         PRODYHC2
PRPR-ADAKOV-M203F023   E  DAILY-PROD-YH         PRODYBCK
PRPR-ADAKOV-M203F023   E  DAILY-PROD-YH         PRODYIDK
PRPR-ADAKOV-M203F024   E  DAILY-PROD-YH         PRODYHC2
PRPR-ADAKOV-M203F024   E  DAILY-PROD-YH         PRODYBCK
PRPR-ADAKOV-M203F024   E  DAILY-PROD-YH         PRODYIDK
PRPR-ADAKOV-M203F024   S  DAILY-PROD-YH         PRODYHST
PRPR-ADAKOV-M203F025   E  DAILY-PROD-YH         PRODYBCK
PRPR-ADAKOV-M203F025   E  DAILY-PROD-YH         PRODYIDK

§Restart§CTMRJDS – produce job dataset cross-reference report

The CTMRJDS utility (sample job in the CTM JCL library) provides a cross-reference report, by dataset, of jobs that access the dataset.

For the report to be generated, you must first generate a list of data sets accessed by the job. This list can be generated in either of the following ways:

  • Use the Job Dataset List utility (Online Utility option R3, described in the Control-M/Restart User Guide).

  • Use the CTMJDS supplied job in the CTM JCL library (described below) to generate the list for one or all of the jobs in a table.

  • Use the AUTOXREF=Y Control-M/Restart installation parameter (see the Control-M for z/OS Installation Guide). When this parameter is used, and if the Control-M/Restart Prevent NCT2 facility is invoked, the job-data sets crossreference statistical information is accumulated during regular execution of the job.

In either case, the Job Dataset list is generated in the Statistics file. After you have created the Job Dataset list, the CTMRJDS procedure is used to produce the cross reference report.

CTMJDS Job– Generating Job Dataset List

The CTMJDS job can be used to generate the Job Dataset list in the Statistics file. This list is required by the procedure that generates the Job Dataset Cross Reference report.

The actual update to the Statistics file is done by a Control-M/Restart step that is inserted into the execution of each job being processed (see the SUBMIT parameter in the following table). Jobs defined as DUMMY in the job scheduling definition are not associated with any JCL members and therefore do not generate any job dataset information.

The utility parameters are submitted in blocks. If multiple blocks are specified, all mandatory parameters must be specified in each block. (The WDATE and ODATE parameters are always optional.)

The following parameters are supplied to the CTMJDS job:

Table 141 CTMJDS Parameters

Parameters

Description

JOB

Name of one single job, or asterisk for the whole table. Mandatory.

ODATE

Original scheduling date of the job, in 6–character date format according to the site standard defined by the DATETYP parameter in IOAPARM. Optional.

SCHEDLIB

Name of the scheduling library. Mandatory.

SUBMIT

Control-M attempts to resolve the AutoEdit statements. If successful, the JCL member lines are also written to the file referenced by DD statement DASUBMIT, and the member is submitted by the utility for execution. In this case, MVS also checks the JCL. Mandatory.

TABLE

Table member name. Mandatory.

WDATE

Working date of the job, in 6–character date format according to the site standard defined by the DATETYP parameter in IOAPARM. Optional.

CTMRJDS Job – Creating Job Dataset Cross-Reference Report

After you run the CTMJDS job (referred to on CTMRJDS Job – Creating Job Dataset Cross-Reference Report) and generate the Job Dataset list, you can run the CTMRJDS job to provide a cross reference report, by dataset, of jobs that access the data set. The CTMRJDS utility also includes list and cleanup functions, shown in Table 142 and Table 143. The example shown in Figure 44 incorporates both list and cleanup functions.

Table 142 §Restart§CTMRJDS List Function Parameters

Parameters

Description

LIST

Indicates start of a list of data set names to be included in a report. Optional when the input parameters consist only of report requests. Mandatory when the report requests follow a CLEANUP statement block.

Syntax:

LIST=DSN

DSN

Data set name for the files that will appear on the report. DSN cannot exceed 44 characters and mask characters are permitted.
Example:
DSN=C?123*

Regardless of the length of the data set name, this statement produces a list that includes all data sets that have names

  • beginning with "C"

  • followed by any single character

  • followed by the characters "123"

REPTYPE

Optional. If no value is specified, SHORT (the default) is presumed to be the value. Valid values are

  • SHORT – produces a data set report that includes the following columns:

    • DATA SET NAME

    • JOBS

  • LONG – produces a data set report that includes the following columns:

    • DATA SET NAME

    • TABLE

    • JOBNAME

    • PROCNAME

    • STEPNAME

    • STEPNUM

    • DDNAME

    • VOLSER

Table 143 §Restart§CTMRJDS Cleanup Function Parameters

Parameters

Description

CLEANUP

Directs the cleanup of files by data set name or job name.
Syntax:

Copy
CLEANUP=DSN
CLEANUP=JOB

DSN

Data set name to which all references in the Control-M Statistics file will be deleted. DSN cannot exceed 44 characters and mask characters are permitted.

Copy
DSN=C?123*

Regardless of the length of the data set name, this statement produces a list that includes all data sets that have names

  • beginning with "C"

  • followed by any single character

  • followed by the characters "123"

JOB

Job name to which all cross-references in the Control-M Statistics file will be deleted. JOB cannot exceed 8 characters and mask characters are permitted.

Copy
JOB=C?123*

Regardless of the length of the job name, this statement produces a list that includes all jobs that have names

  • beginning with "C"

  • followed by any single character

  • followed by the characters "123"

Examples for CTMJDS

CTMJDS Example 1

Figure 43 CTMJDS – Example 1

Copy
//JDSN EXEC CTMJDS
//SYSIN   DD  *
  SCHEDLIB CTM.PROD.SCHEDULE
  TABLE    N04
  JOB      @BR14
  [{WDATE|ODATE} date]
  SUBMIT
//

CTMJDS Example 2

Figure 44 CTMRJDS – Example 2

Copy
CLEANUP=JOBJOB=N13*
JOB=K30ICOND
LIST=DSN
REPTYPE=LONG
DSN=*
DSN=C*
//

This example

  1. directs the cleanup of all jobs beginning with N13, and the K30ICOND job

  2. produces a long report that lists all DSN names

  3. produces a long report that lists only those DSN names beginning with "C"

A sample output report of the generated job dataset list, produced by Control-M/Restart, is shown below:

Copy
 CTR001I CONTROL-R, REL 6.x.x STARTED FOR JOB jobname
 CTR008I PROCESSING PARAMETERS: SX,memname,ZZZZZ,BL,DDD,00   
 CTR062I         REGISTRATION OF JOB jobname STARTED        
 CTR004I         REGISTRATION OF JOB jobname ENDED          
 DATASETS USED IN JOB : jobname                                      
data-set-name-1          
data-set-name-2             
data-set-name-3             

§Restart§

CTMRNSC – Produce Night Schedule Report

The CTMRNSC utility produces a report that provides a summary of each job that has executed within the specified time range, including its start time, end time, elapsed time, CPU time and system ID. The report can be sorted by combinations of table name, job start time, and job end time.

Report parameters are supplied using DD statement SYSIN (or DANSCPRM). Columns 73 through 80 of each statement are ignored.

All parameters are optional. If the default values are desired, the DANSCPRM file may be omitted. Statements with a * in column 1 are treated as comments and are ignored.

It is possible to change the default number of lines per page (60) by specifying PARM=‘LINECNT=xxx’ in the EXEC statement of the job.

CTMRNSC Parameters

Table 144 CTMRNSC Parameters

Parameter

Description

INCLUDE GROUPNAME groupname

Group name or mask to be included (up to a maximum of 10).

INCLUDE JOBNAME jobname

Job name or mask to be included (up to a maximum of 10).

REPEND yymmddhhmm

Date and time of end of night schedule report information. Default: Current date and time.

REPSTART yymmddhhmm

Date and time of start of night schedule report information. Default: January 1, 1980.

SORTBY

ENDTIME STARTTIME

ENDTIME GROUP

GROUP ENDTIME

GROUP STARTTIME

STARTTIME GROUP

STARTTIME ENDTIME

 

Sort by end-time, start-time, group. Default.

Sort by end-time, group, start-time.

Sort by group, end-time, start-time.

Sort by group, start-time, end-time.

Sort by start-time, group, end-time.

Sort by start-time, end-time, group.

CPUUSEI

Specifies the interval used for producing the CPU Consumption Report. The report also contains the R4HA data (Rolling Four Hours Highest Average CPU Usage) for every LPAR and the overall R4HA. The report is based on the CPU usage of all the jobs included in the report. The report can be produced either based on the actual data from Control-M and the job activity (if the actual IOA LOG is passed as the input to the utility) or based on the results of a Control-M Simulation (when the Simulation LOG is passed as the input to the utility).

Valid values: 0 – 1440 (in minutes). If set to 0, the CPU Consumption Report is not produced. Default is 60.

The report is produced in the Output DD statement, DACPUST.

CTMRNSC Example of JCL

Copy
//RNSC    EXEC CTMRNSC
//DALOGIN DD   ...     A log file.
REPSTART 0005061600
REPEND   0005062300
SORTBY   STARTTIME ENDTIME

The input of the utility is an IOA Log file. It can be the IOA log (for a report of last night’s schedule) or the Simulation log (for a report of a forecasted night schedule).

CTMRNSC Example of Instructions

Figure 45 CTMRNSC – Example of utility output

Copy
REPSTART 0005061600REPEND   0005062300
SORTBY   STARTTIME ENDTIME
   
15.08.00 NSC391I NIGHT SCHEDULE REPORT STARTED
   REPSTART 0005062000
   REPEND   0005062200
   SORTBY   STARTTIME ENDTIME
15.08.07 NSC393I NIGHT SCHEDULE REPORT ENDED
PRODUCED BY CONTROL-M (6.3.01)      NIGHT SCHEDULE REPORT          FROM  00/05/06-20:00
BMC SOFTWARE, INC.                  =====================          UNTIL 00/05/06-22:00
MEMBER    JOBNAME   JOBID  STARTED         ENDED           ELAPSED  TABLE-NAME         CPUTIME SYSID
————————————————————————————————————————————————————————————————————————————————————————————————–
BRIVPCC   BRIVPCC   03370  05/06/00-20:00  05/06/00-20:35     35:12 BR-PRODUCTION       2:16.02  SYS1
BRCC0001  BRCC0001  03381  05/06/00-20:01  05/06/00-20:46     46:27 BR-PRODUCTION       4:02.03  SYS1
BRCC0002  BRCC0002  03409  05/06/00-20:01  05/06/00-20:19     18:41 BR-PRODUCTION       1:00.05  SYS2
BRCC0003  BRCC0003  03414  05/06/00-20:06  05/06/00-20:16     10:02 BR-PRODUCTION       0:42.43  SYS1
PRUPDT02  PRUPDT02  03483  05/06/00-20:08  05/06/00-20:23     15:36 PR-APPLICATION      1:15.28  SYS2
CRCCEND   CRCCEND   03484  05/06/00-20:13  05/06/00-20:23     20:01 CR-TABLE            2:19.31  SYS2
INTR0001  INTR0001  03577  05/06/00-20:13  05/06/00-21:01     48:19 INTER-APPLICATION   5:16.06  SYS2
INTR0002  INTR0002  03578  05/06/00-20:13  05/06/00-20:19      6:58 INTER-APPLICATION   0:26.52  SYS2
BRCCIND   BRCCIND   03601  05/06/00-20:19  05/06/00-20:31     12:17 BR-PRODUCTION       0:21.26  SYS2
BRUPDT02  BRUPDT02  03618  05/06/00-20:44  05/06/00-21:20     36:10 BR-PRODUCTION       3:47.20  SYS1
BRREP001  BRREP001  03617  05/06/00-20:45  05/06/00-21:02     17:34 BR-PRODUCTION       2:42.51  SYS1
BRREP002  BRREP002  03625  05/06/00-20:45  05/06/00-20:57     12:03 BR-PRODUCTION       1:37.24  SYS2
PRDKPL01  PRDKPL01  03627  05/06/00-20:52  05/06/00-21:25     33:48 KPL-PRODUCTION      4:45.25  SYS1
PRDKPL02  PRDKPL02  03628  05/06/00-21:11  05/06/00-21:27     16:51 KPL-PRODUCTION      2:59.37  SYS2
CRSREF    PRCRREF   03638  05/06/00-21:11  05/06/00-21:36     25:00 USER-CROSS REF      6:14.02  SYS2
BRIVPCCE  BRIVPCCE  03869  05/06/00-21:12  05/06/00-21:57     45:14 BR-PRODUCTION       2:01.54  SYS1
INTR0003  INTR0003  03917  05/06/00-21:15  05/06/00-21:59     44:43 INTER-APPLICATION   1:39.49  SYS2
INTR0004  INTR0004  03923  05/06/00-21:15  05/06/00-21:16      1:36 INTER-APPLICATION   0:05.86  SYS2
PRYHINP   PRYHINP   03929  05/06/00-21:24  05/06/00-21:40     16:35 YH-DAILY-PRODUCTION 2:05.83  SYS2
    
   
SORTBY   STARTTIME ENDTIME

CTMROGR – Produce an Overnight Execution Graph

The Overnight Execution graph provides a clear and easy way to display job workloads for the purposes of planning or adjustment. The CTMROGR utility produces this graph.

Table execution times are graphically presented. The graph can be used to display both previous execution times, and anticipated future execution times.

The report can be used to point out problems in job execution flow (for example, certain jobs not executing at certain times, too many jobs executing at a given time, and so on), or simply to provide general information about job flow and workload. For example

  • By running the report in the morning, the operations manager can get a picture of the production workload from the night before, and assess the need for adjustments to the job flow.

  • On the 15th of the month, the report can simulate end-of-month processing, to facilitate planning.

The report is designed as follows:

  • For specified intervals within a time range, the graph indicates whether any job executions for the table occurred during the interval.

  • An asterisk (*) indicates job execution for the table during the time interval. A blank space indicates no job execution for the table during the interval.

The report can be requested in either of two presentation modes:

  • Single mode

  • Each table is represented on one line. For each table, no more than one * can appear in each time interval. An * indicates that at least one job in the table was executing during that time interval.

  • Parallel mode

  • The number of lines representing each table varies. For each table, the number of asterisks within a time interval varies according to the number of jobs in the table executing in that interval. Multiple asterisks for the same table and time interval appear on successive lines.

Multiple asterisks for a time interval (in the same or different table) do not necessarily indicate simultaneous execution. They can indicate separate execution times within the same interval.

Input for the report is extracted from either the IOA Log file (for actual execution results) or the Simulation log (for forecasted results).

Report parameters are supplied using DD statement SYSIN (or DAOGRPRM). Columns 73 through 80 of each card are ignored.

Jobs whose start times are chronologically after their end time (which is possible if a job is executing when the system clock is moved backwards) are ignored by CTMROGR.

CTMROGR Parameters

CTMROGR parameters are described in Table 145.

Table 145 CTMROGR Parameters

Parameter

Description

GROUP {groupname|ALL}

Group names to be included in the report. Up to 10 individual group names can be specified, or the value ALL can be specified to display all groups.

INTERVAL nn

Time interval, in minutes, for which job execution in a table is indicated. Each interval is represented by one column of the report. Valid values are: 01 through 60.

MODE {SINGLE|PARALLEL}

Presentation mode of the report

  • SINGLE – Represent all job executions for a table and interval by a single *.

  • PARALLEL – Represent multiple job executions for a table and interval separately, by multiple asterisks.

REPEND yymmddhhmm

Latest end date and time for jobs included in the report

REPSTART yymmddhhmm

Earliest start date and time for jobs included in the report

CPUUSEI

Specifies the interval used for producing the CPU Consumption Report. The report also contains the R4HA data (Rolling Four Hours Highest Average CPU Usage) for every LPAR and the overall R4HA. The report is based on the CPU usage of all the jobs included in the report. The report can be produced either based on the actual data from Control-M and the job activity (if the actual IOA LOG is passed as the input to the utility) or based on the results of a Control-M Simulation (when the Simulation LOG is passed as the input to the utility).

Valid values: 0 – 1440 (in minutes). If set to 0, the CPU Consumption Report is not produced. Default is 60.

The report is produced in the Output DD statement, DACPUST.

You can change the default number of lines for each page (60) by specifying PARM=‘LINECNT=xxx’ in the EXEC statement of the job.

CTMROGR Example of JCL

Figure 46 CTMROGR – Example

Copy
//CTMROGR      EXEC   CTMROGR
//DALOGIN      DD     . . .       A log file
//DAOGRPRM     DD     *
               REPSTART 0005062000
               REPEND 0005072300
               INTERVAL 05
               MODE PARALLEL
               TABLE ALL
//
PRODUCED BY Control-M 6.3.01              OVERNIGHT EXECUTION GRAPH
BMC SOFTWARE, INC.                           =========================               FROM  00/05/06 11:15 UNTIL 00/05/07-10:30
MODE DISPLAYED: SINGLE                                                               IN 15 MINUTE INTERVALS


                      START END   ELAPSED
TABLE NAME           TIME  TIME   TIME   <..12..13..14..15..16..17..18..19..20..21..22..23..00..01..02..03..04..05..06..07..08..09..10..>
-----------------------------------------<---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|-->
BR-COND-UPDATE       13:40 05:34     954            *                              **  *
BR-GENERAL           13:00 07:23    1103          ****       *         * **************
PR-BATCH-JOBREQ      07:02 07:05       3                                            *
PROD-KPL-ALOC001     19:34 03:47     493                            *                 *
PROD-KPL-ALOC002     19:31 03:32     481                             *              *
PROD-KPL-FREE001     19:24 01:02     338                           *                 *
PROD-KPL-FREE002     18:23 02:46     503                         *              *
PROD-KPL-FREE003     18:23 00:00     337                               *         * *
PROD-KPL-FREE004     18:23 06:00     697                         *                   *
PROD-CONTROLD        12:00 12:02       2      *
PR-CICSP-ALOC001     18:33 23:55     322                        *                    *
PR-CICSP-ALOC002     18:33 23:55     322                       *                    *
PR-CICSP-ALOC003     18:34 23:55     321                        *                    *
PR-CICSP-ALOC004     18:34 00:12     338                      *                     *
PR-CADACAD3          04:04 04:04                                                  *
PR-CADACAD6          04:16 04:16                                                *
PR-CADACMC6          02:11 02:11                                                    *
PR-CADAC186          18:30 18:39       9                                *
PR-CADAOAD3          04:38 04:38                                                      *
PR-CADAOAD6          05:36 05:36                                                       *
PR-CADAOMC6          02:25 02:25                                                      *
PR-JOBDAILY-1        17:00 07:01     841                      *                  *
Q-PR-CLOCK           04:00 04:02       2                                           *
Q-PR-CONTM           03:01 08:00     299                                              
                             *
Q-PR-EADA-BACKUP     16:14 06:48     874              ***     ************        * * **
Q-PR-EADA-CHEKPOINT  07:30 08:07      37                                      ***
Q-PR-GENERAL         16:00 06:51     891                *               **     * ******
Q-PR-INITS           14:52 08:10    1038            *   **     *  *             ***  *
PRODUCED BY CONTROL-M 6.3.01                 OVERNIGHT EXECUTION GRAPH
BMC SOFTWARE, INC.                           =========================               FROM  00/05/06 11:15 UNTIL 00/05/07-10:30
MODE DISPLAYED: PARALLEL                                                             IN 15 MINUTE INTERVALS
   
   
                      START END   ELAPSED
TABLE NAME           TIME  TIME   TIME   <..12..13..14..15..16..17..18..19..20..21..22..23..00..01..02..03..04..05..06..07..08..09..10..>
  ----------------------------------------<---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|-->
BR-COND-UPDATE       13:40 05:34     954            *                             **  *
                                                                                        *
BR-GENERAL           13:00 07:23    1103          ***       *       * ***** * ******
                            * *           *               *       *        ****** **   *
                                                   * *                 *                 *                ***  *  *
                              ***            *          *                 **  *  *
                               ***                 *       **                *** *  *
                                 *           *                 *                 *   *  *
                                      *            *          *                 *   *  *
                                                  *           *        *          *   *
                                                **         *           *            **  *
                                                              **                    ***
                                                                                **
PR-BATCH-JOBREQ      07:02 07:05       3                                          *
                                                                               *
PROD-KPL-ALOC001     19:34 03:47     493                 *                       *
PROD-KPL-ALOC002     19:31 03:32     481               *                      *
PROD-KPL-FREE001     19:24 01:02     338                            *              *
PROD-KPL-FREE002     18:23 02:46     503                               *               *
PROD-KPL-FREE003     18:23 00:00     337                           *                * *
PROD-KPL-FREE004     18:23 06:00     697                     *                         *
PROD-CONTROLD        12:00 12:02       2      *
                                               *
                                               *
PR-CICSP-ALOC001     18:33 23:55     322                         *                    *
PR-CICSP-ALOC002     18:33 23:55     322                         *                    *
PR-CICSP-ALOC003     18:34 23:55     321                         *                    *
PR-CICSP-ALOC004     18:34 00:12     338                         *                     *
PR-CADACAD3          04:04 04:04                                                       *
PR-CADACAD6          04:16 04:16                                                       *
PR-CADACMC6          02:11 02:11                                                       *
PR-CADAC186          18:30 18:39       9                                *
                                                                         *
PR-CADAOAD3          04:38 04:38                                                       *
PR-CADAOAD6          05:36 05:36                                                       *
PR-CADAOMC6          02:25 02:25                                                       *
PR-JOBDAILY-1        17:00 07:01     841                *                              *
                                                                                        *
Q-PR-CLOCK           04:00 04:02       2                                               *
Q-PR-CONTM           03:01 08:00     299                           *                   *
Q-PR-EADA-BACKUP     16:14 06:48     874      ***   ************      ****     **  * * *
                                               *               ***                     **
                                                                               **
Q-PR-EADA-CHEKPOINT  07:30 08:07      37                                               *
                                                                                      ***
Q-PR-GENERAL         16:00 06:51     891                      *          **     * * ****
                                                                                    *****
Q-PR-INITS           14:52 08:10    1038                 *   **     *  *          ***  *
                                                              **     *  *           **  *
                                                                     *                  *
                                                                     *                  *
                                                                                        *

CTMRPFL – Produce a Job Plan and Job Flow Report

The CTMRPFL utility provides job flow information for jobs in a table that are scheduled in a specified date range.

The CTMRPFL utility can best be understood in context of the features (and limitations) of the following reports, described in:

Table 146 CTMRPFL Report Features

Feature

Description

CTMRPLN

Produces a list of all jobs that are planned for a specified date range. However, this report does not contain job flow information.

CTMRFLW

Produces a job flow report for jobs in a table or the Active Jobs File.

The CTMRPFL utility uses the same parameters as, and combines the features of, the CTMRPLN and CTMRFLW utilities, as follows:

  • The CTMRPLN utility parameters are used to generate a list of jobs scheduled in a specified date range.

  • This list is then used, in combination with the parameters of the CTMRFLW utility, to generate a job flow report for those jobs in the specified table that are included in the list.

The CTMRPFL utility can generate the same reports (Job Flow, Cross Reference) in the same formats (text, chart) as the CTMRFLW utility.

The CTMRPFL utility also generates a report identical to the CTMRPLN report. (This report output can be suppressed. However, the list required as input for the job flow report is generated.)

The CTMRPFL utility receives two sets of parameters:

  • The first set of parameters, input using the SYSIN1 DDstatement, is identical to those of the CTMRPLN utility. However, only REPTYPE values 1, 1S, 2, or 2S are used. (In the CTMRPLN utility, REPTYPE 0 or 0S can also be specified.)

  • The second set of parameters, input using the SYSIN2 DDstatement is identical to those of the CTMRFLW utility.

For detailed information on the parameters used by the CTMRPFL utility, see CTMRPLN – Job Plan Reportt, and CTMRFLW – Produce a Table Job Flow Report.

CTMRPFL Example of JCL

A sample job can be found in the CTMRPFL member in the Control-M JCL library.

Figure 47 CTMRPFL – Example

Copy
//DAPLNJOB DD DISP=SHR,DSN=scheduling-library(table1)
//         DD DISP=SHR,DSN=scheduling-library(table2)
           .
           .
           .
//SYSIN1   DD *
  REPSTART 000808
  REPEND   000808
  REPTYPE  2S
//SYSIN2   DD *
  TABLE    UNITED
  CHART    YES
  PAGESEQ  YES
  PAGESIZE 60
  LINESIZE 160
  PRINTER  IMPACT
//

CTMRPLN – Job Plan Report

This report provides a list of all the jobs that are planned for a specified range of dates.

Report parameters are supplied using DD statement SYSIN (or DAPLNPRM).

It is possible to change the default number of lines per page (60) by using PARM=‘LINECNT=xxx’ in the EXEC statement of the job.

CTMRPLN Parameters

Table 147 CTMRPLN Parameters

Parameter

Description

IGNORE CALENDAR calname

Ignore jobs that reference calendar calname. This statement is optional. A maximum of eight IGNORE statements can be supplied.

This statement excludes a job from the report if its MONTHS parameter is filled with Y values and either of the following criteria is satisfied:

  • WDAYS is defined as ALL (or blank) and its associated WCAL is specified in the IGNORE statement.

  • DAYS is defined as ALL (or blank) and its associated DCAL is specified in the IGNORE statement.

JOBSDD ddname

DD name of the library. If specified, all members of the library are processed by the utility. This makes it unnecessary to specify a concatenation of DD statements (one statement for each table) in the JCL. Optional.

REPEND yymmdd

End date of end of report. Mandatory.

REPSTART yymmdd

Start date of report. Mandatory.

REPTYPE n

Type of report (0, 0S, 1, 1S, 2 or 2S). Default: 0.

  • Type 0 and 0S – Displays a day-by-day list of planned jobs (in the specified date range). The jobs displayed for each day can be sorted according to member name or according to table. For each member in the list, the member name, table and description are displayed.

  • Type 1 and 1S – Displays a month by month table of planned jobs (in the specified date range), indicating days on which the jobs are planned for execution. This format is useful for drawing the entire month’s plan.

  • Type 2 and 2S – This report is identical to the Type 1 report, except that it also displays the job description for each job.

If the "S" is specified in the identifier, the report displays the library and member names of the job, instead of the job description.

Type 2 reports require a laser printer or a wide printer.

SORTBY {MEMNAME|
GROUP}

Sort option. Default: MEMNAME. This parameter is relevant only for REPTYPE 0.

TABLES abc*, xyz*

Enables use of generic table names to process individual or multiple tables. Used together with the JOBSDD parameter. Only the members satisfying the pattern criteria specified in the TABLES parameter are selected from the library specified in the JOBSDD parameter and processed. Supports full masking. Optional.

CTMRPLN Example of JCL

A sample job can be found in member CTMRPLN in the Control-M JCL library.

Figure 48 CTMRPLN – Example

Copy
//PLAN     EXEC CTMRPLN
//DAPLNJOB DD   DISP=SHR,DSN=scheduling-library(table1)
//         DD   DISP=SHR,DSN=scheduling-library(table2)
//         DD   DISP=SHR,DSN=scheduling-library(table3)
                .
                .
                .
//DAPLNPRM DD   *

CTMRPLN Sample Input Parameters

Figure 49 CTMRPLN Utility Sample Input Parameters

Copy
REPSTART     000601REPEND       000700
REPTYPE      0
SORTBY       MEMNAME
  
REPSTART 000501
REPEND   000530
REPTYPE  0
SORTBY   MEMNAME
  
PRODUCED BY CONTROL-M 6.3.01     JOBS PLAN REPORT      FROM 000501 UNTIL 000530
BMC SOFTWARE, INC.                              ================
JOBS PLANNED FOR TUESDAY 06/01/00
  
MEMNAME   TABLE                 DESCRIPTION
-----------------------------------------------------------------------------—
BRCCIND   BR-IVP-CC             PREPARE SPECIAL UPDATE INFO
BRCC0001  BR-IVP-CC             PERFORM QUALITY CHECKING ON INPUT DATA PROD1-A
BRCC0002  BR-IVP-CC             COLLECT INPUT DATA SETS FOR PROD1-B EXECUTION
BRCC0003  BR-IVP-CC             FINAL INPUT DATA SETS VARIFICATION
BRIVPCC   BR-IVP-CC             COLLECT INPUT DATA SETS FOR PROD1-A EXECUTION
BRIVPCCE  BR-IVP-CC             UPDATE JOB OF EXTRA BALANCING
BRREP001  BR-IVP-CC             PRODUCE SUM REPORTS
BRREP002  BR-IVP-CC             PRODUCE SPECIAL REPORTS
BRUPDT02  BR-IVP-CC             UPDATE JOB
CRCCEND   BR-IVP-CC             NOTIFY END OF PRODUCTION PROCESS
MTFIT01   MT-PRODUCTION         MT INPUT RUN # 1
MTFIT02   MT-PRODUCTION         MT INPUT RUN # 2
MTFIT03   MT-PRODUCTION         MT INPUT RUN # 3
MTFIT04   MT-PRODUCTION         MT INPUT RUN # 4
MTFIT05   MT-PRODUCTION         MT INPUT RUN # 5
MTFRTH01  MT-PRODUCTION         MT MERGE INPUT FILES
MTRUN001  MT-PRODUCTION         MT UPDATE - FIRST RUN
MTRUN002  MT-PRODUCTION         MT UPDATE - SECOND RUN
MTTRD02   MT-PRODUCTION         MT REPORTS
MTUPDT    MT-PRODUCTION         MT UPDATE TO ON-LINE FILES
PRDDRPT1  PROD-KPL              REPORTS AFTER PRODUCTION UPDATES FOR PROD-KPL
PRDDRPT2  PROD-KPL              REPORTS AFTER PRODUCTION EXECUTION FOR PROD KPL
PRDKPLW1  PROD-KPL              WEEKLY PRODUCTION INPUT FILES FROM PROD-KPL #1
PRDKPLW2  PROD-KPL              WEEKLY PRODUCTION UPDATE OF PROD-KPL #2
PRDKPLW3  PROD-KPL              WEEKLY PRODUCTION UPDATE OF PROD-KPL #3
PRDKPLW4  PROD-KPL              WEEKLY EXECUTIONS AFTER DAILY FROM PROD-KPL
PRDKPL01  PROD-KPL              DAILY PRODUCTION - START OF APPL-PROD-KPL
PRDKPL02  PROD-KPL              DAILY PRODUCTION - COLLECT TAPE FILES OF PROD-KPL
PRDTT001  PR-PRODUCTION         TAPE COLLECTION FOR PR PRODUCTION
PRERRPRT  PR-PRODUCTION         ERROR REPORTS FOR APPLICATION PR
PRFKL01   PR-PRODUCTION         STATISTICS REPORTS FOR PR APPLICATION
PRUPDOLV  PR-PRODUCTION         UPDATE ON-LINE REPORTS

Sample CTMRPLN Job Plan Report Type 0S Report

Figure 50 CTMRPLN Report Type 0S

Copy
REPSTART 000501REPEND   000530
REPTYPE  0S
SORTBY   MEMNAME
  
   
PRODUCED BY CONTROL-M 6.3.01      JOB  PLAN REPORT      FROM 000105 UNTIL 000105
BMC SOFTWARE, INC.                ================
   
JOBS PLANNED FOR WEDNESDAY 05/01/00
   
MEMNAME   TABLE     LIBRARY
--------------------------------------------------------------------------------
IEBCOPY1  TABLE1    CTMP.PROD.SCHEDULE
IEBGENE2  TABLE1    CTMP.PROD.SCHEDULE
IEFBR14   TABLE1    CTMP.PROD.SCHEDULE
ISP4JJC0  US166248  M71.LIB.SCHEDULE
JOB1      TABLE1    CTMP.PROD.SCHEDULE
LONG      TABLE1    CTMP.PROD.SCHEDULE
IND$FILE GET M71.REP0S.CTMRPLN.SAMPLE ASCII CRLF
IND$FILE GET M71.REP0S.CTMRPLN.SAMPLE ASCII CRLF
IND$FILE GET CTMRPLNS.DOC ASCII CRLF
IND$FILE GET M71.REP0S.CTMRPLN.SAMPLE ASCII CRLF

Sample CTMRPLN Job Plan Report Type 1S Report

Produces the RPLN report against the entire job scheduling library pointed to by the SCHEDLIB DD statement.

Figure 51 CTMRPLN Report Type 1S

Copy
CTMRPLN Report Type 1S   
REPSTART 000501
REPEND   000530
REPTYPE  2S
SORTBY   MEMNAME
JOBSDD   SCHEDLIB
PRODUCED BY CONTROL-M 6.3.01             JOB  PLAN REPORT      FROM 000105 UNTIL 000105
BMC SOFTWARE, INC.                       ================
JOBS PLANNED FOR 01 2000

                                         01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
          TABLE   LIBRARY                SA SU MO TU WE TH FR SA SU MO TU WE TH FR SA SU MO TU WE TH FR SA SU MO TU WE TH FR SA SU MO
         -------------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
IEBCOPY1 TABLE1   CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
IEBGENE2 TABLE1   CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
IEFBR14  TABLE1   CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
ISP4JJC0 US166248 M71.LIB.SCHEDULE                    *                                                
                                                                                                                                 
JOB1     TABLE1   CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
         -------------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
LONG     TABLE1   CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
MCHISH   TABLE1   CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
NOTFIXED DEMO     CTMP.PROD.SCHEDULE                  *                                                
                                                                                                                                 
        -------------------------------+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Sample CTMRPLN Job Plan Report Type 1 Report

Figure 52 CTMRPLN Job Plan Report Type 1

Copy
REPSTART 000501
  REPEND   000530
  REPTYPE  1S
  SORTBY   MEMNAME


PRODUCED BY CONTROL-M 6.3.01                 JOBS PLAN REPORT      FROM 000501 UNTIL 000530
BMC SOFTWARE, INC.                           ================

JOBS PLANNED FOR 05 2000                                     

          01  02  03  04  05  06  07  08  09  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30 
          MO  TU  WE  TH  FR  SA  SU  MO  TU  WE  TH  FR  SA  SU  MO  TU  WE  TH  FR  SA  SU  MO  TU  WE  TH  FR  SA  SU  MO  TU 
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
BRCCIND  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
BRCC0001 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
BRCC0002 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
BRCC0003 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
BRIVPCC  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
MTFIR01  |   | * | * | * | * | * |   |   | * | * | * | * | * |   |   | * | * | * | * | * |   |   | * | * | * | * | * |   |   | * |
MTFIT01  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTFIT02  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTFIT03  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTFIT04  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
MTFIT05  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTFRTH01 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTRUN001 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTRUN002 | * |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
MTSCN01  |   | * | * | * | * | * |   |   | * | * | * | * | * |   |   | * | * | * | * | * |   |   | * | * | * | * | * |   |   | * |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
MTTRD01  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
MTTRD02  | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
MTUPDT   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
PRDDRPT1 | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
PRDDRPT2 | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
PRDKPLW1 | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
PRDKPLW2 | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
PRDKPLW3 | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
PRDKPLW4 | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
PRDKPL01 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
PRDKPL02 | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |
PRDTT001 | * | * | * |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | * |
PRDTT01  |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |
PRERRPRT | * |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRFKL01  | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
PRPRTH01 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRRPT01  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRRPT02  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRRPT03  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRRPT04  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
         +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
PRRPT05  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRTRD01  |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |   |   | * |   |   |   |   |
PRTRD04  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
PRUPDOLV | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * | * | * | * | * |   | * | * |

CTMRSTR – Restore the Control-M Active Jobs File

When restoration of the Control-M Active Jobs file is necessary, the utility can be run to perform this task. Restoration of the Active Jobs file includes restoration of quantitative and control resources in the Control-M Resource file. Optionally, the IOA Conditions file can also be restored.

The utility uses the Control-M Journal file in conjunction with the CKPJNL, CNDJNL, and RESJNL files to perform a forward restoration of the Active Jobs file from the last time New Day processing was performed.

  • Do not perform restoration of the IOA Conditions file if multiple INCONTROL products have been updating these files.

  • Both the Control-M Monitor and the Control-M Application Server must be down when running the CTMRSTR utility. If CONDITIONS NO is specified, Control-D and Control-O are not affected by running this utility.

  • Control-M and Control-M Application Server must be activated after running the CTMRSTR utility. Other INCONTROL products need not be reactivated.

CTMRSTR Parameters

The following parameters are passed to the utility using the SYSIN DD file:

Table 148 CTMRSTR Parameters

Parameter

Description

CONDITIONS

Indicates whether to restore the IOA Conditions file and the Control-M Resources file

  • Y (Yes)—Restore the AJF, IOA Conditions file and the Control-M Resources file to their images at the time specified.

  • N (No)—Restore the AJF and the Control-M Resources file to their images at the time specified, but do not restore the IOA Conditions file. Default.

ENDTIME yyyymmddhhmmssth

Time until which the Control-M Active Jobs file is to be restored. The Active Jobs file image (after the New Day procedure) is updated to reflect the image of the file at the specified time. If ENDTIME is omitted, the data will be updated to reflect the image of the file immediately after the last New Day procedure. The time parameter consists of the following subparameters:

  • yyyy—4-character year.

  • mm—Month (1 – 12).

  • dd—Day (1 – 31).

  • hh—Hour (00 – 24).

  • mm—Minute (00 – 59).

  • ss—Second (00 – 59).

  • th—Hundredths of a second (00 – 99).If ENDTIME is omitted, the data will be updated to reflect the image of the file immediately after the last New Day procedure.

Example for CTMRSTR

A sample job can be found in the CTMRSTR member of the Control-M JCL library.

Restore the contents of the Control-M Active Jobs file and the Control-M Resource file to the images they contained at 12 noon on July 1, 2000. In addition, restore the IOA Conditions file to the same point in time.

Copy
//RESTORE EXEC CTMRSTR
//SYSIN DD *
ENDTIME 200007011200000000
CONDITIONS YES
//

CTMRSTR Return Codes

Table 149 CTMRSTR Return Codes

Code

Description

0

Operation performed successfully

4

Warning message issued

8

Verification check failed prior to initialization of restoration

AJF verification

CTMPARM verification

Endtime specification mismatch

Unexpected program error

12

Addition or deletion of a condition in the IOA Conditions file failed

16

Unable to open file or obtain storage for processing

CTMSLC – Schedule Library Cleanup Utility

The CTMSLC utility enables you to remove old job scheduling definitions from the schedule library.

A job is considered old if the date specified in the DEFINITION ACTIVE UNTIL field of the job scheduling definition and/or all job rule-based calendars have already passed.

If the relationship between the rule-based calendars and the basic scheduling criteria of the job is an AND relationship, the job is considered old when the DEFINITION ACTIVE UNTIL date has passed in at least one set of scheduling parameters (all job rule-based calendars or basic scheduling data). If the relationship between the rule-based calendars and the basic scheduling criteria of the job is an OR relationship, the job is considered old when the DEFINITION ACTIVE UNTIL date has passed in both sets of scheduling parameters.

If the date specified in the DEFINITION ACTIVE UNTIL field has already passed, but the date specified in the DEFINITION ACTIVE FROM field is later than that date, the job is not considered old. Similarly, if the date specified in the SCHEDULE RBC ACTIVE UNTIL field of a schedule RBC has already passed, but the date specified in the SCHEDULE RBC ACTIVE FROM field of that RBC is later than that date, jobs containing that RBC are not considered old. The utility permits all jobs in a SMART Table to be deleted regardless of the setting of the EMPTYTBL parameter in the CTMPARM member of the IOA PARM library or the PTBLEMPT parameter in the $PROFILE member of the IOA IOAENV library.

The CTMSLC utility receives control statements, in DD statement SYSIN, with the following syntax:

Copy
CLEANUP [DSNAME=data_set_name | DDNAME=ddname] , [MEMBER=member_name],
[JOB=jobname] , [DATE=date] , [MODE=SIMULATION | NORMAL] ,
[SMARTEMP=KEEP | DELETE]

where

  • data_set_name is the data set name of the library being cleaned.

  • ddname is a DDstatement pointing to the library being cleaned.

Specify either DSNAME or DDNAME, but do not specify both.

  • member_name is the name of the library member containing the job table that is to be cleaned.

    • Either the full member name or a prefix followed by an * (asterisk) can be specified. If this parameter is omitted, all the members in the library are eligible for cleanup.

  • jobname is the name of each job in the job table that is to be cleaned.

    • Either the full job name or a prefix followed by an * (asterisk) can be specified. If this parameter is omitted, all the jobs in the table will be eligible for cleanup.

  • date is the date, in the format used at your site, that is used to determine if a job is old.

    • The default value of date is the current date.

  • MODE is the desired operation mode of the utility.

    There are two options:

    • SIMULATION
      In this mode, when a job is found to be old the utility issues an appropriate message but does not delete the job. This is the default setting.

    • NORMAL
      In this mode, when a job is found to be old, it is deleted.

  • SMARTEMP controls whether a SMART Table is to be deleted when the utility deletes all the jobs within it (SMARTEMP=DELETE) or to be kept as an empty SMART Table (SMARTEMP=KEEP, the default).

Example for CTMSLC

A sample job can be found in the CTMSLC member of the Control-M JCL library.

Remove all jobs with names that begin with JOB1 from table TABLE1 in scheduling library CTM.SCHED.LIB, if they should be considered old by 010203.

Copy
//RESTORE EXEC PGM=CTMSLC,REGION=0M
//SYSIN DD *
CLEANUP DSNAME=CTM.SCHED.LIB,MEMBER=TABLE1,
        JOB=JOB1*,DATE=010203,MODE=NORMAL
//

CTMSLC Return Codes

Table 150 CTMSLC Return Codes

Code

Description

0

Operation performed successfully; at least one job was deleted.

4

Operation performed successfully; no jobs were deleted.

8

Table is in use by another user.

12

Member does not exist or does not contain valid table data.

16

Syntax error in control statement

20

Operation failed; Check the job output for messages that indicate the cause of the problem.

CTMTBUPD – Update Scheduling Definitions and Jobs in the AJF

The CTMTBUPD utility updates Control-M SMART Table or job scheduling definition parameters in batch mode. In addition, CTMTBUPD can update jobs that were already ordered and reside in the Active Jobs File (AJF).

This utility receives parameters from an input file referenced by DD statement DAINPRM. This file contains the following types of statements and parameters:

  • Selection statements that specify job scheduling definition selection criteria

  • Statements containing update parameters that specify values to be added to, changed in, or deleted from, the job scheduling definition fields

  • Utility control statements that control the operation of the utility

  • Comment statements (that contain an asterisk in column one)

These statements must not contain sequence numbers in columns 72 through 80.

CTMTBUPD Parameters

CTMTBUPD Selection Control Statement

The selection control statement, SEL, contains selection parameters that specify on which tables, job scheduling definitions, applications, groups, and rule-based calendars the utility is to operate. If no SEL statement is coded, then no updates are made to the job scheduling library. The following is the format for the selection control statement:

Copy
SEL [TBL=tbl_name][,JOB=job_name][,APPL=app_name]
[,GRP=grp_name][,RBC=sched_rbc][,SCOPE=ALL|FIRST]

where

  • tbl_name specifies the tables in the scheduling library to be selected.

  • job_name specifies the job scheduling definitions in the tables to be selected.

    This parameter must match the value of the MEMNAME parameter in the job scheduling definition.

  • app_name specifies the applications to be selected.

    This parameter must match the value of the APPL parameter in the job scheduling definition.

  • grp_name specifies the groups to be selected.

    This parameter must match the value of the GROUP parameter in the job scheduling definition.

  • sched_rbc specifies the rule-based calendars to be selected.

    This parameter must match the value of the SCHEDULE RBC parameter in the SMART Table Entity scheduling definition.

  • SCOPE indicates which rule-based calendars to update according to the specified sched_rbc:

    • ALL matching RBCs

    • FIRST matching RBC (default)

The selection control statement must precede all update parameters, begin in column 1, and be entirely contained in one record. Note the following points:

  • You can specify any, all, or none of these parameters in any order in the SEL statement.

If you do not specify any parameters, subsequent update parameters will modify every job in each table in the scheduling library.

  • Each parameter can appear no more than one time in any SEL statement, and it can have no more than one value assigned to it. Prefix values can be specified by placing an asterisk at the end of the value string. For more information, see CTMTBUPD Utility Control Statements.

  • When multiple parameters are specified, they are connected by an implicit logical AND relationship.

  • When parameter RBC is specified, only basic scheduling parameters (DAYS, WDAYS, and so on.) in rule-based calendars of SMART Table Entities are processed. Only the first matching rule-based calendar in a SMART Table Entity is processed. The rule-based calendar name itself can be changed.

  • To exclude modifications to SMART Table Entity fields, specify parameter JOB.

  • A selection group consists of a SEL statement, followed by associated update parameters, and closed by an ENDSEL statement. You can include multiple SEL blocks in a single execution of the CTMTBUPD utility.

To improve performance when multiple SEL/ENDSEL blocks are coded, group the SEL/ENDSEL blocks so that all updates to the same table members are executed consecutively.

CTMTBUPD Selection Control Statement (AJF Mode)

The selection control statement, SEL, contains selection parameters that specify on which tables, job scheduling definitions, groups, and job order IDs the utility is to operate. If no SEL statement is coded, then no updates are made to the job scheduling library. The following is the format for the selection control statement in the AJF mode:

SEL [TBL=tbl_name][,JOB=job_name][,GRP=grp_name][,OID= job_orderid]

where

  • tbl_name specifies the tables in the scheduling library to be selected.

  • job_name specifies the job scheduling definitions in the tables to be selected.

    This parameter must match the value of the MEMNAME parameter in the job scheduling definition.

  • grp_name specifies the groups to be selected.

    This parameter must match the value of the GROUP parameter in the job scheduling definition.

  • job_orderid specifies the order ID of the job to be selected.

    This parameter must match the value of the job order ID in the Active Jobs File.

Update Parameters (CTMTBUPD)

Update parameters generally correspond to the parameters of the Control-M Job Scheduling Definition screen. Not all fields in the Job Scheduling Definition screen can be updated using the utility. Fields that can be updated are listed and described below. For a detailed description of each parameter, see the Job Production parameters chapter in the Control-M for z/OS User Guide.

To update fields that are not supported by the CTMTBUPD utility, such as ONPGM or SHOUT, BMC recommends using a combination of the CTMBLT and CTMTLB utilities described in CTMBLT – Create Tables and CTMTLB – Produce XML and CTMBLT Utility Files, respectively. Once the CTMTLB utility has produced statements in the format suitable as input to the CTMBLT utility, these can be edited or updated with any editor, such as ISPF edit, and then run through the CTMBLT utility to recreate the tables with the desired changes.

Fields to be updated can fall into either of two categories:

  • fields easily updated by simple specification of the new value

  • fields that require complex value specifications

Fields Easily Updated

You can update the fields shown in Table 151a by specifying the new desired values in the following format:

Copy
parm_name=new_value

where

  • parm_name is the name of the parameter in the job scheduling definition.

  • new_value is the new value for the parameter.

In Table 151a, an asterisk in column * indicates that character masking can be specified for the parameter as follows:

If an asterisk is specified following a character string, the character string is treated as a prefix (meaning, only the first n characters of the parameter, corresponding to the number of characters preceding the *, participate in the modification).

If the character string begins with one or more asterisks, the number of characters at the start of the parameter value corresponding to the number of asterisks specified do not participate in the modification.

Table 151a CTMTBUPD Parameters

Parameter

*

Value

Description

ACTIVE-FROM

 

6 digits in format yymmdd

Schedule RBC Definition Active From date

ACTIVE-UNTL

 

6 digits in format yymmdd

Schedule RBC Definition Active Until date

ADJUST-CONDITION

 

Y (Yes), N (No), D (Dummy),
or B (Bridge)

Adjust conditions indicator. For SMART Table Entities only

APPL

*

1 through 20 characters

Application name

AUTOARC

 

Y (Yes) or N (No)

Archive SYSDATA

CATEGORY

 

1 through 20 characters

Category for Control-D

CONFCAL

 

1 through 8 characters

Confirmation calendar name

CONFIRM

 

Y (Yes) or N (No)

Confirmation for schedule

CYCLIC-TYPE

 

C, S, V

Type of interval between cycles: C – constant; S – specified; V – varying

CYC-RUNTIME

 

hhmm,nnn

Enhanced cyclic specific run times in 24-hour format: hh (hour), mm (minutes) with an optional day-offset (nnn)

DATES

 

4 digit dates, separated by commas

DATES scheduling

DAYS

 

For information, see the Job Production parameters chapter of the Control-M for z/OS User Guide

Scheduling days

DAYSFROM

 

3 digits (0–120)

Time FROM days offset

DAYSKEEPNOK

 

2 digits (0–99)

The minimal number of days that the folder and its jobs are kept in the AJF after the folder is marked as "NOT-OK".

1-98 – Number of days to keep.

99 – Keep forever.

The above two options are invalid when REMOVEATONCE is set to "No".

0 – Do not keep (Default). This is the only valid value when REMOVEATONCE is set to "No".

DAYSUNTIL

 

3 digits (0–120)

Time UNTIL days offset

DAYS-DUEOUT

 

3 digits (0–120)

Due-out time days offset

DCAL

 

1 through 8 characters or "*"

DAYS calendar name

DEL-RBC

*

1 through 20 characters

Name of RBC to delete from the SMART Table

DESC

 

1 through 50 characters

Description of job

DOCLIB

*

1 through 44 characters

Documentation library name

DOCMEM

*

1 through 8 characters

Documentation member name

DUE-OUT

 

[+/-]hhmm

Due out time

INSERT-RBC

*

1 through 20 characters

Name of RBC to insert into the SMART Table

INTERVAL

 

5 digits (0-64800)

Minutes between reruns

INTERVAL-TYP

 

1 character: S (Start), E (End),

or T (Target)

Interval type

INTERVL-UNIT

 

M, H, D

The units in which INTERVAL is expressed (Minutes, Hours, or Days)

MAXDAYS

 

2 digits

Expiration period

MAXRERUN

 

4 digits

Maximum number of reruns

MAXRERUN - CYC

 

4 digits; 0 through 9999

Maximum number of cyclic runs. Effective only if TASKTYPE is set to CYC for job or TBC for cyclic SMART Table.

MAXRUNS

 

3 digits

Maximum number of runs

MAXWAIT

 

2 digits

Maximum days job is retained

0-98 (default is 0)

99 indicates "forever"

MEMLIB

*

1 through 44 characters

Library containing JCL member

MEMNAME

*

1 through 8 characters

JCL member name

NJE-NODE

 

1 through 8 characters

NJE node identifier

OVERLIB

*

1 through 44 characters

Overriding JCL library name

OWNER

*

1 through 8 characters

User-identification

PREVENT-NCT2

 

Y (Yes) or N (No) or F or L

Prevent ‘NOT CATLGD 2’ errors

PRIORITY

 

1 to 2 characters

Priority

RBC

*

1 through 20 characters

Schedule RBC name

RBC-LEVEL

 

CTM or TBL

Indicates whether this is a Control-M Rule-based Calendar or a Table Rule-based Calendar

RBC-RELATION

 

1 character (blank, O, A)

RBC And/Or relationship

RELATION

 

A or O

AND or OR relation

REMOVEATONCE

 

Y (Yes) or N (No - default)

Indicates that all the jobs will be removed together, when the folder is ready to be removed.

RETDAYS

 

3 digits

Maximum number of days to retain

RETGENS

 

2 digits

Maximum number of generations to retain

RETRO

 

Y (Yes) or N (No) - Y (Yes) is not valid in SMART Tables

Retroactive selection

SCHENV

 

1 through 16 characters

Workload management scheduling environment

SHIFT

 

1 character: >, <, @, blank

Shift on confirmation calendar

SHIFT-EXT

 

3 characters: ±nn, or blank

For a description, see the Control-M for z/OS User Guide

SAC

 

1 character (P, N, -, +, blank)

Schedule adjustment for conversion

SYSDB

 

Y (Yes) or N (No)

Archive to common data set

SYSTEM-ID

 

1 through 4 characters

SYSTEM-ID identifier

TABLE

*

1 through 20 characters

Table name

TASKTYPE

 

3 characters

Type of task (job, started task, and so on. For SMART Tables the valid values are: TBC - cyclic SMART Table and TBL - regular table)

TIMEFROM

 

[+/-]hhmm

Earliest time to submit job

TIMEUNTIL

 

[+/-]hhmm,>

Latest time to submit job, submit as soon as possible

TIME-ZONE

 

3 characters

Time zone designation

TOLERANCE

 

1 to 4 digits

Enhanced cyclic tolerance - the maximum number of minutes after the specified time permitted for a late submission.

VAR-INTERVAL

 

nnnnn,unit

Enhanced cyclic varying interval (nnnnn - interval length, unit = M (Minutes), H (Hours), D (Days)

WCAL

 

1 through 8 characters or "*"

WDAYS calendar name

WDAYS

 

For information, see the Control-M for z/OS User Guide

Weekly scheduling days

  • You can use a blank (‘ ’) as the value for any parameter in Table151a, except for the MEMLIB, MEMNAME, and OWNER parameters.

  • Certain parameters cannot be specified with other parameters. For example, if you specify the DATES parameter, you cannot specify the MONTHS and RELATION parameters. For the rules governing valid parameter combinations, see Control-M for z/OS User Guide.

  • Multiple values for the DAYS and WDAYS parameters must be specified in a single statement separated by commas.

  • For SMART Tables, to update parameters defined in RBCs (DAYS,WDAYS, and so on.) or to change the Schedule RBC name, selection parameter RBC must be specified.

    • An RBC name of ‘*’ cannot be changed, and an RBC name cannot be changed to ‘*’. To delete a rule-based calendar and all of its corresponding job scheduling definitions from the SMART Table Entity, specify the name of the RBC to be deleted in the RBC selection parameter and specify a null RBC update parameter.

    • The RBC parameter cannot be used to add new rule-based calendars to SMART Table Entity definitions.

  • For parameters TIMEFROM, TIMEUNTIL and DUE-OUT, the hhmm value can be preceded by a + or -. This indicates that the specified hhmm value is to be added to or subtracted from the existing (non-blank) hhmm value in the FROM, UNTIL, DUE OUT parameter in the job scheduling definition.

  • If you want to run the CTMTBUPD utility through Control-M scheduling, and any of the utility control statements contains the string "%%" (such as SETVAR), you must specify the AutoEdit statements %%RESOLVEOFF and %%RESOLVEON before and after the control statement, respectively.

Update Parameters (CTMTBUPD AJF Mode)

Update parameters generally correspond to the parameters of the Control-M Job Zoom and Save screen. Not all fields in the screen can be updated using the utility. Fields that can be updated are listed and described below. For a detailed description of each parameter, see the Job Production parameters chapter in the Control-M for z/OS User Guide.

You can update the fields shown in Table 151b by specifying the new desired values in the following format:

Copy
parm_name=new_value

where

  • parm_name is the name of the parameter in the job scheduling definition.

  • new_value is the new value for the parameter.

In Table 151b, an asterisk in column * indicates that character masking can be specified for the parameter as follows:

If an asterisk is specified following a character string, the character string is treated as a prefix (meaning, only the first n characters of the parameter, corresponding to the number of characters preceding the *, participate in the modification).

If the character string begins with one or more asterisks, the number of characters at the start of the parameter value corresponding to the number of asterisks specified do not participate in the modification.

Table 151b CTMTBUPD Parameters in AJF Mode

Parameter

*

Value

Description

MODE

 

AJF

Applies to jobs in the AJF. The MODE parameter must be on the first line. If MODE is omitted the function will apply to the schedule definition.

HOLDBUPD

 

Y|N

Holds the job before the Zoom and Save and frees the job afterwards. The default is”Y”.

PIPE

 

pipe name (1 to 44 characters)

MAINVIEW Batch Optimizer (MVBO)/Job Optimizer Pipes pipe name

This field is supported only if MAINVIEW Batch Optimizer (MVBO) is installed at your site.

IN

 

(cond,date)

  • cond – 1 through 39 characters

  • date – 4 characters

  • Boolean characters |()

Name of IN condition

Date reference of IN condition

Default: ODAT (for date reference)

If the condition name contains Boolean characters (open or close parentheses), enclose the parameter value in quotation marks rather than parentheses.

OUT

 

(out,date,option)

  • out – 1 through 39 characters

  • date – 4 characters

  • option – +/-

Name of OUT condition

Date reference

Function: ADD or DELETE

Default:

  • ODAT (for the date reference);

  • + (for the option)

RESOURCE

 

(resource,number, opt1, opt2)

  • resource – 1 through20 characters

  • number – 4 characters

  • opt1 – D

  • opt2 – K

Quantitative resource.

Name of resource.

Quantity of resource.

Disposition of the resource when job ends OK (D=Delete)

Disposition of the resource when job ends NOTOK (K=Keep)

CONTROL

 

(control,type,opt)

  • control – 1 through 20 characters

  • type – S or E

  • opt – K

Control resource

Name of Control resource

Usage type:

Shared or Exclusive

Disposition of the resource when job ends NOTOK (K=Keep)

OVERLIB

*

1 through 44 characters

Overriding JCL library name

MAXWAIT

 

2 digits

Maximum days job is retained

0-98 (default is 0)

99 indicates "forever"

APPL

*

1 through 20 characters

Application name

REMOVEATONCE

 

Y (Yes) or N (No - default)

Indicates that all the jobs will be removed together, when the folder is ready to be removed.

DAYSKEEPNOK

 

2 digits (0–99)

The minimal number of days that the folder and its jobs are kept in the AJF after the folder is marked as "NOT-OK".

1-98 – Number of days to keep.

99 – Keep forever.

The above two options are invalid when REMOVEATONCE is set to "No".

0 – Do not keep (Default). This is the only valid value when REMOVEATONCE is set to "No".

GROUP

 

1 through 20 characters

Group name (Ignored if SMART table was created via the GROUP-ENTITY parameter)

DESC

 

1 through 50 characters

Description of job

DOCLIB

*

1 through 44 characters

Documentation library name

DOCMEM

*

1 through 8 characters

Documentation member name

TIMEFROM

 

[+/-]hhmm

Earliest time to submit job

DAYSFROM

 

3 digits (0–120)

Time FROM days offset

TIMEUNTIL

 

[+/-]hhmm,>

Latest time to submit job, submit as soon as possible

DAYSUNTIL

 

3 digits (0–120)

Time UNTIL days offset

TIME-ZONE

 

3 characters

Time zone designation

SCHENV

 

1 through 16 characters

Workload management scheduling environment

SYSTEM-ID

 

1 through 4 characters

SYSTEM-ID identifier

NJE-NODE

 

1 through 8 characters

NJE node name

ELAPSE

 

1 through 4 characters

Time (in seconds) that passed from job start to end

DUE-OUT

 

(hhmm,nnn)

Time when the job finishes executing

nnn is an offset of up to 120 days

Default: 0

DAYS-DUEOUT

 

3 digits (0–120)

Due-out time days offset

PRIORITY

 

1 to 2 characters

Priority

CONFIRM

 

Y (Yes) or N (No)

Confirmation for schedule

PREVENT-NCT2

 

Y (Yes) or N (No) or F or L

Prevent ‘NOT CATLGD 2’ errors

SETVAR

 

1 through 66 characters

%%varname=value

Set AutoEdit value

If value contains delimiter characters (for example, commas), enclose the entire parameter text in quotes or apostrophes (for example, ‘%%varname=value’).

CATEGORY

 

1 through 20 characters

Category for Control-D

MAXRERUN

 

4 digits

Maximum number of reruns

INTERVAL

 

5 digits, 0 through 64800

Time interval between reruns

INTERVAL-TYP

 

1 character: S, E, T

Interval type

Start or End of Interval or Target

  • S Start

  • E End

  • T Target

Default: E

MAXDAYS

 

2 digits

Expiration period

MAXRUNS

 

3 digits

Maximum number of runs

RETDAYS

 

3 digits

Maximum number of days to retain

RETGENS

 

2 digits

Maximum number of generations to retain

MAXRERUN-CYC

 

4 digits; 0 through 9999

Maximum number of cyclic runs. Effective only if TASKTYPE is set to CYC.

INTERVL-UNIT

 

M, H, D

The units in which INTERVAL is expressed (Minutes, Hours, or Days)

Default: M

TOLERANCE

 

1 to 4 digits

Enhanced cyclic tolerance - the maximum number of minutes after the specified time permitted for a late submission.

Default: 0000

VAR-INTERVAL

 

nnnnn, unit

Enhanced cyclic varying interval (nnnnn - interval length, unit = M (Minutes), H (Hours), D (Days)

Default: M

CYC-RUNTIME

 

hhmm, nnn

Enhanced cyclic specific run times in 24-hour format: hh (hour), mm (minutes) with an optional day-offset (nnn)

CTMTBUPD Fields Requiring Complex Updates

For purposes of update by this utility, fields are divided into two categories:

Table 152 CTMTBUPD Field Categories

Category

Description

Condition or Resource Parameters

This category includes parameters IN, OUT, CONTROL and RESOURCE.

Miscellaneous Parameters

This category includes parameters SETVAR and MONTHS.

Each of these categories requires a different method of handling.

Condition or Resource Parameters (CTMTBUPD)

Updates to the IN, OUT, CONTROL, and RESOURCE parameters require statements that often provide additional information beyond just the new value.

The format of the update statement for condition or resource parameters is:

Copy
parmname,[N=(name,qualifier)][,O=(name,qualifier)][,P={position|*}]

where

  • parmname is the parameter to be updated (IN, OUT, CONTROL, or RESOURCE) in the job scheduling definition.

  • N is the new parameter value.

    This parameter is used without an O parameter when adding a new condition or resource, and is used with an O parameter when replacing an existing condition or resource value. Subparameters are

    • name – Condition or resource name

    • qualifier – Parameter qualifier (for example,condition date, resource quantity). For details, see Subparameter Qualifier (CTMTBUPD).

  • O is the old (existing) parameter value.

    This parameter is used without an N parameter when deleting an existing condition or resource, and is used with an N parameter when replacing an existing condition or resource value. Subparameters are

    • name – Condition or resource name

    • qualifier – Parameter qualifier (for example,condition date, resource quantity). For details, see Subparameter Qualifier (CTMTBUPD).

  • P is the starting character position. This parameter is used when partial names are specified in parameter N or O (for generic updating). For details, see Partial Names (Generic Changes) (CTMTBUPD)).

Note the following points:

  • Parameter parmname is mandatory.

    • An N parameter and/or an O parameter must be specified.

    • Parameter P must be specified if parameter N or parameter O in the statement is to be treated as a partial value (meaning,not a full 20-character name padded with trailing blanks).

  • The specified parameters must be in the order indicated in the format statement (meaning,parmname must be first, N cannot follow O or P, and O cannot follow N or P).

  • When both parameters N and O are specified, the length of the name value need not be the same for each of the parameters.

  • Whether this statement applies to an IN, OUT, CONTROL or RESOURCE parameter is determined by the parmname value. This, in turn, determines the format and valid values of the subparameters in parameters N and O.

    • Valid values for subparameter qualifier are generally determined by the values allowed in job scheduling definitions.

    • In many cases, question marks can be specified as the value for subparameter qualifier.

Question marks indicate that the specified qualifier (meaning, subparameters in the job scheduling definition such as condition date or resource quantity) is not considered during processing. This topic is discussed at greater length later.

Format and valid values for subparameter qualifier are described immediately below. Usage of these values, including question marks, is discussed later.

Subparameter Qualifier (CTMTBUPD)

  • When parmname=IN, subparameter qualifier is four characters. Valid values are:

    • Valid date value for parameter IN (date, ODAT, PREV, STAT, ****, $$$$, +nnn, or -nnn)

    • ???? (four question marks)

  • When parmname=OUT, subparameter qualifier is five characters. Valid values are:

    • Two concatenated values

      • date—Valid, 4-character date or symbolic date value for parameter OUT (date, ODAT, NEXT, PREV, STAT, ****, $$$$, +nnn, or -nnn)

      • opt—Valid OUT option (+ or -) (for example,ODAT+)

    • ????? (five question marks)

  • When parmname=RESOURCE, subparameter qualifier is four characters. Valid values are:

    • Valid 4-digit resource quantity for parameter RESOURCE

    • ???? (four question marks)

  • When parmname=CONTROL, subparameter qualifier is one character. Valid values are:

    • Valid status values for parameter CONTROL (E or S)

    • ? (one question mark)

Updating Conditions and Resources (CTMTBUPD)

Use of partial names is described later. This utility does not support replacing regular conditions (condition names that have fewer than 21 characters) with long conditions.

When updating various types of conditions and resources (IN, OUT, RESOURCE or CONTROL as identified in parameter parmname), the type of update performed is determined by the combination of N and O parameters specified. Specify these parameters as follows:

  • To delete an existing condition or resource, specify the condition or resource name in an O parameter (but do not specify an N parameter), as follows:

    • To delete a specific occurrence of the condition or resource, specify the occurrence value in subparameter qualifier.

    • To delete all occurrences of the condition or resource, specify question marks in the subparameter qualifier.

  • To add a new condition or resource, specify the condition or resource name in parameter N and specify a value in subparameter qualifier (but do not specify parameter O). Question marks cannot be specified in subparameter qualifier.

  • To replace or change the value of an existing condition or resource, specify both parameter N and parameter O. Apply thefollowing rules to achieve the desired result:

    • To change a condition or resource name, specify the new name in parameter N and the old name in parameter O.

    • To leave the condition or resource name unchanged, (meaning,when only changing qualifiers), specify the same name in both the N and O parameter.

    • To change the qualifier of a condition or resource, specify the new value in subparameter qualifier in parameter N.

    • To leave the existing qualifier of the condition or resource unchanged (for example,when changing only the condition or resource name), set subparameter qualifier to question marks in parameter N.

    • To change only a specific occurrence of an existing condition or resource, specify the existing occurrence data in subparameter qualifier of parameter O.

    • To change all occurrences of an existing condition or resource, set subparameter qualifier to question marks in parameter O.

Partial Names (Generic Changes) (CTMTBUPD)

Parameter P=position is used to indicate that names in parameters N and O are partial names.

(When parameter P is not specified, the condition or resource names in both parameter N and parameter O are treated as full non-generic names, padded with trailing blanks if necessary.)

Either of two values can be specified for parameter P: P=nn or P=*.

  • A 1-digit or 2-digit numeric value less than or equal to 39, indicating a character position within the condition or resource name in the job scheduling definition. This character position represents the first character position of the name to be used.

  • When a numeric value is specified, the name specified in parameter N and/or parameter O is assumed to be a partial name that begins at the specified position in the condition or resource name.

For example,

Assume parameters O=BKP and P=5 are specified.

  • If parameter N is not specified, condition or resource TAPEBKP01 is deleted.

  • If parameter N=BAC is specified, condition or resource TAPEBKP01 is renamed TAPEBAC01.

  • P=*

    • This value indicates that the character string in the condition or resource name field that matches the name or string specified in parameter O is replaced by the name or string specified in parameter N, regardless of character position. In this case, multiple replacements can occur.

    • If, in attempting to replace a string with a longer string, and the condition or resource name becomes longer than 20 characters, the change is not performed.

When parameter P=* is specified, the value of subparameter qualifier in both parameter N and parameter O is treated as if ?s were specified.

WARNING: The use of P=* with IN or OUT parameters is not supported when long condition names in job scheduling definitions are subject to modification.

CTMTBUPD Miscellaneous Parameters

The following parameters are used to add, update, or delete job scheduling parameters that can occur multiple times in the job scheduling definition:

Table 153 CTMTBUPD Miscellaneous Parameters

 

 

MONTHS

The format of parameter MONTHS is

Copy
MONTHS=xxxxxxxxxxxx (12-character value)

where each x can be Y (Yes), N (No), blank, or ?

Each blank, Y (Yes) or N (No) value replaces the original value of the corresponding month in parameter MONTHS. Each value of ? causes the corresponding month in parameter MONTHS to be retained.

SETVAR

The format of parameter SETVAR is

Copy
SETVAR=%%variable=var-value

If the variable name obtained by resolving %%variable is found in the job scheduling definition, its original value is replaced by var-value. Otherwise, a new SETVAR parameter is created by setting the resolved variable name to var-value.

If var-value is null, the variable to which %%variable resolves is deleted from the job scheduling definition.

No update parameter in the file referenced by DD statement DAINPRM can appear more than once in a SEL block.

CTMTBUPD Utility Control Statements

The following utility control statements must all be specified prior to any SEL selection control statements (described on CTMTBUPD Selection Control Statement), except where noted:

Table 154 CTMTBUPD Utility Control Statements

Statement

Description

ENDSEL

End of a SEL block. Mandatory if more than one SEL block is specified.

GENERIC-CHAR=
alt_char

By default, both selection control statements (described in CTMTBUPD Selection Control Statement) and update parameters (described in Table 151a,b) use the asterisk (*) to indicate generic processing. However, because an asterisk can also be a valid part of a parameter value, you can designate an alternate character as the generic indicator.

To specify an alternate indicator, use the GENERIC-CHAR statement, where alt_char is any single character except a blank ( ), comma (,), period (.), or question mark (?).

The GENERIC-CHAR control statement can appear anywhere in the DAINPRM file and can be specified multiple times with different values.

GENERIC-RBC=
[Y|N]

By default (N), rule-based calendar names of ‘*’ in job scheduling definitions cannot be changed. However, when the value of GENERIC-RBC is set to Y, then all ‘*’ RBC names are changed to the name specified in the RBC=<new-rbc-name> UPDATE parameter.

LOG=Y

Indicates that the BLT89AI update message issued by the utility is written to the IOA log in addition to the standard sysout file.

NOUPDRC=nnnn

The completion code returned by the utility, if for any SEL selection criteria block, no tables have been updated. nnnn may be any number up to 4095. If this control statement is not coded, the default return code in such cases is 0.

SCHDMAX=nnnnnnn

Maximum number of tables in the Control-M job scheduling library specified in the CTMSCH DD statement. 1 through 7 digits. Default: 10000.

SEL

Beginning of a SEL block (described on CTMTBUPD Selection Control Statement). Mandatory.

SLINMAX=nnnnnnn

Maximum number of lines contained in a table. 1 through 7 digits. Default: 40000.

UPDATE=x

By default (blank value) all SMART table entities and job definitions which satisfy the SEL criteria are updated by the Update parameters. A value of ‘G’ limits the scope of the SEL criteria so that only parameters in SMART table entities are to be updated. The UPDATE control statement can appear before any SEL/ENDSEL block to set or reset the SEL criteria scope.

CTMTBUPD Return Codes

Table 155 CTMTBUPD Utility Control Statement Return Codes

Return Codes

Description

0

Tables have been successfully updated.

12

Syntax error in input control statement or error encountered during update of a schedule table.

n

No tables were updated (see the NOUPDRC control statement for details).

JCL Required to Execute CTMTBUPD

A sample JCL can be found in member CTMTBUPD in the Control-M JCL library. When working in AJF mode, add a DUMMY SYSPRINT statement to the job.

Examples for CTMTBUPD

CTMTBUPD Example 1

In every job scheduling definition

  • Change the following:

    • DAYS value to: D7,-5,+9

    • WDAYS value to: L1,D2W3

    • PRIORITY value to: *5

    • MEMLIB prefix to: NEWPREF

  • Add Control resource ENQUE-RES in share mode.

  • Delete AutoEdit variable %%ABC (using SETVAR).

  • Add one hour to all FROM time values.

To make the above changes, place the following statements in the DAINPRM file:

Figure 53 CTMTBUPD – Example 1

Copy
SEL
DAYS=D7,-5,+9
WDAYS=L1,D2W3
PRIORITY=*5
CONTROL,N=(ENQUE-RES,S)
SETVAR=%%ABC=
MEMLIB=NEWPREF.*
TIMEFROM=+0100
ENDSEL

CTMTBUPD Example 2

In job scheduling definitions beginning with XYZ in tables beginning with QRS

  • Change all underscore characters to dashes in the IN and OUT conditions.

  • Change quantitative resources that begin with prefix TAPE to prefix CARTRIDGE.

  • Change Exclusive Control resource EXCLUSIVE_RES to Shared Control resource SHARE_RES.

To make the above changes, place the following statements in the DAINPRM file:

Figure 54 CTMTBUPD – Example 2

Copy
SEL TBL=QRS*,JOB=XYZ*
IN,N=(-,????),O=(_,????),P=*
OUT,N=(-,?????),O=(_,?????),P=*
RESOURCE,N=(CARTRIDGE,????),O=(TAPE,????),P=1
CONTROL,N=(SHARE_RES,S),O=(EXCLUSIVE_RES,E)
ENDSEL

CTMTBUPD Example 3

In all job scheduling definitions in table TABLE1 whose application name begins with OLD

  • Change the application name prefix to NEW.

  • Add IN condition NEW-COND with a date option of PREV.

  • Change OUT condition OUT-COND to OUT-COND with a date option of ODAT+, regardless of the condition’s original date.

  • Specify that jobs are not scheduled in April and May. Do not change the monthly scheduling criteria for any other months.

  • Delete all the Quantitative resources that have value DISK3330 beginning in column5 of the resource name.

To make the above changes, specify the DAINPRM file as follows:

Figure 55 CTMTBUPD – Example 3

Copy
SEL  TBL=TABLE1,APPL=OLD*
APPL=NEW*
IN,N=(NEW-COND,PREV)
OUT,N=(OUT-COND,ODAT+),O=(OUT-COND,?????)
MONTHS=???NN???????
RESOURCE,O=(DISK3330,????),P=5
ENDSEL

CTMTBUPD Example 4

In all table scheduling definitions, in rule-based calendars whose names begin with GRP-RBC change

Table 156 CTMTBUPD Rule-based calendars

CONFCAL value to:

blanks

DAYS value to:

D1P*

DCAL value to:

PERIODIC

MONTHS value to:

blanks

To make the above changes, specify the DAINPRM file as follows:

Figure 56a CTMTBUPD – Example 4

Copy
SEL   RBC=GRP-RBC*
DAYS=D1P*
DCAL=PERIODIC
CONFCAL=
MONTHS=
ENDSEL

CTMTBUPD Example 5

The following job adds a new SETVAR statement to a job (with orderid=00015) in the AJF.

Figure 56b CTMTBUPD – Example 5

Copy
MODE=AJF
HOLDBUPD=Y
SEL OID=00015
SETVAR=%%DEPT=ACCT
ENDSEL

CTMTLB – Produce XML and CTMBLT Utility Files

The CTMTLB utility

  • serves as an interface between Control-M/Desktop and Control-M for z/OS to facilitate the mass downloading of table definitions from Control-M for z/OS into the Control-M/EM database and Control-M/Desktop. Control-M/EM must be at version 6.3.xx or later.

  • provides a mechanism whereby distributed (non-mainframe) job scheduling definitions can be defined on the mainframe (z/OS) platform and then subsequently downloaded to the Control-M/EM database and Control-M/Desktop.

  • serves as a migration tool that allows users to upgrade Control-M for z/OS job scheduling libraries to the current release format.

  • provides a mechanism for validating all fields in Control-M for z/OS job scheduling definitions

The CTMTLB utility accepts the following input control statements (as 80-byte card images) in the DAINPRM file:

Copy
DEFTYPE=MF|NONMF
EXCLUDE=MF|NONMF 
SETVAR=xxx=yyyy  
LIBRARY=xxxx
MEM-OVERWRITE=x
OPTION=x
DTD=dtd-path-name
DATACENTER=data-center-name
RUN_AS_DUMMY=Y|N
APPEND_LIB_SUFFIX_TO_FOLDER=x
TABLE_USERDAILY=user-daily-name
* comment
SCHEDULE-LIB=library-name1
    TABLE=table-n*m?1
    TABLE=table-nam?2
SCHEDULE-LIB=library-name2
TABLE=table-name3

CTMTLB Parameters

CTMTLB Program Control parameters

Program Control parameters can be used when the scheduling tables contain distributed job definitions or are to be converted to distributed job definitions. These parameters affect how the XML output file is processed.

Table 157 CTMTLB Program Control Parameters

Parameter

Description

DEFTYPE=
MF|NONMF

The tables (see Action parameters for CTMTLB) specified after this control statement should be treated as consisting of all mainframe (MF) or non-mainframe distributed (NONMF) job definitions. This parameter may be used multiple times when processing more than one table in a single execution. Default: MF

Tables created by the CTMBLT utility may specify the CTMBLT DEFTYPE=X job parameter (not to be confused with the CTMTLB parameter of the same name). In such a case, an indication is placed in the job definition itself that the job is a non-mainframe definition. For example, when processing tables created by a Control-M conversion tool, do not use the CTMTLB DEFTYPE parameter, as CTMTLB will check the job definition itself to determine how to treat it (as a mainframe or distributed job).

If every job in a SMART Table is marked as non-mainframe, then the SMART Table Entity will also be marked as such by the CTMTLB utility.

EXCLUDE=
MF|NONMF

Exclude either mainframe (MF) or distributed (NONMF) job definitions in the tables from being processed in the output XML file.

All SMART Table Entities will be treated as either distributed or mainframe entities for XML processing purposes, even if the table contains mainframe or distributed jobs.

SETVAR=
xxx=yyy

where xxx is any SETVAR variable name (maximum length of 20 characters) and yyy can be any of the following:

  • MEMNAME

  • JOBNAME

  • CMDLINE

  • NODEID

  • MEMLIB

  • FILETRG (the value of xxx specifies a File-Watcher file)

  • OWNER (the value of xxx includes Domain name coded as domain\owner)

  • NUMPARM (indicates that the 2-digit value (nn) specified in the value of xxx will be used as a count of the number of parameters %%PARMnn which must be appended following the CMDLINE text as follows: CMDLINE cmdline-text %%PARM1 ... %%PARMnn)

Distributed job definitions containing job definition parameters that are unique to distributed platforms can be simulated on the z/OS mainframe platform by using SETVAR job definition parameters. The resulting definitions can then be processed by the CTMTLB utility to produce XML scripts that are suitable for downloading to the distributed platforms.

SETVAR Example 1: Commands

The job definition contains a SETVAR statement of the form:    

SETVAR=%%C=/agent/platform/cmds/to-run-on/winSETVAR=%%N=03

SETVAR=%%PARM1=first-parameter

SETVAR=%%PARM2=second-parameter

SETVAR=%%PARM3=third-parameter

If you specify the following control statement to CTMTLB:

SETVAR=C=CMDLINE

SETVAR=N=NUMPARM

The AutoEdit variable %%C causes a distributed CMDLINE parameter to be built in the output XML file, instead of %%C being treated as a real SETVAR statement. The value is as follows:

/agent/platform/cmds/to-run-on/win %%PARM1 %%PARM2 %%PARM3

If you must specify a Shell, then following standard UNIX conventions, the %%C SETVAR should be coded as follows:

SETVAR=%%C=shell-name%%BLANK%%.-c%%BLANK%%.cmd-string

SETVAR Example 2: File-Watcher

The job definition contains a SETVAR statement of the form:    

Copy
SETVAR=%%F=/agent/platform/file/win-or-unix/file.out

If you specify the following control statement to CTMTLB:

Copy
SETVAR=F=FILETRG

The AutoEdit variable %%F causes a distributed CMDLINE parameter to be built in the output XML file, instead of %%F being treated as a real SETVAR statement. The value is as follows:

Copy
ctmfw /agent/platform/file/win-or-unix/file.out

ctmfw is the File Watcher program.

SETVAR Example 3: Scripts (directory path and file name)

The job definition contains SETVAR statements of the form:

Copy
SETVAR=%%S=/agent/platform/unix/script-name/to-run-on/directory/path
            SETVAR=%%M=file-name.ksh

If you specify the following control statement to CTMTLB:

Copy
SETVAR=S=MEMLIB
            SETVAR=M=MEMNAME

AutoEdit variables %%S and %%M cause distributed MEMLIB and MEMNAME parameters to be built in the output XML file, instead of %%S and %%M being treated as real SETVAR statements. Their values, respectively, are:

  • Copy
    /agent/platform/unix/script-name/to-run-on/directory/path
  • Copy
    file-name.ksh

Pass-through parameters for CTMTLB

The following pass-through parameters are available for CTMTLB. All pass-through parameters must precede the action parameters.

  • LIBRARY, MEM-OVERWRITE, RECOVER_AFTER_ABEND, and OPTION are optional pass-through parameters. They are not used by the CTMTLB utility itself, but may be passed through as is to the CTMBLT utility. See CTMBLT – Create Tables for further information on the CTMBLT utility.

  • DATACENTER (the name of the data center) is a required pass-through parameter to the deftable utility.

  • DTD (the dtd path name whose default value is "deftable.dtd") and TABLE_USERDAILY (the NewDay or User daily name) are optional pass-through parameters to the deftable utility. The TABLE_USERDAILY parameter values can be specified as xxxx (user specified or blanks), #APPL# (the APPLICATION name from the job definition), #GRP# (the GROUP name from the job definition), #SETVAR=yyy# (the value of auto-edit variable yyy from the job definition). See the Control-M Utility Guide for further information on the deftable utility. Note that when executing the deftable utility, the /a switch must be specified. The /a switch directs the utility to automatically (re)set the Author parameter to the current Control-M/EM user.

  • The DTD parameter value may be continued on a second continuation line. Code a '+' in column 80 of the first line and continue the value anywhere on the second line; however, the total length of the DTD value should not exceed 105 characters.

  • SITE_STANDARD_NAME is an optional pass through parameter to the deftable utility. SITE_STANDARD_NAME is the name of a set of rules for validating and setting job scheduling parameters, as previously defined in the Control-M Enterprise Manager. The name cannot exceed 40 characters.

Action parameters for CTMTLB

The following parameters are used to perform actions:

  • Multiple sets of SCHEDULE-LIB/TABLE statements are permitted. SCHEDULE-LIB/TABLE statements point to the library and member names of the job scheduling library and tables on which the utility operates. At least one TABLE statement per SCHEDULE-LIB statement is required.

    Masking (? and * wildcards) in the TABLE name parameter is permitted.

  • Comment statements begin with an asterisk in column 1.

  • The optional parameter CONVERT-TAGS=Y causes a subsequent execution of the CTMBLT utility to convert regular schedule tags (in SMART table entity) to external (CTM-LEVEL) RBCs. Setting CONVERT-TAGS=N cancels the affect of CONVERT-TAGS=Y.

  • The utility control statement RUN_AS_DUMMY=Y causes all jobs to be treated as Dummy jobs. When this statement is used, job statuses of all jobs change to ENDED OK immediately when the pre-submission criteria of the jobs are satisfied.

    • The RUN_AS_DUMMY=Y statement has the following impact on job definitions in Control-M/EM:

      • For jobs in all datacenters (both distributed and mainframe) the Run as dummy check box is selected.

      • For distributed jobs, the command or script defined in the What area is bypassed.

      If you subsequently choose to clear the Run as dummy check box, all jobs are restored to their original job type. Mainframe jobs are also restored to their original Override Path (overlib) and UseInstreamJCL values.

      To use the RUN_AS_DUMMY option, the following statements must be defined in all jobs, either as input for the CTMBLT utility or manually through the Job Scheduling Definition Screen in Control-M (Screen 2):

      SETVAR %%$BMCWAIORIGTYPE=original-overlib-value

      SETVAR %%$BMCWAIORIGUSEISJCL="Y"

      OVERLIB="DUMMY"

      If you are converting from the CA ESP scheduling product and want to use the Run as dummy functionality, see the description of the RUNDUMMY parameter in the Control-M for z/OS for CA-ESP Conversion Guide.

  • If CTMTLB processes multiple scheduling libraries, you can use APPEND_LIB_SUFFIX_TO_FOLDER=x to ensure the uniqueness of non-mainframe table names. APPEND_LIB_SUFFIX_TO_FOLDER=x appends a suffix with a length of x to each non-mainframe table name. The suffix is derived from the scheduling library name.

CTMTLB OUTPUT files

The CTMTLB utility produces the following output files:

  • DASCHD – Statements in the format suitable as input to the CTMBLT utility.

  • DAXML – Statements in XML format suitable for the CTM/EM deftable utility. These statements are in standard EBCDIC format, and must be transformed to ASCII format before being used as input to the deftable utility.

In transforming the file from EBCDIC to ASCII, the CRLF (Carriage Return and Line Feed) file option must not be specified.

The DASCHD and DAXML files are both optional. The user need only specify the file or files that are required.

Limitations (CTMTLB)

Due to current limitations in Control-M Desktop, the user should be aware of the following issues when creating the DAXML file for the Control-M/EM z/OS platform:

  • The following job scheduling parameters and features, which can be defined in Control-M for z/OS, are not supported. They will be ignored by the deftable utility:

    • PIPE

    • Control-M/Analyzer rules and missions for the START and END parameters

    • more than 41 CODES in ON blocks

    • TASKTYPE=WRN

    • skip DUE-IN time checking

  • The following features, which are acceptable in the Control-M for z/OS environment, produce deftable validation errors:

    • coding both DO ACTION="NOTOK" and DO ACTION="RERUN" in the same ON statement

    • an ON statement that does not contain at least one DO statement

      If these errors are encountered, the user must modify his Control-M for z/OS scheduling definitions and rerun the utility.

  • The BIM-SETVAR job scheduling parameter in Control-M/EM is not supported, and will be ignored by the deftable utility.

When creating XML files for distributed platforms (UNIX, AIX, Microsoft Windows NT, and so on), various z/OS job scheduling parameters are not relevant or supported. In addition, there are Control-M/EM distributed parameters that have no corresponding parameters on the z/OS platform. For full details, see the Control-M Job Parameter and Variable Reference Guide.

See CTMTLB Program Control parameters and CTMTLB Example 2 to see how the CTMTLB utility copes with this situation.

Activating the CTMTLB Utility

A sample job to activate the utility can be found in the CTMTLB member in the Control-M JCL library.

Examples for CTMTLB

CTMTLB Example 1

Convert a CTM Job Scheduling library from a non-supported (earlier than 6.x.xx) format to the format of the current release.

Copy
//STEP1 execute CTMTLB using the job in the CTM JCL Library with the
//*                               following overrides
//DASCHD DD DISP=SHR,DSN=input-to-CTMBLT
//DAINPRM DD *
LIBRARY=CTM.V700.SCHEDULE             new schedule library to be created
MEM-OVERWRITE=Y
SCHEDULE-LIB=CTM.V6216.SCHEDULE       schedule library to be upgraded
TABLE=*                               process all tables in library
/*
//STEP2 execute CTMBLT using the job in the CTM JCL Library with the
//*                               following overrides
//DAINPRM DD DISP=SHR,DSN=input-to-CTMBLT (from STEP1)
//

CTMTLB Example 2

Upload the following job definition as a distributed job to Control-M/EM on a UNIX work center, CTM-DS-Local. The job defines a distributed file triggering (File Watcher in Control-M/EM terms) task. The job definition is located in the SMART table FILWATCH in the CTM.SCHEDULE library. (Only a partial definition is shown.)

Copy
MEMNAME BAISM#05    MEMLIB   XXX
OWNER   BAISM#05    TASKTYPE  JOB
APPL    BAISM#05                     TABLE AAIUPDN        
DESC    BAISM#05           Fil                           
SET VAR %%A=HAWK                                         
SET VAR %%F=/UNX2/LARS/SCRIPTS/OLARD#F1_stop_aai.txt 
SET VAR %%J=BAISM#05
SET VAR %%ENV1=environmental-parm-1
SET VAR %%ENV2=env-parm-2
SET VAR %%PARM1=argument-1
SET VAR %%PARM2=arg-2
SCHEDULE RBC BAISM#05_123  
  DUE OUT TIME      +     DAYS    PRIORITY *9  SAC    CONFIRM
OUT      BAISM#05-OK          ODAT +
ON PGMST ANYSTEP  PROCST          CODES OK        
  DO SYSOUT   OPT  R PRM                          
ON PGMST ANYSTEP  PROCST          CODES **** 
  DO SHOUT    TO  OPER             URGENCY R
   = %%JOBNAME J%%JOBID ENDED (NOT)OK!       
SHOUT WHEN EXECTIME TIME >000  +     DAYS      TO OPER           URGN R
  MS JOB %%$MEMNAME HAS STARTED                                          

When activating the utility, specify the following control parameters:

Copy
//DAINPRM DD *
DEFTYPE=NONMF
SETVAR=J=JOBNAME             
SETVAR=F=FILETRG             
SETVAR=C=CMDLINE             
SETVAR=A=NODEID              
DTD=deftable.dtd             
DATACENTER=CTM-DS-Local      
SCHEDULE-LIB=CTM.SCHEDULE
  TABLE=FILWATCH
/*

Following is the XML generated by the utility (only relevant statements are shown):

Copy
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE DEFTABLE SYSTEM "deftable.dtd">                    
<DEFTABLE >                                                  
<SCHED_TABLE  TABLE_NAME="FILWATCH"      DATACENTER="CTM-DS-Local"
TABLE="AAIUPDN"

<JOB                                   
NODEID="HAWK"                      
CMDLINE="ctmfw /UNX2/LARS/SCRIPTS/OLARD#F1_stop_aai.txt"                
JOBNAME="BAISM#05"                     
OWNER="BAISM#05"                       
TASKTYPE="Command"                     
PRIORITY="9"
CRITICAL="1"
DESCRIPTION="BAISM#05           Fil"   
APPLICATION="BAISM#05"        
> <AUTOEDIT                     
EXP="%%ENV1=environmental-parm-1" />        
<AUTOEDIT                       
EXP="%%ENV2=env-parm-2" />        
<AUTOEDIT                       
EXP="%%PARM1=arguement-1" />        
EXP="%%PARM2=arg-2" />        
<RBC_NAMES RBC_NAME="BAISM#05_123" />                                  
<OUTCOND NAME="BAISM#05-OK"                                             
SIGN="ADD"                                                              
ODATE="ODAT" />                                                         
<ON                                                                     
CODE="OK"                                                               
STMT="*"                                                                
     >                                                                  
<DOSYSOUT                                                               
OPTION="Release"                                                        
/>                                                                     
</ON>                                                                   
<ON                                                                     
CODE="COMPSTAT&lt;4096"                                                 
STMT="*"                                                                
     >                                                                  
<DOSHOUT                                                                
DEST="ECS"                                                              
URGENCY="R"                                                             
MESSAGE="%%JOBNAME J%%JOBID ENDED (NOT)OK!" />                          
</ON>                                                                   
<SHOUT WHEN="EXECTIME"                           
TIME="&gt;001"                                   
DEST="ECS"                                       
URGENCY="R"                                      
MESSAGE="JOB %%$MEMNAME HAS STARTED" />          
</JOB>                                           
  • The AutoEdit variable SETVAR %%A has been transformed into the distributed NODEID parameter.

  • The AutoEdit variable SETVAR %%J has been transformed into the distributed JOBNAME parameter.

  • The AutoEdit variable SETVAR %%F has been transformed into the distributed CMDLINE parameter. Since F has been equated to FILETRG, the ctmfw File Watcher program is used in the CMDLINE parameter with the distributed file name following as an argument.

  • Arguments to the command are coded as SETVAR statements whose variable names are PARMn (n=1-32).

  • Ordinary SETVAR parameters are recognized as environmental parameters.

  • SHOUT destinations are all changed to ECS.

  • SHOUT WHEN EXECTIME >000 is transformed into >001.

  • In ON statements, PGMST and PROCST are ignored and CODES **** is transformed into COMPSTAT<4096.

  • The MEMNAME and MEMLIB parameters in the original job definition are ignored.

  • The TASKTYPE JOB is transformed to 'Command'.

  • Priorities specifying critical path (*x) are transformed using the CRITICAL="1" parameter.

Execute the Control-M/EM deftable utility with switch /a to complete the process of uploading the job definition.

CTMTLB Example 3

Invoke the CTMTLB utility internally from another program.

Copy
                  ...
                  LINK  EP=CTMTLB,PARAM=(SCHAREA,#CARDS,TBLNM),VL=1
                  LTR   R15,R15
                  BNZ   error-routine
                  ...
SCHAREA  DS    A
#CARDS   DS    F
TBLNM    DS    CL8

The parameters passed to CTMTLB are shown in Table 158.

Table 158 Parameters passed to CTMTLB when invoked from another program

Parameter

Description

SCHAREA

An address which points to an area containing a table

#CARDS

the number of 80-byte records contained in the area pointed to by SCHAREA

TBLNM

An 8-character table name

When invoking CTMTLB as shown above, unless you want to make use of pass-through parameters, the DAINPRM file should be coded as DUMMY.

If you want to create the CTMTLB DASCHD output file as an in-memory internal table, you should modify the above example as follows:

Copy
                  ...
                  LINK  EP=CTMTLB,PARAM=(SCHAREA,#CARDS,TBLNM,OUTAREA,OUTLINE),VL=1
                  LTR   R15,R15
                  BNZ   error-routine
                  ...
SCHAREA  DS   A
#CARDS   DS   F
TBLNM    DS   CL8
OUTAREA  DS   A
OUTLINE  DS   F

In this modification

  • the DASCHD DD statement allocated to the job should be removed

  • OUTAREA is an address that points to an area where CTMTLB will place the output that is normally written to the DASCHD file

  • OUTLINE is the maximum number of 80-byte records which the area pointed to by OUTAREA can contain

CTMTLB Example 4

A site wishes to migrate all Control-M job scheduling definitions from the mainframe platform to the web-based Microfocus platform.

To perform the migration

  1. Use the CTMTLB utility to extract the job scheduling libraries to a flat file of CTMBLT input statements, which can be edited to add the following two AuditEdit variables into each scheduling definition:

    • %%J - set to the jobname

    • %%C - set to the command that will be needed when the job is converted.

      Copy
      //STEP1 EXEC PGM=CTMTLB,REGION=0M
      //DASCHD DD DISP=SHR,DSN=editable-flat-file-of ctmblt-stmts (LRECL=80)
      //DAPRINT DD SYSOUT=*
      //DAINPRM DD *
      LIBRARY=new-schedule-library-to-be-created
      MEM-OVERWRITE=N
      SCHEDULE-LIB=schedule-library-to-migrated
      TABLE=*
    • Edit the DASCHD file, either manually or with a program, to add the AutoEdit variables, mentioned above, to each job definition.

  2. Use the CTMBLT utility to recreate the scheduling library.

    Copy
    //STEP2    EXEC PGM=CTMBLT,REGION=0M
    //DATABERR DD  SYSOUT=*,DCB=BLKSIZE=80
    //DAPRINT  DD  SYSOUT=*
    //DAINPRM  DD  DSN=input-to-CTMBLT-from-STEP1,DISP=SHR
  3. Use the CTMTLB utility once again to create a XML file to be loaded into Control-M/Enterprise Manager.

    Use the following sample job (the values set for %%J and %%C in the job definition will be substituted for the jobname and the command line):

    Copy
    //STEP3    EXEC PGM=CTMTLB,REGION=0M
    //DAXML    DD  DISP=SHR,DSN=xml-file-to-be-loaded-to-EM
    //DAPRINT  DD  SYSOUT=*
    //DAINPRM  DD  *
    DEFTYPE=NONMF
    SETVAR=J=JOBNAME
    SETVAR=C=CMDLINE
    DATACENTER=CTM-DS-LOCAL
    SCHEDULE-LIB=scheduling-library-created-by-STEP2
    TABLE=*

CTMTLB Return codes

Table 159 CTMTLB return codes

Code

Description

0

The CTMTLB utility ended successfully.

4

The CTMTLB utility encountered a parameter or feature in a job scheduling definition that is not supported by the Control-M Desktop XML.

Check the output referenced by the DAPRINT DD statement for a message indicating the non-supported parameter or feature. In certain cases (see Limitations (CTMTLB)), the job scheduling definition must be modified before it can be successfully downloaded via the deftable utility.

8

An error occurred while analyzing the input stream.

Check the output referenced by the DAPRINT DD statement for a message indicating the cause of the problem. Correct the input statements and resubmit the job.

12

A severe error occurred.

Check the output of the job for messages indicating the source of the problem. If you are unable to correct the problem, contact your INCONTROL administrator.

CTMWLI - Initialize and copy the Workload Optimization Load-Index file

The CTMWLI utility enables you to control the Workload Optimization Load-Index file (WLI file), which stores collected data regarding the status and history of Load-Indexes.

For more information about Load-Indexes, see Using Load-Indexes in workload optimization in the Control-M for z/OS User Guide.

The CTMWLI utility can be used to perform the following functions:

  • Copy the contents of an existing WLI file into a new file, which you can adjust for size.

  • Initialize a new WLI file and fill it with the current definitions of Load-Indexes.

CTMWLI Return Codes

The following table lists the possible return codes in response to CTMWLI operations:

Table 159d CTMWLI return codes

Table Header

Table Header

0

Operation performed successfully.

4

Operation performed with warning. See the message in the job.

8 and above

Operation failed. See the message in the job.

CTMWLI Example

The following JCL sample for running CTMWLI can be found in the CTM JCL library. This is the CTMWLI member, which focuses on the COPY function.

Copy
//********************************************************************
//*                                                                  *
//*        CONTROL-M - LOAD-INDEXES FILE MAINTENANCE                 *
//*        -----------------------------------------                 *
//*                                                                  *
//*   THIS JOB MAY BE USED TO INITIALIZE AND COPY THE CONTROL-M      *
//*   LOAD-INDEXES FILE.                                             *
//*                                                                  *
//*   INIT   - INIT A LOAD-INDEX FILE AND LOAD CURRENT DEFINITIONS.  *
//*                                                                  *
//*   COPY   - COPY THE CONTENT TO AN ALREADY FORMATTED FILE.        *
//*          - CAN BE USED TO ENLARGE THE CURRENT LOAD-INDEXES FILE. *
//*                                                                  *
//********************************************************************
//       JCLLIB  ORDER=IOAA.QA#M4.PROCLIB                         
//       INCLUDE MEMBER=IOASET                                       
//*                                                                   
//* COPY THE LOAD-INDEXES FILE                                   
//*                                                                   
//CTMWLIC  EXEC PGM=CTMWLI,REGION=&REG,                               
//         PARM='COPY'                     
//         INCLUDE MEMBER=&IOAENV                                     
//SYSPRINT DD  SYSOUT=*
//WLIIN    DD  DISP=SHR,DSN= &DBPREFM..WLI              <=== CHANGE-COPY
//WLIOUT   DD  DISP=OLD,DSN= &DBPREFM..WLI.NEW          <=== CHANGE-COPY
//

Another JCL sample, member CTMWLII, focuses on the INIT function.

CTMXRF – Create Cross-Reference Reports

The CTMXRF utility produces the following cross-reference reports:

  • Calendar Name / Job Name

  • Condition Name

  • Job Name / Table Name

  • Resources / Job Name

  • Library Name / Job Name

  • Schedule RBC/ Job Name

  • Time / Job Name

The CTMXRF utility receives parameters from an input file referenced by the DAXRFIN DD statement. This input file can contain the following types of statements:

  • Cross reference report action statements, which specify types of reports

  • Control statements, which control the operation of the utility

  • Comment statements, which contain an asterisk in column one

DAXRFIN must be an 80-byte card image file and the control statements must begin in column one. Embedded blanks are not allowed.

Cross Reference Report Action Statements

Format of the cross-reference report action statement is:

Copy
XRF=report-type[,PARM=parm]

Valid values for report-type:

Table 160 CTMXRF Cross-Reference Statements

Statement

Description

CAL

Produces the Calendar/Job Name Cross Reference report. This report identifies job scheduling definitions that use a calendar and indicates whether the calendar is a DCAL, WCAL, CONFCAL or STAT CAL calendar.

To restrict the report to jobs whose calendar name begins with the prefix calpref, specify PARM=calpref*.

CND

Produces the Job Condition Name Cross Reference report. This report lists conditions that are contained in:

  • Control-M tables

  • Control-O SolveWare and/or rules

  • Control-M/Tape rules

  • Control-D or Control-V or Control-M/Analyzer reports and/or missions

Each entry in the report indicates the table name, job name, product code (M for Control-M, O for Control-O, and so on), condition type (I=IN; O=OUT; C, F, or T=DOCOND), and status (+/-) for the condition.

To restrict the report to condition names that begin with the prefix condpref, specify PARM=condpref*.

To restrict the report to a specific condition date reference, specify PARM=|dateref where dateref can be a specific date reference (in ddmm or mmdd format according to the site standard defined by the DATETYP parameter), or a specific date keyword such as STAT, PREV, NEXT, ****. The first character of dateref is a vertical bar, hex code ‘4F’.

To restrict the report to long conditions (conditions with condition names longer than 20 characters), specify PARM=|CONT.

JOB

Produces the Job Name/Table Name Cross Reference report. This report identifies which tables contain jobs.

To restrict the report to tables whose job names begin with the prefix jobpref, specify PARM=jobpref*.

LIB

Produces the Library Name/Table Name Cross Reference report. This report identifies which jobs specify MEMLIB, OVERLIB, DOCLIB, PDS, or DO FORCEJOB libraries.

To restrict the report to libraries of a specific type, specify PARM=libtype. Valid libtype values: MEM, OVR, DOC, PDS, and FRC.

RES

Produces the Resources/Job Name Cross Reference report. This report identifies Control-M jobs or Control-O rules that use resources and indicates the type, quantity, or state and options of the resources.To restrict the report to resource names that begin with the prefix respref, specify PARM=respref*.

TAG

Produces the RBC Name/Job Name Cross Reference report. This report identifies which jobs or tables specify rule-based calendars.

To restrict the report to jobs or tables whose rule-based calendars begin with the prefix rbcpref, specify PARM=rbcpref*.

TIM

Produces the Time/Job Name Cross Reference report. This report identifies jobs with a time criteria (TIME FROM, TIME UNTIL or DUE OUT TIME).

To table reports by time intervals, specify PARM=n, where n=2, 3 or 4.

  • n=2 tables jobs by hourly intervals.

  • n=3 tables jobs by 10 minute intervals.

  • n=4 tables jobs by 1 minute intervals.

CTMXRF Utility Control Statements

Utility control statements are only necessary if the program default values are inadequate.

Table 161 CTMXRF Utility Control Statements

Statement

Description

SCHDMAX=
nnnnnn

Maximum number of members in the Control-x library or libraries being searched. 1 through 6 digits. Default: 2000

SLINMAX=
nnnnnn

Maximum number of lines contained in a member of the Control-x library or libraries. 1 through 6 digits. Default: 30000

All utility control statements must precede the first action statement.

CTMXRF Return Codes

Table 162 CTMXRF Return Codes

Code

Description

0

The CTMXRF utility ended successfully.

4

No input libraries were supplied.

8

An error occurred while analyzing the input stream.

Check the output referenced by DD statement DAPRINT for a message indicating the cause of the problem. Correct the definitions and resubmit the job.

12

A severe error occurred.

Check the output of the job for messages indicating the source of the problem. If you are unable to correct the problem, contact your INCONTROL administrator.

JCL Required to Execute CTMXRF

A sample JCL to run the utility can be found in member CTMXRF in the Control-M JCL library.

Do not code DD DUMMY or DSN=NULLFILE for any DD statement whose DD name begins with CTx. If a DD statement is not needed to run the utility, remove it.

Examples for CTMXRF

Produce the following cross-reference reports:

  • Condition name cross-reference reports for all STAT (static) conditions.

  • Calendar name cross-reference of all calendars in use in the Control-M job scheduling library.

  • Three time or job name cross-reference reports (FROM, UNTIL and DUE OUT time) grouped by 10 minute time intervals.

To produce the above reports, specify the file referenced by DD statement DAXRFIN as follows:

Copy
XRF=CND,PARM=|STAT
XRF=CAL
XRF=TIM,PARM=3

CTMXRF Sample Output Reports

Figure 57 CTMXRF Job Name/Table Name Cross-Reference Report

Copy
CONTROL-M  6.3.01            JOB-NAME/TABLE-NAME CROSS REFERENCE REPORT
BMC SOFTWARE, INC.
===================================================================     PAGE    1
  
JOBNAME       T A B L E  N A M E S                                             
CYCLIC   DEMO                                                                  
DAILYPRD MAINDAY                                                               
DAILYSYS MAINDAY                                                               
DEMO1    N86                                                                   
DISKLOG1 ADABASM                                                               
DROOR    N86                                                                   
DUMMY    E01SCHED                                                              
EMPTY    DEMO                                                                  
ENDEV*   SENDEVOR                                                              
ENDEVOR  SENDEVOR                                                              
EXIT2JOB OPHIR4                                                                
E05TEST1 E05TEST                                                               
FIRSTJOB N86                                                                   
IEFBR14  DANNY    N86      N88dsktp N88GRP   N88GRP1

Figure 58 CTMXRF Resource Name / Job Name Cross-Reference Report

Copy
CONTROL-M  6.3.01        RESOURCE NAME/JOB NAME CROSS  REFERENCE REPORT         
BMC SOFTWARE, INC.
===================================================================     PAGE   1
   
RESOURCE NAME       TYP TABLENAM JOB/RULE QU/ST TABLENAM JOB/RULE QU/ST TABLENAM JOB/RULE QU/ST 
ASA                  C  N88TST   JOB13    E     N88TST   JOB63    E     N88TST1  JOB63    E
                        N88TST2  JOB13    E     N88TST2  JOB63    E     N88TST3  JOB63    E
                        N88TST4  JOB13    E     N88TST4  JOB63    E            
CARTINIT             Q  N88dsktp WAIT     0010  N88TEST  WAIT     0010  N88TEST1
CONT1                C  N88TST   JOB4     S     N88TST   JOB52    S     N88TST1  JOB52    S
                        N88TST2  JOB4     S     N88TST2  JOB52    S     N88TST3  JOB52    S
DBA-ADAFILE-12       C  ADABASM  BACKUP12 E                                    
DBA-ADAFILE-7        C  ADABASM  BACKUPF7 E     ADABASM  READF7   S            
DISK-MVS003          C  DEMO     BEACH    E                                    
DORES                T  MK       MKJOBARR 1111  MK       STR2     1111         
DORES2               T  MK       MKJOBARR 2222- MK       STR2     2222-        
DORES3               T  MK       MKJOBARR 0333+ MK       STR2     0333+        
E02.NU1              C  NU1      JOB1     E     NU1      JOB2     S     NU1      JOB2     S 
                     C  NU1      JOB2     E     NU1      JOB2     E     NU1      JOB2     E 

Figure 59 CTMXRF Calendar Name/Job Name Cross-Reference Report

Copy
CONTROL-M  6.3.01       CALENDAR NAME/JOB NAME CROSS REFERENCE REPORT          
BMC SOFTWARE, INC. ===============================================================     PAGE   1
   
CALENDAR TYP TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP
ALLWEEK   W  CALENDW  JOB3                                                     
ALLYEAR   D  CALENDY  VACN     N88TEST  IEFBR14  N88TEST  JOB1     N88TEST  JOB2     N88TEST  NIS1
             CALENDM  NIS3     N88TEST  NIS4     N88TEST  NIS5                 
HOLIDAY   C  N88GRP   VACN                                                     
CONFC     C  E01SCHED DUMMY                                                    
DCAL      D  E01SCHED DUMMY                                                    
WCAL      W  E01SCHED DUMMY                                                    
WEEKCAL   W  N88GRP   VACN                                                     
WORKDAYS  W  CALENWK  WKDAY    

Figure 60 CTMXRF Rule-based calendar/Job Name Cross-Reference Report

Copy
CONTROL-M  6.3.01         SCHEDULE RBC/JOB NAME CROSS  REFERENCE REPORT         
BMC SOFTWARE, INC. ===============================================================     PAGE   1
  
SCHEDULE RBC         TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLE JOB/GRP  TABLE JOB/GRP
A                    A1       A        ECSGRP   ECSGR1   ECSGRP   J1       ECSGR
                     GRP      T4       GRP      T5       GRP      T6       GRP 
SCHEDRBC1000         N88GRP   GRP1                                             
SCHEDRBC1001         N88GRP   GRP2                                             
SCHEDRBC1002         N88GRP   GRP3                                         
SCHEDRBC1002         N88GRP   GRP4                                         
ALL                  N88GRP1  GRPTEST  N88GRP1  IEFBR14  N88GRP1  IEFBR15 

Figure 61 CTMXRF From - Until - Due Out Time/Job Name Cross-Reference Report

Copy
CONTROL-M  6.3.01   FROM   TIME/JOB NAME CROSS REFERENCE REPORT     ** INTERVAL=60 MINUTES ** 
BMC SOFTWARE, INC. ===============================================================     PAGE   1
   
TIME   TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP
0000   ADABASM  NOMPM                                                          
0600   MAINDAY  CTMCLRES                                                       
0800   DEMO     BEACH                                                          
1100   N86      DEMO1    N86      FIRSTJOB N86      IEFBR14                    
1400   N88TST   JOB100   N88TST1  JOB100   N88TST2  JOB100   N88TST3  JOB100   N88TST4  JOB100  
1700   TABLE01  BACKUPF7 M37A     M37BR14 
  
   
CONTROL-M  6.3.01  UNTIL  TIME/JOB NAME CROSS REFERENCE REPORT     ** INTERVAL=60 MINUTES **
BMC SOFTWARE, INC. ===============================================================     PAGE   1
   
TIME   TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP
0900   MAINDAY  CTMCLRES M37A     M37BR14                                      
1700   DEMO     BEACH                                                          
1900   M37A     M37BR14                                                        
2100   N86      DEMO1    N86      FIRSTJOB N86      IEFBR14                    
2300   TABLE01  BACKUPF7                                         
  
   
CONTROL-M  6.3.01    DUEOUT TIME/JOB NAME CROSS REFERENCE REPORT     ** INTERVAL=60 MINUTES **         
BMC SOFTWARE, INC. ===============================================================     PAGE   1
  
TIME   TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP  TABLENAM JOB/GRP
1200   N86      IEFBR14                                                        
1500   N88GRP   QQQQ     N88TEST  NIS4     N88TEST  NIS5                       
2000   N88TST   JOB100   N88TST1  JOB100   N88TST2  JOB100   N88TST3  JOB100   N88TST4  JOB100   

Figure 62 CTMXRF Condition Name Cross-Reference Report

Copy
CONTROL-M  6.3.01          CONDITION NAME CROSS REFERENCE REPORT                
BMC SOFTWARE, INC. ===============================================================     PAGE    1
   
CONDITION-NAME      TABLE  JOB/RUL/CAT O  TABLE  JOB/RUL/CAT O  TABLE  JOB/RUL/CAT O  TABLE  JOB/RUL/CAT O
+                   E06QA    ANG1RD1  MI                                      
%%APPLID-RUNNING    SAMPLES  CONTROL  OT+                                     
JOHN1-OK            M37A     M37BR14  MI  M37A     M37BR14  MO+
JOHN2-OK            M37A     M37BR14  MI  M37A     M37BR14  MI  M37A     M37BR1   MO+
JOHN3-OK            M37A     M37BR14  MO+                                     
ANG-1               E01ANLZ  ANG1RD1  MI  E01ANLZ  ANG1WT1  MO+               
ANG1WT1             E06QA    ANG1RD1  MI  E06QA    ANG1RD2  MI  E06QA    ANG1WT   MO+
ANG1WT1-OUT         E02OS390 ANG1RD1  MI  E02OS390 ANG1RD2  MI  E02OS390 ANG1WT   MO+

Figure 63 CTMXRF Library Name or Job Name Cross-Reference Report

Copy
CONTROL-M  6.3.01               LIBRARY NAME/JOB NAME CROSS REFERENCE REPORT
BMC SOFTWARE, INC ===============================================================     PAGE    1
   
LIBRARY NAME                              TYP TABLENAM JOBNAME  TABLENAM JOBNAME  TABLENAM JOBNAME
*                                         MEM ADABASM  DISKLOG1 ADABASM  DISKLOG2 ADABASM  MPMXXX
CTL.DUMMY.LIB                             MEM CTLJCLTB CTLJOB              
CTM.V600.JCLP%%OMONTH.%%ODAY              MEM REPTS    REPTSJ1  REPTS    REPTSJ2
CTMP.UPG5.DOC                             DOC A1       A        ECSGRP   A4       ECSGRP   G3  
                                              ECSGRP   J2       N88GRP   IEFBR16  N88TEST  SYSOUT
CTMP.V600.DOC                             DOC CTRDEMO  PRODJOB1 CTRDEMO  PRODJOB2 CTRDEMO  PRODJOB

FORMCKP – Allocate, Format, and Resize the AJF

The FORMCKP utility allocates and formats the Active Jobs file (AJF), and its associated backup file BKP, which is used as a recovery file to recover from procedure New Day processing failures). The FORMCKP utility is normally used to enlarge the current AJF and its associated BKP files. When you run these steps, make sure you stop Control-M, and that online users are not logged onto the IOA environment.

Activating the FORMCKP Utility

  1. Enter ICE and select Customization.

  2. In the Customization screen, set Product ID to CTM.

  3. Select major step "Customize Control-M Dataset Parameters," minor step "Control-M Datasets Parameters."

  4. Change parameter AJFSIZE with the new AJF size.

  5. Perform step "Save Parameters into Product Libraries."

  6. Rename the original AJF and its associated BKP file (and the ALTCKP and CKPJNL, if you run steps 7 or 8, or both), using any new name.

  7. Perform step "Format the Active Jobs File," and submit the job. This step allocates and formats a new AJF and its associated BKP.

  8. If DUALDB is active at your site, you must run step "Format the Dual Active Jobs file." This step is necessary to allocate and format a new Dual AJF based on the new AJF size.

  9. If Journaling is active at your site, you must run step "Format the Journaling Active Jobs file." This step is necessary to allocate and format a new Journal Active Jobs file based on the new AJF size.

  10. If you want to copy the contents of the old AJF, use the CTMCAJF utility, and set the appropriate old and new AJF files accordingly. There is no need to copy the BKP, ALTCKP and CKPJNL files, since at startup Control-M takes care of these files.

  11. Resume all activities against the new files (meaning, start Control-M monitor, reenter IOA online environment, and so on.)

FORMCKP Return Codes

Table 163 FORMCKP Return Codes

Code

Description

0

Operation performed successfully

8

One of the following errors occurred:

  • OPEN FAILED FOR DCBOUT (MESSAGES) FILE OR THE AJF or BKP FILE

  • AJF or BKP FILE COULD NOT BE FORMATTED

  • OPEN or LOAD OF LOG FAILED

FORMHST – Allocate and Format the History Jobs File

The FORMHST utility allocates and formats the History Jobs file (HST). Usually this utility is used in order to enlarge the current History Jobs file. When you run these steps make sure that online users are not logged-on to the IOA environment.

Activating the FORMHST Utility

  1. Enter ICE and select Customization.

  2. In the Customization screen, set Product ID to CTM.

  3. Select major step "Customize Control-M Dataset Parameters", minor step "Control-M Datasets Parameters".

  4. Change parameter HSTSIZE with the new History Jobs file size.

  5. Perform step "Save Parameters into Product Libraries".

  6. Rename the original HST file, using any new name.

  7. Use the modify command HISTALOC=DISABLE to deallocate the HST file from the Control-M monitor.

  8. Perform step "Format the History Active Jobs File", and submit the job. This step allocates and formats a new HST file. The DDstatement points to the History Active Jobs file.

  9. Rename the original HST file, using any new name, then rename the new HST file to the original file name.

  10. If you want to copy the contents of the old HST, use the CTMHCOP utility, and set the appropriate old and new HST files accordingly.

  11. Resume all activities against the new file (meaning, reenter IOA online environment)

FORMHST Return Codes

Table 164 FORMHST Return Codes

Code

Description

0

Operation performed successfully

8

One of the following errors occurred:

  • OPEN FAILED FOR DCBOUT (MESSAGES) FILE OR THE HST FILE

  • HST FILE COULD NOT BE FORMATTED

  • OPEN or LOAD OF LOG FAILED