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:
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):
To prevent Control-M from trying to resolve AutoEdit variables specified in the SETVAR control statement, the user must either:
|
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:
// .... JOB ....
// EXEC CTMAESIM
//DASIM DD *
Invocation of CTMAESIM from another program
The following is sample code used to invoke CTMAESIM from another program:
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:
|
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
// . . . 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
// . . . 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:
|
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:
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
The variable and/or expression can contain any of the following reserved words (substrings) that are replaced with the corresponding date values:
|
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
//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):
-----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:
%%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
//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:
%%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):
-----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:
%%RL990907=RL000831
%%RL990914=RL000907
%%RL990921=RL000914
%%RL990928=RL000921
%%RL991005=RL000928
The submitted JCL DD statements on September 14, 2000:
//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
//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):
-----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:
%%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 CTMBLT 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
[{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:
The value pairs Y/N and G/J are NOT mutually exclusive to each other. For example,
|
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.
|
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:
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.
|
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:
|
TABLE |
Specifies the name of the table (member) to be created
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:
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.
The utility ignores the OPTION=E parameter when creating SMART Tables.
|
OPTION (cont) |
|
OPTION (cont) |
|
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:
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:
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:
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
-
through the CTMAPI application program interface (for details, see Appendix A in the Control-M for z/OS User Guide) or
-
by providing a reply area (for details, see Calling the CTMBLT Utility from another program)
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
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
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
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
//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
//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
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
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
LIBRARY=SCHED.LIBB
TABLE=TABLEB
MEMNAME=JOBB
MODEL=(SCHED.LIBA,TABLEA,JOBA)
OVERLIB=JCL.OVERLIBB
CTMBLT Example 8
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
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:
OPTION=/DAYS
DAYS=
WDAYS=2
Clear WDAYS and set DAYS:
OPTION=/WDAYS
WDAYS=
DAYS=20
Clear DAYS by setting DATES:
OPTION=/DATES
DATES=1112
Clear DATES by setting DAYS:
OPTION=/DAYS
DAYS=24
Clear DATES setting:
OPTION=/DAYS
DAYS=
Override DAYS and set DATES, when MODEL parameter is also specified:
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), |
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 |
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 |
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 |
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 |
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, >, <, @, D, N, P, or I |
Shift on confirmation calendar |
1,3 |
||
WCAL |
1 through 8 characters |
WDAYS calendar name |
1,3 |
||
WDAYS |
+ |
1 through 4 characters |
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 resource Name of Control resource |
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)
|
IN condition Name 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)
|
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)
|
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:
|
SYSOUT parameter – according to SYSOUT option SYSOUT-OP |
1 |
||
MAXRERUN |
3 digits; Up to 255 |
Maximum number of reruns. |
1 |
||
MAXRERUN- |
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 |
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 |
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
|
Name of an AutoEdit variable in an ON VAR block |
1,2,5 |
|
ONVAR-OPERAT |
+ |
For an integer:
For a string:
|
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. |
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:
|
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:
|
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:
//%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.WDAYS=ALL;
W.NAME=JUSTBJOBS
W.STATUS=A
F.MEMNAME=B*
R.TYPE=J
R.LIMIT=0100
R.PERIOD_TYPE=WDAYS
R.WDAYS=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:
|
CTMBLWK Parameters
CTMBLWK input parameters that you define through a SYSIN statement are divided into the following categories, listed in the order that they must appear:
-
General Workload parameters, which begin with the W. prefix
-
Filter parameters, which begin with the F. prefix
-
Rule parameters, which begin with the R. prefix
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, in the order that they must appear:
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:
Default: Y |
STATUS |
Determines the activity status of the Workload Policy:
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. |
|
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:
The order of parameters in this table is the general order that the parameters must appear in the SYSIN statement, depending on your choice of TYPE and PERIOD_TYPE. Parameters that have a default are optional. Parameters that begin with FR_ must be followed by the corresponding TO_ parameter.
Parameter |
Description |
---|---|
TYPE |
Determines one of the following rule types:
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):
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:
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:
Default: WDAYS |
WDAYS |
Determines the days of the week when the rule is in effect. Relevant when PERIOD_TYPE=WDAYS. Valid values:
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). When PERIOD_TYPE is set to BDATES or BWDAYS, you must define only one type of time range, either FR_TIME with TO_TIME or FR_BTIME with TO_BTIME. |
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_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). FR_BTIME and TO_BTIME cannot be used together with FR_TIME and TO_TIME. |
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:
|
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:
|
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 |
|
STATUS status |
Valid values are:
|
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,
* 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:
-
Enter ICE and select Customization.
-
In the Customization screen, set Product ID to CTM.
-
Select "Customize Control-M Dataset Parameters."
-
Select step "Control-M Dataset Parameters," update the AJFSIZE parameter and exit the step.
-
Select step "Save Parameters into Product Libraries."
-
Select step "Format the Active Jobs File," and reply Y (Yes) when asked to replace existing copy of the job.
-
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.
-
Run the CTMCAJF utility. The utility copies the current Active Jobs file to new Active Jobs file.
-
Rename the old Active Jobs file.
-
Rename the new Active Jobs file to the former name of the old file.
Activating the COMPRESS function
//COMP EXEC CTMCAJF COMPRESS
//
Activating the COMPRESS function in simulation mode
//COMP EXEC CTMCAJF COMPRESS SIMULATION
//
Activating the CLEANUP function
//CLEANUP EXEC CTMCAJF CLEANUP
//
Activating the COPY function (Active Jobs File)
//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.
//COMP EXEC CTMCAJF COMPRESS IGNORE STATUS WAITSCHED SELECT GROUP NIGHT-BATCH
CTMCAJF Example 2
Delete only jobs in group G1, G2, and G3.
//COMP EXEC CTMCAJF COMPRESS SELECT GROUP G1 SELECT GROUP G2 SELECT GROUP G3 IGNORE GROUP *
CTMCAJF Example 3
Delete all jobs except job A622451C.
//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:
-
Enter ICE and select Customization.
-
In the Customization screen, set Product ID to CTM.
-
Select major step "Customize Control-M Dataset Parameters," and then minor step "Control-M Datasets Parameters."
-
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.
-
Perform step "Save Parameters into Product Libraries."
-
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).
-
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.
-
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.
-
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:
-
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.
-
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:
-
Run the job in the CTMCSMF member in the Control-M JCL library
-
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 |
-
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.
-
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:
//*********************************************************************
//* 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):
|
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:
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:
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
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
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
CopyPERMIT $$STRDS.qname.DSUSERA.HOSTB ACCESS(READ) ID(USERA) CLASS(XFACILIT)
-
For TOP SECRET
CopyTSS PERMIT(USERA) IBMFAC($$STRDS.qname.DSUSERA.HOSTB) ACC(READ)
-
For ACF2
CopySET 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:
//DSRUN PROC REG=0M,OUT=’*’
// EXEC PGM=CTMDSRN,REGION=®
//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:
-
Run ctmagcfg - the Agent Configuration Utility.
-
Select 3: Primary Control-M/Server Host.
-
Define the mainframe hostname.
-
Select option 7: Advanced parameters.
-
Ensure that Protocol Version is [10]. If not, change it.
-
Select r: Return to the main menu.
-
Save.
-
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:
-
The CTMEVRT utility reads SMF records and creates the DAEVENTS file, which contains a list of DSNEVENTs that occurred during the outage period.
-
The user edits the extracted DAEVENTS file as required.
-
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:
//*
//* 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:
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:
|
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. |
Job name of the FTP forked tasks. Specify one of the following:
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:
//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:
***********************************************************************
* *
* 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:
|
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:
-
The CTMEVRT utility reads SMF records and creates the DAEVENTS file, which contains a list of DSNEVENTs that occurred during the outage period.
-
The user edits the extracted DAEVENTS file as required.
-
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:
-
Reading the DAEVENTS file and converting it to commands.
-
IOACND executes the DO COND commands.
-
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:
//*
//* 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 |
|
STATUS status |
Valid values are:
|
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:
CopySELECT GROUP G1
SELECT GROUP G2
SELECT GROUP G3 -
Delete all jobs with odate from 010118 to 250118, and ignore all other jobs:
CopySELECT FROM 010118 TO 250118
IGNORE MEMBER * -
Delete all jobs with prefix MYTAB and status ENDOK, and ignore all other jobs:
CopySELECT 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.
CopySIMULATION
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:
-
Enter ICE and select Customization.
-
In the Customization screen, set Product ID to CTM.
-
Select "Customize Control-M Dataset Parameters."
-
Select step "Control-M Dataset Parameters," update the HSTSIZE parameter, and exit the step.
-
Select step 3, "Save Parameters into Product Libraries."
-
Select step 7, "Format the History Jobs File," and reply Y (Yes) when asked to replace existing copy.
-
Edit the FORMHST member, changing the dsname, unit, and volser as required and run the job.
-
Run the CTMHCOP utility. The utility copies the current History Jobs file to new History Jobs file.
-
Rename the old History Jobs file.
-
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:
-
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.
-
SMART table entries (group elements) are not counted.
-
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).
-
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.
CopyDATE , 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 using one of the following methods:
-
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) -
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 CTMJOB 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):
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:
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:
ORDER DSN=sched.library MEMBER=*
At least one ORDER statement must be specified. SELECT RBC and IGNORE RBC 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:
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:
|
ODATEOPT or ODOPT |
Whether to wait for a specific date, or process the Order or Force request immediately. Valid values are:
|
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 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
ORDER DSN=mylib,MEMBER=sample
IGNORE RBC ACCT*
Ignores all RBCs with a prefix of ACCT. All other RBCs are automatically selected.
Example 2
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
//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:
CopyLOAD 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:
CopyCALL '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
CopyPARMAREA 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:
|
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:
|
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.
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.
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.
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:
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:
-
The first step produces the regular CTMRPLN report. For more details about this report, see CTMRPLN – Job Plan Report.
-
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:
RELEASE RESOURCE res-name-1 quant-1; res-name2 quant-2; ...
or
CHANGE RESOURCE res-name-1 quant-1; res-name-2 quant-2; ...
or
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
CopyLA 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:
//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:
|
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:
|
GROUP [ALL [SIMPLIFIED]|UNITED| |
Indicates which groups to include in the report, and the sort order of information included. Valid values are:
Character masking of specified group names is supported, as follows:
|
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:
|
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
|
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:
|
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:
|
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:
//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
//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
//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
//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
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 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: |
|
|
Job is in wait scheduling status |
|
|
Job is in an input queue waiting for execution, or job is running |
|
|
Job is in wait confirmation status |
|
|
SMART Table is active |
|
|
SMART Table is not active |
|
|
Job ended with final status of OK |
|
|
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
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
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. Regardless of the length of the data set name, this statement produces a list that includes all data sets that have names
|
REPTYPE |
Optional. If no value is specified, SHORT (the default) is presumed to be the value. Valid values are
|
Table 143 §Restart§CTMRJDS Cleanup Function Parameters
Parameters |
Description |
---|---|
CLEANUP |
Directs the cleanup of files by data set name or job name. Copy
|
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
Regardless of the length of the data set name, this statement produces a list that includes all data sets that have names
|
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
Regardless of the length of the job name, this statement produces a list that includes all jobs that have names
|
Examples for CTMJDS
CTMJDS Example 1
Figure 43 CTMJDS – Example 1
//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
CLEANUP=JOBJOB=N13*
JOB=K30ICOND
LIST=DSN
REPTYPE=LONG
DSN=*
DSN=C*
//
This example
-
directs the cleanup of all jobs beginning with N13, and the K30ICOND job
-
produces a long report that lists all DSN names
-
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:
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
//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
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
|
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
//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
//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:
|
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.
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| |
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
//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
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
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
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
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
|
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:
|
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.
//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:
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.
//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:
SEL [TBL=tbl_name][,JOB=job_name][,APPL=app_name]
[,GRP=grp_name][,RBC=sched_rbc][,SCOPE=ALL|FIRST][ODAT=date]
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)
-
-
ODAT incidates the original scheduling date (ODATE) of the jobs and tables to be selected. Date format is mmddyy, ddmmyy, or yymmdd, depending on the site standard. Alternatively, use ODAT for the current ODATE or DATE for the current date.
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:
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), |
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 |
IN |
(cond,date)
|
Name of IN condition Date reference of the condition Default: ODAT (for date reference) |
|
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, N, P, I, D |
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:
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)
|
Name of IN condition Date reference of the condition Default: ODAT (for date reference) |
|
OUT |
(out,date,option)
|
Name of OUT condition Date reference Function: ADD or DELETE Default:
|
|
RESOURCE |
(resource,number, opt1, opt2)
|
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 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
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, or 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:
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)).
-
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 (that is, 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
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
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= |
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= |
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
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
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
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
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
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:
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= |
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= |
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= |
where xxx is any SETVAR variable name (maximum length of 20 characters) and yyy can be any of the following:
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:
SETVAR=%%F=/agent/platform/file/win-or-unix/file.out
If you specify the following control statement to CTMTLB:
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:
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:
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:
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:
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.
//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)
//
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.)
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:
//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):
<?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<4096"
STMT="*"
>
<DOSHOUT
DEST="ECS"
URGENCY="R"
MESSAGE="%%JOBNAME J%%JOBID ENDED (NOT)OK!" />
</ON>
<SHOUT WHEN="EXECTIME"
TIME=">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.
...
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:
...
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
-
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.
-
-
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 -
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.
//********************************************************************
//* *
//* 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=®,
// 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:
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:
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.
|
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= |
Maximum number of members in the Control-x library or libraries being searched. 1 through 6 digits. Default: 2000 |
SLINMAX= |
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:
XRF=CND,PARM=|STAT
XRF=CAL
XRF=TIM,PARM=3
CTMXRF Sample Output Reports
Figure 57 CTMXRF Job Name/Table Name Cross-Reference Report
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
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
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
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
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
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
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
-
Enter ICE and select Customization.
-
In the Customization screen, set Product ID to CTM.
-
Select major step "Customize Control-M Dataset Parameters," minor step "Control-M Datasets Parameters."
-
Change parameter AJFSIZE with the new AJF size.
-
Perform step "Save Parameters into Product Libraries."
-
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.
-
Perform step "Format the Active Jobs File," and submit the job. This step allocates and formats a new AJF and its associated BKP.
-
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.
-
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.
-
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.
-
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:
|
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
-
Enter ICE and select Customization.
-
In the Customization screen, set Product ID to CTM.
-
Select major step "Customize Control-M Dataset Parameters", minor step "Control-M Datasets Parameters".
-
Change parameter HSTSIZE with the new History Jobs file size.
-
Perform step "Save Parameters into Product Libraries".
-
Rename the original HST file, using any new name.
-
Use the modify command HISTALOC=DISABLE to deallocate the HST file from the Control-M monitor.
-
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.
-
Rename the original HST file, using any new name, then rename the new HST file to the original file name.
-
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.
-
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:
|