Job Production Parameters

This chapter includes the following topics:

Overview for Job Scheduling Definitions

Job scheduling definitions consist of parameters that correspond to the decisions made and actions performed when handling the scheduling, submission, and post-processing of a job. Job scheduling definitions are defined in the Job Scheduling Definition screen, which is the main screen of the Scheduling Definition facility.

Figure 139 Job Scheduling Definition Screen

Copy
JOB: BACKPL02 LIB CTM.PROD.SCHEDULE                       TABLE: BACKUP
COMMAND ===>                                            SCROLL===> CRSR
  OWNER   M44         TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N           
  SCHENV                         SYSTEM ID                NJE NODE     
  SET VAR                                                              
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  BACKPL02    DOCLIB   CTM.PROD.DOC                            
  =====================================================================
  SCHEDULE RBC                                                         
  RELATIONSHIP (AND/OR) O                                              
  DAYS                                                          DCAL   
                                                                AND/OR 
  WDAYS                                                         WCAL   
 MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y 
  DATES                                                                
  CONFCAL WORKDAYS SHIFT       RETRO N MAXWAIT 04  D-CAT               
  MINIMUM          PDS                                                 
  DEFINITION ACTIVE FROM          UNTIL                                
  =====================================================================
  IN       START-DAILY-BACKUP   ODAT                                   
  CONTROL                                                              
  RESOURCE INIT                 0001      CART                 0001    
  PIPE     CTM.PROD.PIPE                                               
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS           
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM          
  TIME ZONE:                                                           
  =====================================================================
  OUT      BAKCKPL02-ENDED-OK   ODAT +                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                         FROM 
  MAXRERUN     RERUNMEM                              INTERVAL  FROM    
  STEP RANGE         FR (PGM.PROC)          .            TO      .     
  ON PGMST          PROCST          CODES                          A/O 
    DO                                                                 
  ON SYSOUT                                     FROM 001 TO 132    A/O 
    DO                                                                 
  ON VAR                                                       
    DO                                                          
  SHOUT WHEN          TIME       +     DAYS      TO             URGN   
    MS                                                                 
  =====================================================================
  APPL TYPE                                  APPL VER                  
  APPL FORM                                  CM   VER                  
  INSTREAM JCL: N                                                      
                                                                       
 ======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<< ====
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            19.17.13

The PIPE parameter is displayed only if MAINVIEW Batch Optimizer (MVBO) is installed. RETENTION parameters # OF DAYS TO KEEP and # OF GENERATIONS TO KEEP are displayed only at sites that use the History Jobs file.

In a SMART Table, a SMART Table Entity (shown in Figure 140) must be defined before the job scheduling definitions.

Figure 140 SMART Table Entity Definition Screen

Copy
TBL ACCOUNTS_GROUP       CTM.PROD.SCHEDULE(TBL)
COMMAND ===>                                                 SCROLL===> CRSR
+--------------------------------------------------------------------------+
  GROUP   ACCOUNTS_GROUP          MEMNAME  ACCOUNTS                         
  OWNER   N04B                                                              
  APPL                                                                      
  DESC                                                                      
  ADJUST CONDITIONS N             TBL MAXWAIT 00        STAT CAL            
  KEEP JOBS UNTIL REMOVED Y       KEEP AT LEAST 05 DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   
  DOCMEM  ACCOUNTS    DOCLIB   CTM.PROD.DOC                                 
  ==========================================================================
  SCHEDULE RBC CTM_LEVEL_RBC                               LEVEL CTM
  ==========================================================================
  SCHEDULE RBC ALL_DAYS                                   LEVEL TBL         
  DAYS    ALL                                                   DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT        RETRO N MAXWAIT 00                          
  SCHEDULE RBC ACTIVE FROM           UNTIL                                  
  ==========================================================================
  SCHEDULE RBC TBL_LEVEL_RBC                                  LEVEL TBL     
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT        RETRO N MAXWAIT 00                          
  SCHEDULE RBC ACTIVE FROM           UNTIL                                  
  ==========================================================================
  IN                                                                        
  CONTROL                                                                   
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS                
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM               
  TIME ZONE:                                                                
  ==========================================================================
  OUT                                                                       
  ON TABLE-END NOTOK                                                        
    DO COND          ACCTS-CHK-REQUIRED   ODAT +                            
  ON VAR                                                                
    DO    
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                      
======= >>>>>>>>>>>>>>>>>>>> END OF GROUP PARAMETERS <<<<<<<<<<<<<<<< ======
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                 19.17.13

Most parameters in the SMART Table Entity definition are the same as in the job scheduling definition, but they apply to the SMART Table as a whole. Therefore:

  • At least one set of basic scheduling criteria in the SMART Table Entity must be satisfied before any job in the SMART Table can be scheduled.

  • Runtime scheduling criteria in the SMART Table Entity must be satisfied before any job in the SMART Table can be executed.

  • Post-processing statements in the SMART Table Entity are applied only after all jobs in the SMART Table have finished executing.

The following parameters in the SMART Table Entity are not found in the job scheduling definition:

  • ADJUST CONDITIONS

  • ON TABLE-END

  • SCHEDULE RBC ACTIVE FROM and UNTIL

Usage and operation of the Scheduling Definition facility, including entry and exit of the Job Scheduling Definition screen, is described in the INCONTROL for z/OS Utilities Guide.

In addition to defining jobs through the Scheduling Definition facility, jobs can also be defined using the batch utility CTMBLT, described in the INCONTROL for z/OS Utilities Guide, or using the online utility QUICKDEF. The QUICKDEF utility, the Quick Schedule Definition facility, is available under ISPF only. For more information about it, see M5: Quick Schedule Definition.

This chapter provides a detailed description of the job scheduling definition parameters and statements.

The parameters of the Job Scheduling Definition screen are divided into the following categories:

  • General parameters

  • Basic Scheduling parameters

  • Runtime Scheduling parameters

  • Post-processing parameters

A brief summary of the parameters in each category is provided on the following pages. This is followed by a detailed description of each parameter, in alphabetical order.

General Parameters for Job Scheduling Definitions: Summary

General parameters provide general information about the job and certain information required by the JCL. Information about the following parameters is provided in this chapter:

Table 156 General Parameters

Parameter

Description

MEMNAME

Member containing the JCL.

MEMLIB

Library containing the JCL member.

OWNER

Owner of the job.

TASKTYPE

Type of job or task.

§Restart§ PREVENT NCT2

Whether to perform data set cleanup before the original job run.

DFLT – Protected field indicating the PREVENT-NCT2 default value of the site.

APPL

Application to which the job belongs.

GROUP

Group to which the job belongs.

DESC

Brief description of the job.

OVERLIB

Library containing a special case JCL for the job.

STAT CAL

Name of a periodic calendar that will be used to gather average runtime statistics for the job, based on a period.

SCHENV

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

SYSTEM ID

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.

NJE NODE

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

SET VAR

Mechanism for setting the value of a JCL user-defined variable.

CTB STEP

Control-M/Analyzer step to be added to the execution of the job.

DOCMEM

Member containing detailed information about the job.

DOCLIB

Library containing the member specified in the DOCMEM parameter.

DOC

Detailed job documentation.

INSTREAM JCL

Whether Control-M for z/OS submits a JCL stream defined within the job scheduling definition.

The following General parameters are in the SMART Table Entity only:

ADJUST CONDITIONS

Allows conditions to be removed from job orders if the predecessor jobs that set the conditions are not scheduled.

TBL MAXWAIT

Number of additional days after the original scheduling date that the SMART Table Entity can remain in the Active Jobs file if it does not have a status of ENDED OK (and none of its jobs currently appear in the Active Jobs file).

Basic Scheduling Parameters for Job Scheduling Definitions: Summary

Basic Scheduling parameters determine if the job is a candidate for execution on a specific date. If a job is a candidate for execution on a specific date, a job order is automatically placed in the Active Jobs file during New Day processing.

Each job order placed in the Active Jobs file is associated with an original scheduling date. This is the date the job is to run according to the Basic Scheduling parameters. This date is not necessarily the same as the current system date or the current working date. For further information, see Date Definition Concepts.

Basic Scheduling parameters and subparameters allow different methods of expressing a job schedule.

Each set of basic scheduling criteria in the SMART Table Entity must be uniquely labeled by a SCHEDULE RBC value. At least one Schedule RBC must be defined.

In job scheduling definitions, SCHEDULE RBC is optional. Each specified SCHEDULE RBC value in the job scheduling definition for a job of a SMART table must match a SCHEDULE RBC value in the SMART Table Entity.

To specify an Exclude RBC, an exclamation mark (!) must be added as a prefix when defining a Table level RBC, or as a prefix to the RBC name when referring to a Control-M (CTM) level RBC.

The RELATIONSHIP parameter appears in job scheduling definitions in both SMART Tables and non-SMART tables.

The RELATIONSHIP parameter defines the relationship (AND/OR) between rule-based calendar criteria and the basic scheduling criteria of the job, that is, whether one or both sets of criteria are to be satisfied.

The Basic Scheduling parameters, except SCHEDULE RBC and RELATIONSHIP, are listed below by category. When defining basic scheduling criteria for jobs in tables, or when defining basic scheduling criteria for SMART Table Entities, the following rules apply to these categories of parameters:

  • Parameters must be selected from one and only one of the first three categories (A, B, or C).

  • Parameters in the last two categories (D and E) are optional.

Table 157 Category A, B, C, and D Parameters

Category

Parameter

A

  • MONTHS – Schedule the job during the specified months.

  • DAYS – Schedule the job on specified days (in the above-specified months) and/or select days from a specified calendar.

  • WDAYS – Schedule the job on specified days of the week (in the above-specified months) and/or select days from a specified calendar.

  • CONFCAL – Confirm scheduling days against a specified calendar.

B

  • DATES – Schedule the job on specified dates.

  • WDAYS – Schedule the job on specified days of the week.

  • CONFCAL – Confirm scheduling days against a specified calendar.

C

  • PDS – PDS to be checked for minimum number of tracks.

  • MINIMUM – Minimum number of tracks.

D

RETRO – Schedule the job even if the original scheduling date has passed.

E

  • MAXWAIT – Maximum number of days to keep the job in the Active Jobs file awaiting execution after its original scheduling date has passed.

  • D-CAT – Control-D category of the job. (Documented as CATEGORY prior to version 5.1.4.)

Category C Parameters

Schedule the job if the number of free tracks in the specified partitioned data set (PDS) is less than the minimum number of tracks specified. This set of criteria is intended for jobs or started tasks that clean, compress or enlarge libraries or that issue warning messages if the minimum number of free tracks is not available.

Basic Scheduling Parameters for Job Scheduling Definitions

Each Basic Scheduling parameter is described in this chapter. However, the interrelationships between some of these parameters are described briefly below.

DAYS, DCAL, WDAYS, WCAL

These parameters are all optional.

The DAYS parameter identifies days of the month on which the job must be scheduled, such as first day of the month, third working day of the month. Several formats are available for specifying DAYS values.

The WDAYS parameter identifies days of the week on which the job must be scheduled, such as the first day of the week, the second day of each week, and so on. Several formats are available for specifying WDAYS values.

A calendar name can be specified in the DCAL and/or WCAL fields. A calendar specifies days of the year on which a rule can be scheduled, known as working days. For more information on calendars and the IOA Calendar facility, see IOA Calendar Facility.

When both the DAYS and DCAL parameters are specified, they work as a complementary unit, as described in DAYS: Basic Scheduling Parameter. Similarly, when both WDAYS and WCAL are specified, they also work as a complementary unit, as described in WDAYS: Basic Scheduling Parameter.

When values for both DAYS (/DCAL) and WDAYS (/WCAL) are specified in the same job scheduling definition, the resulting schedule is determined by the value specified in field AND/OR.

CONFCAL and SHIFT

A calendar specified in CONFCAL is not used for job scheduling, but is used instead for validating a scheduled date. Only jobs that have satisfied all other specified basic scheduling criteria are checked against the CONFCAL calendar. If the day is a working day in the CONFCAL calendar, the job is scheduled on that day. Otherwise, the job is either shifted to (scheduled on) another day according to the value entered in the SHIFT parameter, or the job is not scheduled (if no SHIFT value has been specified).

CONFCAL calendars are especially useful for handling holidays and other scheduling exceptions.

Defining a Schedule – Internal Scheduling Logic

When defining tables which handle jobs to be scheduled individually, it is useful to understand the IOA Scheduling facility logic, which determines whether to order a job on a specific day. This logic is described below.

  1. ACTIVE FROM and UNTIL parameters are checked first. If the current date falls outside the time range specified, no further checking is performed.

  2. DAYS and DCAL parameters are checked independently and a first tentative scheduling decision is created.

  3. WDAYS and WCAL parameters are checked independently and a second tentative scheduling decision is created.

  4. A third tentative scheduling decision is created based on the above two decisions and the AND/OR value linking them.

    (If DAYS and/or DCAL are not specified, this third temporary scheduling decision is identical to the second scheduling decision. If WDAYS and/or WCAL are not specified, this third scheduling decision is identical to the first scheduling decision.

  5. If CONFCAL and/or SHIFT are specified, this third scheduling decision is adjusted according to the CONFCAL and SHIFT criteria.

  6. This third scheduling decision (as adjusted) becomes the final scheduling decision. The IOA Scheduling facility determines whether to schedule a job based on this final scheduling decision.

Scheduling Jobs in SMART Tables

The following scheduling algorithm applies to SMART Tables:

  1. Before jobs in a SMART Table can be scheduled, the SMART Table itself must be eligible for scheduling (that is, at least one of the rule-based calendars of basic scheduling criteria in the SMART Table Entity has been satisfied).

  2. If (and only if) the SMART Table is eligible for scheduling, each job scheduling definition in the table is individually checked for possible scheduling.

  3. For each job scheduling definition:

    • Rule-based calendars in the job scheduling definition are checked sequentially beginning with the first calendar. The SCHEDULE RBC ACTIVE FROM and UNTIL parameters are checked first. If the current date falls outside the time range specified, no further checking is performed.

      If the criteria of a rule-based calendar is satisfied, no further checks are performed on the remaining calendars. The criteria belonging to the satisfied calendar are used in the scheduling algorithm.

    • The RELATIONSHIP parameter (AND/OR) is checked.

      • If a rule-based calendar is satisfied and the defined relationship is OR, the satisfied rule-based calendar is sufficient and the job is scheduled according to criteria of this calendar. No further checks are performed.

      • If no rule-based calendar is satisfied and the defined relationship is AND (that is, the job requires that the rule-based calendar be satisfied), the job is not scheduled if it is in a SMART Table. If it is in a non-SMART table it is scheduled according to the job scheduling definition.

      • If a rule-based calendar is satisfied and the defined relationship is AND, or if no rule-based calendar was satisfied and the defined relationship is OR, the basic scheduling criteria of the job must be satisfied (that is, the algorithm continues with the next step).

    • The basic scheduling criteria of the job are checked.

      • If the basic scheduling criteria of the job are not satisfied, the job is not scheduled.

      • If the basic scheduling criteria of the job are satisfied, the job is scheduled.

The basic scheduling criteria of the job, not the rule-based calendar criteria, are used for scheduling. This is a concern only if there are conflicting MAXWAIT values in the rule-based calendar criteria and the basic scheduling criteria of the job. In this case, the MAXWAIT value from the basic scheduling criteria of the job is used.

Figure 141 SMART Table Scheduling Flowchart

Runtime Scheduling Parameters for Job Scheduling Definitions: Summary

Runtime Scheduling parameters define job submission criteria. The job is not submitted unless all submission criteria are satisfied. The following criteria can be defined:

Table 158 Runtime Scheduling Parameter Criteria

Parameter

Description

IN

Required prerequisite conditions.

CONTROL

Required exclusive or shared Control resources.

RESOURCE

Quantitative resources and the required quantity.

PIPE

Name of each data set that is replaced by a pipe during the run of the job. Available only at sites where MAINVIEW Batch Optimizer (MVBO) is installed.

TIME + DAYS

Time range during which the job must be submitted.

TIME ZONE

Enables automatic adjustment of the times specified in the job definition to the corresponding times in a different time zone.

PRIORITY

Job priority and critical path priority.

DUE OUT

Time by which the job must finish executing, which can determine the time by which the job must be submitted.

CONFIRM

Manual confirmation required before the job is submitted.

CYCLIC TYPE

Determines whether the enhanced cyclic feature is used.

SPECIFIC TIMES

Specifies the specific times when cyclic jobs will run.

INTERVAL SEQUENCE

Specifies the sequence of intervals that will separate the job runs.

Post-Processing Parameters for Job Scheduling Definitions: Summary

Actions to be performed after job execution generally depend on the results of the job execution:

  • Certain actions may be required when the job ends successfully.

  • Certain actions may be required when the job fails, depending on the reason for failure.

  • Certain actions may be required in any and all situations.

The Control-M monitor tracks each job execution. Following the termination of a job, the Control-M monitor checks the execution results of each step in the job. Based on the results, the Control-M monitor determines a final status of the job. Either of two final job statuses can be assigned:

Table 159 Final Job Statuses

Status

Description

OK

Job ended OK. This status is usually assigned when all steps in the job end with a condition code less than or equal to MAXCCOK.

NOTOK

Job ended NOTOK. This status is usually assigned when any step ends with a condition code greater than or equal to MAXCCOK. It is also assigned if the job abends or is not run.

The following statuses are subsets of end status NOTOK:

  • JNRUN – Job not run due to JCL syntax error.

  • EXERR – Execution error (that is, one that occurred after the job started running).

  • JFAIL – JCL error was encountered during job step initiation. This status is also a subset of status EXERR.

Control-M assigns an end status to jobs based on the following criteria:

  • If Control-M extracts the JOBRC value from z/OS or JES, and DO OK/NOTOK actions are not defined in the ON PGMSTEP statements of step(s), it sets the job end status after comparing the value to the MAXCCOK. The MAXCCOK (Maximum Completion Code Considered as Successful) installation parameter is specified in the CTMPARM member. When JOBRC is higher than MAXCCOK, Control-M sets the job status as ended NOTOK. When JOBRC is not higher than MAXCCOK, Control-M sets the job status as ended OK.

  • Even if Control-M extracts the JOBRC and sets the job end status according to MAXCCOK, the job end status can be changed by the DO OK/NOTOK actions defined in the ON PGMSTEP +JOBRC statement. For more information, see Job completion code: +JOBRC.

  • If Control-M does not extract the JOBRC value, and DO OK/NOTOK actions are not defined in the ON PGMSTEP statements of step(s), it sets the job end status based on the value the MAXRC. The MAXRC (Maximum Completion Code) is the highest return code of any step in the job, or if the job fails because of an ABEND, the last ABEND code. When MAXRC is higher than MAXCCOK, Control-M sets the job status as ended NOTOK. When MAXRC is not higher than MAXCCOK, Control-M sets the job status as ended OK.

  • Whether or not JOBRC is extracted by Control-M, the job end status can be changed by DO OK/NOTOK actions defined in the ON PGMSTEP statements of step(s).

If a post-processing error occurs after a job ends OK (including FORCE OK), it indicates that there is a problem with the post-processing statements defined in the job scheduling definition. For example, a post-processing statement may have indicated an action that the owner of the job was not authorized to perform.

Post-processing parameters can be divided into the following groups:

Parameters Performed When the Job Ends OK

Table 160 Parameters Performed When the Job Ends OK

Parameter

Description

OUT

Adds or deletes prerequisite conditions.

§Restart§ AUTO-ARCHIVE

Archives sysout.

RETENTION

Specifies retention criteria of a job in the History Jobs file.

SYSOUT

Specifies sysout processing.

Conditional Processing or Processing in All Situations

Most conditional processing is specified through a combination of ON and DO statements. ON and DO statement definition consists of defining ON statement step and code events (for example, ON PGMST STEP1 CODE C0016), followed by DO statement actions (for example, DO SHOUT, DO FORCEJOB), which are performed when the ON step and code criteria are satisfied.

A range of steps for use in the ON statement can be defined in the STEP RANGE parameter.

ON and DO statements also specify actions that are to be performed in any and all cases. To ensure that the ON statement is activated for all step and code events, enter reserved word ANYSTEP as the ON step name and ***** as the ON code.

Table 161 Conditional Processing Statements

DO Statement

Description

DO statements allow specification of a wide variety of actions to be performed when the ON criteria are satisfied:

DO COND

Add or delete prerequisite conditions.

DO CTBRULE

Activate a Control-M/Analyzer rule.

DO FORCEJOB

Force a job.

§Restart§ DO IFRERUN

Perform Control-M/Restart job restart.

DO MAIL

Send an e-mail to the specified recipients.

DO NOTOK

Set the status of the step to NOTOK.

DO OK

Set the status of the step to OK.

DO REMEDY

Open a Remedy Helpdesk ticket.

DO RERUN

Rerun the job.

DO SET

Set the value of an AutoEdit variable.

DO SHOUT

Send a message.

DO STOPCYCL

Stop recycling a cyclic task.

DO SYSOUT

Handle sysout processing.

The following parameter specifies the condition that determines if and when processing is performed.

SHOUT

Sends a message to a specified destination in specified situations (for example, if the job was submitted late).

Rerun and Cyclic Post-processing Parameters

Table 162 Rerun and Cyclic Post-Processing Parameters

Parameter

Description

MAXRERUN

Maximum number of times to rerun the job (used only for automatic job rerun or cyclic jobs). (Called RERUN – MAXRERUN prior to version 6.0.00).

RERUNMEM

Member containing the JCL to be used for automatic rerun. (Called RERUN – RERUNMEM prior to version 6.0.00.)

END-TABLE

Whether the job is an end point for the SMART table (Y/N).

CAPTURE BY

Data to extract from the job's JES output datasets (JESYSMSG, JESJCL, and JESMSGLG) and place into a Control-M AutoEdit variable.

INTERVAL

Minimum time interval between runs of a rerun or cyclic job. This parameter acts as a Runtime Scheduling parameter for the subsequent rerun or cyclic runs of the job.

SMART Table Entity Post-processing Parameters

Table 163 SMART Table Entity Post-Processing Parameters

Parameter

Description

The following parameter is found only in the SMART Table Entity definition:

ON TABLE-END

The table-processing termination status that determines whether the accompanying DO statements are performed.

For more information, see ON TABLE-END: Post–processing Parameter.

ON VAR

An AutoEdit variable that matches a specific value, for the accompanying DO statements to be performed.

For more information, see ON VAR: Post–processing Parameter.

KEEP AT LEAST ## DAYS AFTER ENDED NOT OK

Determines the minimum number of days the SMART Table is kept in the AJF after its first job failure, when the table is marked as "NOT-OK". The days are counted from the completion of the first day where a job in the table ended NOT OK. The user can set enough time to properly investigate all the jobs in the SMART Table, including the jobs that ended OK.

KEEP JOBS UNTIL REMOVED

Determines that all the jobs in the SMART Table will be kept in the Active Jobs File until the SMART Table is removed from the AJF.

DO OK and DO NOTOK statements change the final status of the table (not the status of each job or job step in the table).

General IOA Features

General IOA features include:

  • Customization

  • Environment Support

  • Terminal Support

  • Special Character Usage on Terminals

  • Color Support

  • Prefixing

  • Character Masking

Parameter Descriptions for Job Scheduling Definitions

The following pages contain detailed descriptions of all parameters available in the Control-M Job Definition screen. Parameters are arranged in alphabetical order. Within each parameter, subparameters are arranged according to the order of the fields on the screen.

Each parameter begins on a new page, including:

  • A brief explanation of the purpose of the parameter.

  • The format required for defining the parameter within an extract of the Control-M screen.

  • General information explaining the parameter and its usage.

  • Where applicable, some practical examples illustrating implementation of the parameter.

For more information on the Job Definition facility, see Online Facilities.

ADJUST CONDITIONS: General Job Parameter

Determines how Control-M handles a requirement for a prerequisite condition by successor jobs in a SMART Table. This parameter appears in the SMART Table Entity only and applies only to SMART Tables.

Figure 142 ADJUST CONDITIONS Parameter Format

Copy
DESC
ADJUST CONDITIONS               TBL MAXWAIT      STAT CAL
KEEP JOBS UNTIL REMOVED      KEEP AT LEAST    DAYS AFTER ENDED NOT OK
SET VAR

(Optional) Valid values are shown in Table 164.

Table 164 ADJUST CONDITIONS Parameter Values

Value

Description

Y (Yes)

Control-M ignores, for each job in the SMART Table, any IN prerequisite condition that is triggered by a predecessor job that will not be ordered during the current day.

N (No)

Control-M does not erase any IN prerequisite conditions. Default.

D (Dummy)

Control-M orders as a DUMMY job any job with scheduling criteria that are not satisfied on the current ODATE.

B (Bridge)

Control-M bridges the scheduled jobs to keep the order and dependencies in the SMART table when jobs within a logical flow are not scheduled to run on the current ODATE.

General Information for ADJUST CONDITIONS

This parameter is applied to all jobs in the SMART Table. It provides the options shown in Table 164 when job dependency is defined between jobs in a SMART Table by their respective conditions.

Such a job dependency arises when one job in a SMART Table is dependent on a condition that is triggered by another job in the SMART Table. If the triggering job is not ordered, meaning, placed on the Active Jobs file, because the scheduling criteria of the triggering job do not match the current Odate, the dependent job cannot run.

The options provided by the ADJUST CONDITIONS parameter enable you to avoid this difficulty.

ADJUST CONDITIONS Set to Yes

If you enter the value Y for the ADJUST CONDITIONS parameter, the following principles apply:

  • Control-M erases IN conditions from each job in the SMART Table that is placed on the AJF. The following criteria must be met before an IN condition is erased:

    • The IN condition in the job is triggered by a predecessor job.

    • The scheduling criteria of the predecessor job are such that the predecessor job will not be ordered during the current day.

    The erasing of these IN conditions frees the successor job from its dependency on the predecessor job.

  • Only the image of the job on the AJF is affected. The original job scheduling definition remains unchanged.

  • The erased condition does not appear in the Zoom screen.

ADJUST CONDITIONS Set to No

If you enter the value N for the ADJUST CONDITIONS parameter, the following principles apply:

  • Control-M runs normally.

  • You must release any jobs that are likely to wait indefinitely on the AJF because they are dependent on predecessor jobs with scheduling criteria such that they will not be ordered. To release the dependent jobs, use one of the manual options, such as those available in

    • the IOA Conditions/Resources screen (Screen 4)

    • the IOA Manual Conditions file (Screen 7)

ADJUST CONDITIONS Set to Dummy

If you enter the value D for the ADJUST CONDITIONS parameter, the following principles apply:

  • Control-M places all the jobs in the SMART Table onto the AJF when the SMART Table is ordered.

  • Jobs in the SMART Table with scheduling criteria that fit the current ODATE remain unchanged.

  • Jobs in the SMART Table with scheduling criteria that do not fit the current ODATE, and would not ordinarily be ordered, are placed on the AJF as DUMMY jobs (the MEMLIB parameter is changed to DUMMY). This permits the original logical flow of the SMART Table to be maintained by preserving the relationships of the IN and OUT conditions of these dummy jobs.

  • Only the image of the job on the AJF is affected. The original job scheduling definition remains unchanged.

ADJUST CONDITIONS Set to Bridge

If you enter the value B for the ADJUST CONDITIONS parameter, the following principles apply:

  • Control-M bridges over jobs in the SMART Table that have scheduling criteria that do not fit the current ODATE, and would not ordinarily be ordered. This permits the original logical flow of the SMART Table.

    If a scheduled job contains an IN condition that should be inherited from an unscheduled predecessor job, this condition is replaced by the IN conditions of the unscheduled predecessor job.

  • Conditions that are deleted by an unscheduled (bridged over) job are handled as follows:

    • If the deleted condition is used only once in the SMART Table as an IN condition, the job that inherits the IN condition also inherits the delete action.

    • If the deleted condition is used by more than one scheduled job in the SMART Table, the delete action is performed by the SMART Table (when the table completes), to avoid premature deletion.

  • In certain scenarios the SMART Table is ordered without applying a bridge, based on the following principles:

    • A bridge is not applied to jobs that contain complex IN conditions, such as conditions with OR, Not, or parentheses.

    • If more than one job adds the same OUT condition, this is considered an implicit OR and the jobs are not bridged.

      If there are two job flows A and B, which connect to job C with the same OUT condition E1, it is considered an implicit OR, as job C can wait for E1 either from job flow A OR job flow B.

  • Conditions that were defined using AutoEdit variables are resolved based on the values of the original job before the bridge is applied.

  • Messages from the Bridge action appear in the job log or SMART Table log.

    You can control the level of detail of the messages using the ADJBCMSG parameter in the CTMPARM member in the IOA PARM library.

Examples for ADJUST CONDITIONS

A SMART Table Entity defines a chain of jobs with the following flow:

  • The user wants the following:

    • Each of the DAILY jobs must run every day, in the order
      DAILY1 → DAILY2 → DAILY3 → DAILY4.

    • The WEEKLY1 job must run only on each Tuesday.

    • When WEEKLY1 runs, it must run after DAILY3 and before DAILY4.

  • DAILY1, DAILY2, DAILY3, WEEKLY1, and DAILY4 contain IN and OUT conditions to ensure that they run in the required order.

The ADJUST CONDITIONS parameter controls how an unscheduled WEEKLY1 job affects the job flow:

  • If ADJUST CONDITIONS is set to the default N (No), on the days when WEEKLY1 does not run, DAILY4 cannot be executed, because its IN condition causes it to wait for WEEKLY1 to end.

  • If ADJUST CONDITIONS is set to Y (Yes), when WEEKLY1 is not scheduled (every day except Tuesday), the IN condition of DAILY4 (the prerequisite from WEEKLY1) is erased. DAILY4 is added to the AJF without its dependency on the other jobs in the flow.

  • If ADJUST CONDITIONS is set to D (Dummy), WEEKLY1 is ordered daily. Every day except Tuesday, its scheduling criteria prevent it from running, and it is ordered as a DUMMY job. Each Tuesday, it is ordered and executed normally. The logical job flow is maintained throughout. This matches the user requirements.

  • If ADJUST CONDITIONS is set to B (Bridge), when WEEKLY1 is not scheduled (every day except Tuesday), the IN condition of DAILY4 (the prerequisite from WEEKLY1) is replaced by the IN CONDITION of WEEKLY1. The logical job flow is maintained, and DAILY4 is added to the AJF with a dependency on DAILY3. This matches the user requirements.

A SMART Table Entity defines a chain of jobs with the following flow:

  • The user wants the following:

    • On weekdays, the jobs must run in the following order:
      DAILY1 → WEEKDAY2 → DAILY4

    • On weekends, the jobs must run in the following order:
      DAILY1 → WEEKEND2 → WEEKEND3 → DAILY4

  • All jobs contain IN and OUT conditions to ensure that they run in the required order.

  • WEEKDAY2 and WEEKEND2 have the same IN and OUT conditions, but different scheduling criteria.

  • WEEKDAY2 is scheduled to run only on working days (Monday-Friday).

  • WEEKEND2 and WEEKEND3 are scheduled to run only on weekends (Saturday and Sunday).

The ADJUST CONDITIONS parameter controls how the different days of the week affect the job flow:

  • If ADJUST CONDITIONS is set to the default N (No):

    • On working days (Monday-Friday), DAILY4 cannot be executed, because its IN condition causes it to wait for WEEKEND3 to end.

    • On weekend days, all scheduled jobs are executed in the required job flow. No adjustment is required.

  • If ADJUST CONDITIONS is set to Y (Yes):

    • On working days (Monday-Friday), the IN condition of DAILY4 (the prerequisite from WEEKEND3) is erased. DAILY4 is added to the AJF without its dependency on the other jobs in the flow.

    • On weekend days, all scheduled jobs are executed in the required job flow. No adjustment is required.

  • If ADJUST CONDITIONS is set to D (Dummy):

    • On working days (Monday-Friday), WEEKEND2 and WEEKEND3 are both ordered as DUMMY jobs. As a result, DAILY4 might inherit the prerequisite IN condition prematurely, before WEEKDAY2 has ended.

    • On weekend days, WEEKDAY2 is ordered as a DUMMY job. As a result, WEEKEND3 might inherit the prerequisite IN condition prematurely, before WEEKEND2 has ended.

  • If ADJUST CONDITIONS is set to B (Bridge):

    • On working days (Monday-Friday), when WEEKEND2 and WEEKEND3 are not scheduled, the IN condition of DAILY4 (the prerequisite from WEEKEND3) is replaced by the IN CONDITION of WEEKEND3. After this Bridge action, no other condition is missing. The logical job flow is maintained, and DAILY4 is added to the AJF with a dependency on WEEKDAY2. This matches the user requirements.

    • On weekend days, all scheduled jobs are executed in the required job flow. No adjustment is required.

APPL: General Job Parameter

Descriptive name of the application to which the group of the job belongs. Used as a common descriptive name for a set of related groups (of jobs).

Figure 144 APPL Parameter Format

APPL specifies an application name of 1 through 20 characters. Only trailing blanks are allowed.

By default, the APPL parameter is optional. It can be modified in the user profile.

General Information for APPL

The parameter facilitates the handling of groups of production jobs.

Use of the APPL parameter is highly recommended to facilitate implementation of Control-M/Enterprise Manager functions and future Control-M options. For details, see the Control-M User Guide.

Example for APPL

Job OPERCOMP belongs to group MAINTENANCE, which is part of application OPER.

Figure 145 APPL Parameter Example

Copy
JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                        TABLE: OPER
COMMAND ===>                                           SCROLL===> CRSR
+--------------------------------------------------------------------+
  MEMNAME OPERCOMP    MEMLIB   GENERAL                                
  OWNER   M44         TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N          
  APPL    OPER                        GROUP MAINTENANCE               
  DESC    JOB RUN ON THE 1ST OF THE MONTH                             
  OVERLIB                                                   STAT CAL  
  SCHENV                         SYSTEM ID                  NJE NODE  
  SET VAR                                                             
  CTB STEP AT         NAME            TYPE                            
  DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                           
  ====================================================================
  DAYS    01                                                    DCAL  
                                                               AND/OR 
  WDAYS                                                         WCAL  
  MONTHS 1-Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
  DATES                                                               
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT              
  MINIMUM          PDS                                                
  DEFINITION ACTIVE FROM          UNTIL                               
  ====================================================================
  IN                                                                  
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                           16.44.00

APPL FORM: General Job Parameter

The type of form used for entering application data.

This is a protected field whose value is obtained from Control-M/EM. Reserved for future use.

Figure 146 APPL FORM Parameter Format

APPL TYPE: General Job Parameter

The application that runs the job.

This is a protected field whose value is obtained from Control-M/EM. Reserved for future use.

Figure 147 APPL TYPE Parameter Format

APPL VER: General Job Parameter

The version of the application on which the job runs.

This is a protected field whose value is obtained from Control-M/EM. Reserved for future use.

Figure 148 APPL VER Parameter Format

§Restart§ AUTO-ARCHIVE: Post–processing Parameter

Controls SYSDATA archiving.

Figure 149 §Restart§ AUTO-ARCHIVE Parameter Format

(Optional) The AUTO-ARCHIVE parameter consists of the subparameters described in Table 165.

Table 165 §Restart§ AUTO-ARCHIVE Subparameter Format

Subparameter

Description

AUTO-ARCHIVE

Determines whether SYSDATA is to be archived.

Valid Values:

  • Y (Yes) – Archive SYSDATA. Default.

  • N (No) – Do not archive SYSDATA. If this value is specified for a job, restart of the job under Control-M/Restart and SYSDATA viewing under Control-M is not possible.

SYSDB

Determines whether all SYSDATA outputs are to be archived to one predesignated data set or whether each SYSDATA output is to be archived to its own data set.

Valid Values:

  • Y (Yes) – SYSDATA of all jobs containing a SYSDB value of Y are archived to a common data set. When the common data set is full, another is automatically allocated and used by the system. This is the recommended method. Default.

  • N (No) – SYSDATA of each job containing a SYSDB value of N is archived to a unique data set.

MAXDAYS

Maximum number of days to retain archived SYSDATA value for jobs ended NOTOK. Must be a 2-digit number in the range 00 through 98 or 99. 99 means retain for an unlimited number of days (until deleted by request).

MAXRUNS

Maximum number of runs for which the archived SYSDATA must be retained when the job ended NOTOK. Must be a 3-digit number in the range of 000 through 998 or 999. 999 means retain the SYSDATA of all runs.

General Information for AUTO-ARCHIVE

The AUTO-ARCHIVE subparameter allows you to decide whether to archive SYSDATA, which is defined in SYSDATA. While archiving SYSDATA is normally desirable, it might not be desirable for cyclic jobs, started tasks, or frequently repeated jobs that do not require restart.

If archiving, the SYSDB subparameter allows you to decide whether SYSDATA for different jobs must be archived to a common data set (Y) or whether to use a separate data set for each run (N). If Y is entered, a single archived SYSDATA data set is used for archiving until it is full. Then, another SYSDATA data set is allocated and used. This is the recommended method.

Creating a separate data set for each run is not recommended because:

  • Creating many data sets consumes a large amount of space in the disk VTOC.

  • Each data set is allocated on a track basis. If the SYSDATA does not completely fill the track, large amounts of disk space may be wasted.

The MAXDAYS and MAXRUNS subparameters define retention criteria for the archived SYSDATA of jobs that ended NOTOK. Defaults are defined in the Control-M/Restart installation parameters. You can specify either or both parameters to override the defaults. If both parameters are specified, retention is limited by the condition that is fulfilled first.

When archiving SYSDATA, BMC recommends that you do not enter the value 99 in the MAXWAIT parameter for cyclic jobs or started tasks. Otherwise, these jobs, which are never automatically deleted from the Active Jobs file, may cause the disk to fill up with unnecessary archived SYSDATA. The MAXWAIT parameter is described in MAXWAIT: Basic Scheduling Parameter.

Specified parameters take effect only during execution of the New Day procedure (CONTDAY) or the CTMCAJF utility. Therefore, it is possible to find more generations of the same job than the current value of MAXRUNS.

AUTO-ARCHIVE and the History File

SYSDATA is archived in the History Jobs file, as defined by the values set for the MAXDAYS and MAXRUNS parameters, and under the following conditions:

As long as a job exists either in the AJF or in the History Jobs file, the action of the MAXDAYS and MAXRUNS parameters applies to the job's SYSDATA, except for the last archived SYSDATA, which will be retained regardless of the setting of the MAXDAYS and MAXRUNS parameters. On the other hand, if the HIST parameter in the CTMPARM member in the IOA PARM library is set to N (No) and a job is deleted from the AJF, the job's SYSDATA is deleted regardless of the values set for the MAXDAYS and MAXRUNS parameters. For more information, see information about maintaining previous runs in the History Jobs file in the Control-M/Restart User Guide.

Example for AUTO-ARCHIVE

Archive the SYSDATA to a common data set. Retain the archived SYSDATA for 7 days or 20 runs, whichever occurs first.

Figure 150 §Restart§ AUTO-ARCHIVE Parameter Example

Copy
 JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                     TABLE: PRODKPL 
 COMMAND ===>                                           SCROLL===> CRSR
 +--------------------------------------------------------------------+
   ====================================================================
   OUT                                                                 
   AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS  07  MAXRUNS  020   
   RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP         
   SYSOUT OP   (C,D,F,N,R)                                         FROM 
   MAXRERUN     RERUNMEM                            INTERVAL    FROM  
   STEP RANGE         FR (PGM.PROC)          .          TO       .     
   ON PGMST          PROCST          CODES                          A/O 
     DO                                                                
   ON SYSOUT                                     FROM 001 TO 132    A/O 
     DO                                                                
   ON VAR                                                              
     DO                                                                
   SHOUT WHEN           TIME       +     DAYS     TO              URGN 
     MS                                                                
 ======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<< =====
                                                                       
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            16.44.00

CAPTURE BY: Post–processing Parameter

Extracts data from the job's JES output datasets (JESYSMSG, JESJCL, and JESMSGLG), and places the data into a Control-M AutoEdit variable.

Figure 151 CAPTURE BY Parameter Format

Copy
 ===========================================================================
  OUT                                                                        
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS               
  RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP                
  SYSOUT OP   (C,D,F,N,R)                                              FROM  
  MAXRERUN      RERUNMEM                                                     
  CAPTURE BY   (W - WORD / C - CHAR)                                         
  CYCLIC TYPE: C                                   INTERVAL         FROM     
  INTERVAL SEQUENCE: +         +         +         +         +               
  SPECIFIC TIMES:                                             TOLERANCE      
                       +           +           +           +           +     
  STEP RANGE         FR (PGM.PROC)          .          TO          .         
  ON PGMST          PROCST          CODES                               A/O  

(Optional) The CAPTURE BY parameter consists of the subparameters described in Table 166.

Table 166 CAPTURE BY Subparameter Format

Subparameter

Description

CAPTURE BY

Determines whether to capture data by word or by character or not at all.

Valid Values:

  • W  – word  

  • C   –  character

  • Blank - no capture (Default)

SEARCH

The string from where to begin the capture process in the output file. Use from 1 to 53 characters. Mandatory.

SKIP     ROWS

The number of rows to skip from the search string. Valid values are from 0 to 99999999. Default: 0.

SKIP     WORDS

The number of words to skip from the search string in the output file. Valid values are from 0 to 255. Default: 0.

DELIMITER

A character to mark the beginning/end of words. Only relevant for CAPTURE BY W (word). Default: Blank.

SKIP     CHARS

The number of characters to skip from the search string in the output file. Valid values are from 0 to 255. Default: 0.

TAKE     WORDS

The number of words to capture. Valid values are from 1 to 44. Blank or zeros indicate capture up to end of line. Default: 1.

TAKE     CHARS

The number of characters to capture. Valid values are from 1 to 44. Blank or zeros indicate capture up to end of line. Default: 0.

INTO

Specify an AutoEdit variable name that is the target of the Capture action. Mandatory.The variable can be specified as one of the following types:

  • %%varname - local variable

  • %%\varname - global variable

  • %%\\poolname\varname - named pool

  • %%\\varname - SMART table

Maximum characters in pool variable name allowed: 18

Maximum characters in pool name allowed: 20.

General Information for CAPTURE BY

The CAPTURE BY parameter defines the job capture definitions. The capture feature provides a convenient method for extracting data from a job's JES output datasets (JESYSMSG, JESJCL, and JESMSGLG) and sharing the data between jobs. This parameter can be used to search the output of a job for specified text and based on the capture parameters, extract words or characters from the output. The destination of the capture is a Control-M user-defined AutoEdit variable that can be set to any of the following types:

  • Local: Defines variables that can be used by other post-processing actions of this job, such as messages, DO action arguments, or a rerun (manual or cyclic) of the job.

  • Global: Defines a variable in the IOA Global Variable data base which enables variable sharing between different jobs.

  • Pool: Defines variables in a pool. The variable is referenced by the pool name - %%\\<pool_name>\<variable_name>.

    A pool is a collection of variables that can be referenced by name, from any job that is currently active. Using the capabilities of setting variable values at order time and using local variables for the pool names allows the user to pass pre-defined pool names to the jobs at order time or to set values of variables in a pool to be used by the ordered jobs. For more information, see Pool Variables.

  • Smart Table: Enables other jobs in the table to access the specified variable either in the job during the job run, or in post-processing.

  • System variables are not allowed.

User-defined variables can be used to

  • Store intermediate values in a series of variable parameters

  • Store information to be included in a SHOUT or DO MAIL e-mail message or in a DO REMFORCE variable value.

Global variables can be used to pass information between jobs. For example, job A can set global variable %%A to Yes, and job B can reset %%A to No in response. Global variables can also be created and modified using the IOAGLV utility. For more information about this utility, see the INCONTROL for z/OS Utilities Guide.

Resolution of each user variable depends on the specified prefix, and the scope of the specified variable. Each of these concepts is described below.

Syntax for CAPTURE BY

Syntax requirements for user-defined variables are described in User-Defined Variables.

Scope for CAPTURE BY

The scope of a variable is the extent to which it is available to other jobs. Each variable can be

  • local for a specific job

  • common to all jobs in a SMART Table

  • global for all jobs

Multiple Capture statements in a job definition can specify the same variable name. In such a case, the last processed capture determines the value placed into the variable.

Control M uses the following logic to determine which value to use when a variable is specified in a job processing definition:

  • Control M checks if a local variable (for the job) has been defined with the specified name. If a local variable exists, the value specified for that variable is used.

  • If no local variable exists with the specified name, and the job is in a SMART Table, Control M checks for a variable with the specified name in the SMART Table definition. If the variable is defined in the SMART Table definition, that value is used.

  • If a SMART Table variable is specified, but the job is not in a SMART Table, or the variable is not defined in the SMART Table definition, an error is produced.

For more information, see JCL and AutoEdit Facility.

Examples for CAPTURE BY

Figure 152A CAPTURE BY W (Word) - Example of Job Definition

Copy
======================================================================
OUT      JOB2-OK              1801 +                                  
AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS          
RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP           
SYSOUT OP   (C,D,F,N,R)                                         FROM  
MAXRERUN      RERUNMEM                                                
CAPTURE BY W (W - WORD / C - CHAR)                                    
       SEARCH SUBMITTED                                               
       SKIP 00000004 ROWS                                             
       SKIP 002 WORDS       DELIMITER _                               
       TAKE 07  WORDS                                                 
     INTO %%VAR_A                                                     
CAPTURE BY   (W - WORD / C - CHAR)                                    
CYCLIC TYPE: C                                 INTERVAL       FROM    

Figure 152B CAPTURE BY - Example of SYSOUT

Copy
29 APR 2015 JOB EXECUTION DATE
         19 CARDS READ
        681 SYSOUT PRINT RECORDS
          0 SYSOUT PUNCH RECORDS
         37 SYSOUT SPOOL KBYTES
       0.10 MINUTES EXECUTION TIME
      1 //N27ASMCL JOB ,ASM,TIME=NOLIMIT,REGION=0M,MSGLEVEL=(1,1), 
        //         USER=N27,
        //         CLASS=A,
        //       MSGCLASS=X
        //*---- SUBMITTED BY CONTROL-M (FROM MEMLIB)      ODATE=150429
        //*---- SCHEDULE CTMP.V900.OPR.SCHEDULE(REGJOB)
        //*---- SCHEDULED DUE TO RBC:  !NORBC
        //*---- JCL      N27.LIB.CNTL(RUNTEST3)
        //*---- CONTROL-M JOB IDENTIFICATION: ORDER ID=00020 RUN NO. =00001
        //*JOBFROM N27
      2 //         JCLLIB ORDER=IOAP.V900.PROCLIB
      3 //         INCLUDE MEMBER=IOASET
        XX*************************************************************

The SYSOUT is searched for the word, SUBMITTED, then 4 rows (including the row with the word SUBMITTED) are skipped. Then, in the 5th row, 2 words are skipped ("//*----" and "CONTROL-M"). The following 7 words are then taken: "JOB", "IDENTIFICATION:", "ORDER", "ID=00020", "RUN", "NO.", and "=00001" and placed into the AuditEdit variable, %%VAR_A.

Figure 153 CAPTURE BY C (Character) - Example of Job Definition

Copy
 ======================================================================
 OUT      JOB2-OK              1801 +                                  
 AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS          
 RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP           
 SYSOUT OP   (C,D,F,N,R)                                         FROM  
 MAXRERUN      RERUNMEM                                                
 CAPTURE BY C (W – WORD / C – CHAR)                                    
        SEARCH SUBMITTED                                               
        SKIP 00000004 ROWS                                             
        SKIP 018 CHARS                                                 
        TAKE 49  CHARS  (EMPTY \ ZEROS - TILL END OF THE LINE)         
      INTO %%VAR_B                                                     
 CAPTURE BY   (W - WORD / C - CHAR)                                    
 CYCLIC TYPE: C                                  INTERVAL        FROM  

The SYSOUT is searched for the word, SUBMITTED, then 4 rows (including the row with the word SUBMITTED) are skipped. Then, in the 5th row, 18 words are skipped ("//*---- CONTROL-M "). The following 49 characters are then taken: "JOB IDENTIFICATION: ORDER ID=00020 RUN NO. =00001" and placed into the AuditEdit variable, %%VAR_B.

CM VER: General Job Parameter

The version number of the Control Module (CM) that is used to run the job.

This is a protected field whose value is obtained from Control-M/EM. Reserved for future use.

Figure 154 CM VER Parameter Format

CONFCAL: Basic Scheduling Parameter

Specifies the calendar name that is used to confirm the job scheduling.

Related parameters are DAYS: Basic Scheduling Parameter, WDAYS: Basic Scheduling Parameter, and DATES: Basic Scheduling Parameter.

Figure 155 CONFCAL Parameter Format

(Optional) The following table describes CONFCAL subparameters.

Table 167 Optional CONFCAL Subparameters

Subparameter

Description

CONFCAL

Defines a calendar (member) name in 1–8 valid characters.

This calendar is used to do the following:

  • Validate scheduling dates.

  • Determine the scheduled work day.

Jobs to be scheduled on a day, based on other specified Basic Scheduling criteria, are checked against the CONFCAL calendar, as follows:

  • If the day is a working day in the CONFCAL calendar, the job is tentatively scheduled to run that day. This day is referred to as the original scheduling date. Actual job scheduling is then determined by the value entered in the SHIFT subparameter (described in this table).

  • If the day is not a working day in the CONFCAL calendar, the SHIFT subparameter is checked. Depending on the SHIFT value, the job might be scheduled on an earlier or later day, on that day, or be canceled.

SHIFT

(Optional) Determines when and if the job must be scheduled.

The format of the SHIFT subparameter is xyyy, where

  • x indicates how to shift the job scheduling if the original job scheduling day is not a working day in the CONFCAL calendar.

    Valid Values:

    • ' ' (Blank Space): No shifting occurs. The job is not scheduled. Default.

    • >: Job scheduling is shifted to the next working day in the CONFCAL calendar. Additional shifting might be performed, depending on the yyy value, described below.

    • <: Job scheduling is shifted to the previous working day in the CONFCAL calendar. Additional shifting might performed, depending on the yyy value, described below.

    • @: Tentatively schedule the job for the current day, even if the current day is not a working day. Additional shifting might be performed, depending on the yyy value, described below.

  • yyy shifts scheduling of the job forward or backward the specified number of working days, as defined in the CONFCAL calendar.

    Valid Values:

    • ' ' (Blank space): Does not shift the job scheduling by any additional time. Default.

    • +nn: Shifts job scheduling forward to the next nth working day, where n can be 1–62 working days in the future.

    • -nn: Shifts job scheduling backward to the previous nth working day, where n can be 1–62 working days in the past.

For more information, see SHIFT Subparameter.

General Information for CONFCAL

CONFCAL calendars are useful for handling holidays and other scheduling exceptions.

CONFCAL is optional. If no value is set for the CONFCAL parameter, jobs are scheduled according to other basic scheduling criteria without confirmation.

CONFCAL must not contain the name of a periodic calendar. If it does, no day can pass the confirmation.

CONFCAL cannot be used with the PDS and MINIMUM parameters.

SHIFT Subparameter

If no CONFCAL calendar is specified, no value can be entered in the SHIFT subparameter, and this field has no effect on job scheduling.

The format and valid values of the SHIFT subparameter are described in Table 167 Optional CONFCAL Subparameters.

The interaction between the x value and the yyy value of the SHIFT subparameter is as follows:

  • If the original scheduling day of the job is a working day in the CONFCAL calendar, the x value is ignored and the yyy value determines when the job is scheduled.

  • If the original scheduling day of the job is not a working day in the CONFCAL calendar, job scheduling is shifted according to the x value and then shifted again according to the yyy value (if specified) to determine when the job is scheduled.

  • If the original scheduling day is not a working day and the x value is blank, the job is not scheduled (regardless of whether a yyy value is specified).

Shifts are not applied to 'negative' scheduling days, such as -n, -Dn, or -Ln. However, if the result of shifting is a day that is not allowed (negative), the job is shifted again to the next allowed working day (for a forward shift) or to the previous allowed working day (for a backward shift).

Examples for CONFCAL

Example 1

This example is based on the following assumptions:

  • The current month is September 2001.

  • Working days are defined in calendar WORKDAYS, which contains the following working days (indicated by Y) for September 2001:

    Copy
       ---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 + 
             Y Y Y Y     Y Y Y Y Y     Y Y Y Y Y     Y Y Y Y Y     
  • Start of the week is defined as Monday. Weeks start on the following dates in September: 3rd, 10th, 17th, and 24th.

Schedule the rule on the 1st, 7th and 15th day of the month if they are both Saturdays and working days in WORKDAYS. If the day of the month (1st, 7th, 15th) is not a Saturday, do not schedule the rule. If the day of the month is a Saturday but is not a working day, schedule the rule on the next working day.

Copy
DAYS      1,7,15
AND/OR    AND
WDAYS     6
CONFCAL   WORKDAYS
SHIFT     >

The rule is scheduled on the days of the month indicated by an asterisk:

Figure 156 Days When Job Scheduled

Example 2

Assume that the IOA installation parameter SWEEK was set to SUN (meaning that Sunday is the first working day of the week.)

Schedule the job on every Thursday, except when Friday is a holiday. If Friday is a holiday, schedule the job on the working day prior to Thursday.

Set the following parameter values:

Copy
WDAYS     6
CONFCAL   WORKDAYS
SHIFT     <-01

CONFIRM: Runtime Scheduling Parameter

Ensures manual confirmation before a job is submitted or a group is made active.

Figure 157 CONFIRM Parameter Format

(Optional) Valid values are described in Table 168.

Table 168 Optional CONFIRM Parameter Values

Parameter

Description

Y (Yes)

Confirmation required. The job is not submitted unless manual confirmation is entered in the Active Environment screen.

N (No)

No confirmation required. The job can be automatically submitted by Control-M without manual confirmation. Default.

General Information for CONFIRM

If CONFIRM is set to Y, the job appears in the Active Environment screen with a WAIT CONFIRMATION (FOR SCHEDULE) status. Option C (Confirm) must then be entered in the Active Environment screen for the job to be submitted. When the job is confirmed in the Active Environment screen, the CONFIRM value in the Zoom screen changes to N. If CONFIRM is set to N or left blank, the job is automatically submitted by Control-M at the first available opportunity.

In the case of cyclic jobs, confirmation applies to the first run only. Once confirmed, the job is recycled without waiting for subsequent confirmation.

Example for CONFIRM

Job OPERCOMP requires manual confirmation in order to be eligible for submission. Manual confirmation can be provided from the Active Environment screen once the job is displayed with a status of WAIT CONFIRMATION (FOR SCHEDULE).

Figure 158 CONFIRM Parameter Example

Copy
JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                        TABLE: OPER
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  SCHENV                         SYSTEM ID                  NJE NODE   
  SET VAR                                                              
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                            
  =====================================================================
SCHEDULE RBC                                                           
RELATIONSHIP (AND/OR) O                                                
DAYS                                                       DCAL        
                                                              AND/OR   
WDAYS                                                      WCAL        
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y 
DATES                                                                  
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                
MINIMUM PDS
DEFINITION ACTIVE FROM UNTIL
  =================================================================
  IN                                                                   
  CONTROL                                                              
  RESOURCE INIT                 0001                                   
  PIPE                                                                 
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM Y
  TIME ZONE:                                                           
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

CONTROL: Runtime Scheduling Parameter

Ensures exclusive or shared control over runtime resources.

Figure 159 CONTROL Parameter Format

(Optional) A maximum of two resources can be specified in each CONTROL line. Upon specifying the second resource in a CONTROL line and pressing Enter, a new line is opened (for specifying additional resources).

Each CONTROL specification consists of the mandatory subparameters described in Table 169 and may include the optional subparameter described in Table 170.

Table 169 Mandatory CONTROL Subparameters

Subparameter

Description

res-name

User-supplied, descriptive name of 1 through 20 characters used to identify the resource.

state

Type of control the job requires of the resource.

Valid Values:

  • E – The job requires exclusive control of the resource during processing.

  • S – The job requires shared control of the resource during processing.

Do not specify the same Control resource in both Exclusive (E) and Shared (S) states in the same job scheduling definition or SMART Table Entity, or the job or table cannot run. In addition, if the resource is in Exclusive state in the SMART Table Entity, it must not be specified in any of the jobs belonging to the SMART Table; if the resource is in Shared state in the SMART Table, it must not be in Exclusive state in any of the jobs belonging to the SMART Table.

Table 170 Optional CONTROL Subparameter

Subparameter

Description

onFail

Whether to keep the Control resource allocated to the job if the job does not end OK.

Valid Values:

  • ' ' (Blank space) – The resource is not kept allocated to the job. Default.

  • K – The resource is kept allocated to the job until one of the following events occurs:

    • the job is rerun and ends OK

    • the job is deleted

    • the job is FORCEd OK

Copy
CONTROL DISK-VS0020 E K

If the job ends NOTOK, the job continues to hold this exclusive resource.

General Information for CONTROL

The CONTROL parameter is used to control parallel execution of jobs.

If a job requires a resource in exclusive state, it cannot share usage of that resource with another job (that is, the jobs cannot run in parallel). For example:

  • If JOBA requires exclusive control of a resource that is already in use by a different job, JOBA must wait until the other job frees the resource regardless of whether the other job is using the resource in shared or exclusive state.

  • If JOBA already has exclusive control of a resource, any job requiring that resource must wait until JOBA frees the resource, regardless of whether the job requires the resource in shared or exclusive state.

If a job requires a resource in shared state, that job can run in parallel with other jobs requiring the same resource in shared state. For example:

  • If JOBA requires shared control of a resource that is already in shared use by different jobs, JOBA can use that resource at the same time.

  • If JOBA already has shared control of a resource, any job requiring that same resource in shared state can use that resource at the same time.

However:

  • If JOBA requires shared control of a resource that is already in exclusive use by a different job, JOBA must wait until the other job frees the resource.

  • If JOBA already has shared control of a resource, any job requiring that same resource in exclusive state must wait until JOBA frees the resource.

For more information, see Quantitative and Control Resources.

Example for CONTROL

The following three screens (job scheduling definitions) indicate how the CONTROL parameter can control resource usage. All three job scheduling definitions require resource (disk) DISK-VS0020:

  • The first job, BKPVS020, is a backup job that requires exclusive control of disk DISK-VS0020.

  • The other two jobs, CMPRSJOB and CMPRSSRC, are both compress jobs. They do not require exclusive control (that is, they can share control) of disk DISK-VS0020.

The result is as follows:

  • The CMPRSJOB and CMPRSSRC jobs can be run in parallel with each other, but neither can run in parallel with the BKPUS020 job.

  • If the BKPVS020 job is running, the CMPRSJOB and CMPRSSRC jobs must wait.

  • If either the CMPRSJOB job or the CMPRSSRC job is running, the BKPVS020 job must wait.

This is the first of the three jobs in the example (job BKPVS020).

Figure 160 CONTROL Parameter Example 1

Copy
JOB: BKPVS020 LIB CTM.PROD.SCHEDULE                      TABLE: BACKUP
COMMAND ===>                                           SCROLL===> CRSR
+--------------------------------------------------------------------+
  OVERLIB                                               STAT CAL      
  SCHENV                         SYSTEM ID              NJE NODE       
  SET VAR                                                              
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  BKPVS020    DOCLIB   CTM.PROD.DOC                            
  ====================================================================
SCHEDULE RBC                                                           
RELATIONSHIP (AND/OR) O                                                
DAYS                                                       DCAL        
                                                              AND/OR   
WDAYS                                                      WCAL        
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y  
DATES                                                                  
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                
MINIMUM PDS
DEFINITION ACTIVE FROM UNTIL
  ====================================================================
  IN                                                                   
  CONTROL  DISK-VS0020          E                               
  RESOURCE                                                             
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS           
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                           11.17.00

This is the second of the three jobs in the example (job CMPRSSRC).

Figure 161 CONTROL Parameter Example 2

Copy
JOB: CMPRSSCR LIB CTM.PROD.SCHEDULE                      TABLE: OPMAINT
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  OVERLIB                                               STAT CAL       
  SCHENV                         SYSTEM ID              NJE NODE       
  SET VAR                                                              
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  CMPRSSCR    DOCLIB   CTM.PROD.DOC                            
  =====================================================================
SCHEDULE RBC                                                           
RELATIONSHIP (AND/OR) O                                                
DAYS                                                      DCAL         
                                                              AND/OR   
WDAYS                                                     WCAL         
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y  
DATES                                                                  
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                
MINIMUM 025      PDS   GSD.DEPO.SCR
DEFINITION ACTIVE FROM UNTIL
  =====================================================================
  IN                                                                   
  CONTROL  DISK-VS0020          S                                 
  RESOURCE                                                             
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS           
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

This is the third of three jobs in the example (job CMPRSJOB).

Figure 162 CONTROL Parameter Example 3

Copy
JOB: CMPRSJOB LIB CTM.PROD.SCHEDULE                      TABLE: OPMAINT
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  OVERLIB                                                 STAT CAL     
  SCHENV                         SYSTEM ID                NJE NODE    
  SET VAR                                                              
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  CMPRSJOB    DOCLIB   CTM.PROD.DOC                            
  =====================================================================
SCHEDULE RBC                                                           
RELATIONSHIP (AND/OR) O                                                
DAYS                                                         DCAL      
                                                              AND/OR   
WDAYS                                                        WCAL      
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y 
DATES                                                                 
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                
MINIMUM  PDS  
DEFINITION ACTIVE FROM UNTIL
  =====================================================================
  IN                                                                   
  CONTROL DISK-VS0020           S                                
  RESOURCE                                                             
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS           
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

CTB STEP: General Job Parameter

Adds Control-M/Analyzer steps as the first and/or last step of the execution of the job.

Figure 163 CTB STEP Parameter Format

(Optional) The CTB STEP parameter consists of the subparameters described in Table 171.

Table 171 Optional CTB STEP Parameters

Parameter

Description

AT

Indicates where to place the Control-M/Analyzer step in the job. Mandatory.

Valid Values:

  • START – The indicated Control-M/Analyzer step must become the first step of the job.

  • END – The indicated Control-M/Analyzer step must become the last step of the job.

NAME

Name of the Control-M/Analyzer entity. Must be a valid name of a Control-M/Analyzer rule or mission. Mandatory.

TYPE

Type of Control-M/Analyzer entity. Mandatory.

Valid Values:

  • RULE – Entity is a Control-M/Analyzer rule.

  • MISSION – Entity is a Control-M/Analyzer mission.

ARGUMENTS

(Optional) Arguments to be passed to the Control-M/Analyzer step.

The ARGUMENTS line is not displayed until the CTB STEP line is filled in and Enter is pressed.

General Information for CTB STEP

A maximum of two CTB STEP statements (that is, one START statement and one END statement) can be entered.

Upon filling in the first CTB STEP line on the screen and pressing Enter, the ARGUMENTS line and the second CTB STEP line are displayed. If the second CTB STEP line is filled in and Enter is pressed, its ARGUMENTS line is displayed.

Multiple arguments must be separated by a comma without a space because they are automatically passed to the Control-M/Analyzer step as a PARM=‘arguments’ parameter in the JCL of the step.

Control-M uses the status returned by Control-M/Analyzer as it would use the return status of any job step.

  • If Control-M/Analyzer returns a status of OK or TOLER (within accepted tolerances), Control-M considers the step as having ended OK.

  • If Control-M/Analyzer returns a status of NOTOK or ABEND, Control-M considers the job step as having ended NOTOK.

Example for CTB STEP

After successfully performing salary calculations, job SACALC01 invokes rule CHKCALC to ensure that the results are reasonable, and then sets OUT condition SALARY-OK.

Figure 164 CTB STEP Parameter Example

Copy
JOB: SACALC01  LIB CTM.PROD.SCHEDULE                     TABLE: SALARY
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  MEMNAME SACALC01    MEMLIB   GENERAL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N           
  APPL    SAL                         GROUP SALARY                     
  DESC    SALARY CALCULATIONS                                          
  OVERLIB                                                 STAT CAL     
  SCHENV                         SYSTEM ID                NJE NODE     
  SET VAR                                                             
  CTB STEP AT END     NAME CHKCALC    TYPE RULE                 
    ARGUMENTS %%ODATE                                           
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  SACALC01    DOCLIB   CTM.PROD.DOC                            
  =====================================================================
SCHEDULE RBC                                                           
RELATIONSHIP (AND/OR) O                                                
DAYS 0.15                                                   DCAL       
                                                              AND/OR   
WDAYS                                                       WCAL       
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y  
DATES                                                                  
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                
MINIMUM  PDS  
DEFINITION ACTIVE FROM UNTIL
  =====================================================================
  IN                                                                  
  CONTROL                                                             
  RESOURCE                                                            
  PIPE                                                                 
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                           
  =====================================================================
  OUT      SALARY-OK            ODAT +                         
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

CYCLIC TYPE: Runtime Scheduling Parameter

This parameter defines whether the enhanced cyclic feature will be used. This field exists in both the Job Scheduling and SMART Table Entity Definition Screens. The parameter can have one of the following values:

  • C - The enhanced cyclic feature is not used. Default.

  • V - Varying interval sequence

  • S - Run at specific times

In order for the V or S options to be specified, in the Job Scheduling Definition, the TASKTYPE parameter must be set to CYC; in the SMART Table Entity Definition the TASKTYPE parameter must be set to TBC.

Figure 165 CYCLIC TYPE Parameter Format

Copy
TIME ZONE:  =====================================================================
OUT  (L) JOB1-ENDED-OK                                         ODAT +  
                                                                       
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                         FROM 
  MAXRERUN      RERUNMEM                                               
  CYCLIC TYPE: C                                   INTERVAL    FROM    
  INTERVAL SEQUENCE: +         +         +         +         +         
  SPECIFIC TIMES:                                          TOLERANCE  
                       +           +           +           +        +  
  STEP RANGE         FR (PGM.PROC)          .          TO        .     
  ON PGMST          PROCST          CODES                           A/O 

For details on the meaning and usage of the S and V options, see SPECIFIC TIMES: Runtime Scheduling Parameter and INTERVAL SEQUENCE: Runtime Scheduling Parameter.

Certain screen fields are inactivated according to the following settings:

  • If the MODECTM parameter in the IOAPARM member (in the IOA PARM library) is set to less than 700, the CYCLIC TYPE, INTERVAL SEQUENCE, SPECIFIC TIMES and TOLERANCE screen fields are inactivated.

  • If C is specified the INTERVAL SEQUENCE, SPECIFIC TIMES and TOLERANCE fields are inactivated.

  • If V is specified the SPECIFIC TIMES fields are inactivated.

  • If S is specified the INTERVAL SEQUENCE fields are inactivated.

D-CAT: Basic Scheduling Parameter

Name of a Control-D report decollating mission category that must be scheduled under Control-D when the job is scheduled under Control-M.

Prior to version 5.1.4, the D-CAT parameter was called CATEGORY.

Figure 166 DCAT Parameter Format

(Optional) The D-CAT parameter must be 1 through 20 characters, or * for all categories.

If this parameter is specified when Control-D is not installed, New Day processing stops immediately after this job. For a description of New Day processing, see Selected Implementation Issues, and the INCONTROL for z/OS Administrator Guide.

General Information for D-CAT

If the parameter is specified, whenever the job is scheduled, a search is made in the Control-D report decollating mission library for a job (member) with the name entered in the MEMNAME parameter, which is described in MEMNAME: General Job Parameter, and with the same category. (No search is made in the case of job restarts.)

Generally, the selected category is forced and placed in the Control-D Active Missions file (that is, the output of the job must be decollated by Control-D). If D-CAT is set to *, all categories of the job are forced under Control-D.

If the CTGFORC parameter of the CTMPARM member in the IOA PARM library is set to NO, selected categories are scheduled (that is, not forced).

Example for D-CAT

The job output must be decollated by the Control-D report decollating mission category DAILY.

Figure 167 DCAT Parameter Example

Copy
 JOB: GNRLDR12 LIB CTM.PROD.SCHEDULE                     TABLE: GNRLDR
 COMMAND ===>                                          SCROLL===> CRSR
 +-------------------------------------------------------------------+
   MEMNAME GNRLDR12    MEMLIB   GENERAL                               
   OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N         
   APPL    GENERAL                     GROUP GENERAL-LEDGER           
   DESC    GENERAL LEDGER DAILY REPORTS                               
   OVERLIB                                                 STAT CAL   
   SCHENV                         SYSTEM ID                NJE NODE   
   SET VAR                                                            
   CTB STEP AT         NAME            TYPE                           
   DOCMEM  GNRLDR12    DOCLIB   CTM.PROD.DOC                          
   ===================================================================
SCHEDULE RBC                                                          
RELATIONSHIP (AND/OR) O                                               
DAYS                                                         DCAL     
                                                             AND/OR   
WDAYS                                                        WCAL     
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y 
DATES                                                                 
CONFCAL          SHIFT       RETRO N MAXWAIT 00 D-CAT DAILY           
MINIMUM PDS 
DEFINITION ACTIVE FROM UNTIL
   ===================================================================
   IN                                                                 
  COMMANDS: EDIT, DOC, PLAN, JOBSTAT                          11.17.00

DATES: Basic Scheduling Parameter

Specifies dates, by month and day, on which the job must be scheduled for execution.

Figure 168 DATES Parameter Format

(Optional) The DATES parameter specifies a valid 4-character date, in either mmdd or ddmm format, depending on site format.

A maximum of 12 dates can be specified.

General Information for DATES

The job is scheduled for execution only on the dates specified in the DATES parameter.

The DATES parameter cannot be used with the PDS, MINIMUM, DAYS, and DCAL parameters.

If values are set for both the MONTHS parameter and the DATES parameter, the MONTHS parameter setting is ignored.

To specify more than 12 dates for one job, define the dates in a calendar (instead of using this parameter) and specify the calendar in the DCAL (or WCAL) subparameter.

As an alternative to using calendars for specifying more than twelve dates in jobs belonging to a group, up to twelve dates can be specified in a Schedule RBC definition in the SMART Table Entity, and multiple rule-based calendars of this type can be defined. These can then be specified in the jobs.

The relationship between DATES and WDAYS and WCAL is OR. If the job is to be scheduled according to the DATES parameter or according to the WDAYS and WCAL combination, it is scheduled.

A DATES parameter specifying the 29th of February schedules jobs during leap years only.

Examples for DATES

DATES Example 1

Schedule a job for the 15th of January (mmdd format).

Copy
DATES 0115

DATES Example 2

Schedule job PRDKPL01 for the 21st of June and the 21st of December (ddmm format).

Figure 169 DATES Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                    TABLE: PRODKPL
COMMAND ===>                                          SCROLL===> CRSR
+-------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                          
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N         
  APPL    KPL                         GROUP PROD-KPL                 
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                  
  OVERLIB                                                 STAT CAL   
  SCHENV                         SYSTEM ID                NJE NODE   
  SET VAR                                                            
  CTB STEP AT         NAME            TYPE                           
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                          
  ===================================================================
SCHEDULE RBC                                                         
RELATIONSHIP (AND/OR) O                                              
DAYS                                                         DCAL    
                                                             AND/OR  
WDAYS                                                        WCAL    
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES 2106 2112                                                      
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT              
MINIMUM    PDS  
DEFINITION ACTIVE FROM UNTIL
  ===================================================================
  IN       START-DAILY-PROD-KPL ODAT                                 
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                          11.17.00

DAYS: Basic Scheduling Parameter

The days of the month on which the job must be scheduled.

Related parameters are WDAYS: Basic Scheduling Parameter and CONFCAL: Basic Scheduling Parameter.

Figure 170 DAYS Parameter Format

(Optional) The DAYS parameter specifies days of the month on which the job must be scheduled, provided other basic scheduling criteria are met. Values for DAYS can be specified alone, or they can be specified together with a calendar specified in the DCAL subparameter. DAYS and DCAL can also be specified together with WDAYS and WCAL (described under WDAYS: Basic Scheduling Parameter).

The DAYS subparameters are described in Table 172.

Table 172 DAYS Subparameters

Subparameter Description

days

Days of the month on which to schedule a job. The months in which to order jobs are specified in the MONTHS parameter, described in MONTHS: Basic Scheduling Parameter. Various formats (described later) can be used to specify DAYS (for example, 2 means the second day of the month, L2 means the day before the last day of the month, D1PA means the first day in period A).

DCAL

Name of a calendar containing a predefined set of dates (referred to as working days) on which a job must be scheduled. A specified value must be either a valid member name of 1 through 8 characters, or an * to indicate that the calendar specified in the CONFCAL parameter must be used for scheduling. For more information on how to define, use and modify calendars, see IOA Calendar Facility.

A calendar specified in DCAL does not have to exist when defining the DAYS parameter. It must exist when the job is being ordered.

AND/OR

Conjunctional parameter used to link the DAYS and WDAYS parameters when both are specified.

  • A (AND) – Both DAYS (/DCAL) and WDAYS (/WCAL) criteria must be met in order for a job to be scheduled.

  • O (OR) – DAYS (/DCAL) and/or WDAYS (/WCAL) criteria must be met for a job to be scheduled. Default.

If A (AND) is specified when either DAYS or WDAYS is specified (but not both), the missing DAYS or WDAYS value is automatically set to ALL.

Assuming all other basic scheduling criteria are met:

  • When DAYS are specified without DCAL, the job is scheduled on the specified days (in the specified months).

  • When DCAL is specified without DAYS, the job is scheduled on all working days marked in the DCAL calendar.

  • When DAYS and DCAL are both specified, scheduling depends on how the working days are defined in the calendar and the values or format of the DAYS parameter combine, as described in the following paragraphs.

  • When both DAYS and WDAYS criteria are specified, scheduling depends on the AND/OR subparameter connecting them.

Valid Formats for DAYS

Valid formats for the DAYS parameter, and how they relate to DCAL, are described in the following paragraphs.

In the following non-periodic scheduling formats:

  • n is an integer from 1 through 31.

  • Multiple values can be specified (separated by commas) in any order.

  • A calendar name specified for DCAL must not designate a periodic calendar.

Table 173 Non-Periodic Scheduling Formats

Parameter

Description

ALL

All days of the month. If ALL is specified, other DAYS values cannot be specified with it.

If a DCAL calendar is not defined, schedule the job on all days in the month. If a DCAL calendar is defined, schedule the job only on the working days indicated in the calendar.

n,…

Specific days of the month.

If a DCAL calendar is not defined, schedule the job on the specified days.

If a DCAL calendar is defined, schedule the job only when a day is defined as a working day in both the DAYS parameter and the DCAL calendar.

+n,...

Days of the month in addition to the working days specified in the DCAL calendar. DCAL is mandatory.

If, besides +n, other scheduling criteria are specified, these other criteria limit the scheduled days to the intersection of the other criteria with the DCAL calendar. For example, specifying DAYS=+1,5 means schedule the job on the first day of the month, whether or not it is a scheduled day on the DCAL calendar, and on the 5th day of the month, but only if it is a scheduled day on the DCAL calendar. No other days are scheduled.

n,...

Order the job on all days except the nth day from the beginning of the month. DCAL is mandatory.

>n,...

Order the job on the indicated day if it is a working day in the DCAL calendar; otherwise, order the job on the next working day that is not negated by a –n value in this parameter. This format is frequently used for holiday handling. DCAL is mandatory.

<n,...

Order the job on the indicated day if it is a working day in the DCAL calendar; otherwise, order the job on the last previous working day of the month that is not negated by a –n value in this parameter. This format is frequently used for holiday handling. DCAL is mandatory.

Dn,...

Order the job on the nth working day from the beginning of the month. DCAL is mandatory.

–Dn,...

Order the job on all working days except the nth working day from the beginning of the month. DCAL is mandatory.

Ln,...

Order the job on the nth day (or nth working day if DCAL is defined) counting backward from the end of the month. DCAL is optional.

–Ln,...

If DCAL is defined, order the job on all working days except the nth working day counting backward from the end of the month. If DCAL is not defined, order the job on all days except the nth day counting backward from the end of the month. DCAL is optional.

In the following periodic scheduling formats:

  • n is any integer from 1 through 63, and i is any valid period identifier.

  • An * can be specified as the i value to represent all periods.

  • An * can be specified as the n value in format DnPi to represent all days. (* is not a valid n value in formats –DnPi, LnPi and –LnPi.)

  • A period can span any number of days, but by default, no more than 33 days can elapse after the appearance of one identifier in a period until the appearance of the next matching identifier in the same period. Once a gap of 33 days has been reached, the period automatically closes. However, the INCONTROL administrator can change the 33-day default by changing the value in member IOADFLT in the IOAENV library.

  • The name of a periodic calendar must be specified in DCAL. For details about periodic calendars, see IOA Calendar Facility.

Table 174 Periodic Scheduling Formats

Format

Description

DnPi,...

Order the job on the nth day of period i from the beginning of the period.

–DnPi,...

Order the job on all days of period i except the nth day of period i from the beginning of the period.

LnPi,...

Order the job on the nth day of period i counting backward from the last day of the period.

–LnPi,...

Order the job on all days of period i except the nth day of period i counting backward from the last day of the period.

General Information for DAYS

Negative values take precedence over positive values when determining whether a job must be scheduled on a certain date. If a negative value (that is, format –n, –Dn, –Ln, –DnPi, or – LnPi) in either the DAYS or WDAYS field prevents a job from being scheduled on a date, the job is not scheduled on that date even if a positive value (such as Ln) in a basic scheduling parameter would otherwise result in the job being scheduled on that date.   

A maximum of eight periodic values of type DnPi, –DnPi, LnPi, and/or –LnPi can be designated in any desired order.

If periodic and non-periodic values are mixed when specifying the DAYS parameter, processing depends on the calendar type specified in the DCAL parameter:

  • If a non-periodic calendar is specified in the DCAL parameter, only non-periodic values in the DAYS parameter are processed; periodic values are ignored. In this case, negative periodic values (that is, –DnPi, –LnPi) are also ignored and do not supersede other values.

  • If a periodic calendar is specified in the DCAL parameter, all periodic values and the negative non-periodic value -n in the DAYS parameter are processed; all other non-periodic values are ignored.

The MONTHS parameter is ignored when periodic values are specified in the DAYS parameter.

For information about certain exceptional situations in the interaction of the DAYS and MONTHS parameters, see MONTHS: Basic Scheduling Parameter.

The DAYS parameter cannot be used with the PDS, MINIMUM, and DATES parameters.

Examples for DAYS

The examples in this chapter are based on the following assumptions:

  • The current month is December, 2001.

  • Working days are defined in calendar WORKDAYS, which contains the following working days (indicated by Y) for December, 2001.

    Copy
    ---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 + 1
         Y Y Y Y Y     Y Y Y Y Y     Y Y Y Y Y     Y   Y Y Y     Y
  • WDAYS are defined as working days beginning on Monday.

  • Periodic calendar PERIDAYS contains the following periodic definition for December 2001. These examples assume that all other days of this calendar are blank.

    Copy
    ---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 + 1
         B C A A B     B C A A B     B C A A B     B C A A B     B
  • Start of the week is defined as Monday. Weeks start on the following dates in December 2001: 3rd, 10th, 17th, 24th, and 31st.

At the end of each example, asterisks in a December 2001 calendar indicate the days on which the job is scheduled.

DAYS Example 1

Schedule the job on the 17th day and the last day of the month.

Copy
DAYS     17,L1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 171 DAYS Parameter Example 1

DAYS Example 2

Schedule the job on all working days of the month except the 6th day of the month, and also schedule the job on the 1st day of the month.

Copy
DAYS     +1,-6
DCAL     WORKDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 172 DAYS Parameter Example 2

DAYS Example 3

Schedule the job on all working days of the month except the first and last working days, and except the 17th day, of the month.

Copy
DAYS     -D1,-17,-L1
DCAL     WORKDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 173 DAYS Parameter Example 3

DAYS Example 4

Schedule the job on the 8th day of the month. If it is not a working day, schedule the job on the closest preceding working day.

Copy
DAYS     <8
DCAL     WORKDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 174 DAYS Parameter Example 4

DAYS Example 5

Schedule the job on the 1st day of period A, and on all days, except the 2nd day, of period B. Do not schedule the job on the 5th day of the month.

Copy
DAYS    -5,D1PA,-D2PB
DCAL    PERIDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 175 DAYS Parameter Example 5

DAYS Example 6

Schedule the job on each Monday and on the 1st day of the month.

Copy
DAYS     1
AND/OR   OR
WDAYS    1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 176 DAYS Parameter Example 6

DAYS Example 7

Schedule the job on the 3rd day of the month provided it is a Monday.

Copy
DAYS     3
AND/OR   AND
WDAYS    1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 177 DAYS Parameter Example 7

DAYS Example 8

Schedule the job on the last Monday of the month.

Copy
DAYS     L1,L2,L3,L4,L5,L6,L7
AND/OR   AND
WDAYS    1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 178 DAYS Parameter Example 8

DAYS Example 9

Schedule the job on the 1st, 7th and 15th days of the month if they are both Saturdays and working days. If the day of the month (1st, 7th, 15th) is not a Saturday, do not schedule the job. If the day of the month is a Saturday, but it is not a working day, schedule the job on the next working day.

Copy
DAYS     1,7,15
AND/OR   AND
WDAYS    6
CONFCAL  WORKDAYS
SHIFT    >

The job is scheduled on the days of the month indicated by an asterisk:

Figure 179 DAYS Parameter Example 9

DAYS Example 10

Schedule the job to run on the first Friday after the 15th of the month.

Copy
DAYS     16,17,18,19,20,21,22
AND/OR   AND
WDAYS    5

The job is scheduled on the days of the month indicated by an asterisk:

Figure 180 DAYS Parameter Example 10

DAYS Example 11

Schedule the job to run on the 15th day of every period, except for period G. The periods are defined in periodic calendar PERCAL.

The following steps are required:

  1. In the SMART Table Entity of a SMART Table, define a rule-based calendar, RBC1, which contains the following scheduling criteria:

    Copy
    DAYS -D15PG,D15P*      DCAL PERCAL
  2. In the actual job definition, specify the following:

    Copy
    SCHEDULE RBC RBC1
    RELATIONSHIP (AND/OR) A
    DAYS D15P*             DCAL PERCAL

DEFINITION ACTIVE: Basic Scheduling Parameter

Specifies the time limits (FROM, UNTIL) for using the job scheduling definition.

Figure 181 DEFINITION ACTIVE Parameter Format

(Optional) The parameters include the subparameters described in Table 175.

Table 175 DEFINITION ACTIVE Subparameters

Subparameter

Description

FROM

6-digit date. The job scheduling definition will only be used if the ordering date is later than the date specified. Default: ' ' (Blank space)

UNTIL

6-digit date. The job scheduling definition will only be used if the ordering date is earlier than the date specified. Default: ' ' (Blank space)

The format of either the FROM or UNTIL subparameters may be ddmmyy, mmddyy, or yymmdd, depending on your local site standard, as set by the DATETYP parameter in the IOAPARM member in the IOA PARM library.

General Information for DEFINITION ACTIVE

FROM and UNTIL dates together define a time frame for ordering the job. Unless forced, a job can only be ordered during the specified time frame. However, if the job is forced, the FROM and UNTIL parameters are ignored.

  • If you specify both the FROM and UNTIL subparameters for a particular job, the job can only be ordered on or later than the date specified in the FROM subparameter, and on or earlier than the date specified in the UNTIL subparameter. There are two possibilities:

    1. The date specified in the FROM subparameter is earlier than that specified in the UNTIL subparameter.

      Copy
      DEFINITION ACTIVE FROM   091002 UNTIL   011102

      The job can only be ordered on or between October 9, 2002 and November 1, 2002.

    2. The date specified in the FROM subparameter is later than that specified in the UNTIL subparameter.

      Copy
      DEFINITION ACTIVE FROM   090502 UNTIL   010402

      The job can only be ordered on or after May 9, 2002, or before or on April 1, 2002, but not between those dates.

  • If you specify the FROM subparameter, but not the UNTIL subparameter, the job cannot be ordered before the date specified, but can be ordered on or at any time later than that date.

    Copy
    DEFINITION ACTIVE FROM   091002 UNTIL

    The job can only be ordered on or after October 9, 2002.

  • If you do not specify the FROM subparameter, but specify the UNTIL subparameter, the job can be ordered on or at any time earlier than the date specified, but not later than that date.

    Copy
    DEFINITION ACTIVE FROM             UNTIL   011102

    The job can only be ordered on or before November 1, 2002.

  • If you do not specify either the FROM or UNTIL subparameters, there is no restriction on the date when the job can be ordered.

    Copy
    DEFINITION ACTIVE FROM             UNTIL

    The job can be ordered on any date.

DESC: General Job Parameter

Description of the job to be displayed in the Job List screen.

Figure 182 DESC Parameter Format

(Optional) This parameter may consist of text of 1 through 4000 characters. DESC lines hold 70 characters each and are added as needed.

General Information for DESC

The DESC parameter is informational. It does not affect job processing. It serves as internal documentation, to let the user know the purpose of (or some other key information about) the job.

The description specified in the DESC parameter appears to the right of the job name in the Job List screen.

Text for the DESC parameter can be specified in any language.

For conversion customers prior to version 6.0.00, if the current job was converted from another job scheduling product, such as CA-7, the string SCHEDULE-PREV-DAY or SCHEDULE-PREV-ONLY may appear in the DESC field for the job group. This string causes all scheduled runs of the job to be shifted back one day. The SAC parameter is used instead.

For information on how to specify more detailed job documentation, see Job Documentation.

Example for DESC

Job OPERCOMP appears in the Job List screen with the description: JOB RUN ON THE 1ST OF THE MONTH.

Figure 183 DESC Parameter Example

Copy
JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                       TABLE: OPER
COMMAND ===>                                          SCROLL===> CRSR
+-------------------------------------------------------------------+
  MEMNAME OPERCOMP    MEMLIB   CTM.PROD.JCL                          
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N         
  APPL    OPER                        GROUP MAINTENANCE              
  DESC    JOB RUN ON THE 1ST OF THE MONTH                     
  OVERLIB                                                   STAT CAL
  SCHENV                         SYSTEM ID                NJE NODE   
  SET VAR                                                           
  CTB STEP AT         NAME            TYPE                          
  DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                         
  ===================================================================
SCHEDULE RBC                                                         
RELATIONSHIP (AND/OR) O                                              
DAYS                                                        DCAL     
                                                               AND/OR 
WDAYS                                                       WCAL     
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES                                                                
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT              
MINIMUM PDS  
DEFINITION ACTIVE FROM UNTIL
  ===================================================================
  IN                                                                 
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                          11.17.00

DO Statement: Post–processing Parameter

Actions taken when the ON step and codes event criteria are satisfied.

Figure 184 DO Parameter Format

(Optional) Specify DO statements as follows:

  • Type the action keyword (such as COND) in the DO field and press Enter.

  • In many cases, subparameter fields are displayed. Fill in the subparameters and press Enter again.

  • Multiple DO statements can be specified. After entering a DO statement, another DO line is automatically displayed.

DO actions are described in Table 176. Each is discussed in detail in this chapter.

Table 176 DO Actions

DO Action

Description

DO COND

Adds and/or deletes a prerequisite condition.

DO CTBRULE

Invokes a Control-M/Analyzer rule.

DO FORCEJOB

Forces a job order under Control-M.

§Restart§ DO IFRERUN

If a rerun is necessary for the job, specifies restart parameters for Control-M/Restart.

DO MAIL

Sends an e-mail to the specified recipients.

DO NOTOK

Sets the job step status to NOTOK.

DO OK

Sets the job step status to OK.

DO REMEDY

Open a Remedy Helpdesk ticket.

DO REMFORCE

Force one or more jobs under a remote Control-M.

DO RERUN

Reschedules the job (for rerun).

DO SET

Assigns a value to an AutoEdit variable.

DO SHOUT

Sends a message to a specified destination.

DO STOPCYCL

Stops recycling a cyclic task.

DO SYSOUT

Handles the job output.

General Information for DO Statement

DO statements are generally paired with the preceding ON PGMST, ON PROCST, or ON CODES statements (all of which are described in this chapter). Their implied relationship is:

Table 177 Relationship of DO Statements with Other Statements

Statement

Description

IF

On step and code event criteria (specified in the ON PGMST, ON PROCST, or ON CODES statements) are satisfied.

THEN

Perform all actions specified in the DO statements.

All specified DO statements have an AND relationship.

To add an empty DO statement between two existing DO statements, type the > character over the first letter in the DO field of the earlier DO statement, and press Enter.

Example for DO Statement

Copy
DO >OND

>OND is restored to its original value, COND, when Enter is pressed (the > character disappears).

To delete unwanted DO statements, either delete the DO keyword and press Enter or specify appropriate Line Editing commands in the Edit environment, which is described in The Control-M Application Program Interface (CTMAPI).

DO COND: Post–processing Parameter

Specifies prerequisite conditions to be added or deleted if the accompanying ON step and code criteria are satisfied.

DO COND and OUT statements are similar, but not identical. The differences are outlined in Differences between OUT and DO COND.

Figure 185 DO COND Parameter Format

(Optional) Type COND in the DO field and press Enter.

A maximum of two prerequisite conditions can be specified in each standard DO COND line. One prerequisite condition can be specified in each long DO COND line. When you specify the second prerequisite condition in a standard DO COND line, or one prerequisite condition in a long DO COND line, and press Enter, a new DO COND line is opened for specifying additional prerequisite conditions. For more information, see Specifying Long DO COND Condition Names.

Each DO COND statement consists of the mandatory subparameters described in Table 178.

Table 178 DO COND Mandatory Subparameter Formats

Subparameter

Description

cond-name

User-supplied descriptive name of 1 through 39 characters, used to identify the condition.

A condition name must not begin with the symbols "|", "¬", or "\", and must not contain parentheses ( ), because each of these characters has a special meaning.

If you want to use the UFLOW (unique flow) feature, the condition name must not exceed 36 characters since the UFLOW feature concatenates a unique 3-character suffix to the name of any condition that connects jobs within the ordered table.

You can use an AutoEdit variable in a condition name, provided that the AutoEdit variable has a value that is known before the job is ordered.

dateref

4-character date reference.

Valid Values:

  • date – A specific date, in either mmdd or ddmm format, depending on the site standard

  • ODAT – Resolves to the original scheduling date. Default.

  • +nnn – Resolves at job order time to ODATE+nnn calendar days. nnn is three digits (000-999).

  • -nnn – Resolves at job order time to ODATE-nnn calendar days. nnn is three digits (000-999).

+001 and -001 are not necessarily the same as NEXT and PREV, because NEXT and PREV are based on job scheduling criteria, while +nnn and -nnn are based on calendar days.

  • PREV – Resolves to the previous date on which the job ought to have been scheduled, according to its basic scheduling criteria (or ODATE–1 for a forced job).

  • NEXT – Resolves to the next date on which the job is scheduled, according to its basic scheduling criteria (or ODATE+1, for a forced job.)

  • STAT – Static. Indicates that the condition (such as IMS-ACTIVE) is not date-dependent.

Before STAT was introduced, date 0101 was recommended to be used in conditions that were not date-dependent. Unlike 0101, STAT is not a date, and it operates differently. Always use STAT when defining conditions that are not date-dependent.

  • **** – Any scheduling date. Valid only with opt set to -(Minus)

  • $$$$ – Any scheduling date.   Valid only with opt set to -(Minus)

If a date reference is not specified, the value ODAT is automatically inserted upon pressing Enter.

opt

Indicates whether to add or delete the specified prerequisite condition.

Valid Values:

  • + (Plus) – Add (create) the prerequisite condition

  • - (Minus) – Delete the prerequisite condition

General Information for DO COND

When a DO COND statement is activated, the specified prerequisite conditions are added to or deleted from the IOA Conditions file according to the value set for opt.

Prerequisite conditions are usually used to establish job dependencies or ensure manual intervention when required.

  • To establish a job dependency, define a prerequisite condition in an OUT or DO COND statement in the job that must run first, and in an IN statement in the job that must run afterwards.

    The job containing a prerequisite condition in its IN statement is not submitted unless that prerequisite condition has been added manually or by the job containing an OUT or DO COND statement.

    An OUT statement is used to add the prerequisite condition if the job ends OK.

    Use a DO COND statement to add the prerequisite condition if the step and code event criteria specified in the accompanying ON statement are satisfied.

  • If the IN prerequisite condition can only be satisfied by manual intervention (for example, TAPE1-ARRIVED is set by the operator after an external tape has arrived insight), performance of the required manual intervention before job submission is ensured.

OUT and DO COND statements can also be used to delete prerequisite conditions. The OUT statement of the job can be used to delete the prerequisite condition after the job ends OK. A DO COND statement can be used to delete prerequisite conditions if the accompanying ON step and code criteria are satisfied.

These statements are generally used to delete prerequisite conditions either to prevent a particular job from running or when the condition is no longer needed by any other jobs in the Active Jobs file.

DO COND functions are performed after the functions of the OUT parameter.

  • If a prerequisite condition is added by the OUT parameter and deleted by the DO COND parameter, the combined effect is the deletion of the prerequisite condition.

  • If a prerequisite condition is deleted by the OUT parameter and added by the DO COND parameter, the combined effect is the addition of that prerequisite condition.

The following are examples of prerequisite conditions:

Copy
IMS-ACTIVE
JOB_PAYCALC_ENDED_OK
TAPE1_LOADED

All prerequisite conditions are associated with a date reference that is used to distinguish between different runs of the same job with different scheduling dates. If, for example, a condition is being deleted, only the condition matching the specified date is deleted. The same condition associated with a different date is not deleted. When adding or deleting prerequisite conditions, the date associated with the prerequisite condition can be a specific 4-character date or one of the symbolic dates described in the explanation of parameter "dateref" in DO COND: Post–processing Parameter.

Prerequisite conditions created by a DO COND statement can trigger the execution of other jobs or processes.

Prerequisite conditions deleted by a DO COND statement can prevent the execution of jobs and processes whose IN statements require those prerequisite conditions.

If two or more DO COND statements are contradictory, statements performed earlier are overridden by statements that are performed later.

For more information regarding prerequisite conditions, see IN: Runtime Scheduling Parameter, ON Statements: Post–processing Parameter, and OUT: Post–processing Parameter, and see Prerequisite Conditions.

Specifying Long DO COND Condition Names

Regular prerequisite conditions are not more than 20 characters in length. If you want to specify a longer condition name, up to 39 characters in length, enter the string LONG in the date reference field of an empty DO COND condition line. An (L) appears at the beginning of the line. If the field already contains data, entering the string LONG will open a new long DO COND parameter, with (L) appearing at the beginning of the line. You can now insert a long condition name, as illustrated in Figure 186.

Specify SHRT in the date reference field to revert back to condition names of standard length.

  • Long condition names cannot be used in CMEM rule definitions.

  • If you want to use the UFLOW (unique flow) feature, the condition names must not exceed 36 characters since the UFLOW feature concatenates a unique 3-character long suffix to the name of any condition that connects jobs within the ordered table.

Figure 186 Long DO COND Condition

Copy
JOB: IEFBR14  LIB CTMP.V610.SCHEDULE                      TABLE: PHILL1
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  IN      CTM-DAILYPRD-ENDEDXX ODAT      CTM-DAILYSYS-ENDEDXX ODAT    
  CONTROL                                                              
  RESOURCE                                                             
  PIPE                                                                 
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY 00  SAC    CONFIRM 
  TIME ZONE:                                                           
  =====================================================================
  OUT                                                                  
  AUTO-ARCHIVE Y           SYSDB    Y     MAXDAYS     MAXRUNS          
  RETENTION:  # OF DAYS TO KEEP        # OF GENERATIONS TO KEEP        
  SYSOUT OP   (C,D,F,N,R)                                          FROM
  MAXRERUN      RERUNMEM                           INTERVAL      FROM  
  STEP RANGE         FR (PGM.PROC)            .          TO       .    
  ON PGMST +EVERY   PROCST STEP1      CODES SOC4                    A/O
    DO COND      (L) THIS-IS-A-LONG-DO-C0ND-CONDITION-NAME ODAT  
  ON PGMST          PROCST            CODES                         A/O
    DO                                                                 
  ON SYSOUT                                       FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN NOTOK     TIME       +     DAYS     TO OPER2        URGN R 
    MS   LOADING OF MANUAL CONDITIONS SCREEN FAILED. CALL OP MANAGER.  
  SHOUT WHEN           TIME       +     DAYS     TO              URGN   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            16.30.17

Differences between OUT and DO COND

OUT and DO COND statements have the following differences:

  • An OUT statement is applied only if the job ends OK. DO COND statements are associated with accompanying ON statements and are applied only if the accompanying ON step and code criteria are satisfied.

  • An OUT statement appears in each job scheduling definition. No DO COND statement appears unless specified. To specify a DO COND statement, type COND in an empty DO field and press Enter.

  • DO COND statements are processed after OUT statements and can therefore override OUT statements.

  • MVS restart can only be requested from an OUT statement, not a DO COND statement.

Example for DO COND

The following example provides a simplified demonstration of how Control-M can be used to monitor IMS. Prerequisite conditions, CHANGE-ACCUMULATION and LOGCLOSE-NEEDED, can be used as IN prerequisite conditions to trigger the execution of IMS maintenance jobs that depend on those conditions.

Figure 187 DO COND Parameter

Copy
JOB: IMSPROD  LIB CTM.PROD.SCHEDULE                      TABLE: IMSPROD
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  =====================================================================
  OUT      IMS-ACTIVE           **** -                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                        FROM  
  MAXRERUN      RERUNMEM                           INTERVAL     FROM   
  STEP RANGE         FR (PGM.PROC)          .          TO        .     
  ON PGMST STEP01   PROCST          CODES U0421                   A/O  
    DO COND          CHANGE ACCUMULATION  ODAT +                  
    DO                                                                 
  ON PGMST STEP01   PROCST          CODES U0428                   A/O  
    DO COND          LOGCLOSE-NEEDED      ODAT +                 
    DO                                                                 
  ON PGMST STEP01   PROCST          CODES U0426                    A/O 
    DO SHOUT     TO  U-DBA              URGENCY V                      
     = *** IMSPROD ABENDED WITH U0426 ****                             
    DO                                                                 
  ON PGMST          PROCST          CODES                          A/O  
    DO                                                                 
  ON SYSOUT                                       FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

DO CTBRULE: Post–processing Parameter

Invokes a Control-M/Analyzer rule to be executed during the processing of a specific program step. Available only at sites utilizing Control-M/Analyzer.

Figure 188 DO CTBRULE Parameter Format

(Optional) Type CTBRULE in the DO field and press Enter. The DO CTBRULE subparameters are described in Table 179.

Table 179 DO CTBRULE Subparameters

Subparameter

Description

rule_name

Name of the Control-M/Analyzer rule that is to be executed. The Control-M/Analyzer rule contains all balancing specifications to be performed. The rule name can be a maximum of eight characters. Mandatory.

arg

(Optional) Arguments that are passed to the Control-M/Analyzer rule. Separate multiple arguments by commas. A maximum of 45 characters can be specified.

General Information for DO CTBRULE

When DO CTBRULE is specified, balancing is performed by the Control-M/Analyzer Runtime environment according to the specified rule definition and using the specified arguments. The Control-M/Analyzer Runtime environment is invoked once for each DO CTBRULE statement in the job scheduling definition.

If DO CTBRULE is specified under ON PGMST ANYSTEP, the Control-M/Analyzer Runtime environment is invoked only once.

When Control-M calls a Control-M/Analyzer rule, the Control-M/Analyzer System variable SYSOPT contains the value CTMWORK. This variable can then be tested within the Control-M/Analyzer rule definition to determine if Control-M invoked the Control-M/Analyzer Runtime environment.

When the Control-M/Analyzer Runtime environment is invoked by Control-M, that is, the Control-M/Analyzer System variable SYSOPT is set to CTMWORK, Control-M/Analyzer can analyze and balance SYSDATA. For more information about invoking Control-M/Analyzer rules from Control-M job scheduling definitions, see the discussion of the interface to Control-M in the Control-M/Analyzer FOR z/OS User Guide.

Example for DO CTBRULE

If the job ends OK, execute Control-M/Analyzer balancing rule GOVTBAL.

Figure 189 DO CTBRULE Parameter Example

Copy
JOB: GOVTREPT LIB CTM.PROD.SCHEDULE                       TABLE: BACKUP
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  TIME: FROM       UNTIL       PRIORITY     DUE OUT       SAC  CONFIRM 
  TIME ZONE:                                                           
  =====================================================================
  OUT      FINANCE-GOVTREPT-OK  ODAT +                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                        FROM  
  MAXRERUN     RERUNMEM                          INTERVAL       FROM  
  STEP RANGE         FR (PGM.PROC)          .          TO          .   
  ON PGMST ANYSTEP  PROCST          CODES OK                      A/O  
    DO CTBRULE   = GOVTBAL  ARG DOREPORT,10,%%ODATE                
    DO                                                                 
  ON PGMST          PROCST          CODES                         A/O  
    DO                                                                 
  ON SYSOUT                                     FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN NOTOK     TIME       +     DAYS     TO TS0-M44      URGN R 
    MS JOB GOVTREPT ENDED "NOT OK"                                    
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
    MS                                                                 
 ======= >>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<< ======
                                                                      
COMMANDS: EDIT, DOC, PLAN, JOBSTAT                             11.17.00

DO FORCEJOB: Post–processing Parameter

Force one or more jobs under Control-M.

Figure 190 DO FORCEJOB Parameter Format

(Optional) Type FORCEJOB in the DO field and press Enter. The DO FORCEJOB subparameters are described in Table 180.

Table 180 DO FORCEJOB Subparameter Formats

Subparameter

Description

TABLE

Name of Control-M table.

JOB

Job name. If this field is blank, all jobs in the specified table are forced.

UFLOW

Whether to force a unique job flow for the jobs in a table.

Relevant only when the JOB name is left blank.

A unique flow is not affected by conditions that might already exist as relationships between jobs in the AJF. This is accomplished by automatically adding unique suffixes (up to 3 characters long) to the new condition names.

Valid Values:

  • Y – Flow will be unique.

  • N – Flow will not be unique. Default.

DATE

6-character scheduling date for the jobs.

Valid Values:

  • date – Specific date (in either mmddyy, ddmmyy or yymmdd format, depending on the site standard).

  • ODAT – Inherit the original Control-M scheduling date of the job that issues the DO FORCEJOB command. Default.

  • DATE – Resolves to the current system date.

LIBRARY

Name of the scheduling library containing the specified table. The library name may contain auto-edit variables.

General Information for DO FORCEJOB

The DO FORCEJOB statement schedules jobs under Control-M even if the jobs are not normally scheduled on the specified date (according to the Basic Scheduling parameters of the job). It is similar to the FORCE option in the Control-M Rule List screen or Table List screen.

If the DO FORCEJOB statement specifies a job name belonging to multiple jobs in the table, the first job in the table with that job name is forced.

Without the DO FORCEJOB statement, emergency jobs and jobs that run in special circumstances would require daily scheduling or manual forcing (from the Online facility). By defining appropriate ON criteria and DO FORCEJOB statements, emergency or other special jobs can be automatically forced when required without being previously scheduled.

The DO FORCEJOB statement causes the Control-M monitor to dynamically allocate the job scheduling library specified in the LIBRARY parameter using the DD name ONSPLT.

When forcing all jobs in a table, the UFLOW subparameter enables you to determine whether the jobs are run as a unique flow.

DO FORCEJOB request during RESTART

The FORCONCE parameter in the CTMPARM member of the IOA PARM library may be set to control the behavior of DO FORCEJOB requests during a Restart of a job.

If DO FORCEJOB statements are not to be executed during the RESTART of a job if they were already executed during the original run of the job or during a previous RESTART of the job, then the FORCONCE parameter should be set to Y.

If DO FORCEJOB statements are always to be executed during the RESTART of a job (when the ON PGMST condition is satisfied), then the FORCONCE parameter should be set to N.

Failure of a DO FORCEJOB request

When a DO FORCEJOB request fails because the table is in use, Control-M may try again to execute the job, depending on the values set for the FORCE#RT and FORCE#WI installation parameters. For more information on the FORCE#RT and FORCE#WI installation parameters, see the INCONTROL for z/OS Installation Guide: Customizing.

When a DO FORCEJOB request fails because the table has been migrated, the action of Control-M depends on the value of the SCRECALL parameter in the CTMPARM member.

  • If the value of SCRECALL is Y, the table is recalled, and Control-M tries to reorder the job in the same way as if the table is in use.

  • If the value of SCRECALL is N, the table is not recalled, and the job is not scheduled. This is the default setting of SCRECALL.

For more information on the SCRECALL parameter, see the customization chapter of the INCONTROL for z/OS Installation Guide: Customizing.

Example for DO FORCEJOB

On any system or user abend on any step in job PRDKPL01, force emergency job PRDKPLSP.

Figure 191 DO FORCEJOB Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                     TABLE: PRODKPL
COMMAND ===>                                           SCROLL===> CRSR
+--------------------------------------------------------------------+
  ====================================================================
  OUT      PRDKPL01-ENDED-OK    ODAT +                                
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRU          
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEE          
  SYSOUT OP   (C,D,F,N,R)                                       FROM  
  MAXRERUN     RERUNMEM                       INTERVAL       FROM     
  STEP RANGE         FR (PGM.PROC)          .   TO          .         
  ON PGMST ANYSTEP  PROCST          CODES S***   U****           A/O  
    DO FORCEJOB  TABLE  EMRJOBS    JOB PRDKPLSP  UFLOW N    DATE ODAT 
                 LIBRARY CTM.PROD.SCHEDULE                        
    DO                                                                
  ON PGMST          PROCST          CODES                        A/O  
    DO                                                                
  ON SYSOUT                                    FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN NOTOK     TIME       +     DAYS     TO TS0-T4    URGN R  
    MS PRDKPL01 ENDED NOT OK, PLEASE CHECK IT                         
  SHOUT WHEN LATESUB    TIME 0200  +   DAYS  TO U-SHIFT-MANAGER  URGN R 
    MS PRDKPL01 WAS NOT SUBMITTED YET, PLEASE CHECK WHY               
  SHOUT WHEN           TIME       +     DAYS     TO            URGN   
    MS                                                                
 ======= >>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<< ======
COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

Confirmation Panel for DO FORCEJOB

If the DFJCONF profile variable is set to Y, and the JOB parameter in the DO FORCEJOB request is blank, a confirmation panel is displayed when exiting the Job Scheduling Definition screen. The confirmation panel is displayed only once for each DO FORCEJOB statement.

Figure 192 DO FORCEJOB Confirmation Panel

Copy
+----------------------------------------------------------+
|                                                          |
|  THIS JOB CONTAINS ONE OR MORE DO FORCEJOB STATEMENTS.   |
|  WHEN THE JOB IS ORDERED:                                |
|  ARE YOU SURE YOU WANT TO FORCE THE WHOLE TABLE IN THE   |
|  FORCEJOB STATEMENT(S)?    (Y/N)                         |
|                                                          |
+----------------------------------------------------------+

Enter Y to save the table and return to the Job List screen, or N to return to the table without saving it.

§Restart§DO IFRERUN: Post–processing Parameter

Job steps to be executed during restart of a job. Available only at sites utilizing Control-M/Restart.

Figure 193 §Restart§ DO IFRERUN Parameter Format

(Optional) Type IFRERUN in the DO field and press Enter. The DO IFRERUN subparameters are described in Table 181.

Table 181 §Restart§ DO IFRERUN Subparameter Formats

Subparameter

Description

FROM

Step at which the job must be restarted. Mandatory.

Valid Values:

  • pgmstep – program step within the job stream (see the following note)

  • pgmstep.procstep – program step within the called procedure (see the following note)

  • $FIRST – first step of the job

  • $ABEND – step of the job that ended NOTOK due to system abend, user abend, condition code C2000 (PL/1 abend) or JFAIL (job failed on JCL error)
    $ABEND is a subset of $EXERR (below)

  • $FIRST.$ABEND – first step of the abended procedure

  • $FIRST.$CLEANUP – this reserved keyword instructs Control-M to run a Control-M/Restart data set cleanup for the job
    Data set cleanup is performed from the first step of the job. The job itself is not restarted.

  • $EXERR – job step that ended with any error, including an abend, or that ended with a condition code that is redefined using the ON and DO statements as ENDED NOTOK

If, during a restart of the job, the Control-M/Restart step itself ends NOTOK, you must manually correct the problem encountered by the Control-M/Restart step and then restart the job once again. In such a case, Control-M/Restart does both of the following:

  • It restores DO IF RERUN decisions to their state before the last execution of the job.

  • It deactivates the DO RERUN action.

This enables Control-M/Restart to ignore the occurrence where the error arose during the operation of Control-M/Restart itself. This prevents rerun processing from looping.

TO

(Optional) Step at which the restarted job must terminate.

Valid Values:

  • pgmstep – Program step within the job stream (see the following note).

  • pgmstep.procstep – Program step within the called procedure (see the following note).

If not specified, the restarted job terminates at the last job step that would normally be executed.

For both FROM and TO steps, pgmstep is the name of the step (EXEC statement) that executes the program from which to begin or end the restart:

//pgmstep EXEC PGM=program

procstep is the name of the step (EXEC statement) that invokes the procedure from which the above pgmstep program is executed:

//procstep EXEC procedure

pgmstep and procstep values can each be 1 through 8 characters.

When specifying a procstep when the procedures are nested, the innermost procstep in which the program is included must be specified.

CONFIRM

Specifies whether a manual confirmation is required before the job is restarted.

Valid Values:

  • Y (Yes) – Confirmation required. The job restart is not submitted unless a manual confirmation is entered in the Active Environment screen.

  • N (No) – No confirmation required. The job restart can be automatically submitted (by the DO RERUN statement) without a manual confirmation. Default.

General Information for DO IFRERUN

When a DO IFRERUN statement is specified, the rerun is performed by the Restart facility of Control-M/Restart using the specified restart subparameters.

  • When DO IFRERUN is specified with a CONFIRM value of N (No):

    • If a DO RERUN statement follows, the job is automatically submitted for rerun.

    • If a DO RERUN statement does not follow, the job is not automatically rerun. Instead, the job remains displayed with its error status in the Active Environment screen.

      In this case, to submit the job for rerun or restart, specify option R (Rerun) in the Active Environment screen. The Rerun (with Restart) Confirmation Window is displayed. Request the restart or rerun from the window.

  • When DO IFRERUN is specified with a CONFIRM value of Y (Yes), the job appears in the Active Environment screen with a WAIT CONFIRMATION (WITH RESTART) status and is not restarted unless confirmed. Specify option C (Confirm) to open the Confirm window to restart the job.

§Restart§ For more information about job restart, see Active Environment Screen.

§Restart§ When a job is submitted for restart, if $FIRST is specified in the FROM subparameter, a $FIRST step specification is passed "as is" to the CONTROLR step. If $ABEND or $EXERR is specified, the specified $ABEND or $EXERR value is first resolved to the appropriate step by the Control-M monitor and then passed to the CONTROLR step. If $FIRST.$ABEND is specified, the Control-M monitor determines which procedure abended and then passes the $FIRST step specification for that procedure to the CONTROLR step. For information regarding the CONTROLR step, refer to the Control-M/Restart User Guide.

§Restart§ The Control-M parameter MAXRERUN determines the maximum number of times the restart or rerun can be performed. For more information, see MAXRERUN: Post–processing Parameter.

§Restart§ Example for DO IFRERUN

§Restart§ If the job abends on any step, restart (and automatically rerun) the job from the first abended step.

Figure 194 §Restart§ DO IFRERUN Parameter Example

Copy
JOB: PRDKL02 LIB CTM.PROD.SCHEDULE                      TABLE: PRODKPL
COMMAND ===>                                           SCROLL===> CRSR
+--------------------------------------------------------------------+
  TIME: FROM       UNTIL     PRIORITY     DUE OUT   SAC     CONFIRM   
  ====================================================================
  OUT                                                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUN         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP         
  SYSOUT OP   (C,D,F,N,R)                                       FROM  
  MAXRERUN      RERUNMEM                    INTERVAL         FROM     
  STEP RANGE         FR (PGM.PROC)       .      TO          .         
  ON PGMST ANYSTEP  PROCST UPDA     CODES S**** U**** C2000      A/O  
    DO IFRERUN   FROM $ABEND              TO                 CONFIRM N
    DO RERUN                                                          
    DO                                                                
  ON PGMST          PROCST          CODES                        A/O  
    DO                                                                
  ON SYSOUT                                    FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN           TIME       +     DAYS     TO            URGN   
    MS                                                                
======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<< =====
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                           15.26.42

DO MAIL: Post–processing Parameter

Send an e-mail message to the specified recipients.

Figure 195 DO MAIL Parameter Format

Copy
  ON PGMST               PROCST          CODES                    A/O
     DO MAIL                          ATTACH SYSOUT                  
   TO
   CC
   SUBJ
   TEXT

(Optional) Type MAIL in the DO field and press Enter. The DO MAIL subparameters are described in Table 182.

Table 182 DO MAIL Subparameter Formats

Subparameters

Description

TO

Destination of the message, limited to a maximum of 255 characters. Mandatory.

Valid Values:

  • the full e-mail address

  • a recipient name

If you use a recipient name, the full e-mail address is supplied by the MAIL section of the IOAPARM member in the IOA PARM library. The IOAPARM member also includes the value of the DFLTSFFX field, which specifies the e-mail address suffix (such as MAIL.DOMAIN.COM), the SMTP STC name, and the HOST name.

The @ character is taken from the ATSIGN parameter in the IOAPARM member.

  • the nick name or group name defined in MAILDEST member. For more information regarding MAILDEST member, see the INCONTROL for z/OS Administrator Guide.

You can use AutoEdit variables in this field, in any combination of text and valid AutoEdit variables.

CC

(Optional) Destination to which a copy of the message is to be sent, limited to a maximum of 255 characters.

Valid Values:

  • the full e-mail address

  • a recipient name

If you use a recipient name, the full e-mail address is supplied by the MAIL section of the IOAPARM member in the IOA PARM library. The IOAPARM member also includes the value of the DFLTSFFX field, which specifies the e-mail address suffix (such as MAIL.DOMAIN.COM), the SMTP STC name, and the HOST name.

The @ character is taken from the ATSIGN parameter in the IOAPARM member.

  • the nick name or group name defined in MAILDEST member. For more information regarding MAILDEST member, see the INCONTROL for z/OS Administrator Guide.

You can use AutoEdit variables in this field, in any combination of text and valid AutoEdit variables.

SUBJ

(Optional) Message subject of up to 70 characters.

TEXT

(Optional) Message text of up to 255 text lines, each with a maximum of 70 characters.

By default, lowercase text that you enter in the message body or subject line is translated to uppercase text. To enable lowercase text, set SZUMLCM to Y. For more information about this IOA Profile variable, refer to the INCONTROL for z/OS Administrator Guide.

§Restart§ ATTACH SYSOUT

If the value is:

  • Y - Control-M attaches the SYSOUT to the email

  • N - Control-M does not attach the SYSOUT to the email

  • D - Control-M uses the default specified by the ATTSYSOT system parameter

General Information for DO MAIL

The specified e-mail is sent to the specified destinations when the accompanying ON statement criteria are satisfied. Although an e-mail can be sent using a DO SHOUT statement, the DO MAIL statement provides the following advantages:

  • Using DO MAIL, you can specify any number of TO and CC recipients. With DO SHOUT, you must specify the mail destination prefix, and you must define the address in the MAILDEST table.

  • Using DO MAIL, the e-mail text can exceed 70 characters. System variables and user-defined AutoEdit variables (Global IOA variables and variables defined in the SET VAR job scheduling definition parameter only) are supported in the subject line and message text. These variables are resolved when the DO MAIL statement is processed.

The resolved value of an AutoEdit variable is truncated after 70 characters. For information on the use of AutoEdit variables, see JCL and AutoEdit Facility.

If installation parameter ATTSYSOT=Y, the job's SYSOUT will be attached to the email message. Setting ATTSYSOT=Y ensures that the SYSOUT is attached to any job where DO Mail is specified.

However, if you only need to attach SYSOUTs to specific jobs, then set ATTSYSOT=N, and set the ATTACH SYSOUT subparameter to Y only for those specific jobs.

The SYSOUT attached to the email message is the first three SYSOUT datasets of the job. The attachment file name has the following format:

<jobname>-D<ldate>-O<orderid>-R<run-number>.txt

The file attachment size limit, if any, is determined by the Control-M ATTSOTSZ customization parameter. See the INCONTROL for z/OS Installation Guide for details.

Attaching SYSOUT data can only be executed if the job's SYSOUT was successfuly extracted by Control-M from SPOOL and saved in Control-M Archived SYSOUT data sets. Attaching SYSOUT cannot be performed, for example, in the following cases:

  • Control-M/Restart is not installed (and therefore Control-M Archived SYSOUT data sets are not created).

  • The AUTO-ARCHIVE parameter set to 'N' for the job.

  • For DUMMY jobs

  • The job was not submitted.

  • The job finished ENDED NOTOK with "Job Disappeared" or "Error Reading SYSOUT" status.

Subparameters TO and CC

Each of these parameters can contain more than one mail name address. When a value is specified in the TO or CC field, a new empty line is displayed so that an additional value can be specified (up to a maximum of 255 lines).

Multiple addresses, separated by a semicolon (;), can be specified on a line.

If an address exceeds the length of a full line, it can be continued on the following line.

Example for DO MAIL

If the job is not run due to a JCL error, send an e-mail to the relevant users:

Figure 196 DO MAIL Parameter Example

Copy
JOB: SACALC01 LIB CTM.PROD.SCHEDULE                       TABLE: SALES
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  =====================================================================
  OUT                                                                  
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                        FROM  
  MAXRERUN     RERUNMEM                          INTERVAL      FROM    
  STEP RANGE         FR (PGM.PROC)          .        TO       .        
  ON PGMST ANYSTEP  PROCST          CODES JNRUN                   A/O  
    DO MAIL                          ATTACH SYSOUT Y              
  TO   MAIL_ADDRESS_#1                                            
       MAIL_ADDRESS_#2                                            
  CC   MAIL_ADDRESS_#3;MAIL_ADDRESS_#4                            
  SUBJ WARNING MESSAGE                                            
  TEXT JCL ERROR IN SALES JOB! PLEASE CORRECT ERRORS AND RERUN THE JOB
    DO                                                                 
  ON PGMST          PROCST          CODES                         A/O  
    DO                                                                 
  ON SYSOUT                                     FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
    MS                                                                 
======= >>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<< =====
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

DO NOTOK: Post–processing Parameter

Set the status of the job step to NOTOK if the accompanying ON step and code criteria are satisfied. If specified in a SMART Table Entity, the termination status of the SMART Table is set to NOTOK.

Figure 197 DO NOTOK Parameter Format

(Optional) Type NOTOK in the DO field and press Enter. DO NOTOK has no subparameters.

General Information for DO NOTOK

A DO NOTOK statement can change the status of a job step from OK to NOTOK. This results in the job having a final termination status of ENDED NOTOK.

When specified in a SMART Table Entity, a DO NOTOK statement changes the termination status of the SMART Table (not the status of jobs or job steps).

The following paragraphs describe the relationship of job step status and the final termination status of the job.

  • Control-M determines the status of each individual step in a job before determining the final status of the job.

  • After examining the results of a job step, Control-M automatically assigns a status of OK or NOTOK to the step:

    • By default, any job step ending with a condition code of C0000 through C0004 is assigned a status of OK, but the INCONTROL administrator can change this.

    • If any other condition code, system or user abend code, or user event is generated, the step is automatically assigned a status of NOTOK.

  • In general, if any of the steps in a job ends with a status of NOTOK, the job is assigned a final status of ENDED NOTOK. For a job to be assigned a final status of ENDED OK, each step in the job must be assigned a status of OK.

This logic suits most situations. Do not change it. However, there may be a situation in which Control-M assigned a step a status of OK, but the status ought to be changed to NOTOK. Such a situation is described in the following example. The job ended with a condition code of C0004, but in this particular situation, it is better that the step have a status of NOTOK and the entire job be assigned a status of ENDED NOTOK.

DO NOTOK cannot be specified for the same ON step and code event as DO OK.

When a DO NOTOK statement is performed for a step, the final status of the job is ENDED NOTOK, even if was previously set to ENDED OK.

A DO NOTOK statement is ignored if it is specified in an ON PGMST +EVERY statement. However, for a method that avoids this limitation, see the example of forcing Control-M to end a job with a NOTOK status, when every step in the job is flushed, described in Step Name: +EVERY.

Example for DO NOTOK

When PROCST UPDA in PGMST STEP06 finishes executing with a condition code of C0004, it is considered NOTOK.

Figure 198 DO NOTOK Parameter Example

Copy
JOB: PRDKPL02 LIB CTM.PROD.SCHEDULE                      TABLE: PRODKPL
COMMAND ===>                                           SCROLL===> CRSR
+---------------------------------------------------------------------+
  OUT                                                                  
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                         FROM 
  MAXRERUN     RERUNMEM                          INTERVAL      FROM    
  STEP RANGE         FR (PGM.PROC)        .         TO        .        
  ON PGMST STEP06   PROCST UPDA     CODES C0004                   A/O  
    DO NOTOK                                                      
    DO                                                                 
  ON PGMST          PROCST          CODES                          A/O 
    DO                                                                 
  ON SYSOUT                                       FROM 01 TO 132    A/O
    DO                                                                 
  ON VAR                                                               
    DO                                                                 
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
    MS                                                                 
 ======= >>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<< ===
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            15.16.03

DO OK: Post–processing Parameter

Set the status of the job step to OK if the accompanying ON step and code criteria are satisfied. If specified in a SMART Table Entity, the termination status of the SMART Table is set to OK.

Figure 199 DO OK Parameter Format

(Optional) Type OK in the DO field and press Enter. DO OK has no subparameters.

General Information for DO OK

A DO OK statement can change the status of a job step from NOTOK to OK. If all steps of a job have a status of OK the job is assigned a final termination status of ENDED OK.

When specified in a SMART Table Entity, a DO OK statement changes the termination status of the SMART Table (not the status of jobs or job steps).

The relationship between job step status and the final termination status of the job is as follows:

Control-M determines the status of each individual step in a job before determining the final status of the job.

After examining the results of a job step, Control-M automatically assigns a status of OK or NOTOK to the step:

  • By default, any job step ending with a condition code of C0000 through C0004 is assigned a status of OK, but the INCONTROL administrator can change this.

  • If any other condition code, system or user abend code, or user event is generated, the step is automatically assigned a status of NOTOK.

In general, if any of the steps in a job ends with a status of NOTOK, the job is assigned a final status of ENDED NOTOK. For a job to be assigned a final status of ENDED OK, each step in the job must be assigned a status of OK.

This logic suits most situations. Do not change it. However, there may be a situation in which Control-M assigned a step a status of NOTOK, but the status ought to be changed to OK. Several such exceptional situations are described below:

  • The NOTOK status is inappropriate for the job step. For example, a condition code greater than C0004 was returned for a step that had an acceptable result.

  • The NOTOK status is appropriate for the job step, but the job step is not critical, and ought not to affect the final job status.

  • User events created using Exit CTMX003 always result in a NOTOK status unless DO OK is specified.

DO OK cannot be specified for the same ON step and code event as DO NOTOK and DO RERUN.

A DO OK statement specified in the job scheduling definitions is ignored if one of the following occurs:

  • any of the following status codes apply to any step:

    • EXERR

    • JNSUB

    • *REC0

    • *UKNW

  • it was specified as part of an ON PGMSTEP ANYSTEP ..... CODE NOTOK condition, because if that condition is satisfied, the status of the job has already been set to NOTOK

  • it is specified in an ON PGMST +EVERY statement

For more information, see CODES Values.

Since the DO OK action is inherently associated with a job step and not the job as a whole, its interaction with the reserved step name ANYSTEP is as follows:

The return code of each step of the job is examined to determine whether it satisfies the codes specified in the CODES parameter. If the CODES are satisfied, that step is 'explained' and that particular step is given a status of OK. Any job step whose return code does not satisfy the CODES is 'unexplained' and will cause a SEL216W message to be issued and the corresponding job step to be marked as NOTOK. The job's final status is then determined as described above.

Example for DO OK

When PROCST UPDA in PGMST STEP08 finishes executing with a condition code less than C0008, it is considered OK.

Figure 200 DO OK Parameter Example

Copy
JOB: PRDKPL02 LIB CTM.PROD.SCHEDULE                     TABLE: PRODKPL
COMMAND ===>                                           SCROLL===> CRSR
+--------------------------------------------------------------------+
  OUT                                                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS        
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP         
  SYSOUT OP   (C,D,F,N,R)                                        FROM 
  MAXRERUN     RERUNMEM                             INTERVAL   FROM    
  STEP RANGE         FR (PGM.PROC)          .        TO        .      
  ON PGMST STEP08   PROCST UPDA     CODES <C0008                  A/O 
    DO OK                                                         
    DO                                                                
  ON PGMST          PROCST          CODES                         A/O 
    DO                                                                
  ON SYSOUT                                     FROM 01 TO 132    A/O
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO            URGN   
    MS                                                                
======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<< ======
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                          15.16.03

DO REMEDY: Post–processing Parameter

Open a problem ticket within the Remedy Helpdesk System, for example, when a specific job fails.

Figure 201 DO REMEDY Parameter Format

(Optional) Type REMEDY in the DO field and press Enter. The DO REMEDY subparameters are described in Table 183.

Table 183 DO REMEDY Subparameter Formats

Subparameters

Description

URGENCY

Urgency of the message. Mandatory.

Valid Values:

  • ' ' (Blank space) – This is equivalent to L–Low. Default.

  • L–Low

  • M–Medium

  • H–High

  • U–Urgent

SUMM

Text, summarizing the description of the reason for opening a Remedy Helpdesk ticket, of up to 2 text lines, with a maximum 122 characters. Mandatory.

You can use any combination of text and valid AutoEdit variables.

DESC

Text, describing the reason for opening a Remedy Helpdesk ticket, of up to 15 text lines, with a maximum of 1018 characters. Mandatory.

You can use any combination of text and valid AutoEdit variables.

General Information for DO REMEDY

An e-mail message is sent to the Remedy Helpdesk when the accompanying ON statement criteria are satisfied. To close the ticket, you must access the Remedy online service. You can use AutoEdit variables in the SUMM and DESC fields, in any combination of text and valid AutoEdit variables.

The resolved value of an AutoEdit variable is truncated after 70 characters. For information on the use of AutoEdit variables, see JCL and AutoEdit Facility.

Example for DO REMEDY

A job did not run due to a JCL error. This causes a Remedy Helpdesk ticket to be opened.

Figure 202 DO REMEDY Example

Copy
JOB: SACALC01 LIB CTMP.V700.SCHEDULE                     TABLE: SALES
COMMAND ===>                                           SCROLL===> CRSR
+---------------------------------------------------------------------+
| =================================================================== |
| OUT                                                                 |
| AUTO-ARCHIVE Y          SYSDB    Y     MAXDAYS     MAXRUNS          |
| RETENTION:  # OF DAYS TO KEEP     # OF GENERATIONS TO KEEP          |
| SYSOUT OP   (C,D,F,N,R)                                      FROM   |
| MAXRERUN      RERUNMEM                        INTERVAL    FROM      |
| STEP RANGE         FR (PGM.PROC)          .        TO       .       |
| ON PGMST ANYSTEP  PROCST          CODES JNRUN                 A/O   |
|   DO REMEDY                           URGENCY U                     |
| SUMM JCL ERROR IN SALES JOB                                         |
|                                                                     |
| DESC A JCL ERROR OCCURED IN THE SALES JOB.  PLEASE CORRECT AND      |
| RERUN THE JOB.                                                      |
|                                                                     |
|   DO                                                                |
| ON PGMST          PROCST          CODES                       A/O   |
|   DO                                                                |
| ON SYSOUT                                  FROM 001 TO 132    A/O   |
|   DO                                                                |
| ON VAR                                                              |
|   DO                                                                |
| SHOUT WHEN          TIME       +     DAYS    TO            URGN     |
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            17.44.21

DO REMFORCE: Post–processing Parameter

Force one or more jobs under a remote Control-M with the capability of passing parameters to the target job(s).

Figure 203 DO REMFORCE Parameter Format

Copy
     DO REMFORCE    CONTROL-M   MPM900               UFLOW N DATE 251214
 TABLE table_name                                                      
 JOB  jobname 
 LIBRARY             
 VAR  %%Var1=Value1
 VAR  %%Var2=Value2

(Optional) Type REMFORCE in the DO field and press Enter. The DO REMFORCE subparameters are described in Table 184.

Table 184 DO REMFORCE Subparameter Formats

Subparameter

Description

CONTROL-M

Name of the remote Control-M server.

UFLOW

Whether to force a unique job flow for the jobs in a table.

Relevant only when the JOB name is left blank.

A unique flow is not affected by conditions that might already exist as relationships between jobs in the AJF. This is accomplished by automatically adding unique suffixes (up to 3 characters long) to the new condition names.

Valid Values:

  • Y – Flow will be unique.

  • N – Flow will not be unique. Default.

DATE

6-character scheduling date for the jobs.

Valid Values:

  • date – Specific date (in either mmddyy, ddmmyy or yymmdd format, depending on the site standard).

  • ODAT – Inherit the original Control-M scheduling date of the job that issues the DO REMFORCE command. Default.

  • DATE – Resolves to the current system date.

TABLE

Name of Control-M table. 64-character limit.

JOB

Job name. If this field is blank, all jobs in the specified table are forced. 64-character limit.

LIBRARY

Name of the scheduling library containing the specified table. The library name may contain auto-edit variables.

%%variable=value

Auto-edit local variable and its value. Global and pool variables are not supported as the variable names, but can be specified as part of the variable value.

Variable names are limited to 255-characters. A long variable name can continue on the following line. Long variable values up to 1024 characters are supported and can be continued on several lines.

By default, lowercase text that you enter in any of the DO REMFORCE parameters is translated to uppercase text. To enable lowercase text, set SZUMLCM to Y. For more information about this IOA Profile variable, refer to the INCONTROL for z/OS Administrator Guide.

General Information for DO REMFORCE

The DO REMFORCE statement schedules jobs under a remote Control-M even if the jobs are not normally scheduled on the specified date (according to the Basic Scheduling parameters of the job).

If the DO REMFORCE statement specifies a job name belonging to multiple jobs in the table, the first job in the table with that job name is forced.

For a list of valid Control-M server names for use in the CONTROL-M sub-parameter, open the Control-M Configuration Manager (CCM). Valid Control-M server names are displayed in the "Name" column for entries of Type ‘Control-M Server’.

To determine whether a particular datacenter is a mainframe (MF) or a distributed (DS) datacenter, select the entry and in the Properties pane, under the "More properties" section, read what is displayed by the "Operation system" heading. A mainframe datacenter is indicated by "z/OS nn.mm". (Double clicking on the Control-M Server entry will also display the server definitions.)

In order to successfully execute a DO REMFORCE statement, the job’s OWNER must be defined in Control-M/EM.

When forcing all jobs in a table, the UFLOW subparameter enables you to determine whether the jobs are run as a unique flow.

Example for DO REMFORCE

On any system or user abend on any step in job PRDKPL01, force emergency job PRDKPLSP under Control-M MVS900.

Figure 204 DO REMFORCE Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                      TABLE: PRODKPL
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  =====================================================================
  OUT      PRDKPL01-ENDED-OK    ODAT +                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                        FROM  
  MAXRERUN     RERUNMEM                              INTERVAL   FROM   
  STEP RANGE         FR (PGM.PROC)          .          TO          .   
  ON PGMST ANYSTEP  PROCST          CODES S***   U****            A/O  
    DO REMFORCE    CONTROL-M   MVS900              UFLOW N DATE 251214 
  TABLE   EMRJOBS       
  JOB   PRDKPLSP     
  LIBRARY CTM.PROD.SCHEDULE
  VAR  %%Var1=Value1
  VAR  %%Var2=Value2
      DO                                                              
  ON PGMST          PROCST          CODES                        A/O  
    DO                                                                
  ON SYSOUT                                   FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN NOTOK     TIME       +     DAYS     TO TS0-T43    URGN R  
    MS PRDKPL01 ENDED NOT OK, PLEASE CHECK IT                         
  SHOUT WHEN LATESUB    TIME 0200  +   DAYS  TO U-SHIFT-MANAGER  URGN R 
    MS PRDKPL01 WAS NOT SUBMITTED YET, PLEASE CHECK WHY                
  SHOUT WHEN           TIME       +     DAYS     TO            URGN   
    MS                                                                
 ======= >>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<< ======
COMMANDS: EDIT, DOC, PLAN, JOBSTAT                             11.17.00

DO RERUN: Post–processing Parameter

Reschedules the job (for rerun) if the accompanying ON step and code criteria are satisfied.

Figure 205 DO RERUN Parameter Format

(Optional) Type RERUN in the DO field and press Enter. DO RERUN has no subparameters.

General Information for DO RERUN

The RERUN statement is intended for situations in which a job must be rescheduled following an unsuccessful job run.

Rerun jobs remain in the Active Jobs file with a status of WAIT SCHEDULE, where they wait to be submitted like any other job. However, other parameters, such as CONFIRM and DO IFRERUN, can affect the status of the rerun job order and the submission and processing of the job:

  • A Y value specified in the CONFIRM parameter indicates that manual confirmation is required before submitting the rerun job order. In this case, the rerun job order is placed in the Active Jobs file with a status of WAIT CONFIRMATION (FOR SCHEDULE). The job can be confirmed by option C (Confirm) in the Active Environment screen.

  • A DO IFRERUN statement before the DO RERUN statement indicates that a restart is desired instead of a full rerun. The job order is placed in the Active Jobs file with a status of WAIT SCHEDULE – WITH RESTART, where the job waits to be submitted from the indicated restart step. Confirmation can also be required for restart jobs. This, too, is performed from the Active Environment screen. For more information, see §Restart§DO IFRERUN: Post–processing Parameter.

For information about confirmation, see Confirm Rerun Window and §Restart§Rerun and/or Restart Window (Under Control-M/Restart).

Job rerun is also affected by the MAXRERUN, RERUNMEM and INTERVAL parameters.

  • MAXRERUN specifies the maximum number of times the job must be scheduled for rerun.

  • RERUNMEM specifies the JCL member to be used for the rerun (if different from the normal JCL member of the job).

  • INTERVAL specifies the number of minutes to wait between reruns.

These parameters are described in this chapter.

DO RERUN cannot be specified for a cyclic job or a cyclic started task.

DO RERUN cannot be specified for the same ON step and code event as DO OK.

Do not specify DO RERUN for steps that have a specified ON statement code value of OK.

Do not specify DO RERUN for steps that have a specified ON statement code value of NOTOK because many of the causes of a NOTOK status, such as JCL not found, preclude the possibility of a successful job rerun. Instead, specify an ON statement code value of EXERR to accompany the DO RERUN statement.

When a DO RERUN statement is performed for a job (that is, the accompanying ON step and code criteria are satisfied), the previously run job is automatically assigned a final status of ENDED NOTOK, even if the job would have otherwise had a status of ENDED OK.

Example for DO RERUN

If job EF145TS abends during step name COLLECT, try to run another job from member EF145TSR that continues from the same place.

Figure 206 DO RERUN Parameter Example

Copy
JOB: EF145TS  LIB CTM.PROD.SCHEDULE                     TABLE: EFPROD
COMMAND ===>                                          SCROLL===> CRSR
+-------------------------------------------------------------------+
  ==================================================================
  OUT                                                                
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS       
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP       
  SYSOUT OP   (C,D,F,N,R)                                       FROM 
  MAXRERUN      RERUNMEM                           INTERVAL    FROM  
  STEP RANGE         FR (PGM.PROC)          .          TO     .      
  ON PGMST COLLECT  PROCST          CODES S***   U****            A/O 
    DO RERUN                                                      
    DO                                                               
  ON PGMST          PROCST          CODES                        A/O 
    DO                                                               
  ON SYSOUT                                   FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS   TO             URGN   
    MS                                                               
======= >>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<< ======
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                          11.17.00

DO SET: Post–processing Parameter

Assigns a value to an AutoEdit variable that can be used to set up the JCL of the next submission of a cyclic or rerun or restarted job, or to define a Global variable in the IOA Global Variable Database.

DO SET and SET VAR statements are similar, but not identical. The differences are outlined in Differences between DO SET and SET VAR.

Figure 207 DO SET Parameter Format

(Optional) Type SET in the DO field and press Enter. The DO SET subparameter is described in Table 185.

Table 185 DO SET Subparameter

Subparameter

Description

VAR

User-defined variable and the value to be assigned. Mandatory.

Replace the %%?=? prompt with the desired parameter, in the format:

%%variable=expression

For more information, see SET VAR: General Job Parameter.

General Information for DO SET

A major advantage of using AutoEdit variables is that the JCL can be submitted with different values for different executions without actually changing the JCL.

There are two types of AutoEdit variables:

  • System variables, which are assigned values by the system

  • User-defined variables, for which the user must supply values; these variables can be either local or global

One method of supplying a value for a user-defined variable is by defining the variable and its value in a DO SET statement.

During job processing, the value is assigned at time of job submission. However, DO SET is a post-processing statement, which means that before it can be applied, its accompanying ON criteria must be satisfied in a job run.

Therefore, the DO SET statement is generally useful for supplying local user-defined variables for cyclic, rerun, or restarted jobs.

When the ON criteria of a DO SET statement that defines a local variable are satisfied during a job run, Control-M creates a SET VAR statement equivalent to the DO SET statement (that is, containing the same variable and value) in the subsequent job run.

At time of job submission, AutoEdit variables in the JCL are resolved in the order in which they appear in the JCL. By default, if an AutoEdit variable cannot be resolved, the job is not submitted. This default can be changed using an appropriate %%RESOLVE AutoEdit control statement.

If the JCL contains an AutoEdit variable that is resolved in a subsequent run by a DO SET statement, the variable must be resolved by some other method, such as a SET VAR statement, in the original run, or the job is not submitted.

DO SET statements can also be used to define and update Global Variables in the IOA Global Variable database. The database is updated as part of job post-processing, when the DO SET statement is processed. For more information on Global Variables, including Global Variable syntax, see JCL and AutoEdit Facility.

An unlimited number of DO SET statements can be specified.

JCL Setup and the AutoEdit facility are described in depth in JCL and AutoEdit Facility.

Differences between DO SET and SET VAR

DO SET and SET VAR statements are similar but have the following differences:

  • Local variables in SET VAR statements are always applied before the job is submitted. DO SET is a post-processing statement that can only be applied after its accompanying ON step and code criteria are satisfied. This means that a local value specified in the DO SET statement can only be applied in the next submission of the job (specifically, for cyclic and rerun or restarted jobs).

  • Global variables specified in a SET VAR statement are defined or updated in the IOA Global Variable database before job submission. Global variables specified in a DO SET statement are defined or updated in the IOA Global Variable database as part of job post-processing

  • The SET VAR statement appears in each job scheduling definition. The DO SET statement does not appear unless specified. To specify a DO SET statement, type SET in an empty DO field and press Enter.

  • In the SET VAR statement, the parameter value is specified after the keyword VAR. In the DO SET statement, the parameter value is specified after the keyword VAR=.

Example for DO SET

If the job execution fails on any step due to a system or user abend, resolve the %%PARM parameter in the JCL to RESTART, restart from the first abended step, and automatically rerun.

Figure 208 DO SET Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                    TABLE: PRODKPL
COMMAND ===>                                          SCROLL===> CRSR
+-------------------------------------------------------------------+
=====================================================================
OUT      PRDKPL01-ENDED-OK    ODAT +                                 
AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP           
SYSOUT OP   (C,D,F,N,R)                                          FROM 
MAXRERUN     RERUNMEM                              INTERVAL    FROM   
STEP RANGE         FR (PGM.PROC)          .          TO        .      
ON PGMST ANYSTEP  PROCST          CODES S***   U****  C2000       A/O 
  DO IFRERUN   FROM $ABEND   .          TO          .       CONFIRM N
  DO RERUN                                                      
  DO SET       VAR= %%PARM=RESTART                              
  DO                                                                  
ON PGMST          PROCST          CODES                           A/O 
  DO                                                                 
ON SYSOUT                                      FROM 001 TO 132    A/O  
  DO                                                                
ON VAR                                                              
  DO                                                                
SHOUT WHEN           TIME       +     DAYS     TO              URGN   
  MS                                                                  
======= >>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<< ======
COMMANDS: EDIT, DOC, PLAN, JOBSTAT                           11.17.00

DO SHOUT: Post–processing Parameter

Specifies a message to be sent ("shouted") to a specific destination when a specific situation occurs.

DO SHOUT and SHOUT statements are similar, but not identical. The differences are outlined in Differences between SHOUT and DO SHOUT.

Figure 209 DO SHOUT Parameter Format

(Optional) Type SHOUT in the DO field and press Enter. The DO SHOUT subparameters are described in Table 186.

Table 186 DO SHOUT Subparameters

Subparameter

Description

TO

Destination of the message (1 through 16 characters). Mandatory.

Valid Values:

  • U-userid or USERID-userid – Writes the message to the IOA Log file under the specified user ID. userid must be1 through 8 characters.

  • OPER[–n] – Sends a rollable message to the operator console. n is an optional 3-digit route code. If a route code is not specified, the default routes are Master Console and Programmer Information (1 and 11), and optionally, Control-M/Enterprise Manager. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102.

  • OPER2[–n] – Sends an unrollable, highlighted message to the operator console. n is an optional 3-digit route code. If a route code is not specified, the default routes are Master Console and Programmer Information (1 and 11), and optionally, Control-M/Enterprise Manager. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102.

  • [TSO - loginid | T - loginid] [;Nn | ;Mm | ;NnMm | ;Lname] – Sends the message to the specified ID (groupid or logonid). ID is mandatory.
    If a groupid is specified, it must be a valid ID found within the IOA Dynamic Destination Table.
    If a logonid is specified, it must be 1 through 7 characters.
    An optional second value, indicating the computer and/or node (such as Mm) of the TSO logonid, can be specified, as follows:

    Under JES2:

    Valid Values: Nn, Mm or NnMm, where:

    • – m is the machine ID (the computer in JES2, not the 4-character SMF system ID). For more information, see the discussion on specifying IOA CPUs in the description of the customization process in the INCONTROL for z/OS Installation Guide.

    • – n is the 1 to 2 character JES/NJE node ID.

    Under JES3:

    The only valid value is Lname, where Lname is the logical JES name of the machine (that is, the name as used in JES3 command *T, not the SMF system ID).

    For more information, see the discussion on specifying IOA CPUs in the description of the customization process in the INCONTROL for z/OS Installation Guide.

    A shout to a TSO user performs a TSO SEND command, which may require authorization at the receiving node.

  • U-M:email_dest – Sends a message by e-mail to the recipient identified by the variable (email_dest), which consists of from 1 through 12 characters, and can be any of the following:

    • an e-mail name prefix, based on the full mail name address that is supplied by the MAILDEST table in the IOA PARM library

    • a nickname defined in the MAILDEST destination table

    • a group name defined in the MAILDEST destination table

  • U-S:snmp_dest – Sends an SNMP trap (message) to the recipient identified by snmp_dest.

    snmp_dest consists of from 1 through 12 characters, and can be any of the following:

    • a host name

    • an IP address, if it fits in the screen field. Otherwise use a nickname.

    • a nickname defined in the SNMPDEST destination table

    • a group name defined in the SNMPDEST destination table

  • U-ECS – Sends messages to the Control-M/Enterprise Manager user. For more information on this feature, see "Shouting to Control-M/Enterprise Manager" in General Information for DO SHOUT.

  • U-S:snmp_dest – Sends an SNMP trap (message) to the recipient identified by snmp_dest.
    snmp_dest consists of from 1 through 12 characters, and can be any of the following:
    — a host name
    — an IPaddress, if it fits in the screen field. Otherwise use a
         nickname.
    — a nickname defined in the SNMPDEST destination table
    — a group name defined in the SNMPDEST destination table

  • U-ECS – Sends messages to the Control-M/Enterprise Manager user. For more information on this feature, see "Shouting to Control-M/Enterprise Manager" in General Information for DO SHOUT.

URGENCY

Determines the priority level of the message.

Valid Values:

  • R – Regular. Default.

  • U – Urgent

  • V – Very urgent

=

Message text

Maximum length: 70 characters

AutoEdit variables (both system and user-defined) are supported and automatically resolved (replaced) at the time the SHOUT message is issued. For AutoEdit usage information, see JCL and AutoEdit Facility.

General Information for DO SHOUT

The message is sent to the required destination when the accompanying ON statement criteria are satisfied.

DO SHOUT statements can also be defined in SMART Table Entities, where they are used in a manner similar to jobs.

The TO Subparameter

Specify TO=USERID-userid to write the message to the IOA Log file under the user ID specified in the parameter.

Specify TO=OPER[–n] to send the message to the operator console (route code n). If the n value is omitted, the message is sent to all consoles to which route codes 1 or 11 are assigned. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102. Optionally, the message can also be sent to the Control-M/Enterprise Manager user, as described in "Shouting to Control-M/Enterprise Manager" below.

Specify TO=OPER2[–n] to send a highlighted, unrollable message to the operator console (route code n). If the n value is omitted, the message is sent to all consoles to which route codes 1 or 11 are assigned. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102. Optionally, the message can also be sent to the Control-M/Enterprise Manager user, as described in "Shouting to Control-M/Enterprise Manager" below.

Specify TO=TSO-id or T-id to send the message to a groupid or logonid. The Shout facility first searches the IOA Dynamic Destination table for the specified ID. If the table contains an entry (groupid) that matches the value, the content of the entry is used as the target for the shouted message. The entire TO field is used. Therefore, when directing the message to a remote user, do not append Nn or Mm. Instead, do this in the IOA Dynamic Destination Table itself. For more information, see the description of the Dynamic Destination Table in the INCONTROL for z/OS Administrator Guide.

If no matching ID is found in the Dynamic Destination table, the Shout facility assumes the specified ID is a logonid. It then creates a TSO message that it hands over to MVS. MVS then sends the message to that logonid. (If the logonid does not exist, MVS cannot send the message, but no error message is generated.) When a second value is used, the message is sent to the TSO logonid in the specified computer or node (machine ID). To determine the machine ID under JES2, specify JES command $D MEMBER.

Specify TO=U-M: email_dest to send the message by e-mail to the recipient identified by the variable (email_dest). For more information about mail destinations, see the INCONTROL for z/OS Administrator Guide. The IOAPARM member includes DFLTSFFX, the mail address suffix, such as MAIL.DOMAIN.COM, the SMTP STC name, and the HOSTNAME. If installation parameter ATTSYSOT=Y, the job's SYSOUT will be attached to the e-mail message.

Specify TO=U-S:snmp_dest to send the SNMP trap (message) to the recipient identified by snmp_dest. For more information about mail destinations, see the INCONTROL for z/OS Administrator Guide.

Shouting to Control-M/Enterprise Manager

For Control-M to be able to shout to Control-M/Enterprise Manager, the following conditions must be satisfied at the site:

  1. Control-M/Enterprise Manager must be installed and the ECS parameter must be set to Y in member IOAPARM in the IOA PARM library.

  2. File MG2 (the Control-M/Enterprise Manager Shout File) must be defined.

  3. The following parameters in the IOAPARM member in the IOA PARM library must be defined according to how messages are targeted to Control-M/Enterprise Manager:

    • If TO=OPER and TO=OPER2 messages must be sent to Control-M/Enterprise Manager, the OPER2ECS parameter must be set to Y (Yes). Otherwise, it must be set to N (No).

      When OPER2ECS is set to Y:

      • If these messages must also be sent to the MVS operator console, the OPER2CON parameter must also be set to Y (Yes).

      • If these messages must not also be sent to the MVS operator console, the OPER2CON parameter must also be set to N (No).

    • If TO=U-ECS messages must be sent to Control-M/Enterprise Manager, the UECS2ECS parameter must be set to Y (Yes); otherwise, it must be set to N (No). Regardless of the value of this parameter, these messages are also sent to Control-M and the IOA Log.

Once the above conditions are satisfied, messages can be shouted to Control-M/Enterprise Manager by specifying a destination of TO=OPER or TO=OPER2 (without a route code qualifier), or TO=U-ECS.

Such messages are then placed by Control-M in the M2G file. Once the shouted message is in the M2G file, the Control-M Application Server reads the file and sends the message to the Control-M/Enterprise Manager user.

The URGENCY Subparameter

The URGENCY value indicates the urgency level of the message.

In addition, if the destination is USERID-userid (or U-userid), the user can control, according to urgency, which messages are displayed when the IOA Log file is accessed. Urgent and very urgent messages are highlighted on the screen. For more details, see IOA Log Facility.

Differences between SHOUT and DO SHOUT

SHOUT and DO SHOUT statements have the following differences:

  • A DO SHOUT statement is applied only if the accompanying ON criteria are satisfied. Therefore a DO SHOUT statement does not contain subparameters for specifying when to perform the shout.

    By contrast, a SHOUT statement requires that a value be specified in subparameter WHEN indicating when to shout the message. Messages can be shouted when the job ends OK or NOTOK, when the job is late for submission or completion, or when the job runs too long.

  • A SHOUT statement appears in each job scheduling definition. A DO SHOUT statement does not appear unless specified. To specify a DO SHOUT statement, type SHOUT in an empty DO field and press Enter.

  • The SHOUT URGN subparameter is equivalent to the DO SHOUT URGENCY subparameter.

  • The SHOUT MS subparameter is equivalent to the DO SHOUT subparameter.

Example for DO SHOUT

If the job is not run because of a JCL error, notify the user who sent the job.

Figure 210 DO SHOUT Subparameter Example

Copy
JOB: SACALC01 LIB CTM.PROD.SCHEDULE                      TABLE: SALARY
COMMAND ===>                                           SCROLL===> CRSR
+----------------------------------------- --------------------------+
  ====================================================================
  OUT                                                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS        
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP         
  SYSOUT OP   (C,D,F,N,R)                                        FROM 
  MAXRERUN     RERUNMEM                        INTERVAL       FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO       .     
  ON PGMST ANYSTEP  PROCST          CODES JNRUN                    A/O 
    DO SHOUT     TO  TSO-U0014          URGENCY U                 
     = *** JCL ERROR IN SALARY JOB ***                            
    DO                                                                
  ON PGMST          PROCST          CODES                         A/O 
    DO                                                                
  ON SYSOUT                                    FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO            URGN   
    MS                                                                
======= >>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<< ======
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                           11.17.00

An urgent message is sent to the user ID that requested the job.

DO STOPCYCL: Post-Processing Parameter

Stops recycling a cyclic task.

Figure 211 DO STOPCYCL Parameter Format

The DO STOPCYCL statement has no subparameters. Type the word STOPCYCL in the DO field and press Enter.

General Information for DO STOPCYCL

DO STOPCYCL is intended for use with all cyclic tasks (cyclic job, cyclic STC, emergency cyclic job and emergency cyclic STC). It interrupts a job cycle after the current run, so that once the job completes its current run, it does not run again. This parameter does not change the status (OK or NOTOK) assigned to job during the last cycle.

After DO STOPCYCL has interrupted a job, commands RERUN or RESTART can be used in the Active Environment screen to continue the job cycle from where it stopped. Commands RERUN and RESTART resume the stopped cyclic tasks without waiting for a cycling interval to occur. After the job restarts, it continues its normal cyclic interval as before.

Example for DO STOPCYCL

If cyclic job SACALCO1 finishes with a status of NOTOK, the STOPCYCL parameter interrupts the cycle.

Figure 212 DO STOPCYCL Parameter Example

Copy
JOB: SACALC01 LIB CTM.PROD.SCHEDULE                      TABLE: SALARY
COMMAND ===>                                           SCROLL===> CRSR
+--------------------------------------------------------------------+
  ====================================================================
  OUT                                                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS        
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP         
  SYSOUT OP   (C,D,F,N,R)                                         FROM 
  MAXRERUN     RERUNMEM                        INTERVAL 003   FROM    
  STEP RANGE         FR (PGM.PROC)          .       TO       .        
  ON PGMST ANYSTEP  PROCST          CODES NOTOK                    A/O 
    DO STOPCYCL                                                   
    DO                                                                
  ON PGMST          PROCST          CODES                          A/O 
    DO                                                                
  ON SYSOUT                                     FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO            URGN   
    MS                                                                
======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<< ======
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                           11.17.00

DO SYSOUT: Post-Processing Parameter

Controls handling of job output if the accompanying ON step and code criteria are satisfied.

DO SYSOUT and SYSOUT statements are similar, but not identical. The differences are outlined below in Differences between SYSOUT and DO SYSOUT.

Figure 213 DO SYSOUT Parameter Format

(Optional) Type the word SYSOUT in the DO field and press Enter. The DO SYSOUT subparameters are described in Table 187.

Table 187 DO SYSOUT Subparameters

Subparameter

Description

OPT

SYSOUT option code. Mandatory.

Valid Values:

  • F – Copy the job output to file.

  • C – Change the class of the job output.

  • N – Change the destination of the job output.

  • D – Delete (purge) the job output.

  • R – Release the job output.

PRM

Relevant sysout data. Mandatory and valid only if the specified OPT value is F, C or N. Valid values depend on the OPT value, as follows:

  • F – File name.

  • C – New class (1 character). An asterisk (*) indicates the original MSGCLASS of the job.

  • N – New destination (1 through 8 characters).

FRM

(Optional) FROM class. Limits the sysout handling operation to only sysouts from the specified class.

If a FROM class is not specified, all sysout classes are treated as a single, whole unit.

General Information for DO SYSOUT

The Control-M monitor, unless otherwise instructed, leaves the job SYSOUT in HELD class in the output queue.

The DO SYSOUT parameter is used to request additional handling of these held sysouts when the accompanying ON criteria are satisfied.

The Control-M monitor sends all SYSOUT handling requests to JES, which processes the instructions. If, however, the copying of sysouts to a file is requested (option F), Control-M requests the sysouts from JES and then Control-M directly writes the sysouts to the file.

Since only one SYSOUT statement can be defined in a job scheduling definition, DO SYSOUT statements can be used, as follows, to specify additional sysout handling instructions when the job ends OK:

  • To define DO SYSOUT statements that operate like a SYSOUT statement (that is, that operate only when the job ends OK), define their accompanying ON statement with PGMST value ANYSTEP and code value OK.

  • The interrelationship between multiple SYSOUT operations (by SYSOUT and DO SYSOUT statements) is described in Multiple SYSOUT Operations.

DO SYSOUT Handling Operations

The SYSOUTs that are affected by SYSOUT handling operations are determined by whether the SYSOUTs are under JES2 or JES3, as described in the following table.

Table 188 Varying Effect of SYSOUT Handling Operations

Operation

Effect

Under JES2:

Operations are performed on all of the held SYSOUTs, or held

portions of SYSOUTs, of the job, unless otherwise restricted to a

specific FROM class by the FRM subparameter.

Under JES3:

Operations are performed only on the SYSOUTs of the job in the

Control-M held class, as specified in the Control-M installation

HLDCLAS parameter.

SYSOUT handling operations are listed below:

  • Copying SYSOUTs to a file (OPT=F)

    The SYSOUTs of the job are copied (not moved) to the file specified in the data subparameter.

    The file name specified in the data subparameter can contain AutoEdit System variables, and user-defined AutoEdit variables that are defined in the job scheduling definition or the IOA Global Variable database, or are loaded into AutoEdit cache. If the AutoEdit variables cannot be resolved, the sysout is not copied.

    Control-M allocates the file with DISP=(NEW,CATLG,DELETE) using the unit and space attributes specified in the Control-M installation parameters. While the block size (BLKSIZE) is automatically calculated by Control-M, the logical record length (LRECL) is copied from the input SYSOUT file. The maximum LRECL allowed is 256 characters.

    SYSOUTs can be archived by copying them. However, to reduce overhead, this method is recommended only for small sysouts.

  • Deleting SYSOUTs (OPT=D)

    The SYSOUTs of the job are deleted (purged) from the output queue.

    This operation works on all SYSOUTs under JES2 or JES3 (regardless of held status or class) unless otherwise restricted by the FRM subparameter.

  • Releasing SYSOUTs (OPT=R)

    The SYSOUTs of the job are released for printing.

  • Changing the class of SYSOUTs (OPT=C)

    The SYSOUTs of the job are changed to the output class specified in the data subparameter. Ensure that you specify a meaningful target output class.

    Note the following points:

    • Changing a SYSOUT class to a non-held class does not release the SYSOUT because the SYSOUT attributes do not change (due to JES logic).

    • To ensure that the SYSOUT is released, use DO SYSOUT statements to release the SYSOUT after changing its class.

      Copy
      DO SYSOUT OPT C PRM R FRM A
      DO SYSOUT OPT R PRM FRM A
    • Changing a SYSOUT class to a dummy class does not purge the SYSOUT because the SYSOUT attributes do not change (due to JES logic).

    • To save the original MSGCLASS of a job and to restore it at output processing time, specify a data value of *. The SYSOUTs are changed to the original class of the job.

  • Moving SYSOUTs to a new destination (OPT=N)

    The SYSOUTs of the job are moved to the output destination specified in the data subparameter. Ensure that you specify a meaningful target output destination.

Multiple SYSOUT Operations

If multiple DO SYSOUT (or SYSOUT/DO SYSOUT) operations are not specified for the same FROM class, the order in which the operations are performed is not significant.

However, if different DO SYSOUT (or SYSOUT/DO SYSOUT) operations affect the same FROM class, or if multiple operations are specified without a FROM class, the order and method of implementation is significant.

Control-M merges different operations for the same FROM class into a combined instruction to JES. Likewise, Control-M merges different operations without a FROM class into a combined instruction to JES.

Operations without a specified FROM class treat the entire held sysout as a whole unit, and are therefore not merged with sysout handling requests for a specific FROM class.

JES does not necessarily process multiple SYSOUT handling instructions in the order they are issued by Control-M. Therefore, the processing results can vary if the merged instructions to JES include both FRM equals a specified class and FRM equals blank.

BMC therefore recommends that you do not include in a job scheduling definition both "FROM class" and "no FROM class" sysout handling instructions that become operational under the same situations.

When Control-M merges a set of operations into a combined instruction, some operations override or cancel other operations, and some operations are performed along with other operations. This is described below.

Operation Merging and Performance

Control-M performs all copy to file operations (option F) first.

After performing all copy to file operations, Control-M merges all operations performed on a specific FROM class.

After merging operations on specific FROM classes, Control-M merges the operations performed on the SYSOUT as a whole (where the FRM subparameter is set to blank).

Control-M then passes the merged sets of instructions to JES for processing.

The resulting combination of operations can vary depending on whether the operation that was merged with a DO SYSOUT operation is a SYSOUT operation or another DO SYSOUT operation.

Generally, DO SYSOUT operations override, or are performed along with, SYSOUT statements.

The following chart and the accompanying numbered explanations indicate the result of merging multiple DO SYSOUT statements. Note the following points about the chart in Figure 214:

  • Operations are indicated by their symbols (F,D,R,C,N), at the top and side of the chart. The operations at the top of the chart represent DO SYSOUT operations. The operations at the side of the chart represent SYSOUT or DO SYSOUT operations.

  • Merging and processing operations are grouped, and explained, based on operation type. Groups are delimited by lines, and are numbered (from 1 through 4). Within each group, operations are delimited by periods. Explanations of each group are provided, by number, following the chart.

  • The handling of the combination of operations is generally reflected in the chart by a single operation code (such as D) or pair of operation codes, such as FR. In some cases, the operations are merged. This is indicated by the word "merged." In some cases, handling depends on whether the combination consists of both a SYSOUT and a DO SYSOUT statement, or multiple DO SYSOUT statements (that is, without a SYSOUT statement). This is indicated by an asterisk (*). These are all explained in the numbered explanations that follow the chart.

Figure 214 Effect of Merging Multiple SYSOUT Statements

The order of precedence in which Control-M processes and merges operations is as follows:

  1. DO SYSOUT=F

    Copy to file operations are performed first (directly by Control-M) for DO SYSOUT statements, regardless of whether FROM class is specified. Other operations are then performed.

  2. DO SYSOUT=D (Delete)

    This operation supersedes all other DO SYSOUT operations (except copy to file operations described above). Superseded operations are ignored, that is, they are not performed.

  3. DO SYSOUT combinations of R, C and N

    In general, combinations of R, C, and N requests are merged, that is, they are all performed. The exceptional cases indicated in the chart are described below:

    • If multiple C requests come from DO SYSOUT statements, perform only one of the requests. Normally, do not specify this combination.

    • If multiple N requests come from DO SYSOUT statements, perform the request that occurs first.

Differences between SYSOUT and DO SYSOUT

SYSOUT and DO SYSOUT statements have the following differences:

  • The SYSOUT statement is applied only if the job ends OK. DO SYSOUT statements are associated with accompanying ON statements and are applied only if the accompanying ON step and code criteria are satisfied.

  • A SYSOUT statement is displayed in each job scheduling definition. A DO SYSOUT statement is not displayed unless requested. To request a DO SYSOUT statement, type SYSOUT in an empty DO field and press Enter.

  • Only one SYSOUT statement can be defined in the job scheduling definition. An unlimited number of DO SYSOUT statements can be requested.

  • The SYSOUT OP subparameter is equivalent to the DO SYSOUT OPT subparameter.

  • The SYSOUT data subparameter is equivalent to the DO SYSOUT PRM subparameter.

  • The SYSOUT FROM subparameter is equivalent to the DO SYSOUT FRM subparameter.

Examples for DO SYSOUT

If a job finishes executing OK, delete (purge) the sysout (DO SYSOUT OP D). If the job finishes executing with condition code 0050-0059 in step STEP02, set the end status of the job to OK and release the sysout for printing. If the job abends, move the sysout to class D.

Figure 215 DO SYSOUT Parameter – Example 1

Copy
JOB: SACALC01 LIB CTM.PROD.SCHEDULE                       TABLE: SALARY
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  OUT                                                                 
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP   (C,D,F,N,R)                                         FROM 
  MAXRERUN     RERUNMEM                             INTERVAL   FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO        .     
  ON PGMST ANYSTEP  PROCST          CODES OK                        A/O 
    DO SYSOUT    OPT D PRM                                          FRM 
  ON PGMST STEP02   PROCST          CODES C005*                    A/O 
    DO OK                                                              
    DO SYSOUT    OPT R PRM                                         FRM 
    DO                                                                 
  ON PGMST ANYSTEP  PROCST          CODES U**** S****               A/O 
    DO SYSOUT    OPT C PRM D                                        FRM 
    DO                                                                 
  ON PGMST          PROCST          CODES                           A/O 
    DO                                                                 
  ON SYSOUT                                      FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
    MS                                                                 
======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<< =====
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

DO SYSOUT Example 2 – Use of the Sysout Archiving Facility

The MSGCLASS of the job is X (a held class). Reports are produced in class D. The desired actions are:

  • Archive the JCL messages and all the held output in class X, that is, the SYSPRINT data sets, job log, and so on.

  • If the job finishes executing OK, release the reports for print and delete the MSGCLASS sysouts.

  • If the job finishes executing NOTOK, delete the reports and keep the MSGCLASS (JCL, job log, and so on) output in hold status.

Figure 216 DO SYSOUT Parameter – Example 2

Copy
JOB: GPLUPDT1 LIB CTM.PROD.SCHEDULE                      TABLE: PRODGPL
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  =====================================================================
  OUT                                                                  
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  SYSOUT OP   (C,D,F,N,R)                                          FROM 
  MAXRERUN     RERUNMEM                            INTERVAL    FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO        .     
  ON PGMST ANYSTEP  PROCST          CODES *****                    A/O 
    DO SYSOUT   OPT F PRM GPL.%%JOBNAME.D%%ODATE.N%%JOBID.T%%TIME FRM X
    DO                                                                 
  ON PGMST ANYSTEP  PROCST          CODES OK                        A/O 
    DO SYSOUT    OPT D PRM                                        FRM X
    DO SYSOUT    OPT R PRM                                        FRM D
    DO                                                                 
  ON PGMST ANYSTEP  PROCST          CODES NOTOK                    A/O 
    DO SYSOUT    OPT D PRM                                        FRM D
    DO                                                                 
  ON PGMST          PROCST          CODES                           A/O 
    DO                                                                 
  ON SYSOUT                                      FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

Notice the use of the AutoEdit symbols in the name of the file to be archived. The symbol %%JOBNAME, or %%$MEMNAME if the job name is not known, is replaced with the job name, %%ODATE by the original scheduling date, and so on, producing a file name such as "PRD.PADD0040.D010306.N01342.T170843."

The file can be viewed by using ISPF Browse. A list of the outputs of the job can be produced using ISPF option 3.4. For example, retrieval by the prefix "PRD.PAPD0040.D0103" lists all the names of the sysouts of the job in the month of March 2001. It is possible to browse, edit, and print the desired sysout.

The File operation (SYSOUT archival) is intended for small sysouts (such as JCL, sort messages) and not for large volume reports. When the Control-M monitor is performing file operations, it does not analyze the results of other jobs. Therefore, if large files are archived, production throughput may suffer.

DOC: General Job Parameter

Detailed job documentation. This field can be displayed or hidden by request.

Figure 217 DOC Parameter Format

(Optional) Upon filling in a DOC line with text and pressing Enter, a new DOC line is opened for specifying additional documentation text.

General Information for DOC

DOC lines are used for specifying job documentation.

Upon entry to the job scheduling definition, DOC lines are displayed only if the value Y was specified in field SHOW JOB DOCUMENTATION in the Scheduling Definition Facility entry panel.

Command DOC can be used in the job scheduling definition to toggle between the display and non display of job documentation.

The information specified in the DOC lines is automatically converted to uppercase and saved in the member and library specified in the DOCMEM and DOCLIB parameters. This member can also be edited directly by ISPF edit.

When modifying DOC lines in the job scheduling definition, text must be left in at least one DOC line in order to save the modifications. Changes resulting in an empty DOCMEM member are not saved when exiting the job scheduling definition.

For more information regarding job documentation, including the saving of job documentation changes, see Job Documentation.

Example for DOC

The steps performed by the L-file backup job are documented in the DOC lines.

Figure 218 DOC Parameter Example

Copy
JOB: BACKPL02 LIB CTM.PROD.SCHEDULE                       TABLE: BACKUP
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  MEMNAME BACKPL02    MEMLIB   CTM.PROD.JOBLIB                         
  OWNER   M44         TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N           
  APPL    APPL-L                      GROUP BKP-PROD-L                 
  DESC    DAILY BACKUP OF SPECIAL FILES FROM APPL-L                    
  OVERLIB CTM.OVER.JOBLIB                                   STAT CAL   
  SCHENV                         SYSTEM ID                  NJE NODE   
  SET VAR                                                             
  CTB STEP AT         NAME            TYPE                             
  DOCMEM  BACKPL02    DOCLIB   CTM.PROD.DOC                            
  =====================================================================
  DOC THIS JOB BACKS UP "L" FILES. IT PERFORMS THE FOLLOWING STEPS:
  DOC 1:   VERIFY SPACE REQUIREMENTS                              
  DOC 2-5: BACKUP THE FILES                                       
  DOC 6:   RECATALOG THE NEW FILES                                
  DOC 7:   PRINT THE SHORT-VERSION LISTING REPORT                 
  DOC                                                             
  ====================================================================
  DAYS ALL                                                      DCAL   
                                                                AND/OR 
  WDAYS                                                         WCAL   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

DOCLIB: General Job Parameter

Name of the library in which the member specified in DOCMEM resides.

Figure 219 DOCLIB Parameter Format

(Optional) The DOCLIB parameter identifies a valid data set name of 1 through 44 characters. The default is either defined at time of installation or is blank.

General Information for DOCLIB

The library can be any standard partitioned data set. The record length must be 80.

Any number of documentation libraries can be used at a site. However, only one documentation library can be specified in each job scheduling definition.

Users with DOCU/TEXT installed at their sites can specify a DOCU/TEXT library and member with up to 132 characters per line. However, if more than the first 71 characters in a line are used, the line is truncated and Browse mode is forced. Browse mode is also forced if a line contains an unprintable character. Changes to the documentation are not permitted in Browse mode.

Example for DOCLIB

Job documentation is written to the PRDKPL01 member in the CTM.PROD.DOC library.

Figure 220 DOCLIB Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                             TABLE: PRODKPL
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N                
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                        
  ===========================================================================
SCHEDULE RBC                                                                
RELATIONSHIP (AND/OR) O                                                     
DAYS  01                                                       DCAL           
                                                                   AND/OR   
WDAYS                                                        WCAL           
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y       
DATES                                                                       
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                     
MINIMUM PDS 
DEFINITION ACTIVE FROM UNTIL
  ===========================================================================
  IN       START-DAILY-PROD-KPL ODAT                                        
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

DOCMEM: General Job Parameter

Name of the member that contains job documentation.

Figure 221 DOCMEM Parameter Format

(Optional) DOCMEM identifies a valid member name of 1 through 8 characters. The default is either defined during installation or is blank.

General Information for DOCMEM

DOCMEM identifies a member that is in the library identified by the DOCLIB parameter. This member is used to save detailed documentation written in the DOC lines of the Job Scheduling Definition screen (or Zoom screen).

When you enter the Job Scheduling Definition screen for the first time, DOCMEM defaults to the value of MEMNAME. You can change this value, but it is recommended that you not do so.

Users with DOCU/TEXT installed at their sites can specify a DOCU/TEXT library and member with up to 132 characters per line. However, if more than the first 71 characters in a line are used, the line is truncated and Browse mode is forced. Browse mode is also forced if a line contains an unprintable character. Changes to the documentation are not permitted in Browse mode.

Example for DOCMEM

Job documentation is written to member PRDKPL01 in the library CTM.PROD.DOC.

Figure 222 DOCMEM Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                             TABLE: PRODKPL
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N               
  APPL    KPL                         GROUP PROD-KPL                       
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                        
  OVERLIB                                                   STAT CAL       
  SCHENV                         SYSTEM ID                  NJE NODE       
  SET VAR                                                                  
  CTB STEP AT         NAME            TYPE                                 
  DOCMEM  PRDKPL01  DOCLIB   CTM.PROD.DOC                                
  ===========================================================================
SCHEDULE RBC                                                                
RELATIONSHIP (AND/OR) O                                                     
DAYS                                                         DCAL           
                                                                   AND/OR   
WDAYS                                                        WCAL           
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y       
DATES                                                                       
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                     
MINIMUM PDS  
DEFINITION ACTIVE FROM UNTIL
  ===========================================================================
  IN       START-DAILY-PROD-KPL ODAT                                       
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

DUE OUT: Runtime Scheduling Parameter

Time and date by which a job must finish executing.

Figure 223 DUE OUT Parameter Format

(Optional) The format for the DUE OUT TIME parameter is hhmm, where:

  • hh is the hour the job is due out (based on a 24-hour clock)

  • mm is the minute the job is due out

If the DUE OUT DAYS parameter is entered, the value must be a number between zero and 120. This is the relative number of days by which the job must finish execution. For example, assume that the ODATE is September 5, DUE OUT TIME is 17:00, and DUE OUT DAYS is 2. This means that the job must finish executing by Control-M working date of September 7 at 17:00.

General Information for DUE OUT

The DUE OUT parameters are used to specify the date and time by which the job must finish executing.

When specified in a SMART Table Entity, the DUE OUT parameters are used to specify the date and time by which all the jobs contained in the SMART Table must finish executing.

When two jobs with the same priority are available for submission, Control-M submits the job with the earlier DUE OUT date and time first.

When a DUE OUT date and time is specified, the Control-M monitor can calculate a DUE IN date and time for the job.

The DUE IN date and time are the recommended date and time by which the job must be submitted in order to finish executing by the DUE OUT date and time.

If the DUEINCHK parameter in the CTMPARM member in the IOA PARM library has been set to No, the job is always submitted, no matter what values are present in the DUE IN date and time.

If the DUEINCHK parameter in the CTMPARM member in the IOA PARM library has been set to Yes, job submission depends on the DUE IN date and time:

  • If the DUE IN date of a job has passed, the job is never submitted.

  • If the DUE IN date is not present, and the DUE IN time has passed, the job must wait until the next day to be submitted.

To calculate the DUE IN time, the Control-M monitor subtracts the anticipated elapse time of the job from the DUE OUT time. The anticipated elapse time is the average of the execution times of the job recorded in the Control-M Statistics file.

If DUE OUT date is present, the DUE IN date is calculated as follows:

  • The DUE IN date is equal to the DUE OUT date.

  • If, when you move forward on the physical clock from the New Day Processing time, you arrive at the DUE OUT TIME before you arrive at the DUE IN time, it means that New Day processing falls between the DUE IN TIME and the DUE OUT TIME. In this case, one day is subtracted from the DUE IN DATE.

If DUE OUT TIME is not specified, the default DUE OUT TIME is the last minute of the working day.

Automatic adjustment of DUE OUT date and time can be requested from the Job Dependency Network screen.

For more information, see Automatic Job Flow Adjustment, and Job Dependency Network Screen. For an explanation of how DUE OUT affects job submission in the QUIESCE command, see the description of setting a planned shutdown time in the INCONTROL for z/OS Administrator Guide.

Please note that when specifying a DUE OUT date, the correct MAXWAIT parameter value must be specified. For details, see MAXWAIT: Basic Scheduling Parameter.

Example for DUE OUT

Job DISKLOG2 must finish execution by 6:00 A.M., two days from today.

Figure 224 DUE OUT Parameter Example

Copy
JOB: DISKLOG2 LIB CTM.PROD.SCHEDULE                             TABLE: ADABAS
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  DISKLOG2    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
SCHEDULE RBC                                                                
RELATIONSHIP (AND/OR) O                                                     
DAYS                                                         DCAL           
                                                                   AND/OR   
WDAYS                                                        WCAL           
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y       
DATES                                                                       
CONFCAL          SHIFT       RETRO N MAXWAIT 99   D-CAT                     
MINIMUM PDS  
DEFINITION ACTIVE FROM UNTIL
  ===========================================================================
  IN       DBA-CLEAN-LOG-2      ****                                        
  CONTROL                                                                   
  RESOURCE TAPE                 0001                                        
  PIPE                                                                      
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME 0600 + 2   DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                  
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    17.14.10

END-TABLE: Post–processing Parameter

Specifies the job as an end point for the SMART table.

Figure 224a END-TABLE Parameter Format

Copy
OUT
AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS
RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP
SYSOUT OP   (C,D,F,N,R)                                              FROM
MAXRERUN      RERUNMEM             END-TABLE Y
CAPTURE BY   (W - WORD / C - CHAR)

(Optional) Valid values are indicated in the following table.

Table 188a END-TABLE Parameter Values

Value

Description

Y (Yes)

The job is an end point for the SMART table.

N (No)

The job is not specified as an end point for the SMART table. Default.

After the end point job completes, no additional jobs in the SMART table will be submitted and the table is marked as complete when the jobs, which are still executing, end.

Jobs remain in WAIT-SCHEDULE status if they were not submitted before the table was marked as complete.

If jobs in the SMART table, which were submitted before the table was marked as complete, end OK, the table is marked OK. Otherwise, the table is marked as NOT-OK.

Several end points can be defined in the SMART table allowing it to be marked complete by different jobs in the implemented flow.

A SMART table has three jobs: JOBA, JOBB and JOBC.

JOBB runs only if JOBA ended OK.

JOBC runs only if JOBA ended not OK.

As a result, either JOBB or JOBC will run, but not both of them. As a result the SMART table will never complete, unless Y (yes) is specified for the END-TABLE parameter in the Job Definitions of both JOBB and JOBC. Thus both jobs are specified as ending points for the SMART table.

GROUP: General Job Parameter

Group to which a job belongs.

Figure 225 GROUP Parameter Format

The GROUP parameter identifies a group name of 1 through 20 characters. Only trailing blanks are allowed.

  • In a table whose jobs are scheduled individually, the GROUP parameter is optional. The same value does not have to be specified for all jobs in the table.

  • In a SMART Table, only jobs whose GROUP name is blank, inherit the GROUP name specified in the SMART Table Entity. Jobs with a GROUP name specified will not inherit the GROUP name specified in the SMART Table Entity.

General Information for GROUP

The GROUP parameter affects the retrieval and display of information. It does not affect job scheduling.

Job Scheduling of SMART Tables

When a SMART Table is created, specifying a value for the GROUP parameter in the SMART Table Entity is optional. This value is only applied to job scheduling definitions if the GROUP parameter of the job is blank.

Jobs in a SMART Table cannot be individually ordered. Jobs in this type of table can only be ordered as a unit, though they can be individually forced.

Before jobs in the SMART Table can be scheduled, the set of jobs must be eligible for scheduling, meaning that a set of basic scheduling criteria in the SMART Table Entity must be satisfied.

Basic scheduling criteria, runtime scheduling criteria, and post-processing parameters in the SMART Table Entity apply to all scheduled jobs in the SMART Table.

For more information, see Handling of Jobs and "Scheduling Jobs in SMART Tables" in Job Production Parameters.

Retrieving and Displaying Information

The GROUP parameter can be used as a selection criteria that can make retrieval and display of information more efficient.

For example, display of information in the Active Environment screen can be limited to jobs belonging to a specific GROUP.

The group name appears in all important messages relating to the jobs in the GROUP.

BMC recommends the use of the GROUP parameter in all job scheduling definitions to facilitate implementation of Control-M/Enterprise Manager functions. For more information, see the Control-M User Guide.

Example for GROUP

Job OPERCOMP (a table which handles jobs individually) belongs to the MAINTENANCE group.

Figure 226 GROUP Parameter Example

Copy
JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                             TABLE: OPER
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME OPERCOMP    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N                
  APPL    OPER                        GROUP MAINTENANCE             
  DESC    JOB RUN ON THE 1ST OF THE MONTH                                   
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
SCHEDULE RBC                                                                
RELATIONSHIP (AND/OR) O                                                     
DAYS    01                                                     DCAL           
                                                                   AND/OR   
WDAYS                                                        WCAL           
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y       
DATES                                                                       
CONFCAL          SHIFT       RETRO N MAXWAIT 04   D-CAT                     
MINIMUM PDS  
DEFINITION ACTIVE FROM UNTIL
  ===========================================================================
  IN                                                                        
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

IN: Runtime Scheduling Parameter

Prerequisite conditions that must be satisfied before the job can run.

Figure 227 IN Parameter Format

(Optional) A maximum of two prerequisite conditions can be specified in each standard IN line. One prerequisite condition can be specified in each long IN line. When you specify the second prerequisite condition in a standard IN line, or one prerequisite condition in a long IN line, and press Enter, a new IN line is opened for specifying additional prerequisite conditions. For more information, see Specifying Long IN Condition Names.

Each specified prerequisite condition consists of the mandatory subparameters described in Table 189.

Table 189 IN Subparameters

Subparameter

Description

cond_name

User-supplied descriptive name of 1–39 characters used to identify the condition. Mandatory.

A condition name must not begin with the symbols |, ¬, or \, and must not contain ( ), because all of these characters have a special meaning. For more information, see Logical Relations between Multiple Conditions.

If you want to use the UFLOW (unique flow) feature, the condition name must not exceed 36 characters since the UFLOW feature concatenates a unique 3-character suffix to the name of any condition that connects jobs within the ordered table.

You can use an AutoEdit variable in a condition name, provided that the AutoEdit variable has a value that is known before the job is ordered.

dateref

4-character date reference. Mandatory.

Valid Values:

  • date: Specific date (in either mmdd or ddmm format, depending on the site standard).

  • ODAT:  Resolves to the original scheduling date. Default.

  • +nnn: Resolves at job order time to ODATE+nnn calendar days. nnn is three digits (000–999).

  • -nnn: Resolves at job order time to ODATE-nnn calendar days. nnn is three digits (000–999).

    -001 is not necessarily the same as PREV, because PREV is based on job scheduling criteria, while -nnn is based on calendar days.

  • PREV: Resolves to the previous date on which the job ought to have been scheduled, according to its basic scheduling criteria, or ODATE–1 for a forced job.

    For SMART Table Scheduled Jobs: If the value of the SCHEDULE RBC parameter has been set to * (asterisk), PREV is resolved to the nearest previous date that satisfies one or more non-Exclude RBCs in the SMART Table Entity.

  • STAT: Static. Indicates that the condition, such as IMS-ACTIVE, is not date-dependent.

    Before STAT was introduced, date 0101 was recommended to be used in conditions that were not date-dependent. Unlike 0101, STAT is not a date, and it operates differently. Always use STAT when defining conditions that are not date-dependent.

  • ****: Any scheduling date

  • $$$$: Any scheduling date

    If a date reference is not specified, value ODAT is automatically inserted when you press Enter.

General Information for IN

A job cannot be submitted unless all the prerequisite condition criteria specified in the IN statements have been satisfied.

Prerequisite conditions are usually used to establish job dependencies or to ensure manual intervention when required:

  • To establish job dependency, define a prerequisite condition in an OUT or DO COND statement in the job that must run first, and in an IN statement in the job that must run afterwards.

    The job containing a prerequisite condition in its IN statement is not submitted unless that prerequisite condition has been added manually or by the job containing the OUT or DO COND statement.

    • An OUT statement adds the prerequisite condition if the job ends OK.

    • The DO COND statement adds the prerequisite condition if the step and code event criteria specified in the accompanying ON statement are satisfied.

  • If the IN prerequisite condition can only be satisfied by manual intervention (for example, TAPE1-ARRIVED is set by the operator after an external tape arrives on-site), performance of the required manual intervention before job submission can be ensured.

OUT and DO COND statements can also be used to delete prerequisite conditions that are no longer needed. If an IN prerequisite condition for a job is not an IN prerequisite condition for any other job, you can use the OUT statement of the job to delete the prerequisite condition after the job ends OK.

The following are examples of prerequisite conditions:

Copy
MS-ACTIVE
JOB_PAYCALC_ENDED_OK
TAPE1_LOADED

All prerequisite conditions are created with a date reference. When specifying a prerequisite condition as an IN condition, you must specify the date for the condition. Only a prerequisite condition with the specified date can satisfy the IN requirement.

For more information regarding prerequisite conditions, see OUT: Post–processing Parameter, ON Statements: Post–processing Parameter, and DO COND: Post–processing Parameter, and see Prerequisite Conditions.

Specifying Long IN Condition Names

Regular prerequisite conditions are not more than 20 characters in length. If you want to specify a longer condition name, up to 39 characters in length, enter the string LONG in the date reference field of an empty IN condition line. An (L) appears at the beginning of the line. If the field already contains data, entering the string LONG will open a new long IN condition parameter, with (L) appearing at the beginning of the line. You can now insert a long condition name, as illustrated in Figure 228 below.

Specify SHRT in the date reference field to revert back to condition names of standard length.

  • Long condition names cannot be used in CMEM rule definitions.

  • If you want to use the UFLOW (unique flow) feature, the condition names must not exceed 36 characters since the UFLOW feature concatenates a unique 3-character suffix to the name of any condition that connects jobs within the ordered table.

Figure 228 Long IN Condition

Copy
JOB: J13      LIB   CTMP.V610.SCHEDULE                         TABLE: REV1  
COMMAND ===>                                                   SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  IN        CTMLDNRS-NMIS-OK  ODAT     CTMLDNRS-NMIS-OK1 ODAT  
        (L) THIS-IS-A-LONG-IN-CONDITION-NAMEXXXXXXX      ODAT  
  CONTROL                                                                   
  RESOURCE                                                                  
  PIPE                                                                      
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                
  ============================================================================
  OUT        J1-ENDED                 ODAT +                                
  AUTO-ARCHIVE Y              SYSDB      Y    MAXDAYS      MAXRUNS          
  RETENTION:  # OF DAYS TO KEEP          # OF GENERATIONS TO KEEP           
  SYSOUT OP   (C,D,F,N,R)                                               FROM
  MAXRERUN      RERUNMEM                               INTERVAL      FROM   
  STEP RANGE         FR (PGM.PROC)                         TO       .       
  ON PGMST          PROCST              CODES                            A/O
    DO                                                                      
  ON SYSOUT                                           FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN LATE      TIME 1300  +     DAYS     TO TS0-N88          URGN R  
    MS BBB                                                                  
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                      
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    09.06.50

Logical Relations between Multiple Conditions

The IN condition parameter differs from other parameters that may be defined more than once.

Where there are multiple IN condition definitions, they are not independent parameters, as might at first appear. Control-M takes them together and treats them as a logical expression consisting of a series of connected terms, which appear as condition names.

Control-M resolves every such condition to a value of "True" or "False," and then evaluates the whole expression, using the logical operators which may have been specified as part of each condition name. The run-time criteria for prerequisite IN conditions are only satisfied if the overall value of the expression is calculated as "True". A condition name is evaluated as "True" if the name of that condition appears in the IOA Conditions file.

Conditions may be added to or deleted from the IOA Conditions file automatically or manually. Some typical means of adding and/or deleting conditions are:

  • the Control-M Monitor, by means of OUT or DO COND statements

  • the IOA Conditions/Resources screen

  • the IOA Manual Conditions screen

  • the IOACND or IOACLND batch utilities

The following types of logical operator can be used to connect condition names:

  • unitary

  • binary

  • group

These operators are not referred to as "Boolean", because the rules of these operators do not follow formal Boolean logic, as shown in the following paragraphs. Logical operators are the first physical characters in condition names, but they are not part of the condition name.

Operators: Unitary

The logical NOT is the only unitary operator. It is represented in the condition name by the symbol ¬ (Hex 5f) or \ (Hex e0). Conditions that have this type of symbol associated with them are called "inverted" conditions. An inverted condition is only "True" if that condition does not exist on the IOA Conditions File.

Operators: Binary

The following are the binary operators:

  • logical AND
    This is implicit, and has no explicit representation in the condition name.

  • logical OR, represented by the symbol | (Hex 4f)

Where an expression contains conditions connected by an AND operator, both must be present in the IOA Conditions File for the expression to be "True".

An expression that contains conditions connected by an OR operator is "True" if either expression is present in the IOA Conditions File.

Because logical OR operators are expressed as part of the condition name,

  • all conditions connected by the logical OR must specify the OR symbol in their condition name

    This means that, for example, expressions of the form

    A|B

    must not be specified because their meaning is unclear, even though they will not be syntactically rejected. In reality, because condition nameA does not have an OR symbol attached to it, no logical OR connection exists between A and B, and the OR symbol attached to condition nameB is ignored. The correct way to specify "ConditionA OR ConditionB" is

    (|A|B)

  • all condition names that specify an OR symbol are processed first, before those specifying an AND symbol

    This has the effect of creating implicit parentheses among the terms of the expression (explained under "Operators: Group" below); the terms of the expression may also be rearranged.

    The expression

    |B|CD|E

    is processed as if the expression had been

    ( |B|C|E )D

Operators: Group

The group operator is the pair of parentheses, Open, represented by the symbol ( , and Close, represented by the symbol ) . These must always appear in matched pairs. Parentheses affect the order in which the other logical operators are applied to the terms of the expression. Always specify parentheses when coding an expression that contains different logical operators, to ensure that the terms are combined in the way you want.

Various combinations of logical operators are permitted, subject to the following limitations:

  • only one level of parenthesis nesting is allowed

  • double NOT operators are not supported

  • an open parenthesis preceded by a NOT operator is not allowed

As in standard logic (de Morgan’s Rules), the following expressions express logical equivalence:

Copy
A    (|B    |C)          and          |(A    B)    |(A    C)
|A    |(B    C)          and           (|A    |B)    (|A    |C)
A    ¬ A   is always "False".
Copy
IN            |A            B
               ¬C         |¬D
             |(¬E            F)

A job containing this combination of IN conditions will be selected for execution when the following statements are both "True".

  • B exists and C does not exist

  • A exists, or D does not exist, or (E does not exist and F exists)

Examples for IN

The following are examples of the IN parameter:

Schedule the job that produces the salary statistics report for top management when the set of jobs that calculates the salaries finishes OK.

When the set of jobs that calculates the salaries finishes OK, it creates the prerequisite condition SALARY-OK.

The report is produced twice a month, for the 1st and for the 15th. The report for the 15th is produced only if the prerequisite condition for the 15th, SALARY-OK, exists, signifying that the salary job for the 15th ended OK. The existence of the prerequisite condition for the 1st, SALARY-OK, does not cause submission of the report for the 15th.   

Figure 229 IN Parameter – Example 1

Copy
JOB: EBDRPT1A LIB CTM.PROD.SCHEDULE                            TABLE: EBDPROD
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  APPL    EBD                         GROUP EBD-PRODUCTION                  
  DESC    EBD PRODUCTION SALARY REPORTS                                     
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  EBDRPT1A    DOCLIB   CTM.PROD.DOC                                 
  ============================================================================
SCHEDULE RBC                                                                
RELATIONSHIP (AND/OR) O                                                     
DAYS   0.15                                                      DCAL           
                                                                   AND/OR   
WDAYS                                                        WCAL           
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y       
DATES                                                                       
CONFCAL          SHIFT       RETRO N MAXWAIT 06   D-CAT                     
MINIMUM PDS  
DEFINITION ACTIVE FROM UNTIL
  ============================================================================
  IN       SALARY-OK            ODAT                            
  CONTROL                                                                   
  RESOURCE                                                                  
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

This example is similar to Example 1. A monthly total report must be produced based on data from the last two runs, and the job must run when IMS is active.

Figure 230 IN Parameter – Example 2

Copy
JOB: EBDRPT1A LIB CTM.PROD.SCHEDULE                             TABLE: EBDPROD
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  DESC    EBD PRODUCTION REPORTS                                            
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  EBDRPT1A    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC                                                                
  RELATIONSHIP (AND/OR) O                                                     
  DAYS    01,15                                                 DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 06  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN       SALARY-OK            ODAT      SALARY-OK            PREV
           IMS-ACTIVE           STAT                              
  CONTROL                                                                   
  RESOURCE                                                                  
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

Prerequisite condition IMS-ACTIVE is based on a static condition that exists only when IMS is active. IMS itself can be monitored by Control-M. When IMS is not active, Control-M deletes the prerequisite condition IMS-ACTIVE, thus preventing abends of jobs that depend on IMS.

Assume that there is a set of jobs that runs every day of the week except Saturday and Sunday. It is very important that some of the jobs scheduled for the different days of the week do not run simultaneously. The order of these jobs must be maintained even if there are delays.

Figure 231 IN Parameter – Example 3

Copy
JOB: EBDUPDT2 LIB CTM.PROD.SCHEDULE                             TABLE: EBDPROD
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  APPL    EBD                         GROUP EBD-PRODUCTION                   
  DESC    EBD PRODUCTION UPDATE                                              
  OVERLIB                                                   STAT CAL         
  SCHENV                         SYSTEM ID                  NJE NODE         
  SET VAR                                                                    
  CTB STEP AT         NAME            TYPE                                   
  DOCMEM  EBDUPDT2    DOCLIB   CTM.PROD.DOC                                  
  ============================================================================
  DAYS                                                          DCAL         
                                                                     AND/OR  
  WDAYS   2,3,4,5,6                                             WCAL         
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y     
  DATES                                                                      
  CONFCAL          SHIFT       RETRO Y MAXWAIT 08  D-CAT                     
  MINIMUM          PDS                                                       
  DEFINITION ACTIVE FROM          UNTIL                                      
  ============================================================================
  IN       DEPOSITS             PREV                             
  CONTROL                                                                    
  RESOURCE                                                                   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

The job is submitted only if the prerequisite condition DEPOSITS of the previous schedule date exists. The prerequisite condition DEPOSITS is created only after the set of jobs called DEPOSITS finishes.

This report must run after the database has been updated by either of two jobs, EBDUPDT2 or EBDUPDT3, but only if IMS is active.

Figure 232 IN Parameter – Example 4

Copy
JOB: EBDRPT6C LIB CTM.PROD.SCHEDULE                             TABLE: EBDPROD
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  DESC    EBD PRODUCTION DATABASE REPORTS                                    
  OVERLIB                                                   STAT CAL         
  SCHENV                         SYSTEM ID                  NJE NODE         
  SET VAR                                                                    
  CTB STEP AT         NAME            TYPE                                   
  DOCMEM  EBDRPT6C    DOCLIB   CTM.PROD.DOC                                  
  ============================================================================
  DAYS    01,15                                                 DCAL         
                                                                     AND/OR  
  WDAYS                                                         WCAL         
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y     
  DATES                                                                      
  CONFCAL          SHIFT       RETRO Y MAXWAIT 04  D-CAT                     
  MINIMUM          PDS                                                       
  DEFINITION ACTIVE FROM          UNTIL                                      
  ============================================================================
  IN       |EBD-EBDUPDT2-ENDED  ODAT      |EBD-EBDUPDT3-ENDED  ODAT
           IMS-ACTIVE           STAT                               
  CONTROL                                                                    
  RESOURCE                                                                   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

This job is submitted only if IMS is active and if job EBDUPDT2 (or EBDUPDT3) finished executing.

Use of parentheses in the IN conditions is demonstrated in the following example. Job EDBCLEAN requires that two conditions be satisfied before submission. The first must be either condition CICSP1-IS-UP or condition CICSP2-IS-UP. The second must be either condition OPR-CLEAN-REQUEST or condition SYS-CLEAN-REQUEST.

Figure 233 IN Parameter – Example 5

Copy
JOB: EBDCLEAN LIB CTM.PROD.SCHEDULE                             TABLE: EBDPROD
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  OVERLIB CTM.OVER.JOBLIB                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  EBDCLEAN    DOCLIB                                                
  ============================================================================
  DAYS    ALL                                                   DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ============================================================================
  IN      (CICSP1-IS-UP        0101      |CICSP2-IS-UP)       0101         
          (OPR-CLEAN-REQUEST   ODAT      |SYS-CLEAN-REQUEST)  ODAT         
                                                                            
  CONTROL                                                                   
  RESOURCE INIT                 0001      CART                 0001         
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

The following example provides a further explanation of the concept of the schedule date reference:

Figure 234 IN Parameter – Example 6

Copy
MEMNAME EBDRPT6D
MEMLIB  EBD.PROD.JOB
DAYS    01,15,20
MONTHS  1- N 2- N 3- N 4- N 5- N 6- N 7- Y 8- N 9- Y 10- N 11- N 12- N
IN      EBD-REPORTS-READY    ****

Today is the 15th September. The date reference values resolved in this job are written in mmdd date format:

Table 190 Date Reference Values – Example 6

Subparameter

Value

ODAT

0915

PREV

0901

****

Any date reference.

INSTREAM JCL: General Job Parameter

Whether Control-M for z/OS submits a JCL stream defined within the job scheduling definition, overriding the JCL in the member identified in the MEMLIB parameter and the OVERLIB parameter (if specified).

Figure 235 INSTREAM JCL Parameter Format

(Optional) Valid values for this parameter are:

  • Y – Submit the defined JCL statements as the JCL for the job

  • N – Use the JCL in the member identified in the MEMLIB parameter (default)

Under the INSTREAM JCL field is an empty line in which you can type a JCL statement. No JCL statement can contain more than 72 characters, including spaces. When you press Enter, a new line is opened in which another JCL statement can be typed.

You can enter up to 50 lines of JCL statements. The contents of these lines can be edited subsequently.

When the INSTREAM JCL parameter is set to Y, the library and member specified in the job definition are ignored.

General Information for INSTREAM JCL

Prior to version 6.2.00 of Control-M for z/OS, user-defined JCL that was to be run in the course of the execution of a job had to be defined in a JCL library.

The INSTREAM JCL parameter enables you to include JCL that is to be run in the course of the execution of a job within the definition of the job itself.

When the job is ordered or forced, any JCL defined using the INSTREAM JCL parameter resides in the Active Jobs file. The content of the JCL statements can then be modified by means of the Zoom and Save commands.

JCL that has been defined using the INSTREAM JCL parameter is processed by submit-related user exits, such as CTMX002, in the same way as JCL retrieved through the MEMLIB and MEMNAME parameters.

INTERVAL: Post–processing Parameter

Minimum time to wait between automatic reruns or cyclic runs of a job.

A related topic, cyclic jobs, is discussed in TASKTYPE: General Job Parameter.

Figure 236 INTERVAL Parameter Format

(Optional) INTERVAL consists of the subparameters described in Table 191.

Table 191 INTERVAL Subparameters

Subparameter

Description

interval_number

A number from 0 through 64800, depending on the value entered in the interval_type field, specifying the minimum time to wait between reruns or cyclic runs. Leading zeros are not required. Mandatory.

Default: 00000, indicating that there is no minimum time interval between runs.

interval_type

A single character describing the type of data specified in the INTERVAL field.

Valid Values:

  • D (Days) – Maximum INTERVAL value is 45

  • H (Hours) – Maximum INTERVAL value is 1080

  • M (Minutes) – Maximum INTERVAL value is 64800

Default: M (Minutes)

FROM

Determinant of when the time to wait between reruns or cyclic runs of a job begins.

Valid Values:

  • STRT – Begin measuring the interval before the next cycle of the job from the actual start of the current job run.

  • END – Begin measuring the interval before the next cycle of the job from the end of the current job run. Default.

  • TRGT – Begin measuring the interval before the next cycle of the job from when the current job run is scheduled.

General Information for INTERVAL

The INTERVAL parameter defines a minimum interval between automatic reruns or cyclic runs of the same job.

Once the job has run, the Control-M Monitor does not rerun or resubmit the job unless both the following conditions are satisfied:

  • the specified time has passed

  • all runtime submission criteria, such as resources, conditions, and so on, are satisfied

The FROM subparameter specifies the point from which the interval is measured. The values set for this subparameter have the following effects:

  • If STRT is specified, the interval is measured from the start time of the previous run.

  • If END is specified, the interval is measured from the time the previous run ended.

  • If TRGT is specified, the interval is measured from the scheduling time of the current job run.

    If no value was specified in the TIME FROM parameter, the interval is measured from the time the Control-M Monitor scheduled the current job run.

For more information about the TIME FROM parameter, see TIME + DAYS: Runtime Scheduling Parameter.

A job’s INTERVAL parameter is ignored when performing a Rerun (R) command for a job in screen 3.

Example for INTERVAL

A backup for an ADABAS database failed because the database was being used by another user. Backups are tried every 15 minutes after the job ends, to a maximum of nine attempts.

Figure 237 INTERVAL Parameter Example

Copy
JOB: ADBBKPS  LIB  CTM.PROD.SCHEDULE                            TABLE: ADABAS
COMMAND ===>                                                    SCROLL===> CRSR
 +---------------------------------------------------------------------------+
  ===========================================================================
  OUT                                                                       
  AUTO-ARCHIVE Y           SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP               
  SYSOUT OP   (C,D,F,N,R)                                               FROM
  MAXRERUN 9    RERUNMEM                        INTERVAL 0015 M FROM END
  STEP RANGE         FR (PGM.PROC)          .          TO           .       
  ON PGMST BACKUP   PROCST          CODES U0034                         A/O 
    DO RERUN                                                                
    DO                                                                      
  ON PGMST          PROCST          CODES                               A/O 
    DO                                                                      
  ON SYSOUT                                          FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                      
===== >>>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<<< =====
                                                                            
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

INTERVAL SEQUENCE: Runtime Scheduling Parameter

The job runs are separated according to the specified sequence of intervals. This field exists in both the Job Scheduling and SMART Table Entity Definition Screens.

(Optional) INTERVAL SEQUENCE consists of the subparameters described in Table 192.

Table 192 INTERVAL SEQUENCE Subparameters

Subparameter

Description

interval_number

A number, depending on the value entered in the interval_type subparameter, specifying the interval sequence of time to wait between reruns or cyclic runs. Leading zeros are not required.

Valid Values:

  • for D – 0 through 45

  • for H – 0 through 1080

  • for M – 0 through 64800

Default: 0 M

+00030 M, +00004 H, +00007 D

interval_type

A single character describing the type of data specified in the interval_number subparameter.

Valid Values:

  • D (Days)

  • H (Hours)

  • M (Minutes). Default.

FROM

Indicates whether the interval between runs of a cyclic job or until the start of a rerun job is measured from the start or the end of the previous job run.

Valid Values:

  • STRT - interval begins from the start of the previous job.

  • END - interval begins from the end of the previous job. Default.

General Information for INTERVAL SEQUENCE

The INTERVAL SEQUENCE parameter defines an interval sequence between reruns or cyclic runs of the same job.

Once the job has run, the Control-M Monitor does not rerun or resubmit the job unless both the following conditions are satisfied:

  • the defined interval of time for the next rerun has passed

  • all runtime submission criteria, such as resources, conditions, and so on, are satisfied

The FROM subparameter specifies the point from which the interval is measured. The values set for this subparameter have the following effects:

  • When the value of FROM is STRT, the time until the next job run is counted from the moment that the current job run begins.

  • When the value of FROM is END, the time until the next job run is counted from the moment that the current job run is complete.

A Rerun command (R) can be performed only after all planned intervals have been completed.

The figure below shows an example of the INTERVAL SEQUENCE parameter.

Figure 238 INTERVAL SEQUENCE Parameter Example

Copy
JOB: ADBBKPS  LIB  CTM.PROD.SCHEDULE                            TABLE: ADABAS
COMMAND ===>                                                    SCROLL===> CRSR
 +---------------------------------------------------------------------------+
  ===========================================================================
  OUT                                                                       
  AUTO-ARCHIVE Y           SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP               
  SYSOUT OP   (C,D,F,N,R)                                               FROM
  MAXRERUN 9    RERUNMEM                                                    
  CYCLIC TYPE: V                                    INTERVAL          FROM  
  INTERVAL SEQUENCE:  + 00030 M + 00004 H + 00007 D +            +          
                      +         +         +         +            +          
  SPECIFIC TIMES:                                               TOLERANCE   
                         +           +          +          +           +    
                                                                            
                                                                            

KEEP AT LEAST ## DAYS AFTER ENDED NOT OK: Post-Processing Parameter

Determines the minimum number of days the SMART Table is kept in the AJF after its first job failure, when the table is marked as "NOT-OK". The days are counted from the completion of the first day where a job in the table ended NOT OK. The user can set enough time to properly investigate all the jobs in the SMART Table, including the jobs that ended OK.

Figure 239 KEEP AT LEAST ## DAYS AFTER ENDED NOT OK Parameter Format

Copy
  DESC
  ADJUST CONDITIONS               TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED         KEEP AT LEAST    DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   

(Optional) Valid values include any number in the range from 0-99.

Table 193 KEEP AT LEAST ## DAYS AFTER ENDED NOT OK Parameter Values

Value

Description

0

Do not keep in the Active Jobs file. Default.

nn

Number of days kept in the Active Jobs file, where nn = 01 – 98. Only valid when KEEP JOBS UNTIL REMOVED = Y.

99

Keep forever. Only valid when KEEP JOBS UNTIL REMOVED = Y.

KEEP JOBS UNTIL REMOVED: Post-Processing Parameter

Determines that all the jobs in the SMART Table will be kept in the Active Jobs File until the SMART Table is removed from the AJF.

Figure 240 KEEP JOBS UNTIL REMOVED Parameter Format

Copy
  DESC
  ADJUST CONDITIONS               TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED    KEEP AT LEAST    DAYS AFTER ENDED NOT OK  
  SET VAR

(Optional) Valid values are indicated in the following table.

Table 194 KEEP JOBS UNTIL REMOVED Parameter Values

Value

Description

Y (Yes)

All jobs are kept in the AJF until the SMART Table is removed.

N (No)

Jobs are individually removed from the AJF as they complete OK, even though the SMART Table is still in the AJF. Default.

Setting KEEP JOBS UNTIL REMOVED to Y allows the user to examine the entire SMART Table, including the jobs that completed OK on preceding days, until the SMART Table completes OK.

MAXRERUN: Post–processing Parameter

Maximum number of automatic reruns to be performed for the job. This field exists in both the Job Scheduling and SMART Table Entity Definition Screens. Called RERUN – MAXRERUN prior to version 6.0.00.

Figure 241 MAXRERUN Parameter Format

(Optional) For non-cyclic jobs, valid values are blank or 0 through 255. For cyclic jobs, valid values are blank or 0 through 9999. Default: blank (for non-cyclic jobs - no automatic reruns; for cyclic jobs - unlimited cyclic iterations).

General Information for MAXRERUN

When a job is first run, the MAXRERUN field in the Active environment, that is, in the Zoom screen, contains the same value as the MAXRERUN parameter in the job scheduling definition. However, in the Active environment MAXRERUN works as a "reverse-counter" of automatic reruns. Each time the job is automatically rerun, the value is decreased by one until the field contains a value of zero.

The automatic rerun process works as follows:

  1. The Control-M monitor determines that automatic rerun is possible only if the job ENDS NOTOK and a specified DO RERUN statement is activated during post-processing. If the monitor determines that automatic rerun is possible, it sets the status of the job to ENDED NOTOK – RERUN NEEDED.

  2. The monitor then checks the value of MAXRERUN in the Active environment. If the value is zero, automatic rerun is not possible and the job is not submitted for rerun. If the value is greater than zero, rerun is possible and the monitor submits the job for rerun when all runtime criteria are satisfied. Runtime criteria include not only criteria in the Runtime Scheduling parameters, but also the INTERVAL parameter, which specifies the minimum allowable interval between runs of the same job.

  3. The JCL for the rerun job is taken from the member specified in the RERUNMEM parameter. If no RERUNMEM value is specified, the JCL for the rerun is taken from the regular JCL member of the job that is specified in the MEMNAME parameter.

MAXRERUN applies only to automatic reruns. The MAXRERUN counter is not affected by reruns performed manually using the Rerun option in the Active Environment screen.

If a job is defined as cyclic by setting the TASKTYPE parameter to CYC, the MAXRERUN parameter can be used to specify the number of iterations. This number includes the initial run of the job.

Examples for MAXRERUN

A tape I/O error occurred. Try two more times. If there are two more failures, terminate:

Copy
MAXRERUN  2  RERUNMEM                   INTERVAL 0015  M     FROM END
ON PGMST STEP01   PROCST          CODES S613
  DO RERUN

When a job abends for any reason, try to restart it two more times (at the abended step).

Figure 242 MAXRERUN Parameter Example 2

Copy
JOB: PRDKPL01 LIB   CTM.PROD.SCHEDULE                          TABLE: PRODKPL
COMMAND ===>                                                   SCROLL===> CRSR
 +---------------------------------------------------------------------------+
  ===========================================================================
  OUT      PRDKPL01-ENDED-OK           ODAT +                               
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS              
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP               
  SYSOUT OP   (C,D,F,N,R)                                               FROM
  MAXRERUN  2  RERUNMEM                             INTERVAL 0015 M FROM END
  STEP RANGE           FR (PGM.PROC)          .        TO          .        
  ON PGMST ANYSTEP    PROCST        CODES S***   U****  C2000           A/O 
  DO IFRERUN   FROM $ABEND   .          TO          .                CONFIRM N
    DO RERUN                                                                
    DO                                                                      
  ON PGMST            PROCST        CODES                               A/O 
    DO                                                                      
  ON SYSOUT                                          FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
     MS                                                                     
 ======= >>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< ======
                                                                            
                                                                            
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

MAXWAIT: Basic Scheduling Parameter

Number of extra days the job can wait in the Active Jobs file for submission.

Figure 243 MAXWAIT Parameter Format

(Optional) Valid Values: any 2-digit number in the range from 00 through 98, or 99.

Table 195 MAXWAIT Parameter Values

Value

Description

00

Job is not executed if it did not execute on the original scheduling date. Default.

nn

Where nn = 01 – 98. If the job did not execute on its original scheduling date, it is given an additional number of days to execute. It can remain in the Active Jobs file up to nn days awaiting execution.

99

Job remains in the Active Jobs file until deleted manually, even if the job finished executing.

If no value is specified, the default value of 00 is automatically inserted. This default value may be changed by your INCONTROL administrator, by means of Wish WM2367 in the IOADFLT member in the IOA IOAENV library (by setting a 2-digit number in the DATAC parameter).

General Information for MAXWAIT

The MAXWAIT parameter is used to overcome the problem of delays in production. A job that is scheduled for execution on a specific day does not always get executed that same day. This can be due to a number of reasons, such as hardware failure or a heavy production workload. Therefore, it may be desirable to specify an additional number of days that the job must remain in the Active Jobs file awaiting execution.

When a job cannot be submitted for execution within the specified time limits, an appropriate message is written to the IOA Log file, and the job is deleted from the Active Jobs file.

Jobs scheduled as a result of a Y value in the RETRO parameter are always given at least one day within which to execute, even if the MAXWAIT parameter indicates that they must no longer be in the Active Jobs file. This occurs when the current working date exceeds the original scheduling date (ODATE) by more than the number of days specified in the MAXWAIT parameter on the day the job is scheduled by RETRO=Y. For more information, see RETRO: Basic Scheduling Parameter.

Emergency jobs not belonging to a group (parameter) are discarded if their specified MAXWAIT periods have passed. An emergency job that belongs to a specific group (specified in the GROUP parameter) and whose MAXWAIT period has not passed is not deleted from the Active Jobs file until all of the regular jobs that belong to the same group have finished executing. This is in case the job is needed at a later stage.

When a job is not ENDED OK, the MAXWAIT of a job is affected by the FROM DAYS and UNTIL DAYS parameters. The job remains in the AJF until the end of the logical UNTIL DAY. The job is only deleted from the AJF on MAXWAIT days after the job's ODATE (provide that the Control-M logical date is later than the job's ODATE plus MAXWAIT).

For jobs containing a time zone later than the local Control-M time, one day is added to MAXWAIT so that the job will stay one additional day on the Active Jobs file.

For ON SPOOL jobs in WAIT SCHEDULE status, the MAXWAIT parameter is ignored. Jobs in this status are not removed from the AJF even after the MAXWAIT value is exceeded, but remain in the AJF until their status is changed to ENDED OK or ENDED NOTOK.

MAXWAIT Values for Jobs in a SMART Table

The MAXWAIT value for jobs in a SMART Table is normally determined by the MAXWAIT parameter in rule-based calendars defined in the SMART Table Entity. However:

  • If the RBCMAXWT parameter in the CTMPARM member in the IOA PARM library is set to N (No), the MAXWAIT value for each job in the SMART Table is instead determined by the value of the MAXWAIT parameter in its job scheduling definition.

  • If AND is specified in the RELATIONSHIP parameter, the MAXWAIT value from the job scheduling definition is used (regardless of the value of the RBCMAXWT parameter).

  • If a job in a SMART Table is forced, the MAXWAIT value is determined by the value of the MAXWAIT parameter in the job scheduling definition, regardless of the value of the RBCMAXWT parameter.

MAXWAIT Values for Cyclic Jobs

If a cyclic job is executing at the time the New Day procedure is run and the job's MAXWAIT value is reached, the New Day procedure changes the job to a non-cyclic job so that it can subsequently be deleted during the next New Day procedure.

Examples for MAXWAIT

If the original scheduling date of the job has passed, give the job an extra three days to be submitted.

Figure 244 MAXWAIT Parameter Example 1

Copy
JOB: OPERJOB  LIB CTM.PROD.SCHEDULE                            TABLE: OPER
COMMAND ===>                                               SCROLL===> CRSR
+------------------------------------------------------------------------+
  MEMNAME OPERJOB      MEMLIB  CTM.PROD.JCL                               
  OWNER   SYS1         TASKTYPE JOB    PREVENT-NCT2 Y   DFLT  N           
  APPL    OPER                         GROUP MAINTENANCE                  
  DESC    JOB RUN IN FIRST HALF OF THE MONTH                              
  OVERLIB                                                   STAT CAL      
  SCHENV                         SYSTEM ID                  NJE NODE      
  SET VAR                                                                 
  CTB STEP AT         NAME            TYPE                                
  DOCMEM  OPERJOB     DOCLIB   CTM.PROD.DOC                               
  ========================================================================
  DAYS    02,04,06                                              DCAL      
                                                                    AND/OR
  WDAYS                                                         WCAL      
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y  
  DATES                                                                   
  CONFCAL          SHIFT       RETRO Y MAXWAIT 03  D-CAT               
  MINIMUM          PDS                                                    
  DEFINITION ACTIVE FROM          UNTIL                                   
  ========================================================================
  IN                                                                      
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                               11.17.00

Assume that the job does not run due to the absence of the required runtime resources. The job that is scheduled for the 2nd of the month can wait from the 2nd through the 5th to be executed.

On the 6th, the MAXWAIT period expires and the job scheduled for the 2nd is not executed. The jobs scheduled for the 4th and 6th wait for execution until the 7th and 9th.

The job can wait for execution indefinitely, until the runtime requirements for the job are satisfied:

Copy
MAXWAIT 99

Schedule the job for every working day, even if the computer is not active. Give the job an extra day in which to be submitted.

Assume that calendar WORKDAYS, specified in the DCAL parameter, contains the values 15, 16, 18, and 19. The computer was offline from the 16th up to and including the 18th, and the 15th was the last date that the job was scheduled for execution.

Figure 245 MAXWAIT Parameter Example 3

Copy
 JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                       TABLE: PRODKPL 
 COMMAND ===>                                             SCROLL===> CRSR
 +----------------------------------------------------------------------+
   MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                             
   OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N            
   APPL    KPL                         GROUP PROD-KPL                    
   DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                     
   OVERLIB                                                   STAT CAL    
   SCHENV                         SYSTEM ID                  NJE NODE    
   SET VAR                                                               
   CTB STEP AT         NAME            TYPE                              
   DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                             
   ======================================================================
   DAYS                                                     DCAL WORKDAYS
                                                                   AND/OR
   WDAYS                                                      WCAL       
   MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
   DATES                                                                 
   CONFCAL          SHIFT       RETRO Y MAXWAIT 01  D-CAT                
   MINIMUM          PDS                                                  
   DEFINITION ACTIVE FROM          UNTIL                                 
   ======================================================================
   IN                                                                    
  COMMANDS: EDIT, DOC, PLAN, JOBSTAT                             11.17.00

Today is the 19th. The job is scheduled three times with the different original scheduling dates of the 16th, 18th and 19th.

The jobs on the 16th and 18th are disregarded on the 20th if they have not yet executed. The job on the 19th is disregarded only on the 21st.

Schedule the job for every working day, even if the computer is not active. If it does not execute within the scheduled day, remove it from the Active Job file:

Copy
MAXWAIT 00

MEMLIB: General Job Parameter

For a job (or warning messages): Name of the library containing the member specified in the TABLE parameter.

For a started task: Required started task information.

A related parameter is discussed in OVERLIB: General Job Parameter.

Figure 246 MEMLIB Parameter Format

Mandatory. Format of the parameter depends on whether the job scheduling definition applies to a job (or warning messages) or a started task:

  • For a job (or warning messages):

    Valid values are a valid data set name of 1 through 44 characters, or one of the reserved values shown in Table196.

    Table 196 MEMLIB Parameter Values for Non-Started Tasks

    Value

    Description

    DUMMY

    For dummy jobs.

    For warning messages, do not use DUMMY as a value for this parameter.

    USER=name

    For user-defined libraries.

    GENERAL

    Specifies the library referenced by the DALIB DD statement in the Control-M procedure.

    DDNAME=ddname

    Specifies the library/member pointed to by the ddname DD statement in the Control-M monitor procedure from which the JCL is to be submitted.

  • For a started task:

    Any of the formats shown in Table 197 can be used for the MEMLIB value.

    Table 197 MEMLIB Parameter Formats for Started Tasks

    Format

    Description

    *.taskid

    Where taskid is the task ID. The STC is activated in the computer in which the Control-M monitor is active.

    cpuid, stcparms

    Where cpuid is the ID of the computer in which the STC is to be activated (see the following value "cpuid"); stcparms represents STC parameters.

    cpuid.taskid

    Where cpuid is the ID of the computer in which the STC is to be activated (see the following value "cpuid"); taskid is the identifier to be specified on the start command.

    cpuid

    Where cpuid is the ID of the computer in which the STC is to be activated. Valid cpuid values are:

    • * – The same computer where the Control-M monitor is active.

    Under JES2:

    • Nn – Where n is the JES/NJE node ID.

    • Mm – Where m is the machine ID.   

    • NnMm – Where n is the JES/NJE node ID, and m is the machine ID.

    When using the cpuid,stcparms format (see above), any quotes specified in the stcparms must be doubled.

    Under JES3:

    • Lname – Where name is the logical JES name of the machine, that is, the name as used in the JES3 command *T, not the SMF system ID.

General Information for MEMLIB

Whether the job scheduling definition applies to a job, warning messages, or a started task is determined by the values defined in the TASKTYPE parameter, which is described in TASKTYPE: General Job Parameter.

AutoEdit variables can be specified and are resolved. Even the machine ID, which is relevant for started task initiation, can be automatically replaced based on resource allocation. For more information, see JCL and AutoEdit Facility.

For Jobs (or Warning Messages)

The library can be any standard cataloged partitioned data set (PDS or PDSE), LIBRARIAN or PANVALET. The record length must be 80.

The library and the member do not have to exist when the job production parameters are defined. Their existence is checked by Control-M before actual submission of the job.

If, during the access to a library by Control-M (before submission), the library is held exclusively by another user, such as a TSO user or job, the monitor tries to access the library every few seconds until the library is released and the job can be submitted. If the library is migrated, for example, through HSM, Control-M remains in a WAIT state until the library is recalled.

Use of the library name DUMMY is intended for scheduling events, for example, adding a prerequisite condition without actually running the job. If the library name DUMMY is used, the job is not submitted; submission and sysout checking are skipped. In this case, the job is assumed to have ended OK (ON PGMST...DO processing is not performed), and Post-Processing parameters associated with an ENDED OK status are activated (OUT, SHOUT WHEN OK).

If the library name is GENERAL:

  • The job is submitted from the library referenced by the DALIB DDstatement of the Control-M procedure. This library must be a partitioned data set or a concatenation of partitioned data sets.

  • The standard ISPF Editor cannot process more than four concatenated libraries. The editor saves the edited member in the first library in the concatenation.

    Control-M Exit CTMX014 (the CTMX014G member in the IOA SAMPEXIT library) enables you to bypass these limitations if the members are going to be edited online through the J(JCL) option in the Job List screen or the Active Environment screen.

  • The prefix USER= must be specified when a special type of user library is used. When using this prefix, the member is not read by Control-M using the normal mechanism. Instead Control-M submission Exit CTMX002 must be coded to handle access and submission of the library and member. In such cases, the Control-M monitor ignores the data specified in the MEMLIB/MEMNAME parameters; however, the substring following the USER= may be used by the exit. For examples of the exit, see the IOA SAMPEXIT library.

When specifying option J (JCL) in the Job List screen or the Active Environment screen in order to edit the JCL member, Control-M must determine which library (MEMLIB or OVERLIB) to use.

The algorithm for this decision is described in Editing A Member through The J (JCL) Option.

For Started Tasks

A started task is activated in the specified computer ID. This is the ID of the computer in JES, not the 4-character SMF ID. You can use the $D MEMBER JES command to determine the JES ID. For more information, see the discussion on specifying IOA CPUs in the description of the customization process in the INCONTROL for z/OS Installation Guide. If the computer ID is followed by a comma and parameters, the parameters are applied to the started task.

Examples for MEMLIB

Submit the job from the IMSBKUP member in the SYS2.IMS.JOB library:

Copy
MEMNAME IMSBKUP
MEMLIB  SYS2.IMS.JOB

Activate started task COLCTSMF in the computer where the Control-M monitor is operating:

Copy
MEMNAME COLCTSMF
MEMLIB  *,DATE=%%ODATE

On September 5, the STC is activated by issuing the operator command:

Copy
S COLCTSMF,DATE=000905

Activate started task GTF in the computer in which the Control-M monitor is operating; task ID is G01:

Copy
MEMNAME GTF
MEMLIB  *.G01

The STC is activated by issuing the operator command:

Copy
S GTF.G01

Activate started task COLCTSMF on JES node 1:

Copy
MEMNAME COLCTSMF
MEMLIB  N1,DATE=%%ODATE

Activate started task COLCTSMF on machine 1 on JES node 1:

Copy
MEMNAME COLCTSMF
MEMLIB  N1M1,DATE=%%ODATE

Activate started task STAMSTC on MAS member 2 with identifier IDNTFIER:

Copy
MEMNAME STAMSTC
MEMLIB  M2.IDNTFIER

The STC is activated by issuing the operator command:

Copy
$M2,'S STAMSTC.IDNTFIER'

MEMNAME: General Job Parameter

Name of the member that contains one of the following (depending on the defined task type):

  • JCL of the job

  • Started task procedure

  • Warning messages

For more information, see MEMLIB: General Job Parameter.

Figure 247 MEMNAME Parameter Format

Mandatory. MEMNAME identifies a valid member name of 1 through 8 characters. For On Spool jobs, mask characters * and ? are supported. For details, see Character Masking and On Spool Jobs.

AutoEdit variables are supported.

Control-M does not support members that have been compressed using the ISPF PACK option.

General Information for MEMNAME

The MEMNAME parameter identifies a member whose contents are determined by the task type of the job scheduling definition. For more information, see TASKTYPE: General Job Parameter.

  • If TASKTYPE contains the value JOB, CYC, EMR or ECJ, the job scheduling definition is defined for a job and the MEMNAME parameter identifies the member that contains the JCL of the job.

  • If TASKTYPE contains the value STC, CST, EST or ECS, the job scheduling definition is defined for a started task and the MEMNAME parameter identifies the member that contains the started task procedure.

  • If TASKTYPE contains the value WRN, the job scheduling definition is defined for warning messages and the MEMNAME parameter identifies the member that contains the warning messages.

The member name may be the same as or different than the job name.

The member can contain the JCL of more than one job. By default, Control-M processes only the first job in the member. If, however, the MULTJOBS parameter in the CTMPARM member in the IOA PARM library is set to Y (Yes), Control-M submits all the jobs in the member, but still only monitors the execution and results of the first job in the member. Therefore, BMC recommends that each member contain the JCL of only one job.

Example for MEMNAME

The JCL for job OPERCOMP is located in the OPERCOMP member in the library CTM.PROD.JCL.

Figure 248 TABLE Parameter Example

Copy
 JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                            TABLE: OPER
 COMMAND ===>                                                   SCROLL===> CRSR
 +----------------------------------------------------------------------------+
   TABLE OPERCOMP    MEMLIB   CTM.PROD.JCL                             
   OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N              
   APPL    OPER                        GROUP MAINTENANCE                   
   DESC    JOB RUN ON THE 1ST OF THE MONTH                                 
   OVERLIB                                                   STAT CAL      
   SCHENV                         SYSTEM ID                  NJE NODE      
   SET VAR                                                                 
   CTB STEP AT         NAME            TYPE                                
   DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                               
   ==========================================================================
   DAYS    01                                                    DCAL      
                                                                      AND/OR
   WDAYS                                                         WCAL      
   MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y  
   DATES                                                                   
   CONFCAL          SHIFT           RETRO Y MAXWAIT 00  D-CAT              
   MINIMUM          PDS                                                    
   DEFINITION ACTIVE FROM          UNTIL                                   
   ==========================================================================
   IN                                                                      
  COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

MINIMUM: Basic Scheduling Parameter

Minimum number of free tracks required by the library specified in the PDS parameter.

A related parameter is discussed in PDS: Basic Scheduling Parameter.

Figure 249 MINIMUM Parameter Format

(Optional) However, if PDS is specified, MINIMUM is mandatory. The MINIMUM parameter specifies the minimum number of free tracks required. This must be a positive 3-digit number; leading zeros are inserted if necessary.

The MINIMUM parameter cannot be used with the DAYS, WDAYS, MONTHS, CONFCAL, RETRO and DATES parameters.

General Information for MINIMUM

The MINIMUM and PDS parameters are always used together and are never used with other Basic Scheduling parameters.

The PDS parameter identifies a library, and the MINIMUM parameter specifies the minimum number of free tracks required by that library.

These parameters are intended for use (that is, definition) in jobs and started tasks that compress, clean and/or enlarge libraries, or which issue a warning message to the IOA Log file (that is, if TASKTYPE=WRN) if the minimum number of free tracks is not available.

If the MINIMUM and PDS parameters are defined for a job, the scheduling of the job is not related to or dependent upon any date criteria. Instead, the job is scheduled if the actual number of free tracks available in the specified library is below the specified minimum at time of daily job ordering. The job or started task can then compress, clean, or enlarge the library (or issue the appropriate warning).

MINIMUM does not work with PDSE-type libraries because they always appear to be 100 percent full. MINIMUM only checks current extents.

Examples for MINIMUM

Schedule the job when there are less than 20 unused tracks in the library ALL.PARMLIB.

Figure 250 MINIMUM Parameter – Example 1

Copy
 JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                            TABLE: OPER
 COMMAND ===>                                                   SCROLL===> CRSR
 +----------------------------------------------------------------------------+
   MEMNAME OPERCOMP    MEMLIB   GENERAL                                    
   OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N              
   APPL    OPER                        GROUP OPER-MAINT                    
   DESC    COMPRESS OF ALL.PARMLIB                                         
   OVERLIB                                                   STAT CAL      
   SCHENV                         SYSTEM ID                  NJE NODE      
   SET VAR                                                                 
   CTB STEP AT         NAME            TYPE                                
   DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                               
   ==========================================================================
   DAYS                                                          DCAL      
                                                                      AND/OR
   WDAYS                                                         WCAL      
   MONTHS  1-   2-   3-   4-   5-   6-   7-   8-   9-   10-   11-   12-    
   DATES                                                                   
   CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                  
   MINIMUM 020      PDS   ALL.PARMLIB                                
   DEFINITION ACTIVE FROM          UNTIL                                   
   ==========================================================================
   IN                                                                      
  COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

Send a warning message when there are less than 50 unused tracks in the library USER.LIBRARY:

Figure 251 MINIMUM Parameter – Example 2

Copy
MEMNAME  MSG001
TASKTYPE WRN
PDS      USER.LIBRARY
MINIMUM  050

MONTHS: Basic Scheduling Parameter

Months of the year in which the job must be scheduled.

Figure 252 MONTHS Parameter Format

(Optional) The months in the year are represented by the numbers 1 through 12. A value can be specified for each month.

Valid Values:

Table 198 MONTHS Parameter Values

Value

Description

Y (Yes)

Schedule the job in that month. Default.

N (No) or blank

Do not schedule the job in that month.

General Information for MONTHS

In general, the job is scheduled for execution only during the months in which a value of Y is specified and only if the job would have also been scheduled due to some other basic scheduling parameter (such as DAYS, WDAYS, and so on); that is, the MONTHS parameter serves as a limiting filter. There are certain exceptions that are noted below.

The MONTHS parameter cannot be used with the PDS and MINIMUM parameters.

If values are set for both the MONTHS parameter and the DATES parameter, the MONTHS parameter setting is ignored.

A job can be scheduled in a month not specified as a working month if a greater than or less than qualifier in the DAYS specification shifts the scheduling out of the current month, and the month to which it shifts is a non-scheduled month, the job is nevertheless scheduled in that non-scheduled month.

For example, if the values of the DAYS parameter >31, the MONTHS parameter indicates JANUARY and MARCH (but not FEBRUARY). The associated calendar has all days except JANUARY 31 as working days. Then the job is scheduled on February 1.

Examples for MONTHS

Schedule a job only in March and September:

Copy
MONTHS  1- N 2- N 3- Y 4- N 5- N 6- N 7- N 8- N 9- Y 10- N 11- N 12- N

Schedule job OPERCOMP on the first day of every month.

Figure 253 MONTHS Parameter – Example 2

Copy
 JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                             TABLE: OPER
 COMMAND ===>                                                    SCROLL===> CRSR
 +----------------------------------------------------------------------------+
   MEMNAME OPERCOMP    MEMLIB   CTM.PROD.JCL                                
   OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N               
   APPL    OPER                        GROUP MAINTENANCE                    
   DESC    JOB RUN ON THE 1ST OF THE MONTH                                  
   OVERLIB                                                   STAT CAL       
   SCHENV                         SYSTEM ID                  NJE NODE       
   SET VAR                                                                  
   CTB STEP AT         NAME            TYPE                                 
   DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                                
   ==========================================================================
   DAYS    01                                                    DCAL       
                                                                      AND/OR
   WDAYS                                                         WCAL       
   MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y  
   DATES                                                                    
   CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                   
   MINIMUM          PDS                                                     
   DEFINITION ACTIVE FROM          UNTIL                                    
   ==========================================================================
   IN                                                                       
  COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

NJE NODE: General Job Parameter

Identifies the node in the JES network at which the job is to execute.

Figure 254 NJE NODE Parameter Format

NJE NODE specifies a node name of 1 through 8 characters. Only trailing blanks are allowed.

By default, the NJE NODE parameter is optional.

General Information for NJE NODE

The NJE NODE parameter is used to identify the node in the JES network at which the job is to execute.

If a value is specified for the NJE NODE parameter, a JCL statement is generated. The precise form of the statement depends on whether Control-M is running under JES2 or JES3.

If the task type is a started task, NJE NODE is protected. If the task type is changed from a job to a started task, NJE NODE is erased and protected.

Under JES2

If Control-M is running under JES2, the NJE NODE parameter generates the following JCL statement:

Copy
/*ROUTE XEQ node_name

Under JES3

If Control-M is running under JES3, the JCL statement generated by the NJE NODE parameter differs slightly, taking the following form:

Copy
//*ROUTE XEQ node_name

Note that if a JES3 NJB job statement is not present in the job, the //*ROUTE XEQ JCL statement is not generated.

If a value is specified for the NJE NODE parameter, it will not override any node name specified in the job statement unless the OVERJCLM parameter in the CTMPARM library is set to Y.

Examples for NJE NODE

Control-M is running under JES2. The following is specified:

Copy
DESC
OVERLIB                                                STAT CAL
SCHENV                      SYSTEM ID                  NJE NODE  OS35   

The following statement is added to the JCL of the job:

Copy
/*ROUTE XEQ OS35

and the job is executed at node OS35.

Control-M is running under JES3. The following is specified:

Copy
DESC
OVERLIB                                                STAT CAL       
SCHENV                      SYSTEM ID                  NJE NODE  OS35 

The following statement is added to the JCL of the job:

Copy
//*ROUTE XEQ OS35

and the job is executed at node OS35.

ON Statements: Post–processing Parameter

Job processing criteria that determine whether the accompanying DO statements are performed.

Figure 255 ON Statement Format Example

ON statements identify specific steps in the execution of a Control-M job or group.

The types of ON statement are described in Table 199. Each type is discussed in detail in this chapter.

Table 199 ON Statement Types

ON Statement Type

Description

ON TABLE-END

Group processing criteria that determine whether the accompanying DO statements are performed

For more information, see ON TABLE-END: Post–processing Parameter.

ON PGMST

Job processing step and code event criteria that determine whether the accompanying DO statements are performed

For more information, see ON PGMST: Post–processing Parameter.

ON SYSOUT

Search for a string in the sysout of the job, and perform the accompanying DO statements if the string is found

For more information, see ON SYSOUT: Post–processing Parameter.

ON VAR

Check the value of an AutoEdit variable, and perform the accompanying DO statements if the variable value matches an expected value that you specify.

For more information, see ON VAR: Post–processing Parameter.

General Information for ON Statements

ON statements are usually, but not necessarily, followed by user-specified DO actions. The implied relationship between ON statements and associated DO statements is: if ON statement criteria are satisfied, perform the associated DO statement actions.

The combination of ON statements and DO statements enables you to specify post-processing actions that depend on execution results.

In a new job or table scheduling definition, an empty ON statement is followed by an empty DO statement. Additional ON statements can be opened in the job scheduling definition, as required.

Multiple ON statements of various types can be specified. In addition, multiple ON statements of the same type (not including ON TABLE-END) can be linked together by Boolean logic in an an ON block.

ON TABLE-END: Post–processing Parameter

Table processing criteria that determine whether the accompanying DO statements are performed. Found in SMART Table Entities only.

Figure 256 ON TABLE-END Parameter Format

(Optional) Valid values are shown in Figure 201.

Table 200 ON TABLE-END Values

Value

Description

OK

Process the accompanying DO statements if all scheduled jobs in the SMART Table ended OK.

NOTOK

Process the accompanying DO statements if not every job in the SMART Table ended OK (that is, at least one job in the SMART Table ended NOTOK).

FCnnn

Process the accompanying DO statements if the SMART Table failure counter is equal to nnn (where nnn is a 3-digit number).

General Information for ON TABLE-END

The ON TABLE-END parameter enables specification of DO statements to be performed when the processing of the group ends with the indicated status.

By default, if not all jobs in the group ended OK, the DO statements accompanying an ON TABLE-END NOTOK parameter are performed. This applies if at least one job ended NOTOK, and it can also apply if a job in the group was deleted and all remaining jobs in the group ended OK. However, if the TBLDELJB parameter in the CTMPARM member in the IOA PARM library is set to O (OK), deleted jobs are not considered, and status END NOTOK applies only if at least one job ended NOTOK.

If the job that ended NOTOK is subsequently successfully rerun, so that the termination status of the SMART Table changes to OK, the DO statements accompanying an ON TABLE-END OK parameter are then performed.

The SMART Table failure counter (used for checking FCnnn condition) is increased by one each time the SMART Table status is changed from Active to Ended NOTOK.

The following DO statements can be specified following an ON TABLE-END statement:

  • DO COND

  • DO FORCEJOB

  • DO NOTOK

  • DO OK

  • DO SET

  • DO SHOUT

  • DO MAIL

  • DO REMEDY

  • DO REMFORCE

DO OK or DO NOTOK statements change the final status of the group, not the status of each job or job step in the table.

Use of the ON TABLE-END parameter in the SMART Table Entity can frequently reduce the number of individual DO statements that would otherwise require definition in individual job scheduling definitions.

For example, suppose that following the processing of the group, you want to force a particular job if any of the jobs in the group ENDED NOTOK.

  • This result can be achieved by defining an ON TABLE-END NOTOK DO statement (in the SMART Table Entity) followed by the appropriate DO FORCEJOB statement.

  • To achieve this result without use of the ON TABLE-END parameter, the following steps would be necessary:

    • In each job scheduling definition in the table, define an appropriate condition that would be added to the IOA Conditions file when the job ends NOTOK.

    • In the table, define an additional job to be performed after the other jobs in the table have terminated. This job would have as an IN condition the condition added by the jobs that ended NOTOK, and would trigger the appropriate job.

Multiple ON TABLE END Statements and ON TABLE END Blocks

Multiple ON TABLE-END parameters can be defined. Upon specifying an ON TABLE-END value and pressing Enter, a new ON TABLE-END statement, followed by a blank DO statement, is opened.

Example for ON TABLE-END

If a job in the Group ACCOUNTS_GROUP ended NOTOK, add condition ACCTS-CHK-REQUIRED.

Figure 257 ON TABLE-END Parameter Example

Copy
TBL ACCOUNTS_GROUP       CTM.PROD.SCHEDULE(TBL)
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  ===========================================================================
  SCHEDULE RBC                                                               
  DAYS                                                          DCAL         
                                                                     AND/OR  
  WDAYS                                                         WCAL         
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y     
  DATES                                                                      
  CONFCAL          SHIFT       RETRO N MAXWAIT 00                            
  SCHEDULE RBC ACTIVE FROM          UNTIL                                    
  ===========================================================================
  IN                                                                         
  CONTROL                                                                    
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                 
  ===========================================================================
  OUT                                                                        
  ON TABLE-END NOTOK                                             
    DO COND          ACCTS-CHK-REQUIRED   ODAT +                 
  ON VAR                                                  
    DO                         
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                       
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.19.14

Confirmation Panel for ON TABLE-END

If the DFJCONF profile variable is set to Y, and the JOB parameter in the DO FORCEJOB request is blank, a confirmation panel is displayed when exiting the Job Scheduling Definition screen. The confirmation panel is displayed only once for each DO FORCEJOB statement.

Figure 258 ON TABLE-END Confirmation Panel

Copy
+----------------------------------------------------------+
|                                                          |
|  THIS JOB CONTAINS ONE OR MORE DO FORCEJOB STATEMENTS.   |
|  WHEN THE JOB IS ORDERED:                                |
|  ARE YOU SURE YOU WANT TO FORCE THE WHOLE TABLE IN THE   |
|  FORCEJOB STATEMENT(S)?    (Y/N)                         |
|                                                          |
+----------------------------------------------------------+

Enter Y to save the table and return to the Job List screen, or N to return to the table without saving it.

ON PGMST: Post–processing Parameter

Job processing step and code event criteria that determine whether the accompanying DO statements are performed.

For more information, see Step Name: +EVERY.

Figure 259 ON PGMST Parameter Format

(Optional) ON PGMST statements define event criteria that identify specific Control-M job steps and possible codes that result from the execution of those job steps.

The ON PGMST statement consists of the subparameters described in Table 201. When used, at least one step and one code must be specified.

Table 201 ON PGMST Subparameters

Subparameter

Description

PGMST

 

 

Job step. The execution results of the program executed by the job step are checked against the specified CODES criteria. From 1 through 8 characters. Mandatory.

Valid Values:

  • pgmstep – Name of the step (EXEC statement):
    //pgmstep EXEC PGM=program
    The ON PGMST statement is satisfied only when the program execution results from the specified step satisfy the specified code criteria. For more information, see "PGMST" in Step Values.

  • *rangename – Range name. rangename is the name of a step range defined in the STEP RANGE parameter. The asterisk (*) preceding the name indicates to Control-M that the specified name is a range name, not a step name. For more information, see "Step Range" in Step Values and Step Name: +EVERY.

    Some third party products produce JCL step names that begin with an * (asterisk) character. If you specify a JCL step name of this type in an ON PGMST statement, Control-M interprets this step name as a step range.

    The solution is to define a workaround step range that includes only the problematic step name.

    For example, to process the step name *OMVTEX, use the following:

    Copy
    STEP RANGE ONESTEP FR (PRM.PROC) *OMVTEX . TO *OMVTEX
    ON PGMST *ONESTEP PROCST CODES xxxxx
  • ANYSTEP – any job step
    Generally, the ON PGMST statement is satisfied when the program execution results from any job step satisfy the specified code criteria. For more information, including the exceptions, see Step Name: ANYSTEP.

  • +EVERY – every job step

    The ON PGMST statement is satisfied if the program execution results from every job step that satisfies the specified code criteria. For more information, see Step Name: +EVERY.

  • $FIRST – the first-executed job step

  • $LAST – the last-executed job step

  • +JOBRC – the job completion code

The $FIRST and $LAST values have these special meanings only if the LASTSTEP parameter in the CTMPARM member is set to Y.

Neither Control-M/Restart steps nor FLUSHed steps are considered the first or last step for this purpose.

PROCST

(Optional) Procedure step (EXEC statement) that invokes a procedure from which the specified PGMST program is executed. 1 to 8 characters.

Valid Values:

  • ' ' (Blank space) – When the PROCST field is left blank, matching program step names (PGMST) are checked regardless of whether they are directly from the job or from a called procedure. Default.
    The ON PGMST statement is satisfied if the PGMST criteria are satisfied from any procedure directly from the job.

  • procstep – Name of a specific procedure step:
    //procstep EXEC procedure
    If a specific procedure step is specified, only program steps from the invoked procedure are checked to see if they satisfy the code criteria. Program steps directly from the job are not checked.

  • +EVERY
    Matching program step names (PGMST) are checked from all called procedures and from the job itself.
    The ON PGMST statement is satisfied only when the code criteria for the program step are satisfied for all occurrences (called procedures and directly in the job stream). For more information, see Step Name: +EVERY.

CODES

Return codes or statuses that can satisfy the step or code event criteria if returned upon termination of the specified job steps. At least one code must be specified. CODES can be condition codes, user abend codes, system abend codes, various end codes and statuses, and certain keywords. CODES are discussed in "General Information for ON PGMST," immediately below this table.

A/O

(Optional) Specifying either A (And) or O (Or) opens a new ON PGMST statement in the ON PGMST block (described in "Multiple ON PGMST Statements and ON PGMST Blocks" below this table) and links the new statement to the statement containing the A/O specification, as follows:

  • A (And) – Indicates AND logic between the two ON PGMST statements. ON PGMST block criteria are satisfied only if both ON PGMST statements are satisfied.

  • O (Or) – Indicates OR logic between the two ON statements. ON PGMST block criteria are satisfied if either (or both) ON PGMST statements are satisfied.

General Information for ON PGMST

ON PGMST statements are usually, but not necessarily, followed by user-specified DO actions. The implied relationship between ON PGMST statements and associated DO statements is described in ON Statements: Post–processing Parameter.

Multiple ON PGMST Statements and ON PGMST Blocks

In a new job scheduling definition, an empty ON PGMST statement is followed by an empty DO statement. Additional ON PGMST statements can be opened in the job scheduling definition as follows:

  • When you set values for ON PGMST, PROCST, and CODE, and press Enter, an empty ON PGMST and DOstatement is opened following the current ON PGMST and DO statements. The new ON PGMST and DO statements, if filled in, are not logically connected to the preceding ON PGMST and DOstatements. They constitute a new ON PGMST block and DO block.

    Multiple ON PGMST blocks are generally interpreted sequentially from first to last, except when an ON PGMST block contains an And/Or Boolean connector. All such blocks containing Boolean connectors are processed last regardless of their position in the list of ON PGMST blocks.

    If the conditions of an ON PGMST block are satisfied, the accompanying DO actions are performed. The conditions of more than one ON PGMST block can be satisfied; therefore, more than one set of DO statements can be performed.

    One ON PGMST block specifies STEP1 as the program step, and >C0004 as the CODE.

    A second ON PGMST block specifies ANYSTEP as the program step, and >C0008 as the CODE.

    If STEP1 results in a condition code of C0016, the ON PGMST step and CODE event criteria for both ON PGMST statements are satisfied, and the DO actions accompanying both ON PGMST blocks are performed.

  • When you fill in the A/O (And/Or) subparameter of an ON PGMST statement, an empty ON PGMST statement is opened immediately, that is, before the accompanying DO statement. The specified A/O value logically connects the new ON PGMST statement to the preceding ON PGMST statement. These two ON PGMST statements constitute a single ON PGMST block.

    Copy
    ON PGMST STEP1 ... CODES C0004 ... A/O A
    ON PGMST STEP5 ... CODES S0C4 ...  A/O
    DO SHOUT ...

    In the above ON PGMST and DO statements, for the DO SHOUT action to be performed, STEP1 must end with a condition code of C0004, and STEP5 must end with an S0C4 system abend.

To add an empty ON PGMST statement between two existing ON PGMST statements, type the > character over the first letter in the ON PGMST value of the previous ON PGMST line, and press Enter.

If the program step name is STEP1, type the following and press Enter:

Copy
ON PGMST >TEP1

This adds an "empty" ON PGMST line after the current ON PGMST statement. The STEP1 step name is restored to its original value when Enter is pressed (that is, the > character disappears and the S character is restored).

To delete unwanted ON PGMST statements, specify appropriate Line Editing commands in the Edit environment. For information on the Edit environment, see Editing Job Scheduling Definitions in the Edit Environment, and in particular Line Editing Commands.

Job/Step Completion Status Facility (JSCSF)

General ON PGMST definitions can be created using the Job/Step Completion Status Facility (JSCSF) and may override the in-job definitions. For more information, see the "The Job/Step Completion Status Facility (JSCSF)" section in the INCONTROL for z/OS Administrator Guide.

§Restart§ Using All Runs of a Job Including Restarts

When processing ON PGMST blocks, Control-M can incorporate the results of all previous runs and restarts, filtering them for jobs restarted with the RESTART, RECAPTURE CONDITION, and ABEND CODES parameters. Control-M/Restart searches previous runs to determine which steps must be considered part of the restarted job.

For example, if one step finished successfully during its original run and another step finished successfully after a restart, the ON block check for the successful finish for both steps produces a TRUE result and the ON statement is satisfied.

Activation of this facility requires that the ALLRUNS parameter in the CTRPARM member be set to YES. When activated, this facility can apply to any specified step, step range, or to the ON PGMST step value +EVERY. §Restart§

Post-processing of ON PGMST statements during a RESTART or RERUN is independent of the post-processing of the same ON PGMST statements during the earlier run. In these situations, you may get duplicate actions.

Step Values

PGMST

Within an ON PGMST statement, the specified step is generally a program step, specified in the PGMST field. It may be a program executed directly within the job stream, in which case no PROCST value is specified, or it may be a program executed by a called procedure, in which case the called procedure is specified in PROCST.

If the JCL contains nested procedures, the name of the EXEC procedure statement that invokes the most deeply nested procedure, that is, the procedure that immediately invokes the PGM step, must be specified in PROCST.

The same step name can appear in different ON PGMST statements in the same ON PGMST block, or in different ON PGMST blocks.

STEP RANGE

To check codes in a range of steps, first define the step range and assign it a name in the STEP RANGE statement, which is described in Step Name: +EVERY. Then specify the name, preceded by an asterisk, in the PGMST field. The * indicates that the specified name is a range name, not a step name. The range of steps is displayed, and you can check the codes that are displayed within the defined range.

If the LASTSTEP parameter is set to Y in the CTMPARM member, Control-M treats the job step named $LAST as the job step executed last, and the job step named $FIRST as the job step executed first.

If Control-M adds a Control-M/Restart step to a job, for example, if a job is restarted by Control-M/Restart, or if PREVENT NCT2 is specified in the job scheduling definition, the Control-M/Restart step is processed like all other job steps.

Control-M does not treat the Control-M/Restart step or any FLUSHED step as the step executed last or first.

In the STEP RANGE statement, name DF2 is assigned to the range of program steps STEP20 through STEP29A.

If *DF2 is specified in ON PGMST, the ON step and code criteria is satisfied if any of the codes result from any of the steps in the range STEP20 through STEP29A.

You want to define a job in such a way that its status depends on the result of the last step executed. If the last step ended with a condition code of 0, give the job the status ENDED OK. If the last step ended with any other condition code, the job status is to be ENDED NOTOK.

The following are sample ON PGMST statements for such a job:

Copy
ON PGMST ANYSTEP  PROCST          CODES C****  U**** S***              A/O
DO OK
ON PGMST $LAST    PROCST          CODES >C0000 U**** S***              A/O  
DO NOTOK

Step Name: ANYSTEP

You can specify ANYSTEP as the value in the PGMST field. In general, it indicates that the DO statements must be performed if the specified codes are found in any steps.

For the interaction of ANYSTEP with the action DO OK, see General Information for DO OK.

However, if ANYSTEP is specified with codes OK, NOTOK, EXERR, JLOST, JNRUN, JSECU, JNSUB or *UKNW, the ON criteria are satisfied only if the entire job ends with the specified code criteria.

If ANYSTEP is specified with code FORCE, no other codes can be specified in the same ON block, and the PROCST parameter must be left blank. For a description of code FORCE, see CODES Values.

Step Name: +EVERY

The value +EVERY is used without being accompanied by limiting step values when the code criteria must be satisfied for every step. The following examples all have the same impact – the code criteria must be satisfied for every step in the job without exception.

A DO OK or DO NOTOK statement is ignored if it is specified in an ON PGMST +EVERY statement.

  • ON PGMST +EVERY PROCST

  • ON PGMST ANYSTEP PROCST +EVERY

    The ANYSTEP value is not a limiting value. In this case, it has the same meaning as +EVERY.

  • ON PGMST +EVERY PROCST +EVERY

Value +EVERY is generally accompanied by a limiting step value when the code criteria must be satisfied for every step within the specified limits, as follows:

  • If the limiting value is a PROCST value, the code criteria must be satisfied by all job steps from within the specified procedure.

    ON PGMST +EVERY PROCST STEP1

    Every program step of procedure step STEP1 must be satisfied.

  • If the limiting value is a PGMST value, the code criteria must be satisfied by all executions of the specified job step (or range of steps if a range is specified), from within the job steam and within all procedures.

    • ON PGMST StepA PROCST +EVERY

      All executions of job step STEPA from within the job stream and within every procedure must be satisfied.

    • ON PGMST *Range1 PROCST +EVERY

      Executions of all job steps in Range1, from within the job stream and within every procedure, must be satisfied.

      Step name +EVERY can be specified with the following codes: Cnnnn, Sxxx, Unnnn, *xxxx, FLUSH, SNRUN and *****.

  • When step name +EVERY is specified with codes Cnnnn, Sxxx, Unnnn and *xxxx, the following conditions must be satisfied to satisfy the ON statement:

    • If the steps that run (excluding FLUSH steps) satisfy the PGMST and PROCST criteria, they must also not contradict the Cnnnn, Sxxx, Unnnn or *xxxx codes.

    • At least one step runs and fulfills the above conditions.

  • When step name +EVERY is specified with codes FLUSH, SNRUN or *****, the following apply:

    • ON PGMST +EVERY CODES FLUSH is satisfied if in each job step, a JCL COND or JCL IF/THEN/ELSE statement caused the step not to run.

    • ON PGMST +EVERY CODES SNRUN is satisfied if each job step did not run.

    • ON PGMST +EVERY CODES ***** is satisfied if each defined job step ran and no job step was flushed (that is, due to a JCL COND or JCL IF/THEN/ELSE statement).

  • Force Control-M to end a job with a NOTOK status when every step in the job is flushed:

    Copy
    ON PGMST +EVERY   PROCST          CODES FLUSH                       A/O A
    ON PGMST xxx      PROCST          CODES FLUSH                       A/O 
      DO NOTOK

    where the xxx is any one of the actual step names in the job stream that can be flushed.

Job completion code: +JOBRC

JOBRC allows the user to assign a completion code for the entire job based on the completion codes of its steps. z/OS 1.13 allows the user to set the job’s completion code in the JCL JOB statement using the JOBRC parameter. This parameter determines how the JOBRC is calculated from the completion codes of its steps.

The parameter has the following options:

  • The highest return code from the steps (the default) – this is the same as how Control-M assigned the job’s completion code prior to z/OS 1.13. If the job's execution fails because of an ABEND, the job completion code is set to the last ABEND code.

  • The return code of the last step - in this case the job’s completion code is based on the completion code of its last executed step.

  • The return code of a specific step - in this case the job’s completion code is based on the completion code of a specific step identified by its name.

Control-M extracts the JOBRC, which is calculated by JES2 or JES3 based on the JOBRC parameter specified in the JCL JOB statement, and use it for the job analysis during post processing.

An ON PGMSTEP +JOBRC statement can specify any DO action to be processed when the extracted JOBRC fits the codes specified in the statement. JOBRC is extracted in all z/OS releases (in releases earlier than z/OS 1.13, it is set equal to MAXRC) so ON PGMSTEP +JOBRC can be handled in any z/OS release.

In some special situations Control-M does not extract the JOBRC. Either Control-M is not able to extract JOBRC (when JOBRC not supplied by z/OS or JES), or it is assumed that users do not require that Control-M extract JOBRC (when the results based on JOBRC would be different than what users actually need). Some special situations are described in the following examples:

  • The job execution was terminated by the 'Cancel' operator command.

  • The job execution was terminated prematurely according to the COND= parameter specified in the JOB JCL statement.

  • The job execution is the restart run performed by Control-M/Restart and the ALLRUNS Control-M/Restart installation parameter, which specifies whether Control-M considers during post processing all the previous runs of a job, is activated.

If JOBRC is not extracted, the ON PGMSTEP +JOBRC statement is ignored.

An ON PGMSTEP +JOBRC statement cannot be connected by AND/OR Boolean relationships with other ON PGMSTEP statements.

Since JOBRC is not used for evaluating the OK/NOTOK status of job when DO OK/NOTOK actions are defined in the ON PGMSTEP statements of step(s), DO OK/NOTOK actions in ON PGMSTEP +JOBRC cannot be defined together with DO OK/NOTOK in the ON PGMSTEP statements of step(s).

CODES Values

CODES can be condition codes, user abend codes, system abend codes, various end codes and statuses, and certain keywords. They can also be prefaced by certain qualifiers. All of these are described below.

A maximum of 245 values can be specified for CODES in any ON PGMST statement, as follows:

  • Each line of an ON PGMST statement contains fields for specification of up to four values for CODES.

  • Whenever a fourth value is specified on a line for CODES, and Enter is pressed, a new line within the same ON PGMST statement is opened, allowing specification of as many as four additional CODES values.

Valid CODES Values

A DO OK statement specified in the job scheduling definitions is ignored if:

  • any of the following status codes apply to the job:

    • EXERR

    • JNSUB

    • *REC0

    • *UKNW

    -or-

  • the DO OK statement was specified as part of an ON PGMSTEP ANYSTEP pgmstep CODE NOTOK condition, because if that condition is satisfied, the status of the job has already been set to NOTOK

Table 202 ON PGMST Parameter CODES Values

Value

Description

$EJ

Job was queued for re-execution.

*****

Any step that executes (including steps with JCL errors and steps returned with an ABEND code). For reasons of backward compatibility, the CODES value ***** does not include steps with code FLUSH or SNRUN (described below). The CODES value ***** does, however, include jobs not submitted and jobs whose sysout was lost if ON PGMST ANYSTEP is specified.

Although the CODES value **** includes steps which have returned any system abend code, the preferred method of indicating these steps is S***.

*NCT2

A NOT CATLGD 2 or NOT RECATLGD 2 event occurred in the job step. The default result of this event is a NOTOK status for the step. A message containing the data set name is written to the IOA Log file.

If you do not want to be alerted to NOT RECATLGD 2 events, see your INCONTROL administrator.

*REC0

Rerun (recovery) is needed, but no more reruns are available.

This status code is REC followed by a zero (not the letter O).

*TERM

Job terminated by CMEM due to an NCT2 event.

*UKNW

An unknown error occurred, usually as a result of a computer crash during job execution. This value can only be specified with step value ANYSTEP.

*xxxx

Any step completion code (condition, system abend, user abend) that matches the string, where x can be any hexadecimal character (0 through 9, A through F) in user-defined events, which are turned on by Exit 3. Regarding usage, see your INCONTROL administrator.

Cnnnn

Step condition code, where nnnn is a 4-digit value.

EXERR

Any type of execution error. It is the same as NOTOK, but is triggered only if the job has actually started executing. This value can only be specified with step value ANYSTEP.

FLUSH

A JCL COND or JCL IF/THEN/ELSE statement caused a step to not run. This CODES value is described in more detail below.

FORCE

This code applies when a job is FORCEd OK from the Active Environment screen (Screen 3). To specify a code of FORCE, all of the following must apply:

  • No other code can be specified in the same statement.

  • The PGMST value must be ANYSTEP.

  • No PROCST value can be specified.

  • No other ON statements can appear in the ON PGMST block.

Valid DO statements for the FORCE code are:

  • DO SHOUT

  • DO COND

  • DO FORCEJOB

  • DO MAIL

JFAIL

Job failed due to JCL error.

JLOST

Job sysout was lost. This value can be specified only with step value ANYSTEP.

JNRUN

Job was canceled during execution or re-execution. This value can be specified only with step value ANYSTEP.

JNSUB

Job not submitted. Submission of a job or initiation of a started task failed for any reason. This value can be specified only with step value ANYSTEP.

JSECU

Job failed due to security requirements (only under ACF2). This value can be specified only with step value ANYSTEP.

NOTOK

A status of execution of the whole job.

This CODES value can only be specified with step value ANYSTEP. It indicates that at least one PGM step, or the whole job, finished executing NOTOK, meaning, with a condition code greater than that set as the upper limit. By default, this limiting condition code is C0004, but the MAXCCOK parameter in the CTMPARM member in the IOA PARM library can be used to set the default condition code to another value, such as C0000.

This CODES value covers all types of failures, including non-execution errors such as job not run, JCL error, or job not submitted.

OK

A status of execution of the whole job.

This CODES value can only be specified with step value ANYSTEP. It indicates that all non-flushed PGM steps finished executing OK, meaning, with a condition code equal to or less than the condition code set as the upper limit. By default, this limiting condition code is C0004, but the MAXCCOK parameter in the CTMPARM member in the IOA PARM library can be used to set the default condition code to another value, such as C0000.

If a job is FORCEd OK, the DO statements following an ON PGMST ANYSTEP pgmstep CODES OK statement are processed only if the FRCOKOPT parameter in the CTMPARM member in the IOA PARM library is set to Y (Yes).

SNRUN

A step did not run. This CODES value is described in more detail below.

Sxxx

Step system abend code, where xxx is a 3-character hex value.

Unnnn

Step user abend code, where nnnn is a 4-digit value.

FCnnn

Job failure counter, where nnn is a 3-digit number. This value can be specified only with step value ANYSTEP.

All DO actions are valid for FCnnn, except the following: OK, NOTOK, and RERUN.

FLUSH

The CODES value FLUSH generally applies when a step does not run but no error is indicated. This CODES value is assigned in the following cases:

  • A JCL COND or JCL IF/THEN/ELSE statement caused the step not to run. Control-M detects CODES value FLUSH steps by message IEF272I (Step was not executed).

  • §Restart§ If a job was restarted by Control-M/Restart, and Control-M is to consider all job runs during post-processing (the ALLRUNS parameter is set to YES in the CTRPARM member), a step is defined as FLUSH if:

    • either the step did not previously run, or Control-M/Restart did not recapture a completion or abend code from a previous run

      and either

    • it was not executed during the RESTART run because of a JCL COND or JCL IF/THEN/ELSE statement

      or

    • it was not executed due to a RESTART decision (message CTR103I)

Because a CODES value of FLUSH does not indicate that an error occurred during job execution, assignment of this status does not cause a job status of NOTOK.

If a JCL statement other than the COND or IF/THEN/ELSE statement caused the step not to run, it is not defined as a FLUSH step.

If the failure of a step causes subsequent steps not to be executed, these subsequent steps are not defined as FLUSH steps.

For reasons of backward compatibility, that is, to ensure that the application of CODES value ***** remains unchanged, CODES value ***** does not include FLUSH steps.

SNRUN

A step is defined as CODES value SNRUN if it did not run. This code includes

  • any step with a CODES value of FLUSH

  • any step that does not appear in the job

  • instances where a step does not run because of a JCL error in a prior step (the step with the JCL error does not have a status of SNRUN)

  • §Restart§ if a job was restarted by Control-M/Restart, and Control-M is to consider all job runs during post-processing (the ALLRUNS parameter is set to YES in the CTRPARM member), a step is defined as SNRUN if one of the following conditions are satisfied:

    • The step did not previously run, or Control-M/Restart did not recapture a completion or abend code from a previous run.

    • The step was not executed during the RESTART run.

SNRUN cannot be specified together with ANYSTEP. Because SNRUN includes steps that do not exist in a job, and ANYSTEP includes all step names even if they do not exist in a job, specifying both in the same job causes a condition that SNRUN cannot process.

A status of SNRUN does not indicate that an error occurred during a job execution, nor does it cause a job status of NOTOK. It merely indicates that it did not run.

For reasons of backward compatibility, that is, to ensure that the application of CODES value ***** remains unchanged, CODES value ***** does not include SNRUN steps.

FCnnn

The DO actions are performed after a specified number of job or Smart Table failures (any case of finishing NOTOK) occur serially. The number of failures is specified by the 3-digit suffix of the FCnnn parameter. The DO action is performed only after the number of failures that are specified by FCnnn occur. If afterwards there are additional failures, the DO action will not be performed again.

Every time the job or Smart table ends with a success, or is forced to be ENDED OK by a FORCE OK request, the failure counter is reset to zero.

Deactivating an ON statement

Perform a set of DO actions when a job fails in a specific step xxx and with a specific fail code yyyy. These actions should be taken on the first occurrence of the job failure but not on any subsequent rerun or restart.

Copy
ON PGMST ANYSTEP     PROCST        CODES FC001                          A/O A
ON PGMST xxx         PROCST        CODES yyyy                            A/O
  DO do-statements

The above construct causes the ON statement to be deactivated after the first job failure occurs. If afterwards there are additional failures, the DO action will not be performed again.

Note that if any of the above DO statements are DO FORCEJOBs, with the above statement there is no need to specify the global CTMPARM parameter FORCONCE as Y.

Code Qualifiers and Relationships

Any character in a condition code, system abend code or user abend code may be replaced by an asterisk (*). An asterisk means "any value" for the character it replaces. For example, if S*13 is specified, the code criteria for the step is satisfied by codes S013, S613, S913, and so on.

The qualifiers described in Table 203 can be used in certain cases.

Table 203 ON PGMST Parameter Code Qualifiers

Qualifier

Description

>

Greater than. Valid as a qualifier for condition codes and user abend codes.

<

Less than. Valid as a qualifier for condition codes and user abend codes.

N

Specifies not to perform the accompanying DO statements if the specified code exists in the step. Valid as a qualifier for condition codes, user abend codes and system abend codes.

The N qualifier indicates that the DO statements must not be performed if the specified condition exists. It does not indicate that the DO statements must be performed if the specified condition does not exist.

The relationship between multiple codes in an ON PGMST statement is OR, that is, the appearance of any of the codes in the specified step satisfies the ON criteria, except for range specifications such as >C0010 or <C0040.

However, code criteria qualified by N take precedence over all other code criteria. If a code that is specified with an N qualifier is generated by the specified step, accompanying DO actions are not performed even if other ON code criteria are satisfied.

ON PGMST statement types

The two types of ON PGMST statements are

  • Step-level - depend on the results of specific jobsteps

  • Job-level - depend on the results of the entire job

Step-level ON PGMST statements have CODES values like Cxxxx, Sxxx and/or Uxxx and can be coded with specific PGMST and PROCST values (or ANYSTEP).

Job-level ON PGMST statements have CODES like OK, NOTOK and EXERR that apply to the results of the entire job. These can ONLY be coded with PGMST of ANYSTEP.

Control-M Post Processing is performed in two stages. The first stage checks individual steps against the Step-level ON PGMST logic. In this stage, Control-M also determines the OK/NOTOK status of the job, based on the individual steps.

In the second stage, Control-M checks the Job-level ON PGMST logic.

Since mixing Step-level and Job-level type CODES might produce unexpected results, BMC recommends that you avoid mixing the two types.

Examples for ON PGMST

  • If >C0008 NC0020 is specified, the codes criteria is satisfied (and the DO statements performed) by the appearance of any condition code greater than 8 except condition code 20.

  • If the following are specified:

    Copy
    >U0999 NU1341 S*** NS*37 <C0004

    The DO actions are triggered by one of the following:

    • a condition code less than C0004

    • a user abend code greater than U0999 except U1341

    • any system abend code except Sx37 (that is, except S037, S137, and so on)

  • If only code NC0008 is specified:

    The accompanying DO statements are never performed. The specified value only indicates when not to perform the DO actions. There is no indication when the DO actions are to be performed.

Any program step resulting in condition code C0008 or C0016 is considered OK.

Figure 260 ON PGMST Parameter – Example 1

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                          TABLE: PRODKPL
COMMAND ===>                                                SCROLL===> CRSR
+-------------------------------------------------------------------------+
  OUT                                                                      
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP              
  SYSOUT OP   (C,D,F,N,R)                                              FROM
  MAXRERUN     RERUNMEM                              INTERVAL       FROM   
  STEP RANGE         FR (PGM.PROC)          .            TO          .     
  ON PGMST ANYSTEP  PROCST UPDA     CODES C0008  C0016                  A/O
    DO OK                                                        
    DO                                                                     
  ON PGMST          PROCST          CODES                               A/O
    DO                                                                     
  ON SYSOUT                                          FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO                 URGN   
    MS                                                                     
======= >>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<< =====
                                                                           
                                                                           
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                15.16.03

When procedure step UPDA in program step STEP08 finishes executing with a condition code less than C0008, it is considered OK.

Figure 261 ON PGMST Parameter – Example 2

Copy
JOB: PRDKPL02 LIB CTM.PROD.SCHEDULE                         TABLE: PRODKPL
COMMAND ===>                                               SCROLL===> CRSR
+------------------------------------------------------------------------+
  OUT                                                                     
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS            
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP             
  SYSOUT OP   (C,D,F,N,R)                                             FROM
  MAXRERUN     RERUNMEM                              INTERVAL      FROM   
  STEP RANGE         FR (PGM.PROC)          .          TO         .       
  ON PGMST STEP08   PROCST UPDA     CODES <C0008                       A/O
    DO OK                                                        
    DO                                                                    
  ON PGMST          PROCST          CODES                              A/O
    DO                                                                    
  ON SYSOUT                                         FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO                URGN   
    MS                                                                    
====== >>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<< ====
                                                                          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                               15.16.03

When any program step in the step range DF2 (STEP20 – STEP29A) finishes executing with any system or user abend code, except U2030, rerun the job, and shout the indicated message to TSO logon ID P43.

Figure 262 ON PGMST Parameter – Example 3

Copy
JOB: PRDKPL03 LIB CTM.PROD.SCHEDULE                         TABLE: PRODKPL
COMMAND ===>                                               SCROLL===> CRSR
+------------------------------------------------------------------------+
  OUT                                                                     
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS            
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP             
  SYSOUT OP   (C,D,F,N,R)                                            FROM 
  MAXRERUN     RERUNMEM                              INTERVAL     FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO        .        
  ON PGMST *DF2     PROCST          CODES S***   U****  NU2030         A/O
    DO RERUN                                                     
    DO SHOUT     TO  TSO-P43            URGENCY R                
     = JOB PRDKPL03 ABENDED; THE JOB IS RERUN                    
    DO                                                                    
  ON PGMST          PROCST          CODES                             A/O 
    DO                                                                    
  ON SYSOUT                                        FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO                URGN   
    MS                                                                    
====== >>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<< =====
                                                                            
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                               15.16.03

After 3 instances of a cyclic job finish executing with a NOTOK status, stop the job from further cycling.

Figure 262a ON PGMST Parameter – Example 4

Copy
JOB: PRDKPL03 LIB CTM.PROD.SCHEDULE                         TABLE: PRODKPL
COMMAND ===>                                               SCROLL===> CRSR
+------------------------------------------------------------------------+
  OUT                                                                     
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS            
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP             
  SYSOUT OP   (C,D,F,N,R)                                           FROM  
  MAXRERUN 0020  RERUNMEM                          INTERVAL 0005 M  FROM  
  STEP RANGE         FR (PGM.PROC)          .          TO        .        
  ON PGMST ANYSTEP  PROCST          CODES FC003                       A/O 
    DO STOPCYCL                                                           
    DO                                                                    
  ON PGMST          PROCST          CODES                             A/O 
    DO                                                                    
  ON SYSOUT                                        FROM 001 TO 132    A/O  
    DO                                                                
  ON VAR                                                              
    DO                                                                
  SHOUT WHEN           TIME       +     DAYS     TO                URGN   
    MS                                                                    
====== >>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<< =====
                                                                          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                               15.16.03

ON SYSOUT: Post–processing Parameter

Search for a string in the sysout of the job, and perform the actions in the accompanying DO statements if the string is found.

Figure 263 ON SYSOUT Parameter Format

(Optional) Multiple ON SYSOUT parameters can be defined. Upon specifying an ON SYSOUT value and pressing Enter, a new ON SYSOUT statement, followed by a blank DO statement, is opened. Valid values are shown in Table 204.

Table 204 ON SYSOUT Values

Value

Description

string

Mandatory if ON SYSOUT is used. The string to search for. This string may not consist of more than 40 alphanumeric characters. If you want this string to contain blanks, enclose the blanks, or the phrase containing the blanks, within single or double quotation marks.

In addition:

  • * – Use this character as a mask to match any string.

  • &*– Use this to indicate an asterisk within a string where the asterisk is not a mask character.

  • ? – Use this character as a mask to match any single character.

  • &?– Use this to indicate a question mark within a string where the question mark is not a mask character.

FROM

The column in the SYSDATA files where the search must start. Valid values are from 1 through 132.

TO

The column in the SYSDATA files where the search must end. Valid values are from 1 through 132.

BMC recommends the use of the FROM and TO parameters, if possible, to narrow the area searched and thereby make the search more efficient.

A/O

(Optional) Boolean And/Or indicator.

Valid Values:

  • A (And) – indicates AND logic between the two ON SYSOUT statements
    ON SYSOUT block criteria are satisfied only if both ON SYSOUT statements are satisfied.

  • O (Or) – indicates OR logic between the two ON SYSOUT statements
    ON SYSOUT block criteria are satisfied if either (or both) ON SYSOUT statements are satisfied.

If you specify A or O, an empty ON SYSOUT line is displayed.

Two or more ON SYSOUT statements connected by a Boolean indicator constitute an ON SYSOUT block.

The first DO statement is displayed after the last line of the ON SYSOUT block.

General Information for ON SYSOUT

The ON SYSOUT parameter enables you to specify DO statements that are to be performed if the SYSDATA of the job contains a specified string. For this purpose, the SYSDATA of the job means the data contained in the following sysout files:

  • JESMSGLG

  • JESJCL

  • JESYSMSG

If you know the location of the string, you can set values for the FROM and TO subparameters in order to restrict the search to a limited number of columns. This results in a more efficient search.

For a more advanced search, you can use the mask characters * and ? as described in Table 204.

Each ON SYSOUT line is checked against each line of the SYSDATA until a match is found or the end of the SYSDATA is reached. Each ON SYSOUT line is assigned a value of TRUE or FALSE.

Once the specified string is found, the following occurs:

  • If there is only one ON SYSOUT line

    • Searching for that string ends.

    • The DO statement is performed.

  • If an ON SYSOUT block has been specified, Control-M

    • checks and assigns a value of TRUE or FALSE to each line

    • checks the value of the entire block to determine if it is TRUE or FALSE

      If the result of that check is TRUE, the associated DO statements are performed.

Copy
ON SYSOUT IEF206I*STEP3                     FROM 001 TO 050    A/O
   DO FORCEJOB

Control-M searches from Column 1 through Column 50 in each line for any string beginning IEF206I and ending STEP3.

Copy
ON SYSOUT IEF206I*&*STEP3                  FROM 001 TO 050    A/O
   DO FORCEJOB

Control-M searches from Column 1 through Column 50 in each line for any string beginning IEF206I and ending *STEP3.

Copy
ON SYSOUT 'IEF206I STEP3'                  FROM 001 TO 050    A/O
   DO FORCEJOB

The string IEF206I STEP3 contains a blank space, but is enclosed within quotation marks. Control-M searches for the string from Column 1 through Column 50 in each line.

ON VAR: Post–processing Parameter

Check the value of an AutoEdit variable, and perform the actions in the accompanying DO statements if the variable value matches an expected value that you specify.

Figure 263a ON VAR Parameter Format

(Optional) Multiple ON VAR parameters can be defined. Upon specifying the ON VAR subparameters and pressing Enter, a new ON VAR statement, followed by a blank DO statement, is opened.

The ON VAR statement consists of the subparameters described in Table 204a. When used, at least one combination of variable name, operator, and expected variable value must be specified.

Table 204a ON VAR Subparameters

Value

Description

VAR

The name of the variable, up to 64 characters.

Valid formats:

  • %%VAR_NAME for a local variable

  • %%\VAR_NAME for a global variable

OPERATOR

A comparison operator for checking the current value of the AutoEdit variable.

The following operators are available for an integer:

  • EQ - Equal to (=)

  • NE - Not equal to (!=)

  • GT - Greater than (>)

  • GE - Greater than or equal (>=)

  • LT - Less than (<)

  • LE - Less than or equal (<=)

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

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

The following operators are available for a string:

  • LK - Like

  • NL - Not like

  • IX - Is exactly

  • NX - Is not exactly

  • SW - Starts with

  • EW - Ends with

  • CO - Contains

  • NC - Does not contain

  • MP - Is empty

  • NP - Is not empty

VAL

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

If you selected the MP or NP operator, the VAL subparameter is N/A and is not required.

If you selected the IR or NR operator, VAL is replaced by the MIN and MAX subparameters. Use MIN and MAX to define a value range.

For string operators, the VAL field accepts up to 64 characters. The resulting string can be up to 80 characters.

For integer operators, the VAL, MIN, and MAX fields accept up to 64 characters if the '%%' characters appear anywhere in these fields. Otherwise, the length of these fields can be up to 10 digits.

Numeric signs '+' or '-' may appear as the first character in a numeric string. These characters are not counted as one of the 10 digits of the number.

  • Positive number: {up to 10 digits} or +{up to 10 digits}

  • Negative number: -{up to 10 digits}

The specified value can contain AutoEdit variables.

A/O

(Optional) Boolean And/Or indicator.

Valid Values:

  • A (And) – indicates AND logic between the two ON VAR statements
    ON VAR block criteria are satisfied only if both ON VAR statements are satisfied.

  • O (Or) – indicates OR logic between the two ON VAR statements
    ON VAR block criteria are satisfied if either (or both) ON VAR statements are satisfied.

If you specify A or O, an empty ON VAR line is displayed.

Two or more ON VAR statements connected by a Boolean indicator constitute an ON VAR block.

The first DO statement is displayed after the last line of the ON VAR block.

General Information for ON VAR

ON VAR statements are evaluated after all ON PGMST and ON SYSOUT statements have been addressed. ON VAR statements are usually, but not necessarily, followed by user-specified DO actions. The implied relationship between ON VAR statements and associated DO statements is: if the ON VAR statement criteria is satisfied, perform the associated DO statement actions.

In a new job scheduling definition, an empty ON VAR statement is followed by an empty DO statement. Additional ON VAR statements can be opened in the job scheduling definition as follows:

  • Upon specifying the ON VAR subparameters and pressing Enter, an empty ON VAR statement and DO statement is opened following the current ON VAR and DO statements. The new ON VAR and DO statements, if filled in, are not logically connected to the preceding ON VAR and DOstatements. They constitute a new ON VAR block and DO block.

    Multiple ON VAR blocks are generally interpreted sequentially from first to last, except when an ON VAR block contains an And/Or Boolean connector. All such blocks containing Boolean connectors are processed last regardless of their position in the list of ON VAR blocks.

    If the conditions of an ON VAR block are satisfied, the accompanying DO actions are performed. The conditions of more than one ON VAR block can be satisfied; therefore, more than one set of DO statements can be performed.

  • When you fill in the A/O (And/Or) subparameter of an ON VAR statement, an empty ON VAR statement is opened immediately, before the accompanying DO statement. The specified A/O value logically connects the new ON VAR statement to the preceding ON VAR statement. These two ON VAR statements constitute a single ON VAR block.

Examples for ON VAR

Below are examples of ON VAR statements with various operators:

Copy
ON VAR %%VARIABLE1
OPERATOR GT   Greater than (>)
VAL %%VAR10
  DO FORCEJOB

With a block of two ON VAR statements:

Copy
ON VAR %%VARIABLE2
OPERATOR NP   Is not empty
VAL N/A                                               A/O A
ON VAR %%VARIABLE3
OPERATOR IR   In range (a<=x<=b)
MIN 10000
MAX 80000
  DO FORCEJOB

OUT: Post–processing Parameter

Add or delete prerequisite conditions when the job ends OK.

OUT and DO COND statements are similar. If you are familiar with one of them, you can easily use the other. However, familiarize yourself with the differences outlined below in Differences between OUT and DO COND.

Figure 264 OUT Parameter Format

(Optional) A maximum of two prerequisite conditions can be specified in an OUT line. One prerequisite condition can be specified in each long OUT line. When you specify the second prerequisite condition in a standard OUT line, or one prerequisite condition in a long OUT line, and press Enter, a new OUT line is opened for specifying additional prerequisite conditions. For more information, see Specifying Long OUT Condition Names.

Each specified prerequisite condition consists of the mandatory subparameters described in Table 205.

Table 205 OUT Mandatory Subparameters

Subparameter

Description

cond_name

 

User-supplied descriptive name of 1 through 39 characters used to identify the condition.

A condition name must not begin with the symbols "|", "¬", or "\", and must not contain parentheses (), because each of these characters has a special meaning.
To allow the use of the UFLOW feature, do not exceed 36 characters (for more information, see the note to cond_name in Table 189).

You can use an AutoEdit variable in a condition name, provided that the AutoEdit variable has a value that is known before the job is ordered.

dateref

4-character date reference.

Valid Values:

  • date – Specific date (in either mmdd or ddmm format, depending on the site standard).

  • ODAT – Resolves to the original scheduling date. Default.

  • +nnn – Resolves at job order time to ODATE+nnn calendar days. nnn is three digits (000-999).

  • -nnn – Resolves at job order time to ODATE-nnn calendar days. nnn is three digits (000-999).

+001 and -001 are not necessarily the same as NEXT and PREV, because NEXT and PREV are based on job scheduling criteria, while +nnn and -nnn are based on calendar days.

  • PREV – Resolves to the previous date on which the job ought to have been scheduled, according to its basic scheduling criteria (or ODATE–1 for a forced job).

  • NEXT – Resolves to the next date on which the job is scheduled according to its basic scheduling criteria (or ODATE+1 for a forced job).

  • STAT – Static. Indicates that the condition, such as IMS-ACTIVE, is not date-dependent.

Before STAT was introduced, date 0101 was recommended to be used in conditions that were not date-dependent. Unlike 0101, STAT is not a date, and it operates differently. Always use STAT when defining conditions that are not date-dependent.

  • **** – Any scheduling date. Valid only when opt is set to – .

  • $$$$ – Any scheduling date. Valid only with opt is set to – .

If a date reference is not specified, value ODAT is automatically inserted when you press Enter.

opt

Indicates whether to add or delete the specified prerequisite condition.

Valid Values:

  • + (Plus) – Add (create) the prerequisite condition

  • - (Minus) – Delete the prerequisite condition

General Information for OUT

If the job ends OK, the prerequisite conditions are added to or deleted from the IOA Conditions file according to the value set for opt.

Prerequisite conditions are usually used to establish job dependencies or to ensure manual intervention when required:

  • To establish job dependency, define a prerequisite condition in an OUT or DO COND statement in the job that must run first, and in an IN statement in the job that must run afterwards.

    The job containing a prerequisite condition in an IN statement is not submitted unless that prerequisite condition has been added manually or by a job containing the OUT or DO COND statement.

    • An OUT statement is used to add the prerequisite condition if the job ends OK.

    • The DO COND statement is used to add the prerequisite condition if the step and code event criteria specified in the accompanying ON statement are satisfied.

  • If the IN condition can only be satisfied by manual intervention, for example, if TAPE1-ARRIVED is set by the operator after an external tape has arrived on-site, performance of the required manual intervention before job submission can be ensured.

OUT and DO COND statements can also be used to delete prerequisite conditions. The OUT statement of the job can be used to delete a prerequisite condition after the job ends OK. A DO COND statement can be used to delete prerequisite conditions if the accompanying ON step and code criteria are satisfied.

These statements are generally used to delete prerequisite conditions either to prevent a particular job from running or when the condition is no longer needed by any other jobs in the Active Jobs file.

DO COND functions are performed after the functions of the OUT parameter:

  • If a prerequisite condition is added by the OUT parameter and deleted by the DO COND parameter, the combined effect is the deletion of the prerequisite condition.

  • If a prerequisite condition is deleted by the OUT parameter and added by the DO COND parameter, the combined effect is the addition of that prerequisite condition.

The following are examples of prerequisite conditions:

  • IMS-ACTIVE

  • JOB_PAYCALC_ENDED_OK

  • TAPE1_LOADED

All prerequisite conditions are associated with a date reference that is used to distinguish between different runs of the same job with different scheduling dates. If, for example, a condition is being deleted, only the condition matching the specified date is deleted. The same condition from a different date is not deleted.

Prerequisite conditions created by the OUT parameter can trigger the execution of other jobs or processes.

Prerequisite conditions deleted by the OUT parameter can prevent the scheduling of jobs and processes that require those prerequisite conditions in their IN parameter.

For more information regarding prerequisite conditions, see IN: Runtime Scheduling Parameter, ON Statements: Post–processing Parameter, and DO COND: Post–processing Parameter, and see Prerequisite Conditions.

Specifying Long OUT Condition Names

Regular prerequisite conditions are not more than 20 characters in length. If you want to specify a longer condition name, up to 39 characters in length, enter the string LONG in the date reference field of an empty OUT condition line. An (L) appears at the beginning of the line. If the field already contains data, entering the string LONG will open a new long OUT condition line, with (L) appearing at the beginning of the line. You can now insert a long condition name, as illustrated in Figure 265.

Specify SHRT in the date reference field to revert back to condition names of standard length.

  • Long condition names cannot be used in CMEM rule definitions.

  • If you want to use the UFLOW (unique flow) feature, the condition names must not exceed 36 characters since the UFLOW feature concatenates a unique 3-character suffix to the name of any condition that connects jobs within the ordered table.

Figure 265 Long OUT Condition

Copy
JOB: IEFBR14  LIB CTMP.V610.SCHEDULE                TABLE: PHILL1
COMMAND ===>                                      SCROLL===> CRSR
+---------------------------------------------------------------+
  IN     CTMLDNRS-NMIS-OK    ODAT      CTMLDNRS-NMIS-OK1   ODAT  
           CTMLDNRS-NMIS-OK2    ODAT                             
  CONTROL  CECI-ZEBRA-CONT      E                                
  RESOURCE  INITOS               0002                            
  PIPE                                                           
  FROM TIME 0800    +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY *1  SAC    CONFIRM N
  TIME ZONE:                                                     
 ================================================================
  OUT    CTMLDNRS-NMIS-OK     ODAT -   CTMLDNRS-NMIS-OK1   ODAT -
        (L)  THIS-LINE-CONTAINS-A-LONG-OUT-CONDITION-XXXX  ODAT -
                                                                 
  AUTO-ARCHIVE Y         SYSDB    Y      MAXDAYS      MAXRUNS    
  RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP    
  SYSOUT OP   (C,D,F,N,R)                                   FROM 
  MAXRERUN      RERUNMEM                    INTERVAL     FROM    
  STEP RANGE         FR (PGM.PROC)          TO          .        
  ON PGMST ANYSTEP  PROCST       CODES ****                  A/O 
    DO COND                                                      
    DO                                                           
  ON PGMST ANYSTEP  PROCST          CODES ****               A/O 
    DO                                                           
  ON SYSOUT                               FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO          URGN   
    MS                                                            
=== >>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<< ===
                                                                           
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                      15.49.13

OUT Conditions for SMART Table Entities

Prerequisite conditions that are specified for SMART Table Entities in OUT statements and/or in ON TABLE-END DO COND statements enable you to establish dependencies between tables and other jobs.

When all jobs in a SMART table are ended or deleted, prerequisite conditions are added to or deleted from the IOA Conditions file according to the OUT statements and/or ON TABLE-END DO COND statements in the SMART Table Entity.

A SMART Table Entity can be reassigned a status of ACTIVE after specified prerequisite conditions have already been added or deleted. For example, if a job in the SMART Table was deleted while in WAIT SCHEDULE status and was then undeleted after the prerequisite conditions were added or deleted, the SMART Table Entity returns to ACTIVE status.

Differences between OUT and DO COND

OUT and DO COND statements are similar but have the following differences:

  • An OUT statement is applied only if the job ends OK. DO COND statements are associated with ON statements and are applied only if the associated ON step and code criteria are satisfied.

  • An OUT statement appears in each job scheduling definition. No DO COND statement appears unless specified. To specify a DO COND statement, type COND in an empty DO field and press Enter.

  • DO COND statements are processed after OUT statements and can therefore override OUT statements.

Examples for OUT

This example consists of two jobs (screens):

SACALC01 – Calculates salaries

SARPT001 – Generates the Salary Statistics report

The report must be generated after the salaries have been successfully calculated.

Job SACALC01 runs first.

Figure 266 OUT Parameter Example 1 – First Job

Copy
JOB: SACALC01  LIB CTM.PROD.SCHEDULE                           TABLE: SALARY
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  SACALC01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS    01,15                                                 DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN                                                                        
  CONTROL                                                                   
  RESOURCE                                                                  
  PIPE                                                                      
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                
  ===========================================================================
  OUT      SALARY-OK            ODAT +                         
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

When job SACALC01 ends OK, the prerequisite condition SALARY-OK is added. This triggered the execution of job SARPT001 that requires the condition in order to run.

Job SARPT001 is not run unless job SACALC01 ended OK.

Figure 267 OUT Parameter Example 1 – Second Job

Copy
JOB: SARPT001  LIB CTM.PROD.SCHEDULE                            TABLE: SALARY
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  SARPT001    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS    01,15                                                 DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN       SALARY-OK            ODAT                            
  CONTROL                                                                   
  RESOURCE                                                                  
  PIPE                                                                      
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    11.17.00

The report (job SARPT001) is produced twice a month for the 1st and for the 15th. The report of the 15th is produced only if the prerequisite condition of the 15th, SALARY-OK, exists. The existence of the prerequisite condition of the 1st, SALARY-OK, does not cause submission of the report of the 15th (job SARPT001).

The jobs on the 1st, SACALC01 and SARPT001 (report), do not have to run on the 1st of the month. Suppose the salary job (SACALC01) finishes executing (OK) on the 3rd, the prerequisite condition SALARY-OK for the 1st is added, because the prerequisite condition is schedule date dependent.

Some jobs (such as IMSBDUPD) must run only when the IMS is active (IMS-ACTIVE):

Copy
MEMNAME  IMSDBUPD
DAYS     1,15
IN       IMS-ACTIVE STAT

The prerequisite condition IMS-ACTIVE is "generic," and it only exists when IMS is active. IMS itself is monitored by Control-M. When IMS is brought down successfully, Control-M deletes the prerequisite condition IMS-ACTIVE for all schedule dates. This prevents the abending of jobs that depend on IMS, such as job IMSDBUPD in the above example. Job IMSDBUPD is not submitted if the prerequisite condition IMS-ACTIVE does not exist.

Figure 268 OUT Parameter – Example 2

Copy
JOB: IMSPROD   LIB CTM.PROD.SCHEDULE                           TABLE: IMSPROD
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  CTB STEP AT         NAME            TYPE                                   
  DOCMEM  IMSPROD     DOCLIB   CTM.PROD.DOC                                  
  ===========================================================================
  DAYS                                                          DCAL         
                                                                     AND/OR  
  WDAYS                                                         WCAL         
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y     
  DATES                                                                      
  CONFCAL          SHIFT       RETRO Y MAXWAIT 99  D-CAT                     
  MINIMUM          PDS                                                       
  DEFINITION ACTIVE FROM          UNTIL                                      
  ===========================================================================
  IN       DEPOSITS             PREV                                         
  CONTROL                                                                    
  RESOURCE                                                                   
  PIPE                                                                       
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                 
  ===========================================================================
  OUT      IMS-ACTIVE           **** -                          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

A group of jobs runs every day of the week except Saturday and Sunday. Several of the different jobs for the different days must not run in parallel, and job sequence must be maintained even in case of delay.

Figure 269 OUT Parameter – Example 3

Copy
JOB: EBDUPDT2  LIB CTM.PROD.SCHEDULE                           TABLE: EBDPROD
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  OVERLIB                                                      STAT CAL      
  SET VAR                                                                    
  CTB STEP AT         NAME            TYPE                                   
  DOCMEM  EBDUPDT2    DOCLIB   CTM.PROD.DOC                                  
  ===========================================================================
  DAYS                                                          DCAL         
                                                                     AND/OR  
  WDAYS   2,3,4,5,6                                             WCAL         
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y     
  DATES                                                                      
  CONFCAL          SHIFT       RETRO Y MAXWAIT 08  D-CAT                     
  MINIMUM          PDS                                                       
  ===========================================================================
  IN       DEPOSITS             PREV                            
  CONTROL                                                                    
  RESOURCE                                                                   
  PIPE                                                                       
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  ===========================================================================
  OUT      DEPOSITS             ODAT +                          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

The job is submitted only if the prerequisite condition DEPOSITS of the previous schedule date exists. If the job finishes OK, the prerequisite condition DEPOSITS of the same schedule date is added. This, in turn, triggers the next job in the sequence.

The following example serves as a further explanation of the schedule date reference concept:

Copy
MEMNAME  EBDUPDT2
MEMLIB   EBD.PROD.JOB
DAYS     1,15,20
MONTHS   1- N 2- N 3- N 4- N 5- N 6- N 7- Y 8- N 9- Y 10- N 11- Y 12- N
OUT      EBD-INPUT-READY   ****  -

Today is September 15. The date reference values resolved in this job are in mmdd date format:

  • ODAT – 0915

  • PREV – 0901

  • NEXT – 0920

  • **** – Any date reference

OVERLIB: General Job Parameter

Name of a JCL library that can override the library specification in the MEMLIB parameter, which is discussed in MEMLIB: General Job Parameter.

Figure 270 OVERLIB Parameter Format

(Optional) Valid Values:

  • a valid data set name of 1 through 44 characters. AutoEdit variables can be specified.

  • the reserved value DUMMY (for dummy jobs).

General Information for OVERLIB

The OVERLIB parameter enables submission of a modified copy of the actual JCL of the job, without changes to either the regular JCL (in the MEMLIB library) or the job scheduling definition.

The library containing the regular JCL member of the job is specified in the MEMLIB parameter. When temporary changes are desired, the JCL member can be copied to the library specified in the OVERLIB field and modified as needed.

General Information for OVERLIB

If the MEMNAME member is found in the OVERLIB JCL library, that member is used. Otherwise, the member is taken from the MEMLIB library.

When the job is scheduled, the OVERLIB field is scanned. If it is not empty, Control-M resolves AutoEdit variables in the field, if any are specified, and then searches the OVERLIB library for the member specified in field MEMNAME.

The override can be canceled by deleting the MEMNAME member from the OVERLIB library. If the MEMNAME member is not found in the OVERLIB library, the member is taken from the MEMLIB library. Alternatively, the override can be canceled by deleting the OVERLIB specification from the job scheduling definition.

OVERLIB cannot be specified for a started task.

The library can be any cataloged, standard partitioned data set, LIBRARIAN or PANVALET. The record length must be 80.

GENERAL or USER=name, which are valid MEMLIB values, cannot be specified in field OVERLIB.

The library and the member do not have to exist when the OVERLIB parameter is defined. Their existence is checked by Control-M before actual submission of the job.

If, during the access to a library by Control-M (before submission) the library is held exclusively by another user (such as TSO user, job), the monitor re-tries to access the library every few seconds until the library is released and the job can be submitted.

Use of the library name DUMMY is intended for scheduling events (for example, adding a prerequisite condition without actually running the job). If the library name DUMMY is used, the job is not submitted (submission and sysout checking is skipped). The job is assumed to have ended OK; ON PGMST...DO processing is not performed. All Post-processing parameters associated with an ENDED OK status are activated (OUT, SHOUT WHEN OK, and so on).

The following optional functions that were performed by the CTMX015C and CTMX015O exits in previous versions are now incorporated into the Control-M monitor. These functions are controlled by the following installation parameters:

  • COPMEM2O – Copy the JCL member from the MEMLIB library to the OVERLIB library if the job ended NOTOK.

  • DELOVRER – Delete the JCL member from the OVERLIB library if the rerun of the job ended OK.

  • DELOVRUN – Delete the JCL member from the OVERLIB library if any run of the job ended OK

For a description of these parameters, see the chapter that discusses customizing INCONTROL products in the INCONTROL for z/OS Installation Guide.

Editing A Member through The J (JCL) Option

You can only perform this function in an ISPF environment.

When specifying option J (JCL) in the Job List screen or the Active Environment screen to edit the JCL member, Control-M must determine which library (MEMLIB or OVERLIB) to use.

The algorithm for this decision depends on:

  • where the member exists, that is, whether it is only in the MEMLIB library, only in the OVERLIB library, in both libraries, or in neither library)

  • what CTMIMACx REXX EXECs (if any) are defined

  • from which screen the J (JCL) option was requested

Table 206 indicates which libraries are used, depending on the above criteria.

Table 206 OVERLIB Parameter: Algorithm for LIbraries Used when Option J (JCL) Is Specified

When the following CTMIMAC is defined (if any)...

...the member exists in either library MEMLIB, OVERLIB, both, or neither

...and the screen of the J (JCL) request is:
Job List, Active Environment, or either screen

... and the edit is performed in the following library

None (default)

 

MEMLIB only

Either screen

MEMLIB

OVERLIB only

Either screen

OVERLIB

Both

Either screen

OVERLIB

Neither

Either screen

MEMLIB

CTMIMAC1

MEMLIB only

Job List

MEMLIB

Active Environment

OVERLIB (copied from MEMLIB)

OVERLIB only

Job List

MEMLIB (open empty member)

Active Environment

OVERLIB

Both

 

Job List

MEMLIB

Active Environment

OVERLIB (not copied)

Neither

 

Job List

MEMLIB

Active Environment

OVERLIB

CTMIMAC2

 

 

 

MEMLIB only

Either screen

 

OVERLIB only

Either screen

 

Both

Either screen

OVERLIB

Neither

Either screen

OVERLIB

CTMIMAC3

 

 

 

 

 

 

 

MEMLIB only

Job List

MEMLIB (But saved only if changed)

Active Environment

OVERLIB

OVERLIB only

Job List

MEMLIB (open empty member)

Active Environment

OVERLIB

Both

Job List

MEMLIB

Active Environment

OVERLIB

Neither

Job List

MEMLIB

Active Environment

OVERLIB

  • When using CTMIMAC1 or CTMIMAC2, more than four libraries cannot be concatenated.

  • When using CTMIMAC3, Exit CTMX014G, in the IOA SAMPEXIT library, is required if libraries are concatenated.

    For concatenated libraries, if the &COPYMEM parameter in Exit CTMX014G is set to YES, the saved member is placed in the first library of concatenation. If the &COPYMEM parameter is set to NO, the saved member is placed back in the original JCL library.

  • The CTMIMACx REXX EXECs can be found in the IOA CLIST library. Instructions for installing these REXX EXECs can be found in comments in the members themselves.

  • PANVALET and LIBRARIAN considerations when performing online JCL edits:

    • For PANVALET or LIBRARIAN support, sample exits CTMX014P or CTMX014L, respectively, must be installed. However, Control-M does not support both products simultaneously.

    • When both MEMLIB and OVERLIB exist, and MEMLIB is either PANVALET or LIBRARIAN, the edit function first copies the member to the OVERLIB before performing the edit, unless the member already exists in the OVERLIB.

    • IF only MEMLIB exists, and it is LIBARIAN, the edit is performed directly in MEMLIB.

    • If the MEMLIB library is PANVALET, editing can only be performed if a non-PANVALET OVERLIB is defined.

OVERLIB Example

If a special, modified version of BACKPL02 JCL is required, it is defined in CTM.OVER.JOBLIB. This JCL is used instead of the JCL in CTM.PROD.JOBLIB.

Figure 271 OVERLIB Parameter Example

Copy
JOB: BACKPL02 LIB CTM.PROD.SCHEDULE TABLE: BACKUP
COMMAND ===> SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME BACKPL02 MEMLIB CTM.PROD.JOBLIB
  OWNER M44 TASKTYPE JOB PREVENT-NCT2 Y DFLT N
  APPL APPL-L GROUP BKP-PROD-L
  DESC DAILY BACKUP OF SPECIAL FILES FROM APPL-L
  OVERLIB CTM.OVER.JOBLIB STAT CAL
  SCHENV SYSTEM ID NJE NODE
  SET VAR
  CTB STEP AT NAME TYPE
  DOCMEM BACKPL02 DOCLIB CTM.PROD.DOC
  ===========================================================================
  DAYS DCAL
  AND/OR
  WDAYS WCAL
  MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
  DATES
  CONFCAL WORKDAYS SHIFT RETRO N MAXWAIT 04 D-CAT
  MINIMUM PDS
  DEFINITION ACTIVE FROM UNTIL
  ===========================================================================
  IN START-DAILY-BACKUP ODAT
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT 11.17.00

OWNER: General Job Parameter

User who requests Control-M services.

Figure 272 OWNER Parameter Format

Mandatory. OWNER must be 1 through 8 characters.

General Information for OWNER

The OWNER parameter is used by the internal security mechanism of Control-M to determine which operations each user is authorized to perform and which information each user is authorized to access. For example, access to options and information on the Active Environment screen can be limited by the OWNER parameter.

The OWNER parameter can also facilitate selection and handling of production jobs.

The OWNER parameter is passed to external security products, such as RACF, ACF2 and TOP SECRET. Certain security products require that the owner name not exceed seven characters.

Default OWNER is dependent on the online environment of the site (CICS, TSO, and so on). For TSO and TSO/ISPF environments, the TSO user ID is the default. For non-TSO environments, such as CICS, the default is the terminal ID.

Example for OWNER

Job OPERCOMP belongs to owner SYS1.

Figure 273 OWNER Parameter Example

Copy
JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                            TABLE: OPER
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME OPERCOMP    MEMLIB   GENERAL                                      
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N           
  APPL    OPER                        GROUP MAINTENANCE                     
  DESC    JOB RUN ON THE 1ST OF THE MONTH                                   
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN                                                                        
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

PDS: Basic Scheduling Parameter

Partitioned data set (library) that must be checked for the minimum number of required free tracks. That number is specified in the MINIMUM parameter, which is described in MINIMUM: Basic Scheduling Parameter.

Figure 274 PDS Parameter Format

Optional; however, if MINIMUM is specified, PDS is mandatory. The PDS parameter specifies a data set name of 1 through 44 characters.

The PDS parameter cannot be used with any of the following parameters: DAYS, WDAYS, MONTHS, CONFCAL, RETRO and DATES.

General Information for PDS

The data set must be cataloged, and it must be a partitioned data set.

The MINIMUM and PDS parameters are always used together and are never used with other Basic Scheduling parameters.

The PDS parameter identifies a library. The MINIMUM parameter specifies the minimum number of free tracks required by that library.

These parameters are intended for use (that is, definition) in jobs or started tasks that compress, clean and/or enlarge libraries, or which issue a warning message to the IOA Log file, that is, if the TASKTYPE parameter is set to WRN.

If the MINIMUM and PDS parameters are defined for a job, the scheduling of the job is not related to or dependent upon any date criteria. Instead, the job is scheduled if the actual number of free tracks available in the specified library is below the specified minimum when the New Day procedure is run. The job or started task can then compress, clean, or enlarge the library, or issue the appropriate warning.

The PDS parameter does not work with PDSE-type libraries because they always appear to be 100 percent full.

Example for PDS

Check the SYS1.LINKLIB library for a minimum of 20 unused tracks.

Figure 275 PDS Parameter Example

Copy
JOB: MSG001   LIB CTM.PROD.SCHEDULE                            TABLE: OPER
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME MSG001      MEMLIB   GENERAL                                      
  OWNER   SYS1        TASKTYPE WRN    PREVENT-NCT2   DFLT  N                
  APPL    OPER                        GROUP OPER-MAINT                      
  DESC    INDICATE COMPRESS IS NEEDED FOR SYS1.LINKLIB                      
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  MSG001      DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1-   2-   3-   4-   5-   6-   7-   8-   9-   10-   11-   12-      
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM 020      PDS   SYS1.LINKLIB                                 
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN                                                                        
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

The MSG001 member in the Control-M GENERAL JCL library contains a warning message to compress the library.

PIPE: General Job Parameter

Indicates a data set to be replaced by a pipe with the same name. Displayed only if MAINVIEW Batch Optimizer (MVBO) is installed.

Figure 276 PIPE Parameter Format

(Optional) Valid value is a valid data set name (1 through 44 characters).

Each time a data set or pipe name is specified and Enter is pressed, a new empty line is displayed to allow specification of an additional data set or pipe name.

General Information for PIPE

Pipes are storage buffers that are used to replace data sets. Pipes are defined in, and used by, MVBO/Job Optimizer Pipes to replace sequential processing with parallel processing.

For example, normally, that is, without pipes, if JOB1 writes to data set DS1 and then JOB2 reads data set DS1, JOB2 waits until JOB1 is terminated before reading the data set. However, if a pipe is used to replace data set DS1, then as JOB1 writes data to pipe DS1, JOB2 can use the data without waiting for termination of JOB1.

Each pipe and its relevant parameters are defined in a MBVO/Job Optimizer Pipes rule. Each pipe must be defined with the same name as the data set it is replacing.

When a job is to use a pipe instead of a data set, the name of the data set or pipe must be specified in the PIPE parameter of the Control-M job scheduling definition for the job.

For more information about Pipe processing, see Job-Related Considerations for Pipes.

Example for PIPE

This example consists of two job scheduling definitions.

In job CTLIVPWR and job CTLIVPRD, data set CTL.IVP.FILE is replaced by a pipe with the same name. Jobs such as CTLIVPWR and CTLIVPRD below are called a "Collection" because they are pipe participants of the same pipe.

Figure 277 PIPE Parameter Example – Job CTLIVPWR

Copy
JOB: CTLIVPWR LIB CTMT.PROD.SCHEDULE                            TABLE: CTLIVP
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME CTLIVPWR    MEMLIB   CTM.IVP.JCL                                  
  OWNER   E02A        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL                                GROUP                                 
  DESC    MAINVIEW BATCH OPTIMIZER VERIFICATION - WRITER JOB                
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  CTLIVPWR    DOCLIB   CTMT.PROD.DOC                                
  ===========================================================================
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT.                   
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN       CTLIVPWR-IN          ODAT                                        
  CONTROL                                                                   
  RESOURCE                                                                  
  PIPE     CTL.IVP.FILE                                         
  PIPE
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                

Figure 278 PIPE Parameter Example – Job CTLIVPRD

Copy
JOB: CTLIVPRD LIB CTMT.PROD.SCHEDULE                           TABLE: CTLIVP
COMMAND ===>                                                   SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME CTLIVPRD    MEMLIB   CTM.IVP.JCL                                  
  OWNER   E02A        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL                                GROUP                                 
  DESC    MVBO VERIFICATION - READER JOB                                    
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  CTLIVPRD    DOCLIB   CTMT.PROD.DOC                                
  ===========================================================================
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN       CTLIVPWR-OUT         ODAT                                        
  CONTROL                                                                   
  RESOURCE                                                                  
  PIPE     CTL.IVP.FILE                                          
  PIPE                                                                  
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                                
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   13.22.07

§Restart§PREVENT-NCT2: General Job Parameter

Performs data set cleanup before the original job run.

Figure 279 §Restart§ PREVENT-NCT2 Parameter Format

(Optional) PREVENT-NCT2 consists of the subparameters described in Table 207.

Table 207 §Restart§ PREVENT-NCT2 Subparameters

Subparameter

Description

PREVENT-NCT2

(Optional) Whether, and how, to perform data set cleanup before the original run of the job.

Valid Values:

  • Y (Yes) – Perform data set cleanup before the original job run; this value is not valid for started tasks

  • N (No) – Do not perform data set cleanup before the original job run

  • F (Flush) – Halt processing of the job if any data set cleanup error is detected, even if MVS would not have stopped processing the job

  • L (List) – Do not perform data set cleanup before the original job run; but generate the messages that would be required for GDG adjustment during restart

DFLT

Protected field indicating the PREVENT-NCT2 default value for the site. The default is set in parameter NCAT2 in the CTRPARM member in the IOA PARM library. A value specified in the PREVENT-NCT2 parameter overrides the site default.

General Information for PREVENT-NCT2

If a job tries to create a data set that already exists, the job may fail with a DUPLICATE DATASET ON VOLUME error. If a job tries to create a data set whose name is already cataloged, the job may fail with an error message that indicates a reason of NOT CATLGD for reason code 2; the Control-M/Restart term PREVENT-NCT2 is derived from this error situation.

These problems can be avoided by performing data set cleanup. During data set cleanup, Control-M/Restart does the following:

  • Deletes and uncatalogs the old data sets. This prevents DUPLICATE DATSET ON VOLUME and NOT CATLGD 2 errors.

  • Performs Generation Dataset (GDG) Adjustment, which is described in the Control-M/Restart User Guide

Control-M/Restart automatically performs data set cleanup prior to restarts and reruns. However, it may be desirable to perform data set cleanup before the original job run, because data sets accessed by the job can have file-related errors that were generated by an entirely different job.

When data set cleanup is performed as part of the original job request, it is called PREVENT-NCT2 processing.

The site-defined default in NCAT2 in the CTRPARM member determines whether data set cleanup is to be performed before the original job run. The value of this site-defined default is displayed in protected field DFLT.

The PREVENT-NCT2 parameter can be used to override this default to determine what data set cleanup instructions are provided to the original job run. Possible values, and their effects, are described below:

  • When value Y is specified:

    Control-M/Restart performs data set cleanup before the original job run. It deletes and uncatalogs all data sets that can cause NCT2 and duplicate data set errors during execution, and performs GDG adjustment if necessary.

  • When value F is specified:

    If a file catalog error is detected, processing is halted, even if normal MVS processing would not handle the problems as a fatal error, and an appropriate error message is generated.

  • When value L is specified:

    Data set cleanup is not performed for the original run, but messages that would be required for GDG adjustment during restart are generated. Without these messages, GDG adjustment might not be properly performed during restart. In addition to the GDG adjustment messages, the same messages that are generated during simulation of data set cleanup are also generated.

    If you would normally specify N, meaning Control-M/Restart processing is not desired for the original run, but the JCL requires GDG processing, it is recommended that you specify value L instead of value N.

  • When value N is specified:

    No special action is taken by Control-M/Restart. Data set cleanup is not performed.

If a value of Y, F, or L is specified, that is, if some kind of special NCT2 processing is desired, a CONTROLR step is automatically added as a first step of the submitted job.

The PREVENT NCT2 parameter has no impact on restarts, because Control-M/Restart automatically performs data set cleanup prior to restarts.

When PREVENT-NCT2 is active for a job, it is possible to automatically collect certain statistical information on the job. For more details, see the AUTOXREF parameter in the INCONTROL for z/OS Installation Guide: Customizing.

To globally disable the Prevent-NCT2 processing, which will force Control-M to consider not-catalogued errors as OK, customize and apply the CTMSNCT member in the IOA SAMPEXIT library.

Example for PREVENT-NCT2

Prevent NOT CATLGD 2 errors for job PRDKPL01.

Figure 280 §Restart§ PREVENT-NCT2 Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                            TABLE: PRODKPL
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2 Y DFLT  N          
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN       START-DAILY-PROD-KPL ODAT                                        
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

PRIORITY: Runtime Scheduling Parameter

Internal Control-M job priority.

Figure 281 PRIORITY Parameter Format

(Optional) The PRIORITY parameter indicates a 1 to 2 character alphanumeric priority. An asterisk (discussed later) may also be specified.

The default is blank, which is the lowest priority.

General Information for PRIORITY

Priority helps determine the order in which jobs in the Active Jobs file are processed by Control-M.

Priority is determined in ascending order where: blank < A < Z < 0 < 9 < *

In general, the job with the highest priority code executes first if all its other runtime scheduling requirements are satisfied.

When not all runtime requirements for a high priority job are satisfied, for example, where a job requires two tape drives but only one is available, a job with a lower priority whose other runtime requirements are satisfied may be run earlier.

This, however, is not always desirable. A job may be so important that lower priority jobs must not be submitted until the important job has executed.

Such a job is called a critical path job. Critical path priority can be indicated by prefixing the priority with an asterisk (*).

A priority prefixed by an asterisk, such as priority *5, indicates that Control-M must submit the job before submitting any regular (non-*) priority jobs, such as priority 10, and before submitting any critical path jobs of lower priority, such as priority *3, even if the resources required for those other jobs are available.

Critical path priority is applied only after all the IN conditions for the job exist.

Critical path priority applies to contention for Quantitative resources and for Control resources required in exclusive state. Critical path priority does not apply to contention for Control resources required in shared state.

The jobs in a SMART Table may pass Run Time criteria (and become Eligible for Run) only after the corresponding SMART Table entity passes Run Time criteria (so that its status is Active). Therefore, it is recommended that the Priority of a SMART Table Entity not be lower than the Priority of any job that belongs to the SMART Table. Otherwise, a higher-priority entity might depend on a lower-priority entity, and this might result in an unexpected order of job submission or job execution.

Examples for PRIORITY

The priority level of job EBDIN001 is 07, and it requires three tapes. The priority level of job EBDIN002 is 02, and it requires only one tape:

Copy
MEMNAME  EBDIN001
RESOURCE TAPE 0003
PRIORITY 07
MEMNAME  EBDIN002
RESOURCE TAPE 0001
PRIORITY 02

If only two tapes are available, job EBDIN002 is submitted.

The priority level of job EBDUPDT is *5, and it requires two tapes. The priority level of job EBDEXEC is 04, and it requires one tape:

Copy
MEMNAME  EBDUPDT
RESOURCE TAPE 0002
PRIORITY *5
MEMNAME  EBDEXEC
RESOURCE TAPE 0001
PRIORITY 04

If one tape is available, neither job is submitted. When two tapes become available, job EBDUPDT is submitted.

The priority level of job EBDBKP is *8, and it requires three tapes. The priority level of job EBDMAINT is *7, and it requires one tape:

Copy
MEMNAME  EBDBKP
RESOURCE TAPE 0003
PRIORITY *8
MEMNAME  EBDMAINT
RESOURCE TAPE 0001
PRIORITY *7

If one tape is available, neither job is submitted. When three tapes become available, job EBDBKP is submitted.

The priority level of job MEMBER1 is ‘ 9’ (blank, nine), and it requires one tape. The priority level of job MEMBER2 is ‘9 ’ (nine, blank), and it requires one tape:

Copy
MEMNAME  MEMBER1
RESOURCE TAPE 0001
PRIORITY  9
MEMNAME  MEMBER2
RESOURCE TAPE 0001
PRIORITY 9 

If one tape is available, job MEMBER2 is submitted. The PRIORITY is a 2-character alphanumeric string, so the string ‘9 ’ has a higher code than ‘ 9’.

RELATIONSHIP: Basic Scheduling Parameter

Indicates the relationship (AND/OR) between rule-based calendar criteria and the basic scheduling criteria of the job, that is, whether either set of criteria, or both sets of criteria, are to be satisfied. This parameter appears in job scheduling definitions.

Figure 282 RELATIONSHIP Parameter Format

Copy
SCHEDULE RBC
RELATONSHIP (AND/OR)                                                
DAYS                                                          DCAL  

(Optional) Valid values are described in Table 208.

Table 208 RELATIONSHIP Parameter Values

Value

Description

O (Or)

If either set of criteria (a rule-based calendar or the basic scheduling criteria of the job) are satisfied, the job is scheduled. Default.

A (And)

If both a rule-based calendar and the basic scheduling criteria of the job are specified, the job is ordered when both are satisfied.

When a job is in a non-SMART table, even if no rule-based calendars are specified, the job is ordered, based on the basic job scheduling criteria.

General Information for RELATIONSHIP

For jobs, two types of basic scheduling criteria can be specified:

Table 209 RELATIONSHIP Parameter Scheduling Types

Type

Description

Schedule RBCs

Rule-based calendars used as sets of table criteria (that is, basic scheduling criteria defined for the table in the SMART Table Entity or IOA Calendar Facility).

Basic scheduling

Basic scheduling criteria defined in, and belonging to, the job scheduling definition. They are not connected to table criteria.

In some cases, it may be required that both sets of criteria be satisfied. In other cases, satisfaction of either set of criteria is sufficient for job scheduling. This parameter allows specification of the required combination:

  • When either set of criteria is sufficient, specify value O (OR relationship).

  • When both sets of criteria are required, specify value A (AND relationship).

When Exclude RBCs appear in the Schedule RBC list, the AND/OR relationship applied between the Schedule RBCs and the local job scheduling criteria is evaluated only after any scheduled days in Exclude RBCs are excluded from the remaining Schedule RBCs in the list.

If an AND relationship is specified when no schedule rule-based calendars are defined in the job, the job is not scheduled if it is in a SMART Table, but if it is in a non-SMART table it is scheduled according to the basic job scheduling definition.

For more information, see Figure 141 below.

Example for RELATIONSHIP

Create a table of employee hours each payday and on the last day of the year.

Figure 283 RELATIONSHIP Parameter Example

Copy
JOB: TABHOURS LIB CTM.PROD.SCHEDULE                             TABLE: ACCOUNTS
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME TABHOURS    MEMLIB   CTM.PROD.JCL                                 
  OWNER   N04B        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL                                GROUP ACCOUNT_GROUP                   
  DESC    TABULATE EMPLOYEE HOURS                                           
  OVERLIB                                                      STAT CAL   
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  TABHOURS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC PAYDAYS                                                      
  SCHEDULE RBC                                                             
  RELATIONSHIP (AND/OR) O                                        
  DAYS    31                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- N 2- N 3- N 4- N 5- N 6- N 7- N 8- N 9- N 10- N 11- N 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.36.07

RERUNMEM: Post–processing Parameter

Name of the JCL member to use when the job is automatically rerun. (Called RERUN – RERUNMEM prior to version 6.0.00.)

Figure 284 RERUNMEM Parameter Format

(Optional) The RERUNMEM parameter identifies a valid member name of 1 through 8 characters.

General Information for RERUNMEM

Although the RERUNMEM parameter can be used to specify the name of a JCL member to use for automatic rerun, note the following points:

  • The DO FORCEJOB parameter provides a more flexible alternative to the RERUNMEM parameter.

  • Control-M/Restart users can use the DO IFRERUN parameter to restart the failed job instead of using RERUNMEM to rerun the job.

The automatic rerun process works as follows:

  • The Control-M monitor determines that automatic rerun is possible only if the job ENDS NOTOK and a specified DO RERUN statement is activated during post-processing. If the monitor determines that automatic rerun is possible, it sets the status of the job to ENDED NOTOK – RERUN NEEDED.

  • The monitor then checks the value of MAXRERUN in the Active environment. If the value is zero, or no MAXRERUN value was specified, automatic rerun is not possible and the job is not submitted for rerun. If the value is greater than zero, rerun is possible, and the monitor submits the job for rerun when all runtime criteria are satisfied. Runtime criteria include not only the Runtime Scheduling parameters, but also the INTERVAL parameter, which specifies the minimum allowable interval between runs of the same job.

  • The JCL for the rerun job is taken from the member specified in the RERUNMEM parameter. If no RERUNMEM value is specified, the JCL for the rerun is taken from the regular JCL member of the job specified in the MEMNAME parameter.

Rules applying to the MEMNAME parameter also apply to the RERUN parameter.

The member name can be the same as, or different from, the job name.

The member specified in RERUNMEM must be in the library specified in the MEMLIB parameter.

The RERUNMEM parameter overrides the MEMNAME value in the JCL, and the MEMNAME value becomes irrelevant for reruns.

The RERUNMEM parameter cannot be specified for cyclic jobs and cyclic started tasks.

The RERUNMEM parameter cannot be specified if a DO IFRERUN statement is specified.

Example for RERUNMEM

If job EF145TS abends during step name COLLECT, try to run another job from the member EF145TSR that continues from the same place.

Figure 285 RERUNMEM Parameter Example

Copy
JOB: EF145TS  LIB CTM.PROD.SCHEDULE                           TABLE: EFPROD
COMMAND ===>                                                  SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  ===========================================================================
  OUT                                                                       
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS              
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP               
  SYSOUT OP   (C,D,F,N,R)                                              FROM 
  MAXRERUN  2   RERUNMEM EF145TSR                  INTERVAL         FROM
  STEP RANGE         FR (PGM.PROC)          .          TO          .        
  ON PGMST COLLECT  PROCST          CODES S***   U****                  A/O 
    DO RERUN                                                                
    DO                                                                      
  ON PGMST          PROCST          CODES                               A/O 
    DO                                                                      
  ON SYSOUT                                          FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                      
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====
                                                                            
                                                                            
                                                                            
                                                                            
                                                                            
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

RESOURCE: Runtime Scheduling Parameter

Quantitative resources and their quantities required by the job.

Figure 286 RESOURCE Parameter Format

(Optional) A maximum of two Quantitative resources can be specified in each RESOURCE line. Upon specifying the second Quantitative resource in a line and pressing Enter, a new line is opened, for specifying additional Quantitative resources.

Each specified Quantitative resource consists of the mandatory subparameters described in Table 210 and may include the optional parameters described in Table 211.

Table 210 Mandatory RESOURCE Subparameters

Subparameter

Description

res_name

User-supplied, descriptive name of 1 through 20 characters to identify the Quantitative resource.

quantity

Quantity of the Quantitative resource required by the job. The specified value must be four digits (leading zeros must be specified).

Table 211 Optional RESOURCE Subparameters

Subparameter

Description

onOk

Whether to keep the Quantitative resource tied to the job if the job ends OK.

Valid Values:

  • ' ' (Blank space) – release the resource
    The resource is not kept, and is returned to the total quantity available for other jobs. Default.

  • D – discard the resource
    The resource is not reusable. The quantity of the resource is permanently removed from the total quantity available for other jobs.

onFail

Whether the Quantitative resource remains allocated to the job if the job ends NOTOK.

Valid Values:

  • ' ' (Blank space) – release the resource

    The resource does not remain allocated to the job. Default.

  • K – keep the resource
    The resource remains allocated to the job until one of the following occurs:

    • the job is rerun and ends OK

    • the job is deleted

    • the job is FORCEd OK

RESOURCE Subparameters

Copy
TAPE 2   D K

Assume that the total number of TAPE resources is 5.

If the job ends OK, the total number of TAPE resources stays at 3, since 2 TAPE resources are permanently discarded.

If the job is rerun, and there are enough TAPE resources, Control-M allocates a quantity of 2 TAPE resources for the job. The total number of TAPE resources is then reduced to 1.

If the job ends NOTOK, the total number of TAPE resources stays at 5, but the available number of resources will be 3. The job keeps the 2 TAPE resources.

If the job is rerun, Control-M reallocates a quantity of 2 TAPE resources for the job. The total number of TAPE resources stays at 5, and the available number of resources stays at 3.

General Information for RESOURCE

Quantitative resource specification can be used to prevent resource contention.

Quantitative resources, such as tape drives, CPU, and access rates to the spool, and their maximum available quantities are defined for the site in the IOA Conditions/Resources screen (Screen 4).

If the AUTOTAPE parameter in the CTMPARM member in the IOA PARM library is set to Y, any tape drive value defined in the RESOURCE parameter is ignored. Instead, a value determined by the Automatic Tape Adjustment facility is used. For more information, see Fields of the Statistics Screen, and the description of using the Automatic Tape Adjustment facility in the INCONTROL for z/OS Administrator Guide.

Examples for RESOURCE

Copy
TAPE 12
CPU 80
WORK-SPACE 3000

To eliminate bottlenecks and maximize throughput, a site can quantify processing power and assign it a resource name, such as CPU or LPU (logical processing units). The more powerful the CPU, the greater the maximum quantity that can be assigned to it.

The RESOURCE parameter is used to specify the quantity of a resource required by the job.

Before a job is submitted, Control-M verifies that the required quantities of resources, defined through RESOURCE statements, are available, that is, that they are not in use by another job:

  • If they are available, Control-M allocates them to the job, and they become unavailable to other jobs until they are freed.

  • If the resources required by the job are unavailable, the job is not submitted.

Resource Allocation in Multi-CPU Environments

In multi-CPU environments, several resource allocation possibilities exist.

One possibility is to operate as if there is one large CPU and resource pool. In this case, no logical differentiation between CPUs is made, and the Control-M monitor assigns resources, including CPU processing power, from the total resources available.

Another possibility is to differentiate between CPUs and optionally to logically associate quantities of resources with specific CPUs.

This is generally achieved through the use of common identifiers, such as a suffix.

For example, suppose a site has three CPUs of differing processing capability. The following representative resources and quantities might be defined in the IOA Resources file:

Copy
CPU-A 50
CPU-B 75
CPU-C 100

In this example, it might also be desired to logically categorize other resources according to CPU. For example, if 12 tape drives are available, the following resources and quantities might also be defined in the IOA Resources file:

Copy
TAPE-A 3
TAPE-B 4
TAPE-C 5

If this kind of differentiation is used, different resources in the job scheduling definition can be specified with different suffixes, and the job still runs. For example, a quantity of CPU-A can be specified along with a quantity of TAPE-B.

Rather than specifying a particular identifier when requesting a resource, resources can be requested generically by specifying a $ in place of the identifier, for example CPU-$ or TAPE-$. The $ indicates to Control-M that it must select a specific resource, that is, a resource with an identifier, to replace the generic resource, that is, the resource with the $.

If you use the $ to request generic resources, the $ must appear at the end of the resource name.

If a $ is specified for all required resource identifiers, the Control-M monitor does not assign the resources unless it can assign all resources with the same identifier, for example, all resources with identifier A or all resources with identifier B.

When using the generic $ identifier, you can use one of the following methods to ensure a specific CPU is used for processing the job:

  • Use JCL AutoEdit System variable %%$SIGN to extract the CPU identifier assigned by the Control-M monitor and then to assign the job to that same CPU. System variable %%$SIGN is discussed in see JCL and AutoEdit Facility.

  • Use Control-M submit Exit CTMX002.

Control-M Exit CTMX004 can also be used to help prevent bottlenecks caused by resource contention.

For more information on Control-M exits CTMX002 and CTMX004, see the INCONTROL for z/OS Administrator Guide.

There are 12 tape drives in the data center connected to a single computer. Two tape drives must always remain free for emergencies. Therefore, only 10 drives can be used for production. The defined available quantity is set as follows: TAPE 0010.

Any user (job) wanting to use tape drives must specify the number of tapes required in the job parameters.

Figure 287 RESOURCE Parameter – Example 1A

Copy
JOB: EBDINPUT LIB CTM.PROD.SCHEDULE                          TABLE: EBDPROD
COMMAND ===>                                                SCROLL===> CRSR
+-------------------------------------------------------------------------+
  SCHENV                        SYSTEM ID                  NJE NODE        
  SET VAR                                                                  
  CTB STEP AT         NAME            TYPE                                 
  DOCMEM  EBDINPUT    DOCLIB   CTM.PROD.DOC                                
 ==========================================================================
  DAYS                                                         DCAL        
                                                                    AND/OR 
  WDAYS                                                        WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12-Y    
  DATES                                                                    
  CONFCAL          SHIFT       RETRO Y MAXWAIT 04  D-CAT                   
  MINIMUM          PDS                                                     
  DEFINITION ACTIVE FROM          UNTIL                                    
  =========================================================================
  IN                                                                       
  CONTROL                                                                  
  RESOURCE TAPE               0002                                    
  PIPE     CTM.PROD.PIPE                                                   
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS               
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM              
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                11.17.00

Control-M checks if there are two tape drives available. If there are, the tape drives are "given" to the job. The total number of free tapes is now eight. When the job finishes executing, the tape drives are returned to the general pool.

Suppose that many jobs are using tapes, and the available quantity is only one. A job that requires two tape drives must wait. The job is not submitted until the required number of tapes are available.

An authorized person decides that only one tape unit is needed for emergencies and adds one tape unit to the global quantity available for use. Now the maximum number of tape drives is eleven, and the number of available tape drives is two. The job is submitted.

The data center discussed in the previous example is expanding. It now has two computers and 20 tape drives. The tape drive distribution is:

  • CPU1 only – 8

  • CPU2 only – 8

  • Transferables – 6

Currently, CPU1 is connected to four transferable drives, one transferable drive is connected to CPU2, and one transferable drive is out of order. The situation is presented to Control-M as follows:

Copy
TAPE1 12
TAPE2  7

A job requests three tape drives, on any computer.

Figure 288 RESOURCE Parameter – Example 1B

Copy
JOB: EBDINPUT LIB CTM.PROD.SCHEDULE                          TABLE: EBDPROD
COMMAND ===>                                               SCROLL===> CRSR
+------------------------------------------------------------------------+
  SCHENV                         SYSTEM ID                 NJE NODE       
  SET VAR                                                                 
  CTB STEP AT         NAME            TYPE                                
  DOCMEM  EBDINPUT    DOCLIB   CTM.PROD.DOC                               
  ========================================================================
  DAYS                                                        DCAL        
                                                                   AND/OR 
  WDAYS                                                       WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12-Y   
  DATES                                                                   
  CONFCAL          SHIFT       RETRO Y MAXWAIT 04  D-CAT                  
  MINIMUM          PDS                                                    
  DEFINITION ACTIVE FROM          UNTIL                                   
  ========================================================================
  IN                                                                      
  CONTROL                                                                 
  RESOURCE TAPE$              0003                              
  PIPE     CTM.PROD.PIPE                                                  
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS              
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM             
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                               11.17.00

The result is that the available quantity of either TAPE1 or TAPE2 is reduced by three.

The Control-M scheduling algorithm makes the optimal decision as to which of the two computers to send the job. It is possible to intervene in this selection process. For more information, see user Exit CTMX004 in the INCONTROL for z/OS Administrator Guide.

A job requests three tape drives on CPU1.

Figure 289 RESOURCE Parameter – Example 1C

Copy
JOB: EBDINPUT LIB CTM.PROD.SCHEDULE                          TABLE: EBDPROD
COMMAND ===>                                                SCROLL===> CRSR
+-------------------------------------------------------------------------+
  SCHENV                         SYSTEM ID                 NJE NODE        
  SET VAR                                                                  
  CTB STEP AT         NAME            TYPE                                 
  DOCMEM  EBDINPUT    DOCLIB   CTM.PROD.DOC                                
  =========================================================================
  DAYS                                                         DCAL        
                                                                    AND/OR 
  WDAYS                                                        WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12-Y    
  DATES                                                                    
  CONFCAL          SHIFT       RETRO Y MAXWAIT 04  D-CAT                   
  MINIMUM          PDS                                                     
  DEFINITION ACTIVE FROM          UNTIL                                    
  =========================================================================
  IN                                                                       
  CONTROL                                                                  
  RESOURCE TAPE1              0003                                
  PIPE     CTM.PROD.PIPE                                                   
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS               
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM              
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                11.17.00

The result is that the available quantity of the resource TAPE1 is reduced by three.

The tape drive that was out of order has been fixed. An operator makes it available for use by jobs running on CPU2 by correcting the global available quantities to:

Copy
TAPE2 8

The shift manager decides to assign two tapes from CPU1 to CPU2. The new situation as seen by Control-M:

Copy
TAPE1 10
TAPE2 10

RETENTION: # OF DAYS TO KEEP: Post–processing Parameter

Number of days to retain the job in the History Jobs file.

At sites that do not use the History Jobs file, this parameter is not relevant and is not displayed.

Figure 290 RETENTION: # OF DAYS TO KEEP Parameter Format

(Optional) Valid values are described in Table 212.

Table 212 RETENTION: # OF DAYS TO KEEP Parameter Values

Value

Description

0 through 999

Retain the job for the specified number of days. Default: 0.

' ' (Blank space)

Retain the job according to the RETENTION: # OF GENERATIONS TO KEEP parameter.

General Information for RETENTION: # OF DAYS TO KEEP

Jobs in the History Jobs file are easier to restore to the Active Jobs file, for example, for restart, than jobs archived to CDAM. Therefore, it may be desirable to retain a job in the History Jobs file for a period of time.

# OF DAYS TO KEEP enables specification of a fixed number of days to keep the job in the History Jobs file. Once the specified number of days has been reached, the job is automatically deleted from the History Jobs file during the next New Day processing.

# OF DAYS TO KEEP and # OF GENERATIONS TO KEEP are mutually exclusive. A value can be specified for either, but not both.

When changing job criteria from retention-days to retention-generation (or vice-versa), previous job criteria are lost and are not acted upon. For retention criteria to hold across job executions, the jobs must be identical in all respects. For example, if a job is transferred to a different group, it is treated as a different job for purposes of retention. In this case, retention values are reset, and retention is calculated from the moment of transfer.

Example for RETENTION: # OF DAYS TO KEEP

Retain the archived job in the History Jobs file for 30 days.

Figure 291 RETENTION: # OF DAYS TO KEEP Parameter Example

Copy
JOB: PRDKPL02 LIB CTM.PROD.SCHEDULE               TABLE: PRODKPL
COMMAND ===>                                     SCROLL===> CRSR
+--------------------------------------------------------------+
  RESOURCE                                                      
  PIPE                                                          
  TIME: FROM     UNTIL       PRIORITY     DUE OUT   SAC   CONFIRM  
  TIME ZONE:                                                    
  ==============================================================
  OUT                                                           
  AUTO-ARCHIVE Y       SYSDB    Y      MAXDAYS      MAXRUNS       
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP    
  SYSOUT OP   (C,D,F,N,R)                                    FROM 
  MAXRERUN     RERUNMEM                   INTERVAL       FROM    
  STEP RANGE         FR (PGM.PROC)            TO          .        
  ON PGMST ANYSTEP  PROCST          CODES S***   U****  C2000  *****   A/O 
                                    CODES                  
    DO IFRERUN   FROM $ABEND   .         TO     .       CONFIRM Y
    DO RERUN                                                     
    DO                                                      
  ON PGMST          PROCST          CODES                    A/O 
    DO                                                           
  ON SYSOUT                                          FROM 001 TO 132   A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO      URGN   
    MS                                                          
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                   07.06.04

RETENTION: # OF GENERATIONS TO KEEP: Post–processing Parameter

Maximum number of generations of the job to keep in the History Jobs file.

At sites that do not use the History Jobs file, this parameter is not relevant and is not displayed.

Figure 292 RETENTION: # OF GENERATIONS TO KEEP Parameter Format

(Optional) Valid values are described in Table 213.

Table 213 RETENTION: # OF GENERATIONS TO KEEP Values

Value

Description

0 through 99

Retain the specified number of generations of the job.

' ' (Blank space)

Retain the job according to the RETENTION: # OF DAYS TO KEEP parameter.

The default is 0.

General Information for RETENTION: # OF GENERATIONS TO KEEP

Jobs in the History Jobs file are easier to restore to the Active Jobs file, for example, for restart, than jobs archived to CDAM. Therefore, it may be desirable to retain several of the most current generations of the job in the History Jobs file.

# OF GENERATIONS TO KEEP enables specification of the number of generations of the job to keep in the History Jobs file. Once the specified number of generations has been reached, as a new generation is added to the History Jobs file, the earliest remaining generation is deleted.

# OF DAYS TO KEEP and # OF GENERATIONS TO KEEP are mutually exclusive. A value can be specified for either, but not both.

When changing job criteria from retention-days to retention-generation, or vice versa, previous job criteria are lost and are not acted upon. For retention criteria to hold across job executions, the jobs must be identical in all respects. For example, if a job is transferred to a different group, it is treated as a different job for purposes of retention. In this case, retention values are reset, and retention is calculated from the moment of transfer.

Example for RETENTION: # OF GENERATIONS TO KEEP

Retain up to 10 generations of the archived job in the History Jobs file.

Figure 293 RETENTION: # OF GENERATIONS TO KEEP Parameter Example

Copy
JOB: PRDKPL02 LIB CTM.PROD.SCHEDULE                             TABLE: PRODKPL
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  RESOURCE                                                                  
  PIPE                                                                      
  TIME: FROM       UNTIL       PRIORITY     DUE OUT       SAC      CONFIRM  
  TIME ZONE:                                                                
  ===========================================================================
  OUT                                                                       
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS              
  RETENTION:  # OF DAYS TO KEEP      # OF GENERATIONS TO KEEP 10       
  SYSOUT OP   (C,D,F,N,R)                                              FROM 
  MAXRERUN     RERUNMEM                              INTERVAL       FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO          .        
  ON PGMST ANYSTEP  PROCST          CODES S***   U****  C2000  *****    A/O 
                                    CODES                                   
    DO IFRERUN   FROM $ABEND   .          TO          .             CONFIRM Y
    DO RERUN                                                                
    DO                                                                      
  ON PGMST          PROCST          CODES                               A/O 
    DO                                                                      
  ON SYSOUT                                          FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                      
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                     07.6.04

RETRO: Basic Scheduling Parameter

Enables the job to be scheduled after its original scheduling date has passed.

WARNING: BMC does not recommend the use of the RETRO parameter, which is documented here for backward compatibility reasons only. For workload scheduling after the original scheduling date has passed, use enhanced Control-M Newday functionality. For more information, see the INCONTROL for z/OS Administrator Guide, "Control-M," "Special Newday Parameters."

The RETRO=Y parameter should be removed from any job scheduling definitions.

Figure 294 RETRO Parameter Format

(Optional) Valid values are described in Table 214.

Table 214 RETRO Values

Value

Description

Y (Yes)

Allow scheduling of the job after its original scheduling date has passed

N (No)

Do not allow scheduling of the job after its original scheduling date has passed. Default.

General Information for RETRO

The RETRO parameter is used to control situations where the computer has not been working for a day or more due to holiday, hardware failure, and so on.

When such situations occur, it is necessary to instruct Control-M whether the job is to be retroactively scheduled for the days when the computer (or Control-M) was inactive.

  • When Y is specified for the RETRO parameter, job orders are placed in the Active Jobs file for all the days the job ought to have been originally scheduled. Scheduling occurs from the last scheduling date to the current working date, provided that those days were included in one of the Basic Scheduling parameters (DAYS, DCAL, and so on). Each job order placed on the Active Jobs file is associated with a different original scheduling date. For additional information see MAXWAIT: Basic Scheduling Parameter.

  • When N is specified for the RETRO parameter, the job is scheduled only if the current working date is a date on which the job is normally scheduled.

The RETRO parameter cannot be used with the MINIMUM and PDS parameters, nor in group scheduled jobs; if specified in Group scheduled jobs, the parameter is ignored.

Examples for RETRO

Schedule the job only on specified days of the month. If the date has passed, do not schedule the job.

Figure 295 RETRO Parameter – Example 1

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                            TABLE: PRODKPL
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS    15,16,18,19,20                                        DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT               
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN                                                                        
  CONTROL                                                                   
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

Assume the computer was offline from the 16th up to and including the 18th, and the 15th was the last date that the job was scheduled for execution. Today is the 19th. Therefore, the job is only scheduled for execution on the 19th.

Schedule the job for all working days, even if the computer is not active:

Copy
DCAL WORKDAYS
RETRO   Y

Assume the WORKDAYS calendar contains the dates 15, 16, 18, and 19, and the same conditions as above exist. The job is scheduled three times with the original scheduling dates: the 16th, the 18th and the 19th.

SAC: Run Time Parameter

This parameter is specifically designed for users who have converted from third-party vendor job scheduling products. BMC does not recommend its use otherwise. It enables all scheduled runs of the job to be shifted to their proper scheduling days.

Do not use the SAC parameter unless specifically required in conjunction with the conversion. Check the Conversion Guide for your specific application.

A related parameter is discussed in DESC: General Job Parameter.

Figure 296 SAC Parameter Format

(Optional) Valid values are shown in Table 215.

Table 215 SAC Parameter Values

Value

Description

P (Previous)

Changes the scheduling of the job to the previous day. When specified in a table-entity, the table-entity is scheduled on both the current and previous day.

N (Next)

Changes the scheduling of the job to the next day. When specified in a table-entity, the table-entity is scheduled on both the current and next day.

– (SMART Table entity only; Previous)

Changes the scheduling of the table and all jobs that specify SAC=P to the previous day.

+ (SMART Table entity only; Next)

Changes the scheduling of the table and all jobs that specify SAC=N to the next day.

' ' (Blank space)

The table/job schedule is not altered. Default.

If any job in a SMART table has its SAC parameter set, the table entity’s SAC parameter must also be set to activate the SAC parameter in the job. If all the jobs in a SMART table have the SAC parameter set to all ‘P‘ or all ‘N’, the SMART table SAC parameter must be set to ‘-’ or ‘+’ respectively.

General Information for SAC

Many scheduler products do not allow the site to define the time of the new working day. Instead, those products fix the time, such as midnight. Control-M, however, allows the site to define when the new working day starts.

In most cases, this added Control-M flexibility can be utilized without additional adjustment. Occasionally, however, an adjustment to the job schedule may be required due to the differences between the start of the working day. The SAC parameter is used to perform such an adjustment.

For information on the correct usage of the SAC parameter, see the Conversion Guide provided for your specific product.

Unless you are certain that SAC must be used, and you are certain how to use it, leave this parameter blank.

Example for SAC

Due to differences in the time of the start of the new working day, shift the scheduling of the following converted job back to the previous day.

Figure 297 SAC Parameter Example

Copy
JOB: CAPRKL1  LIB CTM.PROD.SCHEDULE                   TABLE: PRODKPL
COMMAND ===>                                         SCROLL===> CRSR
+------------------------------------------------------------------+
  DOCMEM  IEFBR14     DOCLIB   CTMP.DOC                            
  ==================================================================
  DAYS    ALL                                           DCAL        
                                                              AND/OR 
  WDAYS                                                 WCAL        
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12-Y
  DATES                                                             
  CONFCAL          SHIFT       RETRO N MAXWAIT 04  D-CAT            
  MINIMUM          PDS                                              
  DEFINITION ACTIVE FROM          UNTIL                             
  ==================================================================
  IN                                                                
  CONTROL  MK-1                 E                                   
  RESOURCE                                                          
  PIPE                                                              
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC P  CONFIRM 
  TIME ZONE:                                                        
  ==================================================================
  OUT      COND1                ODAT +    COND2        ODAT -       
           COND3                ODAT +    COND4        ODAT -       
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                         15.24.05

SCHEDULE RBC: Basic Scheduling Parameter

Identifies a set of scheduling criteria for table scheduling.

An Exclude RBC can be specified by adding an exclamation mark (!) prefix to the RBC name. When the scheduling criteria of the Exclude RBC are satisfied the job will not be scheduled.

Mandatory for SMART Table Entities. Any alphanumeric value of 1 to 20 characters. Names for Exclude RBCs can be any alphanumeric value of 1 to 19 characters, since the first character must be an exclamation mark (!).

Optional for job scheduling definitions. Must be either a rule-based calendar value defined in the SMART Table Entity or IOA Calendar Facility, or have the value *.

A related parameter is RELATIONSHIP, which is described in RELATIONSHIP: Basic Scheduling Parameter.

Figure 298 SCHEDULE RBC Parameter Format in Job Scheduling Definition Screen

Copy
SCHEDULE RBC
RELATONSHIP (AND/OR)
DAYS                                                          DCAL

Each time you specify a rule-based calendar name and press Enter, a blank SCHEDULE RBC field opens, for specifying an additional schedule RBC.

Figure 298b SCHEDULE RBC Parameter Format in SMART Table Entity Definition Screen

Copy
SCHEDULE RBC                                           LEVEL
DAYS                                                          DCAL
                                                                     AND/OR
WDAYS                                                         WCAL
MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL          SHIFT        MAXWAIT 00
SCHEDULE RBC ACTIVE FROM          UNTIL

In the SMART Table Entity Definition Screen, after you specify the name (in the SCHEDULE RBC field) and type (in the LEVEL field) of the new rule-based calendar, pressing Enter opens a blank SCHEDULE RBC field for specifying an additional schedule RBC.

If you specify a Table Level RBC (by entering “TBL” in the LEVEL field), the set of scheduling parameter fields remain displayed under the SCHEDULE RBC field, allowing you to define the scheduling criteria of the new Table Level rule-based calendar.

If you specify a Control-M Level RBC (by entering “CTM” in the LEVEL field), the set of scheduling parameter fields are removed from under the SCHEDULE RBC field. These fields are unnecessary in this screen, since the scheduling criteria of the Control-M Level RBC have either already been, or will be, defined in the Calendar Manager or IOA Calendar Facility. If the scheduling criteria of the Control-M Level RBC, specified in the SCHEDULE RBC field, are not defined in either the Calendar Manager or IOA Calendar Facility, jobs based on this SMART Table Entity will fail when they are ordered.

General Information for SCHEDULE RBC

A SMART Table Entity contains sets of basic scheduling criteria to be applied to job scheduling definitions in the SMART Table. Each set of basic scheduling criteria in the SMART Table Entity is assigned a unique label, specified in the SCHEDULE RBC field, which is used for referencing that set of criteria.

There are two types of rule-based calendars:

  • Table Level RBC (TBL) - Rule-based calendars that are managed using the SMART Table definition and are defined on the table level. An Exclude Rule-based calendar is indicated by a name beginning with an exclamation mark (!) prefix.

  • Control-M Level RBC (CTM) - Rule-based calendars that are defined from the Calendar Manager. In the SMART Table Entity, these calendars can be referred to by name. However, their scheduling criteria are not displayed. To process Control-M Level RBCs as Exclude RBCs, an exclamation mark (!) prefix must be added to their names in the SCHEDULE RBC field of the SMART Table Entity.

At least one rule-based calendar, with basic scheduling criteria, must be defined in the SMART Table Entity.

To apply any sets of SMART Table Entity basic scheduling criteria to a job scheduling definition, specify the rule-based calendar names of the desired criteria in the SCHEDULE RBC fields in the job scheduling definition.

Only jobs that belong to SMART Tables can use Table Level RBCs, either as Include RBCs or Exclude RBCs. All RBCs used in jobs belonging to SMART Tables are defined in the corresponding SMART Table Entity.

All jobs can use CTM Level RBCs, either as Include RBCs or Exclude RBCs. Even jobs that belong to SMART Tables can use CTM Level RBCs (by referring to their RBC names), even though the CTM Level RBCs are not defined in the corresponding SMART Table Entity.

Note that when referenced from jobs, Exclude RBCs can only be from CTM Level RBCs.

If multiple SCHEDULE RBC values are specified in the job scheduling definition, the calendars are checked sequentially during job scheduling to determine if the criteria are satisfied. The SCHEDULE RBC set is satisfied, when at least one SCHEDULE RBC in the set is satisfied.

An asterisk (*) can be specified as a SCHEDULE RBC value in the job scheduling definition belonging to a SMART Table. When checks are performed for a rule-based calendar with a value of *, all the SMART Table Entity's non-Exclude RBCs are searched to determine which set of basic scheduling criteria are satisfied on the particular day, and the chosen calendar is applied to the job.

Each job scheduling definition can have its own basic scheduling criteria defined, independent of the rule-based calendar criteria in the SMART Table Entity.

Jobs in a SMART Table are checked for scheduling on a particular day only if at least one set of basic scheduling criteria in the SMART Table Entity are satisfied.

If the SMART Table is eligible for scheduling on a particular day, a job in the table is scheduled in any of the following cases:

  • The value in the RELATIONSHIP parameter is O (OR), and either the basic scheduling criteria of the job or a set of its rule-based calendar criteria (or both) are satisfied.

  • The value in the RELATIONSHIP parameter is A (AND), and its basic scheduling criteria and a set of its rule-based calendar criteria are both satisfied.

When the name of a SCHEDULE RBC definition is modified or deleted, a confirmation panel is displayed. If "Y" is entered, the changed or deleted name is propagated throughout all of the table's job definitions, that is, all the corresponding rule-based calendar references in the job definition are changed or deleted. If "N" is entered, no changes are made.

Examples for SCHEDULE RBC

For a SMART Table Entity:

The SMART Table Entity for SMART Table ACCOUNTS (group ACCOUNTS_GROUP) contains the following four sets of basic scheduling parameters for the rule-based calendars:

  • Defined in the SMART Table Entity:

    • ALL_DAYS with Level TBL

    • SUNDAYS with Level TBL

  • Defined by the IOA Calendar Facility:

    • WORKDAYS with Level CTM

    • FRIDAYS with Level CTM

Figure 299 SCHEDULE RBC Parameter – Example 1

Copy
TBL ACCOUNTS_GROUP         CTM.PROD.SCHEDULE(TBL)
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  TABLE  ACCOUNTS            GROUP   ACCOUNTS_GROUP                         
  OWNER   N04B                                                              
  APPL                                                                      
  DESC                                                                      
  ADJUST CONDITIONS N             TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED Y       KEEP AT LEAST 05 DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   
  DOCMEM  ACCOUNTS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC ALL_DAYS                                       LEVEL TBL
  DAYS    ALL                                                   DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
  SCHEDULE RBC WORKDAYS                                        LEVEL CTM
  ===========================================================================
  SCHEDULE RBC FRIDAYS                                         LEVEL CTM
  ===========================================================================
  SCHEDULE RBC SUNDAYS                                         LEVEL TBL
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS   01                                                    WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.19.14

For a job scheduling definition:

Schedule job TABHOURS when the basic scheduling criteria identified by rule-based calendar ALL_DAYS in the SMART Table Entity (in Example 1A) are satisfied.

Figure 300 SCHEDULE RBC Parameter – Example 2

Copy
JOB: TABHOURS LIB CTM.PROD.SCHEDULE                         TABLE: ACCOUNTS
COMMAND ===>                                                  SCROLL===> CRSR
+---------------------------------------------------------------------------+
  MEMNAME TABHOURS    MEMLIB   CTM.PROD.JCL                                 
  OWNER   N04B        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL                                GROUP ACCOUNT_GROUP                   
  DESC    TABULATE EMPLOYEE HOURS                                           
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  TABHOURS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC ALL_DAYS                                                     
  SCHEDULE RBC                                                              
  RELATONSHIP (AND/OR) O                                                    
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   18.36.07

This example shows two methods for scheduling a table so that the jobs run on the first of every month, except when the first is a Sunday. The first method defines the exception with a minus sign. The second method uses an Exclude RBC.

In the first method, an RBC (FIRST_BUT_NOT_SUNDAY) is defined with two criteria that are related by an AND relationship. The first criteria, DAYS = 1, specifies that the jobs should run every first day of the month. The second criteria, WDAYS = -1, specifies that the jobs should NOT run on the first day of the week (Sunday).

In the second method, two RBCs are defined. The first RBC (FIRST_OF_MONTH) is a regular Include RBC with the criteria, DAYS = 1, that specifies that the jobs should run every first day of the month. The second RBC (!NOT_SUNDAY) is an Exclude RBC with the criteria, WDAYS = 1, that specifies that the jobs should NOT run on the first day of the week (Sunday).

Figure 301 SCHEDULE RBC Parameter – Example 3, Method 1

Copy
TBL ACCOUNTS_GROUP         CTM.PROD.SCHEDULE(TBL)                           
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  TABLE  ACCOUNTS            GROUP   ACCOUNTS_GROUP                         
  OWNER   N04B                                                              
  APPL                                                                      
  DESC                                                                      
  ADJUST CONDITIONS N             TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED Y       KEEP AT LEAST 05 DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   
  DOCMEM  ACCOUNTS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC FIRST_BUT_NOT_SUNDAY                           LEVEL TBL
  DAYS    1                                                     DCAL        
                                                                     AND/OR A
  WDAYS  -1                                                     WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.19.14

Figure 302 SCHEDULE RBC Parameter – Example 3, Method 2

Copy
TBL ACCOUNTS_GROUP         CTM.PROD.SCHEDULE(TBL)
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  TABLE  ACCOUNTS            GROUP   ACCOUNTS_GROUP                         
  OWNER   N04B                                                              
  APPL                                                                      
  DESC                                                                      
  ADJUST CONDITIONS N             TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED Y       KEEP AT LEAST 05 DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   
  DOCMEM  ACCOUNTS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC FIRST_OF_MONTH                                  LEVEL TBL
  DAYS    1                                                     DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
  SCHEDULE RBC !NOT_SUNDAY                                     LEVEL TBL
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS    1                                                    WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.19.14

This example shows how to use an Exclude RBC to schedule a table so that the jobs run on the 15th of the month, except on the 3rd Monday of the month.

Figure 303 SCHEDULE RBC Parameter – Example 4

Copy
TBL ACCOUNTS_GROUP         CTM.PROD.SCHEDULE(TBL)
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  TABLE  ACCOUNTS            GROUP   ACCOUNTS_GROUP                         
  OWNER   N04B                                                              
  APPL                                                                      
  DESC                                                                      
  ADJUST CONDITIONS N             TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED Y       KEEP AT LEAST 05 DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   
  DOCMEM  ACCOUNTS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC 15TH_OF_THE_MONTH                               LEVEL TBL
  DAYS    15                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
  SCHEDULE RBC !NOT_3RD_MONDAY                                 LEVEL TBL
  DAYS                                                          DCAL        
                                                                     AND/OR 
  WDAYS    D2W3                                                 WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.19.14

SCHEDULE RBC ACTIVE: Basic Scheduling Parameter

Specifies the time limits (FROM, UNTIL) for using the rule-based calendar.

Figure 304 SCHEDULE RBC ACTIVE Parameter Format

Copy
DATES
CONFCAL          SHIFT       RETRO N MAXWAIT 00  D-CAT                    
SCHEDULE RBC ACTIVE FROM          UNTIL                                   

(Optional) The parameter includes the subparameters described in Table 216.

Table 216 SCHEDULE RBC ACTIVE Subparameters

Subparameter

Description

FROM

6-digit date. A job that refers to this rule-based calendar is only ordered if the ordering date is later than the date specified.
Default: ' ' (Blank space)

UNTIL

6-digit date. A job that refers to this rule-based calendar is only ordered if the ordering date is earlier than the date specified.
Default: ' ' (Blank space)

The format of either the FROM or UNTIL subparameters may be ddmmyy, mmddyy, or yymmdd, depending on your local site standard, as set by the DATETYP parameter in the IOAPARM member in the IOA PARM library.

General Information for SCHEDULE RBC ACTIVE

The FROM and UNTIL dates together define a time frame for ordering jobs that have a specific rule-based calendar that defines that calendar.

The following cases apply:

  • If you specify both the FROM and UNTIL subparameters for a particular rule-based calendar, jobs that refer to that rule-based calendar can only be ordered on or later than the date specified in the FROM subparameter, and on or earlier than the date specified in the UNTIL subparameter. There are two possibilities:

    1. The date specified in the FROM subparameter is earlier than that specified in the UNTIL subparameter.

      Copy
      SCHEDULE RBC ACTIVE FROM   091001    UNTIL   011101

      Jobs that refer to this rule-based calendar can only be ordered on or between October 9, 2001 and November 1, 2001.

    2. The date specified in the FROM subparameter is later than that specified in the UNTIL subparameter.

      Copy
      SCHEDULE RBC ACTIVE FROM   090501    UNTIL   010401

      Jobs that refer to this rule-based calendar can only be ordered on or after May 9, 2001, or before or on April 1, 2001, but not between those dates.

  • If you specify the FROM subparameter for a particular rule-based calendar, but not the UNTIL subparameter, jobs that refer to that rule-based calendar cannot be ordered before the date specified, but can be ordered on that date or any date later than that date.

    Copy
    SCHEDULE RBC ACTIVE FROM   091001    UNTIL

    Jobs that refer to this rule-based calendar can only be ordered on or after October 9, 2001.

  • If you do not specify the FROM subparameter for a particular rule-based calendar, but specify the UNTIL subparameter, jobs that refer to the same rule-based calendar cannot be ordered after the date specified, but can be ordered on that date or any date earlier than that date.

    Copy
    SCHEDULE RBC ACTIVE FROM             UNTIL   011101

    Jobs that refer to this rule-based calendar can only be ordered before or on November 1, 2001.

  • If you do not specify either the FROM or UNTIL subparameters, there is no restriction on the date when jobs can be ordered.

    Copy
    SCHEDULE RBC ACTIVE FROM             UNTIL

    Jobs that refer to this rule-based calendar can be ordered on any date.

  • If a job specifies more than one rule-based calendar and one of the rule-based calendar definitions is such that the job can be ordered on a particular day, the job is ordered even if it would not be ordered under the terms of another of its rule-based calendar definitions.

    If within a SMART Table Entity one rule-based calendar is specified as

    Copy
    SCHEDULE RBC ACTIVE FROM   091001    UNTIL   011101

    and another rule-based calendar is specified as

    Copy
    SCHEDULE RBC ACTIVE FROM             UNTIL

    jobs that have both these rule-based calendars can be ordered on any date.

Example for SCHEDULE RBC ACTIVE

Rule-based calendar A schedules jobs to run on the 5th of each month. Job B should be scheduled according to the criteria of Rule-based calendar A; however, it should only run until January 15, 2010.

In the SMART Table definition:

Copy
SCHEDULE RBC A
DAYS    05

In job definition B:

Copy
SCHEDULE RBC   A
RELATIONSHIP (AND/OR)  A              
DAYS ALL
DEFINITION ACTIVE FROM          UNTIL 100115

SCHENV: General Job Parameter

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

Figure 305 SCHENV Parameter Format

SCHENV specifies a scheduling environment of 1 through 16 characters. Only trailing blanks are allowed.

By default, the SCHENV parameter is optional.

General Information for SCHENV

If a value is specified for the SCHENV parameter, the JCL job statement is modified by the addition of a statement in the following form:

Copy
//    SCHENV=schedule_environment

If a value is specified for the SCHENV parameter, it will not override any scheduling environment specified in the job statement unless the OVERJCLM parameter in the CTMPARM library is set to Y.

If a value is specified for the SCHENV parameter, before job submission, Control-M checks whether the specified WLM scheduling environment is available before actually submitting the job. If the scheduling environment is not available, Control-M places the job in WAIT SCHEDULE status and waits until the WLM scheduling environment is available, before submitting the job.

If the task type is a started task, SCHENV is protected. If the task type is changed from a job to a started task, SCHENV is erased and protected.

Example for SCHENV

If the scheduling environment of job ACCT01 is to be SCHD2, specify the following:

Copy
DESC
OVERLIB                                                 STAT CAL   
SCHENV   SCHD2               SYSTEM ID                  NJE NODE   

The job statement is modified as follows:

Copy
//ACCT01 JOB ,PROD1,CLASS=A,MSGCLASS=X,
//     MSGLEVEL=(1,1),
//     SCHENV=SCHD2

SET VAR: General Job Parameter

Assigns a value to an AutoEdit variable that can be used to set up the JCL of the job or to define a Global variable in the IOA Global Variable Database.

SET VAR and DO SET statements are similar, but not identical. The differences are outlined below in Differences between SET VAR and DO SET.

Figure 306 SET VAR Parameter Format

(Optional) Valid values must comply with the following requirements:

  • May contain embedded blanks.

  • They must be specified in the format

    Copy
    %%variable=expression

    In this format:

    • %%variable is a user-defined AutoEdit variable

    • expression is any of the following components, provided it resolves to a single value:

      • a value (for example, 5)

      • an AutoEdit System variable or previously defined user-defined variable, for example, %%ODATE

      • a compound expression that contains constants, AutoEdit variables, or AutoEdit functions, or any combination of these, for example
        %%$CALCDTE %%$ODATE +5

WARNING: AutoEdit function %%SUBSTR should not be used in the expression portion of a SET VAR variable definition. Doing so might cause errors when trying to resolve the variable’s value.

General Information for SET VAR

A major advantage of using AutoEdit variables is that the JCL can be submitted with different values for different executions without actually changing the JCL.

There are two types of AutoEdit variables:

  • System variables that are assigned values by the system

  • User-defined variables for which the user must supply values.

    These variables can be either local or global.

One method of supplying a value for a user-defined variable is by defining the variable and its value in a SET VAR statement. The value is assigned at time of job submission.

At the time of job submission, AutoEdit variables in the JCL are resolved in sequence. By default, if an AutoEdit variable cannot be resolved, the job is not submitted. This default can be changed using an appropriate %%RESOLVE AutoEdit control statement.

SET VAR statements can also be used to define and update Global Variables in the IOA Global Variable Database. For more information on Global Variables, including Global Variable syntax, see Global Variables.

As of version 6.0.00, SET VAR variables defined in a SMART Table Entity are available to all the jobs in the SMART Table. However, they do not override SET VAR variables defined in the job scheduling definition.

An unlimited number of SET VAR statements can be specified.

Upon filling in a SET VAR statement and pressing Enter, a new blank SET VAR statement is displayed.

JCL Setup and the AutoEdit facility are described in depth in JCL and AutoEdit Facility.

Differences between SET VAR and DO SET

SET VAR and DO SET statements are similar but have the following differences:

  • Local variables in SET VAR statements are always applied before the job is submitted. DO SET is a post-processing statement that can only be applied after its accompanying ON step and code criteria are satisfied. This means that a local value specified in the DO SET statement can only be applied in the next submission of the job (that is, for cyclic and rerun or restarted jobs).

  • Global variables specified in a SET VAR statement are defined or updated in the IOA Global Variable database before job submission. Global variables specified in a DO SET statement are defined or updated in the IOA Global Variable database as part of job post-processing.

  • A SET VAR statement appears in each job scheduling definition. A DO SET statement does not appear unless specified. To specify a DO SET statement, type SET in an empty DO field and press Enter.

  • In a SET VAR statement, the parameter value is specified after the keyword VAR. In a DO SET statement, the parameter value is specified after the keyword VAR=.

Examples for SET VAR

In this example, AutoEdit statements in the job scheduling definition and the JCL allocate space for the job. If the job abends due to insufficient space, the AutoEdit statements adjust the allocated space and rerun or restart the job.

The following step in the JCL of the job sets the quantity of available space to five units of whatever type (track or cylinder) is specified in the job scheduling definition.

Copy
//STEP10 EXEC PGM=MYPGM
//OUTFILE  DD DSN=NEWFILE,DISP=(NEW,CATLG,DELETE),
//                 SPACE=(%%SPACE_TYPE,5),UNIT=SYSDA

The job scheduling definition contains the following SET VAR statement that sets the space type to "track":

Copy
SET VAR  %%SPACE_TYPE=TRK

In this case, the second line in the above DD statement resolves to:

Copy
//               SPACE=(TRK,5),UNIT=SYSDA

The job scheduling definition also contains the following statements that are activated if the job abends due of lack of space (code S*37). These statements change the space type to "cylinder", which provides enough space, and rerun the job. If Control-M/Restart is active, the job is restarted from the abended step.

Copy
ON PGMST STEP10  CODES S*37
DO SET  %%SPACE_TYPE = CYL
[DO IFRERUN   FROM $ABEND] ===> If CONTROL-R is active
DO RERUN

If the job abends due to insufficient space, the second line of the earlier JCL DD statement resolves to:

Copy
//               SPACE=(CYL,5),UNIT=SYSDA

when the job is submitted for rerun (or restart).

SET VAR Examples 2A and 2B

The following examples show how one job scheduling definition and one JCL member can be used for both the test environment and the production environment by changing the value of only one parameter, the SET VAR parameter.

Assume the following JCL for the job:

Copy
//PRDKPL01 JOB 0,M22,CLASS=A,MSGCLASS=X,REGION=4000K
//STEP01  EXEC %%PROC%%.INPT
//STEP02  EXEC %%PROC%%.UPDT  
//STEP03  EXEC %%PROC%%.RPTS 

The following job scheduling definition replaces the %%PROC variable in the EXEC statements of the JCL with procedure name prefix TEST.

Figure 307 SET VAR Parameter Example – 2A

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                             TABLE: PRODKPL
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR %%PROC=TEST                                                
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC                                                              
  RELATIONSHIP (AND/OR)                                                     
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    18.36.07

When a SET VAR statement is used to specify %%PROC=TEST, the JCL is resolved as follows:

Copy
//PRDKPL01 JOB 0,M22,CLASS=A,MSGCLASS=X,REGION=4000K
//STEP01  EXEC TESTINPT
//STEP02  EXEC TESTUPDT
//STEP03  EXEC TESTRPTS

The job scheduling definition has now been modified to replace the procedures (%%PROC) used in the job with production (PROD) procedures.

Figure 308 SET VAR Parameter Example 2B

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                            TABLE: PRODKPL
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME PRDKPL01    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N                
  APPL    KPL                         GROUP PROD-KPL                        
  DESC    DAILY PRODUCTION - START OF APPL-PROD-KPL                         
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR %%PROC=PROD                                                 
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  PRDKPL01    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC                                                              
  RELATIONSHIP (AND/OR)                                                     
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   18.36.07

When a SET VAR statement is used to specify %%PROC=PROD, the JCL is resolved as following:

Copy
//PRDKPL01 JOB 0,M22,CLASS=A,MSGCLASS=X,REGION=4000K
//STEP01  EXEC PRODINPT
//STEP02  EXEC PRODUPDT
//STEP03  EXEC PRODRPTS

SHOUT: Post–processing Parameter

Sends ("shouts") a message to a destination when a specific situation occurs.

DO SHOUT and SHOUT statements are similar, but not identical. The differences are outlined below in Differences between SHOUT and DO SHOUT.

Figure 309 SHOUT Parameter Format

(Optional) Upon filling in the SHOUT statement and pressing Enter, a new SHOUT statement is opened.

Each SHOUT statement consists of four subparameters: WHEN (situation), TO (destination), URGN (urgency), and MS (message text).

Table 217 SHOUT Subparameters

Subparameter

Description

WHEN

 

Situation in which to send the message.

Valid Values:

  • OK – The message is sent if the job ends OK.

  • NOTOK – The message is sent if the job ends NOTOK.

  • RERUN – The message is sent if the job is rerun and DO RERUN is specified in ON PGMST.

  • LATESUB time + days – The message is sent if the job was not submitted by the specified day and time offset, where:

    • If Days is entered, it must be a number between zero and 120.

    • Time is in the format hhmm, *, or #mmm.

      If * is specified, the Control-M monitor uses the calculated DUE IN date and time of the job, as displayed in the Zoom screen, to determine if the first run of the job was not submitted at the correct date and time. For more information, see Automatic Job Flow Adjustment.

      If #mmm is specified, the Control-M monitor uses the calculated next run date and time, as displayed in the Zoom screen (NXT RUN), starting from the second job run. The mmm variable is an optional tolerance period in minutes, which allows you to set extra time before the SHOUT is issued.

    • Note that if the time is * or #mmm, Days must be blank.

  • LATE time+ days – The message is sent if the job did not finish executing by the specified day and time offset, where:

    • If Days is entered, it must be a number between zero and 120.

    • Time is in the format hhmm or an *. If * is specified, the Control-M monitor uses the calculated DUE IN date and time of the job, as displayed in the Zoom screen, to determine if the job was late. For more information, see Automatic Job Flow Adjustment.

    • Note that if the time is *, Days must be blank.

  • EXECTIME limit – The message is sent if the elapsed runtime of the job is outside a specified limit. The limit can be expressed as a runtime limit, or as a deviation from the average runtime of the job. Valid formats for limit are (where n is a 3-digit nonzero value):

    • >n    – The elapsed runtime of the job is greater than n minutes. n cannot exceed 999.

    • <n    – The elapsed runtime of the job is less than n minutes. n cannot exceed 999.

    • +n    – The elapsed runtime of the job exceeds the average execution time of the job by at least n minutes.
                  n cannot exceed 999.

    • n    – The elapsed runtime of the job is at least n minutes less than its average execution time. n cannot
                  exceed 999.

    • +n% – The elapsed runtime of the job exceeds its average execution time by at least n%. n cannot exceed 900.

    • n% – The elapsed runtime of the job is at least n% less than its average execution time. n cannot exceed 99.

SHOUT WHEN LATE and SHOUT WHEN LATESUB (with time + days specified) are only activated for the first run of a job, not for subsequent job reruns. The exception is SHOUT WHEN LATESUB #mmm (with a tolerance period specified), which is activated only for subsequent job runs, starting from the second job run.

SHOUT WHEN EXECTIME limits coded in SMART Table Entities are not continuously checked, but only when each job in the SMART Table finishes executing.

TO

 

Destination of the message (1 through 16 characters).

Mandatory. Valid Values:

  • U-userid or USERID-userid – Writes the message to the IOA Log file under the specified user ID. userid must be 1 through 8 characters.

  • OPER[–n] – Sends a rollable message to the operator console. n is an optional 3-digit route code. If a route code is not specified, the default routes are Master Console and Programmer Information (1 and 11), and optionally, Control-M/Enterprise Manager. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102.

  • OPER2[–n] – Sends an unrollable, highlighted message to the operator console. n is an optional 3-digit route code. If a route code is not specified, the default routes are Master Console and Programmer Information (1 and 11), and optionally, Control-M/Enterprise Manager. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102.

  • [TSO - loginid | T - loginid] [;Nn | ;Mm | ;NnMm | ;Lname] – Sends the message to the specified ID (groupid or logonid). ID is mandatory.

    If a groupid is specified, it must be a valid ID found within the IOA Dynamic Destination Table.

    If a logonid is specified, it must be 1 through 7 characters.

    An optional second value, indicating the computer and/or node (such as Mm) of the TSO logonid, can be specified, as follows:

    • Under JES2:

      Valid Values: Nn, Mm or NnMm, where:

      • m is the machine ID (the computer in JES2, not the 4-character SMF system ID). For more information, see the description of specifying IOA CPUs in the discussion of the customization process in the INCONTROL for z/OS Installation Guide.

      • n is the 1 to 2 character JES/NJE node ID.

    • Under JES3:

      The only valid value is Lname, where Lname is the logical JES name of the machine (that is, the name as used in JES3 command *T, not the SMF system ID.

      For more information, see the description of specifying IOA CPUs in the discussion of the customization process in the INCONTROL for z/OS Installation Guide.)

    A shout to a TSO user performs a TSO SEND command, which may require authorization at the receiving node.

  • U-M:email_dest – Sends a message by e-mail to the recipient identified by the variable (email_dest), which consists of from 1 through 12 characters, and can be any of the following:

    • an e-mail name prefix, based on the full mail name address that is supplied by the MAILDEST table in the IOA PARM library

    • a nickname defined in the MAILDEST destination table

    • a group name defined in the MAILDEST destination
           table

  • U-S:snmp_dest – Sends an SNMP trap (message) to the recipient identified by snmp_dest.
    snmp_dest consists of from 1 through 12 characters, and can be any of the following:

    • a host name

    • an IPaddress, if it fits in the screen field. Otherwise use a nickname.

    • a nickname defined in the SNMPDEST destination table

    • a group name defined in the SNMPDEST destination table

  • U-ECS – Sends messages to the Control-M/Enterprise Manager user.

If you want SHOUT Messages to be sent to the Control-M/Enterprise Manager, you must install Sample Exit IOAX034W, which is in the IOA SAMPEXIT library.

URGN

Determines the priority level of the message.

Valid Values:

  • R – Regular. Default.

  • U – Urgent.

  • V – Very urgent.

MS

Message text. Maximum length: 70 characters.

AutoEdit variables (both system and user-defined) are supported and automatically resolved (replaced) at the time the SHOUT message is issued. For AutoEdit usage information, see JCL and AutoEdit Facility.

General Information for SHOUT

The message is sent to the specified destination when the WHEN condition is satisfied. The relationship between multiple SHOUT statements is OR (that as, each statement is evaluated and performed independently of the others).

AutoEdit variables (system- and/or user-defined) in the message text are supported and automatically resolved (replaced) when the SHOUT message is issued. For more information, see JCL and AutoEdit Facility.

SHOUT statements can also be defined in SMART Table Entities, where they are used in a manner similar to jobs. For example, SHOUT WHEN OK is activated when all the jobs in the SMART Table end OK.

The WHEN Subparameter

If SHOUT WHEN EXECTIME values are stated with a + or – sign, that is, when elapsed runtime is compared to average runtime, the shout applies only if there is a Job Statistics record for the job, containing statistics for at least one of the last 200 runs of the job.

If a Job Statistics record exists, all available elapsed-time statistics for the last 200 job runs are averaged to generate the average runtime, and the current runtime is compared to this figure according to the specified criteria.

If no Job Statistics file exists, or a record for the job does not exist, that is, there are no elapsed-time statistics for any of the last 200 job runs, the SHOUT is not activated.

Your INCONTROL administrator can tell you if the job has a Statistics file, and if the Statistics file is updated after each job run.

If EXECTIME values are negative (that is, if they are –n or –n%), the check can be performed only after the job has finished running.

When EXECTIME values are positive (that is, if they are +n or +n%), the check can be performed (and if the elapsed runtime limits are exceeded, the message can be "shouted") before the job has finished running.

When Control-M calculates EXECTIME values, such as job start time, average execution time, actual elapsed time, shout message time, and so on, calculations are made only in minutes, and seconds are ignored. Therefore, the results of expressions such as SHOUT WHEN EXECTIME >001 (or +001) are unpredictable. BMC recommends that you use SHOUT WHEN EXECTIME only when you need to monitor jobs of more than a few minutes duration.

Relative EXECTIME limits must not exceed 24 hours. When relative EXECTIME limits exceed 24 hours (such as if +n(%) of the average runtime exceeds 24 hours), the message is "shouted" if and when processing reaches 24 hours.

If a relative EXECTIME is not specified prior to job submission, but is specified afterwards (that is, the job is held, the parameters changed in the Zoom screen, and the job is then freed), the EXECTIME value is ignored.

When the New Day procedure runs, any unexecuted SHOUT statements that relate to jobs ordered on the previous day are automatically cancelled.

If, when you order jobs, you often specify a LATE or LATESUB time that crosses the New Day time, you should consider implementing Wish WM2344. This Wish enables jobs to operate with a "shifted" New Day time for SHOUT purposes. You can find Wish WM2344 in the IOADFLT member in the IOA IOAENV library.

If you want only some specific jobs to operate with a "shifted" New Day time for SHOUT purposes, you may not want to implement Wish WM2344. An alternative method for use in such a case is illustrated in SHOUT Example 4 in Examples for SHOUT.

The TO Subparameter

Specify TO=USERID-userid to write the message to the IOA Log file under the user ID specified in the parameter.

Specify TO=OPER[–n] to send the message to the operator console (route code n). If the n value is omitted, the message is sent to all consoles to which route codes 1 or 11 are assigned. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102. Optionally, the message can also be sent to the Control-M/Enterprise Manager user. This is described in "Shouting to Control-M/Enterprise Manager" below.

Specify TO=OPER2[–n] to send a highlighted, unrollable message to the operator console (route code n). If the n value is omitted, the message is sent to all consoles to which route codes 1 or 11 are assigned. For more detailed information regarding route codes, refer to the IBM publication Routing and Descriptor Codes, GC38-1102. Optionally, the message can also be sent to the Control-M/Enterprise Manager user, as described in the following section, "Shouting to Control-M/Enterprise Manager".

Specify TO=TSO-id or T-id to send the message to a groupid or logonid. The Shout facility first searches the IOA Dynamic Destination table for the specified ID. If the table contains an entry (groupid) that matches the value, the content of the entry is used as the target for the shouted message. (The entire TO field is used. Therefore, when directing the message to a remote user, do not append Nn or Mm. Instead, do this in the IOA Dynamic Destination Table itself. For more information, see the discussion of Destination Tables in the INCONTROL for z/OS Administrator Guide.)

If no matching ID is found in the Dynamic Destination table, the Shout facility assumes the specified ID is a logonid. It then creates a TSO message that it hands over to MVS. MVS then sends the message to that logonid. (If the logonid does not exist, MVS cannot send the message, but no error message is generated.) When a second value is used, the message is sent to the TSO logonid in the specified computer or node (machine ID). To determine the machine ID under JES2, specify JES command $D MEMBER.

Specify TO=U-M: email_dest to send the message by e-mail to the recipient identified by the variable (email_dest). For more information about mail destinations, see the INCONTROL for z/OS Administrator Guide. The IOAPARM member includes DFLTSFFX, the mail address suffix, such as MAIL.DOMAIN.COM, the SMTP STC name, and the HOSTNAME. If installation parameter ATTSYSOT=Y, the job's SYSOUT will be attached to the e-mail message.

Specify TO=U-S:snmp_dest to send the SNMP trap (message) to the recipient identified by snmp_dest. For more information about mail destinations, see the INCONTROL for z/OS Administrator Guide.

Shouting to Control-M/Enterprise Manager

For Control-M to be able to shout to Control-M/Enterprise Manager, the following conditions must be satisfied at the site:

  1. Control-M/Enterprise Manager must be installed and the ECS parameter must be set to Y in the IOAPARM member in the IOA PARM library.

  2. File MG2 (the Control-M/Enterprise Manager Shout File) must be defined.

  3. The following parameters in the IOAPARM member in the IOA PARM library must be defined according to how messages must be targeted to Control-M/Enterprise Manager:

    • If TO=OPER and TO=OPER2 messages must be sent to Control-M/Enterprise Manager, set the OPER2ECS parameter to Y (Yes). Otherwise, set it to N (No).

      When OPER2ECS is set to Y:

      • If these messages must also be sent to the MVS operator console, set the OPER2CON parameter to Y (Yes).

      • If these messages must not also be sent to the MVS operator console, set the OPER2CON parameter to N (No).

    • If TO=U-ECS messages must be sent to Control-M/Enterprise Manager, set the ECS2ECS parameter to Y (Yes); otherwise, set it to N (No). Regardless of the value of this parameter, these messages are (also) sent to Control-M and the IOA Log.

Once the above conditions are satisfied, messages can be shouted to Control-M/Enterprise Manager by specifying a destination of TO=OPER or TO=OPER2 (without a route code qualifier) or TO=U-ECS.

Such messages are then placed by Control-M in the M2G file. Once the shouted message is in the M2G file, the Control-M Application Server reads the file and sends the message to the Control-M/Enterprise Manager user.

The URGN Subparameter

The URGN value indicates the urgency level of the message.

In addition, if the destination is USERID–userid (or U–userid), the user can control, according to urgency, which messages are displayed when the IOA Log file is accessed. Urgent and very urgent messages are highlighted on the screen. For more details, see IOA Log Facility.

Differences between SHOUT and DO SHOUT

SHOUT and DO SHOUT statements have the following differences:

  • A DO SHOUT statement is applied only if the accompanying ON criteria are satisfied. Therefore a DO SHOUT statement does not contain subparameters for specifying when to perform the shout.

    By contrast, a SHOUT statement requires that a value be specified, in the WHEN subparameter, indicating when to shout the message. Messages can be shouted when the job ends OK or NOTOK, when the job is late for submission or completion, or when the job runs too long.

  • A SHOUT statement appears in each job scheduling definition. A DO SHOUT statement does not appear unless specified. To specify a DO SHOUT statement, type SHOUT in an empty DO field and press Enter.

  • The SHOUT URGN subparameter is equivalent to the DO SHOUT URGENCY subparameter.

The SHOUT MS subparameter is equivalent to the DO SHOUT subparameter.

Examples for SHOUT

If the job finishes executing OK, write a message to the IOA Log file under the specified user ID:

Copy
MEMNAME  GPLSP0007
DAYS     01,15
SHOUT WHEN OK TO U-SHIFTMNGR URGN  R
  MS      I HAVE FINISHED FOR TONIGHT

The message is written to the log under Control-M userid-SHIFTMNGR.

When IMS is not active, send a message to all operators.

Figure 310 SHOUT Parameter Example 2

Copy
JOB: IMSPROD  LIB CTM.PROD.SCHEDULE                          TABLE: IMSPROD
COMMAND ===>                                                SCROLL===> CRSR
+-------------------------------------------------------------------------+
  =========================================================================
  OUT                                                                      
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP              
  SYSOUT OP   (C,D,F,N,R)                                             FROM 
  MAXRERUN     RERUNMEM                             INTERVAL       FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO         .        
  ON PGMST          PROCST          CODES                              A/O 
    DO                                                                     
  ON SYSOUT                                         FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN OK        TIME       +     DAYS     TO OPER2          URGN R  
    MS *******  IMS IS NOT ACTIVE  *******                        
  SHOUT WHEN NOTOK     TIME       +     DAYS     TO OPER2          URGN R  
    MS *******  IMS IS NOT ACTIVE - ENDED ABNORMALLY  *******      
  SHOUT WHEN           TIME       +     DAYS     TO                 URGN   
    MS                                                                     
====== >>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<< =====
                                                                           
                                                                           
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                11.17.00

If IMS finishes executing, an unrollable message is sent to the operator. A different message is sent if IMS terminates abnormally.

If the job is not run because of a JCL error, notify the user who sent the job.

Figure 311 SHOUT and DO SHOUT Example 3

Copy
JOB: SACALC01 LIB CTM.PROD.SCHEDULE                           TABLE: SALARY
COMMAND ===>                                                SCROLL===> CRSR
+-------------------------------------------------------------------------+
  =========================================================================
  OUT                                                                      
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP              
  SYSOUT OP   (C,D,F,N,R)                                             FROM 
  MAXRERUN     RERUNMEM                              INTERVAL      FROM    
  STEP RANGE         FR (PGM.PROC)          .          TO         .        
  ON PGMST ANYSTEP  PROCST          CODES JNRUN                        A/O 
    DO SHOUT     TO  TSO-U0014          URGENCY U                  
     = *** JCL ERROR IN SALARY JOB ***                            
    DO                                                                     
  ON PGMST          PROCST          CODES                              A/O 
    DO                                                                     
  ON SYSOUT                                         FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO                 URGN   
    MS                                                                     
====== >>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<< ======
                                                                           
                                                                           
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                11.17.00

An urgent message is sent to the user ID that requested the job.

Perform a LATE shout after the New Day time has passed and a new working day has begun.

Assume the following:

  • New Day time at the site is 0600.

  • A job, LONGWAIT, is ordered at 1400.

  • The job LONGWAIT must shout if it has not finished executing by 0700 on the following day.

However, the New Day process automatically cancels any shout requirements of jobs ordered on any previous day.

There are two ways to achieve the required LATE shout:

Method 1

  1. Create a DUMMY job scheduling definition named TRIGGER, containing the following elements:

    • The TIME FROM parameter is set to 1400.

    • The OUT parameter is set to TRIGGER-SHOUT.

  2. Create a DUMMY job scheduling definition named SHOUT. This job must be ordered at the New Day time, and must contain the following elements:

    • The TIME FROM parameter is set to 0700.

    • The TIME UNTIL parameter is set to 1300.

    • The MAXWAIT parameter is set to 02.

    • The IN parameter is set to TRIGGER-SHOUT.

    • The SHOUT parameter is set to WHEN LATESUB 0700.

  3. Add to the LONGWAIT JOB an OUT condition, TRIGGER-SHOUT, that deletes the TRIGGER-SHOUT condition when it ends.

    This procedure works as follows:

    • The IN condition in the SHOUT job prevents it from executing between 0600 and 1359.

    • At 1400 the TRIGGER job adds the IN condition.

    • The TIME FROM and UNTIL parameter values prevent the SHOUT job from running until after the next New Day procedure, but the MAXWAIT parameter value ensures that the job remains on the Active Jobs file for the following day.

    • At 0700 on the following day

      • if the LONGWAIT job has ended, it has removed the IN condition required before the SHOUT job can run, so that there is no false shout at 0700

      • if the LONGWAIT job has not ended, the SHOUT job runs, and the shout is produced as required

Method 2

Use IOA Exit 34, and set values for the SET VAR parameter in the job scheduling definition.

For more information, see the IOAX034H sample exit in the IOA SAMPEXIT library.

Trigger a SHOUT when a cyclic job is not submitted within 40 minutes after the end of a previous cycle.

The job has the following definitions:

  • A cyclic job with INTERVAL 00030 M FROM END

  • SHOUT WHEN LATESUB TIME #010

Figure 311a SHOUT Parameter Example 5

Copy
JOB: TESTJOB3 LIB K80.LIB.SCHEDULE                              TABLE: TEST    
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
| =========================================================================== |
| OUT                                                                         |
| AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS                |
| SYSOUT OP   (C,D,F,N,R)                                              FROM   |
| MAXRERUN 0010 RERUNMEM                                                      |
| CAPTURE BY   (W - WORD / C - CHAR)                                          |
| CYCLIC TYPE: C                                   INTERVAL 00030 M FROM END  |
| INTERVAL SEQUENCE: +         +         +         +         +                |
| SPECIFIC TIMES:                                             TOLERANCE       |
|                       +           +           +           +           +     |
| STEP RANGE         FR (PGM.PROC)          .          TO          .          |
| ON PGMST          PROCST          CODES                               A/O   |
|   DO                                                                        |
| ON SYSOUT                                          FROM 001 TO 132    A/O   |
|   DO                                                                        |
| ON VAR                                                                      |
|   DO                                                                        |
| SHOUT WHEN LATESUB  TIME #010  +     DAYS      TO U-K80            URGN R   |
|   MS %%RN #010                                                              |
|                                                                             | 
| SHOUT WHEN          TIME       +     DAYS      TO                  URGN     |
|   MS                                                                        |
======= >>>>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< =====

For all job cycles starting from the second cycle, the NEXT RUN TIME is set to 30 minutes after the end of the previous cyclic run. The SHOUT defined above is triggered when the job has not been submitted 10 minutes after NEXT RUN TIME (that is, when the job is not submitted within 40 minutes after the end of a previous cycle).

SPECIFIC TIMES: Runtime Scheduling Parameter

This parameter defines the specific times that cyclic jobs will run. This field exists in both the Job Scheduling and SMART Table Entity Definition Screens.

(Optional) SPECIFIC TIMES consists of the subparameters described in Table 218.

Table 218 SPECIFIC TIMES Subparameters

Subparameter

Description

specific_time

Time of day that the cyclic jobs will run, specified in 24-hour format, without a colon separating the hours from the minutes.

Valid Values: 0000–2400

Default: 0000

1500 specifies 3:00 P.M.

days_offset

A number indicating the number of days in the future, relative to the actual order date.

Valid Values: 0–30.

Default: 0

tolerance

A number indicating the maximum number of minutes after the specific_time permitted for a late submission.

Valid Values: 0–60.

Default: 15

In the example below the job will run at 10:00 a.m. and 11:00 a.m.

Figure 312 SPECIFIC TIMES Parameter Example

Copy
  OUT
  AUTO-ARCHIVE Y           SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP               
  SYSOUT OP   (C,D,F,N,R)                                               FROM
  MAXRERUN     RERUNMEM                                                     
  CYCLIC TYPE: S                                    INTERVAL          FROM  
  INTERVAL SEQUENCE:  +         +         +         +            +          
  SPECIFIC TIMES:                                          TOLERANCE     0011
                     1000 + 000  1100 +  000      +           +             +
                          +           +           +           +             +
  STEP RANGE         FR (PGM, PROC)                                  TO     
  ON PGMST          PROCST          CODES                                A/O

The SPECIFIC TIMES and TOLERANCE parameters can be set to enable a job to run after the specified time. If the job being executed runs over the proceeding job’s specified time, the proceeding job’s execution time window is extended to the number of minutes set in the Tolerance field. For example, if the Tolerance field is set to 15 minutes, the proceeding job can still be executed 0-15 minutes after the specified time. If the tolerance time interval has passed, the proceeding job will not be performed.

The TOLERANCE subparameter indicates the maximum number of minutes permitted for a late submission when selecting a specific time. The tolerance permitted in the example is 11 minutes. Therefore the jobs can be submitted as late as 10:11 and 11:11 a.m.

Job run times can be defined with days offset. The value in the field represents the number of days in the future, relative to the actual order date.

If the specified times were:

1300, 1500, 1400+1, 1700+2,

then 13:00 and 15:00 would be submitted at those times on the day of order, 14:00+1 would be submitted at 14:00 on the next order day and 17:00+2 would be submitted at 17:00 two days after the order day.

As in all Runtime Scheduling Parameters, the days are assumed as "Control-M working days". "Control-M working days" start at the time defined by the DAYTIMEM parameter in the CTMPARM member. This parameter also defines the relationship between the "Control-M working days" and the corresponding calendar days.

STAT CAL: General Job Parameter

Name of a periodic calendar that will be used to gather average runtime statistics for the job, based on a period.

Figure 313 STAT CAL Parameter Format

(Optional) Valid values are any valid periodic calendar name consisting of from 1 through 8 characters.

For more information on defining, modifying, and using periodic calendars, see IOA Calendar Facility.

General Information for STAT CAL

As part of the post-processing for each job, Control-M for z/OS determines the elapsed run time of the job. All accumulated information regarding job execution, including the elapsed run time, is written to the IOA Log file. If a STAT CAL calendar is specified in the job scheduling definition, unlike other calendars (DCAL, WCAL, or CONFCAL), it must exist in the IOA Calendar library at the time that the job is ordered or forced.

Periodically, a statistics utility may be used to scan and analyze the IOA Log file. This utility gathers information about the start time of each job, its elapsed run time, CPU utilization time, and so on. The utility places this information in the Statistics file, where averages of these values can be maintained for each job.

For more information on the Statistics file, see Statistics Screen.

When a job is ordered, Control-M takes the average run time of this job from Statistics file and places it in the job record in the Active Jobs file. Control-M then uses this average run time to calculate the anticipated ELAPSE time, that is, the job execution time, of the job, and hence the Due In time of the job.

If the STAT CAL parameter is not used to specify a periodic calendar, the statistics relating to a job are based on all run times of the job.

If the STAT CAL parameter is present, statistics for the job are based on an average of all runtimes for the indicated period on the date on which the job is ordered or forced.

Further information is available in the Active Jobs file Zoom screen (Screen 3.z), which contains the STAT CAL PERIOD field. This is a read-only field that may contain one alphabetical character when the job has run. This character identifies the actual days within the Control-M periodic calendar that were used in calculating statistics relating to the job.

By using the STAT CAL parameter together with the information displayed in the STAT CAL PERIOD field, you can obtain more precise statistical information about the running of the job, as shown in the following example.

Example for STAT CAL

Assume that a job runs daily, weekly, and monthly, and that the STAT CAL parameter identifies a periodic calendar that contains a number of months each specified in a manner similar to the following:

Copy
-----S--------------S-------------S-------------S-------------S-------------S---
            1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 + 1 2 3 4 5 6 7 8 9 +
 09         D D W D   D D D D W D   D D D D W D   D D D D W D   D D D M

In this example, the job runs daily in Period D, weekly in Period W, and monthly in Period M.

If the job runs on the 3rd of the month, its statistics are collected for Period W. If it runs on the 6th of the month, its statistics are collected for Period D, and so on.

When displaying the Statistics Panel (Screen 3.S), the statistics for daily, weekly, and monthly runs of the job are grouped under the D, W, and M PER(iod), as appropriate.

STEP RANGE: Post–processing Parameter

Step range in the job that can be used in an ON PGMST statement. For more information, see ON Statements: Post–processing Parameter.

Figure 314 STEP RANGE Parameter Format

(Optional) STEP RANGE consists of the subparameters described in Table 219.

Table 219 STEP RANGE Subparameters

Subparameter

Description

STEP RANGE

Name for the range. A name of 1 through 7 characters can be specified. Only trailing blanks are allowed in this field.

FR (PGM,PROC)

First pgmstep or pgmstep,procstep in the range.

pgmstep is the step name in the EXEC statement that identifies the program to be executed:

//pgmstep EXEC PGM=pgmname

procstep is the step name in the EXEC statement that invokes the procedure: //procstep EXEC procname

pgmstep values and procstep values can each be 1 through 8 characters in length.

TO

Last pgmstep or pgmstep,procstep in the range. For more information, see the note to the preceding subparameter, FR.

The TO subparameter is optional. If blank, its value defaults to the last step in the job.

General Information for STEP RANGE

Whenever a STEP RANGE statement is specified, it eliminates the need to define separate ON PGMST, ON PROCST, and ON CODES statements and accompanying DO actions for each step in the range. The defined STEP RANGE name can be used, without redefining the range, in subsequent ON PGMST, ON PROCST, and ON CODES statements, by specifying the step range name, preceded by an asterisk, in the ON PGMST field. For more information on ON PGMST and ON PROCST, see ON Statements: Post–processing Parameter. For more information on ON CODES, see CODES Values.

Any number of step ranges can be specified. After entering a STEP RANGE parameter, another STEP RANGE parameter line is automatically displayed.

If the EXCLUDED STEP RANGE facility is activated (that is, EXSTPRNG=Y in the CTMPARM parameter) and the name of the step range starts with a minus sign, then that step range defines an EXCLUDED STEP RANGE (all steps in the job, excluding the steps from one step to another).

Copy
STEP RANGE  -ERANG1  FR (PGM.PROC) STEP10 . TO STEP20

defines a step range called -ERANG1, which contains all the job steps except the steps from step STEP10 to step STEP20.

Triggers a SHOUT if any step, except step STEP3 through step STEP6, finishes with code 16.

Copy
STEP RANGE -ERANG1 FR (PGM.PROC) STEP3 .  TO STEP6
ON PGMST *-ERANG1 PROCST          CODES C0016
  DO SHOUT ....

Triggers a SHOUT if every job step, except those from step STEP6 to step STEP9, finishes with a code greater than 8.                                                                                                                                           

Copy
STEP RANGE -ERANG2 FR (PGM.PROC) STEP6 . TO STEP9
ON PGMST *-ERANG2 PROCST +EVERY   CODES >C0008
  DO SHOUT ...

Triggers a SHOUT if every job step, except step STEPA, finish with a zero code.

Copy
STEP RANGE -ERANG3 FR (PGM.PROC) STEPA . TO STEPA
ON PGMST *-ERANG3 PROCST +EVERY   CODES C0000
  DO SHOUT ...

§Restart§ Using All Runs of a Job Including Restarts

When processing ON blocks, Control-M can incorporate the results of all previous runs and restarts, filtering them for jobs restarted with the parameters RESTART, RECAPTURE CONDITION and/or ABEND CODES. Control-M/Restart searches previous runs to determine which steps must be considered part of the restarted job.

For example, if one step finished successfully during its original run and another step finished successfully after a restart, the ON block check for the successful finish for both steps produces a TRUE result and the ON statement is satisfied.

Activation of this facility requires that the ALLRUNS parameter in the CTRPARM parameter be set to YES. When activated, this facility may apply to any specified step, step range, or to step value +EVERY.

Example for STEP RANGE with Restart

Define program steps STEP20 through STEP29A as step range DF2. If any of these steps produce any system or user abend (except user abend U2030), rerun the job and shout a message to TSO-P43.

Figure 315 STEP RANGE Parameter Example

Copy
JOB: PRDKPL01 LIB CTM.PROD.SCHEDULE                            TABLE: PRODKPL
COMMAND ===>                                                   SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  ==========================================================================
  OUT                                                                      
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS             
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP              
  SYSOUT OP   (C,D,F,N,R)                                              FROM
  MAXRERUN     RERUNMEM                              INTERVAL       FROM   
  STEP RANGE DF2     FR (PGM.PROC) STEP20   .      TO STEP29A  .
  STEP RANGE         FR (PGM.PROC)          .      TO          .           
  ON PGMST *DF2     PROCST          CODES S****  U****  NU2030          A/O
    DO RERUN                                                               
    DO SHOUT     TO  TSO-P43            URGENCY R                          
     = JOB PRDKPL03 ABENDED, THE JOB IS RERUN                              
    DO                                                                     
  ON PGMST          PROCST          CODES                               A/O
    DO                                                                     
  ON SYSOUT                                         FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO                  URGN   
    MS                                                                     
======= >>>>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<<<<< ======
                                                                           
                                                                           
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

SYSOUT: Post–processing Parameter

Controls handling of job output after the job ended OK.

SYSOUT and DO SYSOUT statements are similar, but not identical. The differences are outlined below in Differences between SYSOUT and DO SYSOUT.

Figure 316 SYSOUT Parameter Format

(Optional) SYSOUT consists of the subparameters described in Table 220.

Table 220 SYSOUT Subparameters

Subparameter

Description

OP

Sysout option code. Mandatory.

Valid Values:

  • F – Copy the job output to file.

  • D – Delete (purge) the job output.

  • R – Release the job output.

  • C – Change the class of the job output.

  • N – Change the destination of the job output.

sysout_data

Relevant sysout data. Mandatory and valid only if the specified OP value is F, C, or N. Valid values depend on the OP value, as follows:

  • F – File name

  • C – New class (1 character). An asterisk (*) indicates the original MSGCLASS of the job

  • N – New destination (1 through 8 characters)

FROM

(Optional) FROM class. Limits the sysout handling operation to only those sysouts from the specified class.

If a FROM class is not specified, all sysout classes are treated as a single, whole unit.

General Information for SYSOUT

When a job ends OK, the Control-M monitor, unless otherwise instructed, leaves the job sysout in HELD class in the output queue.

The SYSOUT parameter is used to request additional handling of these held sysouts when the job ends OK.

The Control-M monitor sends all sysout handling requests to JES, which processes the instructions. If, however, the copying of sysouts to a file is requested (option F), Control-M requests the sysouts from JES and then Control-M directly writes the sysout to the file.

Only one SYSOUT statement can be defined in a job scheduling definition. To specify additional sysout handling instructions in addition to the one SYSOUT statement, define appropriate DO SYSOUT statements:

DO SYSOUT statements are activated when their accompanying ON step and code event criteria are satisfied. To define DO SYSOUT statements that act like a SYSOUT statement, that is, those that operate only when the job ends OK, define their accompanying ON statement with PGMST set to ANYSTEP and CODES set to OK.

For more information, see ON Statements: Post–processing Parameter, and DO SYSOUT: Post-Processing Parameter.

The interrelationship between multiple SYSOUT operations, as in SYSOUT and DO SYSOUT statements, is described in Multiple SYSOUT Operations.

SYSOUT Handling Operations

Which sysouts are affected by sysout handling operations depends on whether the sysouts are under JES2 or JES3, as follows:

  • Under JES2, operations are performed on all of the held sysouts, or held portions of sysouts, of the job, unless otherwise restricted to a specific FROM class by the FROM subparameter.

  • Under JES3, operations are performed only on the sysouts of the job in the Control-M held class, which is specified in the Control-M installation parameter HLDCLAS.

Sysout handling operations are listed below:

  • Copying sysouts to a file (OPT=F)

    The job sysouts are copied (not moved) to the file specified in the data subparameter.

    The file name specified in the data subparameter can contain AutoEdit System variables, and/or user-defined AutoEdit variables, which are defined in the job scheduling definition or the IOA Global Variable database, or which are loaded into AutoEdit cache. If the AutoEdit variables cannot be resolved, the sysout is not copied.

    Control-M allocates the file with DISP=(NEW,CATLG,DELETE) using the unit and space attributes specified in the Control-M installation parameters. While the block size (BLKSIZE) is automatically calculated by Control-M, the logical record length (LRECL) is copied from the input SYSOUT file. The maximum LRECL allowed is 256 characters.

    Sysouts can be archived by copying them to a file. However, to reduce overhead, this method is recommended only for small sysouts.

  • Deleting sysouts (OPT=D)

    The job sysouts are deleted (purged) from the output queue.

    This operation works on all sysouts under JES2 or JES3, regardless of held status or class, unless otherwise restricted by the FROM subparameter.

  • Releasing sysouts (OPT=R)

    The job sysouts are released for printing.

  • Changing the class of sysouts (OPT=C)

    The job sysouts are changed to the output class specified in the data subparameter. Ensure that you specify a meaningful target output class.

    Note the following points:

    • Changing a sysout class to a non-held class does not release the sysout because the sysout attributes do not change (due to JES logic).

    • To ensure that the sysout is released, use DO SYSOUT statements to release the sysout after changing its class. For example,

      Copy
      DO SYSOUT OPT C PRM R FRM A
      DO SYSOUT OPT R PRM FRM A
    • Changing a sysout class to a dummy class does not purge the sysout because the sysout attributes do not change (due to JES logic).

    • To save the original MSGCLASS of the job and to restore it at output processing time, specify a data value of *. The sysouts are changed to the original class of the job.

  • Moving sysouts to a new destination (OPT=N)

    The job sysouts are moved to the output destination specified in the data subparameter. Ensure that you specify a meaningful target output destination.

Multiple Sysout Operations

If multiple SYSOUT or DO SYSOUT operations are not specified for the same FROM class, the order in which the operations are performed is not significant.

However, if different SYSOUT or DO SYSOUT operations affect the same FROM class, or if multiple operations are specified without a FROM class, the order and method of implementation is significant.

Control-M merges different operations for the same FROM class into a combined instruction to JES. Likewise, Control-M merges different operations without a FROM class into a combined instruction to JES.

Operations without a specified FROM class treat the entire held sysout as a whole unit, and are therefore not merged with sysout handling requests for a specific FROM class.

JES does not necessarily process multiple sysout handling instructions in the order they are issued by Control-M. Therefore, the processing results can vary if the merged instructions to JES include both FROM equals a specified class and FROM equals blank.

BMC therefore recommends that a job scheduling definition not contain both "FROM class" and "no FROM class" sysout handling instructions, which becomes operational under the same situations.

When Control-M merges a set of operations into a combined instruction, some operations override or cancel other operations, and some operations are performed along with other operations. This is described below.

Operation Merging and Performance

Control-M performs all copy to file operations (option F) first.

After performing all copy to file operations, Control-M merges all operations performed on a specific FROM class.

After merging operations on specific FROM classes, Control-M merges the operations performed on the sysout as a whole (that is, subparameter FROM is set to blank).

Control-M then passes the merged sets of instructions to JES for processing.

Generally, DO SYSOUT operations override, or are performed along with, SYSOUT statements.

The following chart and the accompanying numbered explanations indicate the result of merging SYSOUT and DO SYSOUT statements. Note the following points about the chart:

  • Operations are indicated by their symbols (F,D,R,C,N), at the top and side of the chart. The operations at the top of the chart represent DOSYSOUT operations. The operations at the side of the chart represent SYSOUT operations.

  • Merging and processing operations are grouped, and explained, based on operation type.

    Groups are delimited by lines, and are numbered (from 1 through 4). Within each group, operations are delimited by periods.

    Explanations of each group are provided, by number, following the chart.

  • The handling of the combination of operations is generally reflected in the chart by a single operation code (such as D) or pair of operation codes (such as FR).

    In some cases, the operations are merged. This is indicated by the word "merged."

Operations are explained in the numbered descriptions that follow the chart.

Figure 317 Merging SYSOUT and DO SYSOUT Statements

The order of precedence in which Control-M processes or merges operations is as follows:

  1. SYSOUT=F and DO SYSOUT=F

    Copy to file operations are performed first, directly by Control-M, for both SYSOUT and DO SYSOUT statements, whether FROM class is specified or not. Then, other operations are performed.

  2. DO SYSOUT=D (Delete)

    This operation supersedes all SYSOUT operations, except copy to file operations described above. Superseded operations are ignored (that is, not performed).

  3. DO SYSOUT=R, C, or N, accompanied by a SYSOUT D (Delete) request

    The DO SYSOUT statement is performed, and the SYSOUT delete request is ignored.

  4. SYSOUT or DO SYSOUT combinations of R, C and N

    In general, combinations of R, C, and N requests are merged, that is, they are all performed. The exceptional cases are described below:

    • For DO SYSOUT=R (Release job output) accompanied by a SYSOUT C (Change class) request:

      Perform just the DO SYSOUT R request and ignore the SYSOUT C request.

    • For C (Change class) requests from both a SYSOUT and a DO SYSOUT statement:

      Perform just the DO SYSOUT request and ignore the SYSOUT request.

    • For N (New Destination) requests from both a SYSOUT and a DO SYSOUT statement:

      Perform just the DO SYSOUT request and ignore the SYSOUT request.

Differences between SYSOUT and DO SYSOUT

SYSOUT and DO SYSOUT statements have the following differences:

  • The SYSOUT statement is applied only if the job ends OK. DO SYSOUT statements are associated with accompanying ON statements and are applied only if the accompanying ON step and code criteria are satisfied.

  • A SYSOUT statement is displayed in each job scheduling definition. A DO SYSOUT statement is not displayed unless requested. To request a DO SYSOUT statement, type SYSOUT in an empty DO field and press Enter.

  • Only one SYSOUT statement can be defined in the job scheduling definition. An unlimited number of DO SYSOUT statements can be requested.

  • The SYSOUT OP subparameter is equivalent to the DO SYSOUT OPT subparameter.

  • The SYSOUT data subparameter is equivalent to the DO SYSOUT PRM subparameter.

  • The SYSOUT FROM subparameter is equivalent to the DO SYSOUT FRM subparameter.

Examples for SYSOUT

Delete the sysout after the job has finished executing OK:

Copy
MEMNAME  EBMANT1
DAYS     1,15
SYSOUT   OP D (C,D,F,N,R)

If the job finishes OK, reroute the sysout to printing class A.

Figure 318 SYSOUT Parameter – Example 2

Copy
JOB: EBDMANT2  LIB CTM.PROD.SCHEDULE                     TABLE: EBDPROD
COMMAND ===>                                            SCROLL===> CRSR
+---------------------------------------------------------------------+
  =====================================================================
  IN                                                                   
  CONTROL                                                              
  RESOURCE                                                             
  PIPE                                                                 
  FROM TIME         +     DAYS    UNTIL TIME      +     DAYS  
  DUE OUT TIME      +     DAYS    PRIORITY     SAC    CONFIRM 
  TIME ZONE:                                                           
  =====================================================================
  OUT                                                                  
  AUTO-ARCHIVE Y          SYSDB    Y      MAXDAYS      MAXRUNS         
  RETENTION:  # OF DAYS TO KEEP 030  # OF GENERATIONS TO KEEP          
  SYSOUT OP C (C,D,F,N,R) A                                        FROM
  MAXRERUN     RERUNMEM                         INTERVAL       FROM    
  STEP RANGE         FR (PGM.PROC)          .     TO          .        
  ON PGMST          PROCST          CODES                          A/O 
    DO                                                                 
  ON SYSOUT                                     FROM 001 TO 132    A/O 
    DO                                                           
  ON VAR                                                         
    DO                                                           
  SHOUT WHEN           TIME       +     DAYS     TO             URGN   
    MS                                                                 
======= >>>>>>>>>>>>>>> END OF SCHEDULING PARAMETERS <<<<<<<<<<<<< ====
                                                                       
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                            11.17.00

SYSTEM ID: General Job Parameter

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 execute.

Figure 319a SYSTEM ID Parameter Format

SYSTEM ID specifies a system identity of 1 through 5 characters. Only trailing blanks are allowed.

Use the following format for the SYSTEM ID parameter:

Copy
[/]sysid

where sysid is a 1 to 4 character system ID. The optional "/" can only be used on JES3 systems to indicate that a job should not run on the indicated system ID.

By default, the SYSTEM ID parameter is optional.

General Information for SYSTEM ID

The SYSTEM ID parameter has different effects, depending on which release of JES is in use.

If a value is specified for the SYSTEM ID parameter, it will not override any system identity specified in the job statement unless the OVERJCLM parameter in the CTMPARM library is set to Y.

If the task type is a started task, SYSTEM ID is protected. If the task type is changed from a job to a started task, SYSTEM ID is erased and protected.

Under JES2

If Control-M is running under JES2, the SYSTEM ID parameter is used to specify the JES2 system on which the job is to be initiated and executed.

If a value is specified for the SYSTEM ID parameter, the following JCL statement is generated:

Copy
/*JOBPARM SYSAFF=sys_id

Under JES3

If Control-M is running under JES3, the SYSTEM ID parameter is used to specify the JES3 processor which is to execute the job.

If a value is specified for the SYSTEM ID parameter, the following JCL statement is generated:

Copy
//*MAIN SYSTEM=processor_id

Examples for SYSTEM ID

JES2

The following is entered:

Copy
DESC
OVERLIB                                               STAT CAL  
SCHENV                      SYSTEM ID  SYS3           NJE NODE 

The following statement is added to the JCL of the job:

Copy
/*JOBPARM SYSAFF=SYS3

and the job is executed on the JES2 system SYS3.

JES3

The following is entered:

Copy
DESC
OVERLIB                                            STAT CAL     
SCHENV                      SYSTEM ID  PRC3        NJE NODE  

The following statement is added to the JCL of the job:

Copy
//*MAIN SYSTEM=PRC3

and the job is executed on processor PRC3.

TABLE: General Job Parameter

In a SMART Table Entity, the TABLE parameter specifies an abbreviated table name used for descriptive purposes in certain screens, such as in the NAME field of the Active Environment screen.

The TABLE parameter can consist of 1 through 20 characters. Only trailing blanks are allowed.

Figure 319b TABLE Parameter Format

Copy
 +-----------------------------------------------------------------------------+
 | TABLE                         GROUP                                         |
 | OWNER                         TASKTYPE                                      |
 | APPL                                                                        |
 | DESC                                                                        |
 |                                                                             |
 | ADJUST CONDITIONS N             TBL MAXWAIT 00       STAT CAL               |
 | KEEP JOBS UNTIL REMOVED N       KEEP AT LEAST 00 DAYS AFTER ENDED NOT OK    |
 | SET VAR                                                                     |
 | DOCMEM              DOCLIB                                                  |
 | =========================================================================== |

The TABLE parameter, which was formerly called MEMNAME, does not indicate a member name.

When working with a table created in version earlier than version 7.0, the TABLE name does not have to be equal to the table name in the scheduling library, and the TABLE name can be modified.

When defining a new table, the TABLE name will be set to be equal to the table name in the scheduling library, and it will be protected.

TASKTYPE: General Job Parameter

Type of task. This field exists in both the Job Scheduling and SMART Table Entity Definition Screens.

Figure 320 TASKTYPE Parameter Format

Mandatory. Valid TASKTYPE values are described in Table 221.

Table 221 TASKTYPE Parameter Values

Value

Description

CST

Cyclic Started task (STC)

CYC

Cyclic job

ECJ

Emergency cyclic job

ECS

Emergency cyclic STC

EMR

Emergency job

EST

Emergency STC

JOB

Batch job. Default

STC

Started task (STC)

TBC

Cyclic SMART Table

TBL

Regular SMART Table

WRN

Warning message

General Information for TASKTYPE

The job scheduling definition can belong to one of three basic types of tasks:

  • Job

  • Started Task

  • Warning Message

Jobs and started tasks can be "normal", that is, submitted or activated once, or cyclic. Furthermore, it is possible to define emergency versions of jobs and started tasks (normal and/or cyclic).

The three basic types of tasks are indicated by the TASKTYPE values described in Table 222:

Table 222 TASKTYPE Basic Type Values

Task

Values

Job:

JOB, CYC, EMR, ECJ

Started Task:

STC, CST, EST, ECS

Warning:

WRN

Jobs and Started Tasks

A regular job is submitted to the JES input queue for execution; it then waits in the queue like any job submitted under the operating system.

After the job finishes executing, Control-M analyzes the results and determines what actions to take. The job is not submitted again unless the RERUN statement is performed. For additional information, see MAXRERUN: Post–processing Parameter.

Started tasks differ from jobs in that they are not submitted to the queue; instead, they are invoked by an operator START command issued by Control-M. For details on passing parameters to started tasks, see MEMLIB: General Job Parameter.

PREVENT-NCT2=Y cannot be specified for started tasks (STCs).

A cyclic job or a cyclic started task is recycled for additional possible executions after Control-M has analyzed its execution results. The job or started task executes again only after the number of minutes specified in the INTERVAL parameter has passed since the last execution and the rest of its runtime scheduling criteria have been satisfied.

BMC recommends that a cyclic job delete the prerequisite conditions that triggered its operation. Otherwise the job might continually be resubmitted.

If a cyclic job is executing at the time the New Day procedure is run, and the value of the job’s MAXWAIT parameter has expired, the New Day procedure changes the job to a non-cyclic job and handles the job accordingly.

Use of the cyclic option precludes the use of RERUNMEM and DO RERUN parameters.

Emergency Jobs and Started Tasks

Emergency jobs and started tasks are supported for backward compatibility, but BMC recommends redefining them as regular jobs and started tasks that are activated by DO FORCEJOB statements. Control-M/Restart users can also use a DO IFRERUN statement. The DO FORCEJOB statement is described in DO FORCEJOB: Post–processing Parameter, and the DO IFRERUN statement in §Restart§DO IFRERUN: Post–processing Parameter.

An emergency job or emergency started task can be used to overcome any irregularities in normal execution. The job remains in the Active Jobs file, waiting to be scheduled, until all regular jobs of the same SMART Table finish executing OK and are checked by Control-M. Then, when the emergency job is no longer needed, the job is automatically removed from the Active Jobs file. For additional information, see MAXWAIT: Basic Scheduling Parameter.

BMC recommends that the GROUP parameter be specified if you define emergency jobs. If it is not specified, the job may stay indefinitely in the Active Jobs file.

Emergency jobs can be filtered out of the job display in the Active Environment screen and filtered out of reports.

Warning Messages

The IOANOTE utility, which is described in the INCONTROL for z/OS Utilities Guide, can also be used to issue warning messages. BMC recommends that the IOANOTE utility be used in place of this tasktype wherever possible.

For tasktype WRN, warning messages are sent to the IOA Log file when the job is ordered. The messages are taken from the member specified in the MEMNAME parameter.

A job defined with tasktype WRN is not placed in the Active Jobs file.

Examples for TASKTYPE

Submit a regular job:

Copy
MEMNAME  GNRLDR01
TASKTYPE JOB

Start a started task:

Copy
MEMNAME  CICSPROD
TASKTYPE STC

Start an emergency job:

Copy
MEMNAME  RESTORE2
TASKTYPE EMR

Job OPERCOMP is a regular job.

Figure 321 TASKTYPE Parameter – Example 4

Copy
JOB: OPERCOMP LIB CTM.PROD.SCHEDULE                            TABLE: OPER
COMMAND ===>                                                   SCROLL===> CRSR
+----------------------------------------------------------------------------+
  MEMNAME OPERCOMP    MEMLIB   CTM.PROD.JCL                                 
  OWNER   SYS1        TASKTYPE JOB    PREVENT-NCT2   DFLT  N            
  APPL    OPER                        GROUP MAINTENANCE                     
  DESC    JOB RUN ON THE 1ST OF THE MONTH                                   
  OVERLIB                                                   STAT CAL        
  SCHENV                         SYSTEM ID                  NJE NODE        
  SET VAR                                                                   
  CTB STEP AT         NAME            TYPE                                  
  DOCMEM  OPERCOMP    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO Y MAXWAIT 00  D-CAT                    
  MINIMUM          PDS                                                      
  DEFINITION ACTIVE FROM          UNTIL                                     
  ===========================================================================
  IN                                                                        
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                   11.17.00

TBL MAXWAIT: Basic Scheduling Parameter

Number of extra days the SMART Table Entity can wait in the Active Jobs file if it does not have an ENDED OK status. This parameter appears in and applies to the SMART Table Entity only.

Figure 322 TBL MAXWAIT Parameter Format

Copy
  DESC
  ADJUST CONDITIONS               TBL MAXWAIT      STAT CAL                 
  KEEP JOBS UNTIL REMOVED         KEEP AT LEAST    DAYS AFTER ENDED NOT OK  
  SET VAR                

(Optional) Valid Values: Any 2-digit number in the range of 00–98, or 99.

Table 223 TBL MAXWAIT Parameter Values

Value

Description

00

If the SMART Table Entity did not receive an ENDED OK status on its original scheduling date, it cannot remain in the Active Jobs file beyond its original scheduling date, unless jobs belonging to the SMART Table Entity are still in the Active Jobs file. Default.

nn

Where nn = 01 – 98. If SMART Table Entity did not receive an ENDED OK status on its original scheduling date, it can remain in the Active Jobs file up to nn additional days awaiting that status.

99

SMART Table Entity remains in the Active Jobs file until deleted manually, even if it has an ENDED OK status.

If no value is specified, the default value of 00 is automatically inserted. This default value may be changed by your INCONTROL administrator, by means of Wish WM2367 in member IOADFLT in the IOA IOAENV library (by setting a 2-digit number in the DATAC parameter).

General Information for TBL MAXWAIT

The TBL MAXWAIT parameter enables the SMART Table Entity to remain in the Active Jobs file for the specified number of days beyond the original scheduling date if the SMART Table Entity did not receive an ENDED OK status.

This parameter is relevant only when there are no jobs belonging to the SMART Table Entity in the Active Jobs file. As long as a job belonging to the SMART Table Entity is still in the Active Jobs file, the SMART Table Entity remains in the Active Jobs file regardless of the value in the TBL MAXWAIT field.

For more information, see MAXWAIT: Basic Scheduling Parameter.

Example for TBL MAXWAIT

If the original scheduling date of the SMART Table Entity has passed, give it an extra three days to receive a status of ENDED OK.

Figure 323 TBL MAXWAIT Parameter Example

Copy
TBL ACCOUNTS_GROUP       CTM.PROD.SCHEDULE(TBL)
COMMAND ===>                                                    SCROLL===> CRSR
+-----------------------------------------------------------------------------+
  TABLE  ACCOUNTS             GROUP   ACCOUNTS_GROUP                      
  OWNER   N04B                                                              
  APPL                                                                      
  DESC                                                                      
  ADJUST CONDITIONS Y             TBL MAXWAIT 03   STAT CAL                 
  KEEP JOBS UNTIL REMOVED Y       KEEP AT LEAST 05 DAYS AFTER ENDED NOT OK  
  SET VAR                                                                   
  DOCMEM  ACCOUNTS    DOCLIB   CTM.PROD.DOC                                 
  ===========================================================================
  SCHEDULE RBC ALL_DAYS                                                     
  DAYS    ALL                                                   DCAL        
                                                                     AND/OR 
  WDAYS                                                         WCAL        
  MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y    
  DATES                                                                     
  CONFCAL          SHIFT       RETRO N MAXWAIT 00                           
  SCHEDULE RBC ACTIVE FROM          UNTIL                                   
  ===========================================================================
  SCHEDULE RBC SUNDAYS                                                      
  DAYS    01                                                    DCAL        
                                                                     AND/OR 
 COMMANDS: EDIT, DOC, PLAN, JOBSTAT                                    16.44.31

TIME + DAYS: Runtime Scheduling Parameter

Time and day limits (FROM, UNTIL) for submitting a job or making a SMART Table active.   

Figure 324 TIME + DAYS Parameter Format

(Optional) This parameter consists of four subparameters:

  • FROM TIME

  • FROM DAYS

  • UNTIL TIME

  • UNTIL DAYS

Any or all subparameters may be specified.

The FROM TIME and UNTIL TIME subparameters can contain valid times in the format hhmm (where hh is hour and mm is minute). Character > can be entered in the UNTIL TIME field.

The FROM DAYS and UNTIL DAYS subparameters can contain valid numbers from zero through 120.

General Information for TIME + DAYS

The FROM TIME and FROM DAYS, and UNTIL TIME and UNTIL DAYS, subparameters define a window of opportunity for job submission. A job can only be submitted during the specified submission window.

FROM DAYS and UNTIL DAYS are not entered

If either a FROM TIME or an UNTIL TIME subparameter is missing, that is, not specified, the New Day Processing time is used as the default for the missing value.

To create a submission window from a particular time until the New Day processing time, enter the desired FROM TIME and leave the UNTIL TIME subparameter blank.

Examples for TIME + DAYS

Copy
FROM TIME    2200 +     DAYS    UNTIL TIME (blank)   +     DAYS

creates a submission window from 10:00 PM until the New Day Processing time.

To create a submission window from the New Day processing time until a particular time, enter the desired UNTIL TIME and leave the FROM TIME subparameter blank.

Copy
FROM TIME  (blank) +     DAYS    UNTIL TIME 1300  +     DAYS

creates a submission window from New Day processing time until 1:00 P.M. When both a FROM TIME and an UNTIL TIME value are specified, the relationship of New Day Processing time to these values (on a physical clock) determines the submission window. The logic is as follows:

If, when you move forward on the physical clock from the New Day Processing time, you arrive at the FROM TIME before you arrive at the UNTIL TIME, it means that New Day processing does not fall between the FROM TIME and the UNTIL TIME. In this case, the submission window runs from the FROM TIME to the UNTIL TIME, regardless of when the job was ordered.

Assume a New Day Processing time of 8:00 A.M.:

Copy
FROM TIME  1400 +     DAYS    UNTIL TIME 2200  +     DAYS

creates a submission window from 2:00 P.M. until 10:00 P.M., a period of 8 hours.

Assume a New Day Processing time of 10:00 P.M.:

Copy
FROM TIME  2300 +     DAYS    UNTIL TIME 0500  +     DAYS

creates a submission window from 11:00 P.M. until 5:00 A.M., a period of 6 hours.

Assume a New Day Processing time of 10:30 P.M.:

Copy
FROM TIME  2300 +     DAYS    UNTIL TIME 2200  +     DAYS

creates a submission window from 11:00 P.M. until 10:00 P.M., a period of 23 hours.

If, when you move forward on the physical clock from the New Day Processing time, you arrive at the UNTIL TIME before you arrive at the FROM TIME, it means that New Day processing falls between the FROM TIME and UNTIL TIME.

Batch jobs are frequently scheduled for submission from night until the morning. Therefore, when the New Day Processing time intervenes between the FROM TIME and the UNTIL TIME, it is likely that, following New Day Processing, the site still wants the job to be submitted up until the UNTIL TIME, without first waiting for the FROM time of the New Day.

For this reason, if New Day Processing comes between the FROM TIME and the UNTIL TIME, then regardless of when the job was ordered, the job is eligible for submission from both

  • the FROM TIME until New Day Processing time

  • New Day Processing time until the UNTIL TIME

The actual effect is that the submission window consists of all times except the interval from the UNTIL TIME until the FROM TIME.

Assume a New Day Processing time of 4:00 A.M.:

Copy
FROM TIME  2300 +     DAYS    UNTIL TIME 0600  +     DAYS

creates a submission window from 11:00 P.M. until 4:00 A.M. and from 4:00 A.M. until 6:00 A.M., giving a net submission window from 11:00 P.M. until 6:00 A.M. The job cannot be submitted from 6:00 A.M. until 11:00 P.M.

The character > in the UNTIL TIME subparameter indicates that Control-M must attempt to submit the job at the FROM TIME if specified, and if this is not possible, Control-M must submit the job as soon afterwards as possible, even at a later date (unless the MAXWAIT period has expired).

Assume a New Day Processing time of 8:00 A.M.:

Copy
FROM TIME  2200 +     DAYS    UNTIL TIME >    +     DAYS

creates a submission window that begins at 10:00 P.M. If the job has not been submitted by the end of day, it can be submitted at any time from the beginning of the next day.

The FROM TIME subparameter is ignored when a job is rerun or restarted on a subsequent day.

Specifying the same time in both the FROM TIME and the UNTIL TIME subparameters has the same impact as entering no value in both fields.

Submit the job after midnight:

Figure 325 FROM TIME Parameter Example

Copy
JOB: OPGENBKP LIB CTM.PROD.SCHEDULE TABLE: BACKUP
COMMAND ===> SCROLL===> CRSR
+----------------------------------------------------------------------------+
SCHENV SYSTEM ID NJE NODE
SET VAR
CTB STEP AT NAME TYPE
DOCMEM OPGENBKP DOCLIB CTM.PROD.DOC
===========================================================================
DAYS DCAL
AND/OR
WDAYS WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL SHIFT RETRO Y MAXWAIT 00 D-CAT
MINIMUM PDS
DEFINITION ACTIVE FROM UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME 0000      +     DAYS    UNTIL TIME      +     DAYS
DUE OUT TIME        +     DAYS    PRIORITY   SAC   CONFIRM            

In this example, if the start time of the new workday is 6:00 A.M., this job can only be submitted between the hours of midnight and 6:00 A.M.

FROM DAYS and UNTIL DAYS are entered

The FROM DAYS and UNTIL DAYS subparameters, together with the FROM TIME and TO TIME subparameters, can be used to define a window of opportunity for job submission that will take place on a future date, at a time more than 24 hours in the future.

If the FROM DAYS and UNTIL DAYS subparameters are entered, the job's submission window is calculated as follows:

  • start date is the job's ODATE plus FROM DAYS

  • end date is the job's ODATE plus UNTIL DAYS

If either the FROM TIME or UNTIL TIME subparameter is missing, that is, not specified, the New Day Processing time is used as the default for the missing value.

To create a submission window from a particular date and time until the date and time of New Day processing, enter the desired FROM TIME and leave UNTIL TIME blank.

For all examples in this section, assume an ODATE of September 5.

Copy
FROM TIME    2200 +  1  DAYS    UNTIL TIME (blank)   +  3  DAYS

creates a submission window from Control-M working date September 6 at 10:00 P.M. until New Day Processing time on Control-M working date September 8th.

To create a submission window from a particular date and time of New Day processing until a particular date and time, enter the desired UNTIL TIME and leave FROM TIME blank.

Copy
FROM TIME  (blank) +  1  DAYS    UNTIL TIME 1300  +   3 DAYS

creates a submission window from New Day processing on Control-M working date September 6 until 1:00 P.M. on Control-M working date September 8.

When both a FROM TIME and an UNTIL TIME value are specified, the relationship of the New Day Processing time to these values (on a physical clock) determines the submission window. The logic is as follows:

If, when you move forward on the physical clock from the New Day Processing time, you arrive at the FROM TIME before you arrive at the UNTIL TIME, it means that New Day processing does not fall between the FROM TIME and UNTIL TIME. In this case, the submission window runs from the FROM TIME to the UNTIL TIME, regardless of when the job was ordered.

Assume a New Day Processing time of 8:00 A.M.:

Copy
FROM TIME  1400 +  1  DAYS    UNTIL TIME 2200  +  3  DAYS

creates a submission window from 2:00 P.M. on Control-M working date September 6 until 10:00 P.M. on Control-M working date September 8, a period of 56 hours.

Assume a New Day Processing time of 10 P.M.:

Copy
FROM TIME  2300 +  1  DAYS    UNTIL TIME 0500  +  3  DAYS

creates a submission window from 11:00 P.M. on Control-M working date September 6 until 5:00 A.M. on Control-M working date September 8, a period of 54 hours.

Assume a New Day Processing time of 10:30 P.M.:

Copy
FROM TIME  2300 +  1  DAYS    UNTIL TIME 2200  +  3  DAYS

creates a submission window from 11:00 P.M. on Control-M working date September 6 until 10:00 P.M. on Control-M working date September 8, a period of 47 hours.

If, when you move forward on the physical clock from the New Day Processing time, you arrive at the UNTIL TIME before you arrive at the FROM TIME, it means that New Day processing falls between the FROM TIME and UNTIL TIME.

Batch jobs are frequently scheduled for submission during the night. Therefore, when the New Day Processing time intervenes between the FROM TIME and the UNTIL TIME, it is likely that, following New Day Processing, the site still wants the job to be submitted up until the UNTIL TIME, without first waiting for the FROM TIME of the new day. For this reason, if the New Day Processing time comes between the FROM TIME and the UNTIL TIME, then regardless of when the job was ordered, the job is eligible for submission from both:

  • the FROM TIME until the New Day Processing time

  • the New Day Processing time until the UNTIL TIME

Assume New Day Processing time of 4:00 A.M.:

Copy
FROM TIME  2300 +  1  DAYS    UNTIL TIME 0600  +  3  DAYS

creates a submission window from 11:00 P.M. on Control-M working date September 6 until 4:00 A.M. on Control-M working date September 8, and from 4:00 A.M. on Control-M working date September 8 until 6:00 A.M. on Control-M working date September 8, giving a net submission window from 11:00 P.M. on Control-M working date September 6 until 6:00 A.M. on Control-M working date September 8.

The character > in the UNTIL TIME subparameter indicates that Control-M must attempt to submit the job at the FROM TIME if specified, and if this is not possible, Control-M must submit the job as soon afterwards as possible, even at a later date (unless the MAXWAIT period has expired).

On Control-M screens 2 and 3, if the UNTIL TIME is >, the UNTIL DAYS subparameter can not be entered.

Assume a New Day Processing time of 8:00 A.M.:

Copy
FROM TIME  2200 +  1  DAYS    UNTIL TIME >    +    DAYS

creates a submission window that begins at 10:00 P.M. on Control-M working date September 6.   If the job has not been submitted by the end of the day, it can be submitted at any time from the beginning of the following day.

The FROM parameter is ignored when a job is rerun or restarted on a subsequent day.

Specifying the same time and day in both the FROM TIME/DAYS subparameters and the UNTIL TIME/DAYS subparameters has the same impact as entering no value in both fields.

Submit the job after midnight:

Figure 326 TIME + DAYS Parameter Example

Copy
JOB: OPGENBKP LIB CTM.PROD.SCHEDULE TABLE: BACKUP
COMMAND ===> SCROLL===> CRSR
+----------------------------------------------------------------------------+
SCHENV SYSTEM ID NJE NODE
SET VAR
CTB STEP AT NAME TYPE
DOCMEM OPGENBKP DOCLIB CTM.PROD.DOC
===========================================================================
DAYS DCAL
AND/OR
WDAYS WCAL
MONTHS 1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y
DATES
CONFCAL SHIFT RETRO Y MAXWAIT 00 D-CAT
MINIMUM PDS
DEFINITION ACTIVE FROM UNTIL
===========================================================================
IN
CONTROL
RESOURCE
PIPE
FROM TIME 0000      +  1  DAYS    UNTIL TIME      +     DAYS
DUE OUT TIME        +     DAYS    PRIORITY   SAC   CONFIRM            

In this example, if New Day Processing time is 6:00 A.M., this job can only be submitted between the hours of midnight and 6:00 A.M. on Control-M working date September 6.

Time Zone Considerations

The TIME ZONE parameter affects the FROM TIME+DAYS and
UNTIL TIME+ DAYS parameters. For details, please refer to TIME ZONE: Runtime Scheduling Parameter.    

MAXWAIT Considerations

The FROM DAYS and UNTIL DAYS parameters affect the MAXWAIT parameter. For details, please refer to MAXWAIT: Basic Scheduling Parameter.

TIME ZONE: Runtime Scheduling Parameter

Adjusts the values specified in the TIME parameter to those in a different time zone.

A related parameter is TIME + DAYS: Runtime Scheduling Parameter.

Figure 327 TIME ZONE Parameter Format

(Optional) TIME ZONE specifies a time zone using three characters.

General Information for TIME ZONE

The TIME ZONE parameter appears in the Job Scheduling Definition screen (Screen 2) and the Active Environment Zoom screen (Screen 3.z).

The TIME ZONE parameter uses three characters to define a time zone by reference to Greenwich Mean Time (UTC). This enables automatic adjustment of the times specified in some fields of the Job Scheduling Definition screen to the corresponding times in a time zone other than that in which the system is operating. The fields that are automatically adjusted are the following:

  • FROM TIME+DAYS

  • UNTIL TIME+DAYS

  • DUE OUT TIME+DAYS

  • SHOUT WHEN TIME+DAYS

If you set the TIME ZONE parameter appropriately, Control-M calculates the corresponding times automatically, and the job runs only during the hours you require.

The three-character values used in the TIME ZONE parameter are defined in the TIMEZONE member in the IOA PARM library. A sample TIMEZONE member is provided, but you can edit the values as needed. For example, you can use "EST" or "NYC" instead of "G-5", which is the default value for US Eastern Standard Time.

Daylight Saving Time is defined differently in different time zones. For more information on Daylight Savings Time, see the Control-M chapter in the INCONTROL for z/OS Administrator Guide.

Example for TIME ZONE

You are running Control-M in London, but want a job to run only when the New York Stock Exchange is open, between 0900 (9 A.M.) and 1600 (4 P.M.) in New York (US Eastern Standard Time). US Eastern Standard Time is five hours behind London time (GMT-5 hours).

  1. In the Job Definition screen (Screen 2) or the Active Environment Zoom screen (Screen 3.Z) set the TIME FROM parameter to 0900 and the UNTIL parameter to 1600.

  2. The TIMEZONE member defines GMT-5 hours as EST.

  3. Set the TIME ZONE parameter in the same screen to EST. When you press the Enter key, the Control-M interpretation of your specification is also displayed in the format (GMTxhh:mm)

    where:

    • x is + (Plus) or - (Minus)

    • hh is the hours figure you specified

    • mm is the minutes figure specified, either 00 or 30

  4. The job will run between 2P.M. and 9P.M. at your site in London. These times correspond respectively to 9A.M. and 4P.M. in New York, the hours when the New York Stock Exchange is open. In other words, the job runs as if the TIME FROM was set to 1400 and UNTIL to 2100.

In the Job Scheduling Definition screen (Screen 2) and the Active Environment Zoom screen (Screen 3.Z), the times appear as you specified, as 0900 and 1600 respectively. In the Active Environment Why screen (Screen 3.?), the times appear with their converted values of 1400 and 2100 respectively.

WDAYS: Basic Scheduling Parameter

Days of the week on which the job must be scheduled.

Related parameters are DAYS: Basic Scheduling Parameter, and CONFCAL: Basic Scheduling Parameter.

Figure 328 WDAYS Parameter Format

(Optional) The WDAYS parameter specifies days of the week on which jobs must be scheduled, provided other basic scheduling criteria are met.

Values for WDAYS can be specified alone, or they can be specified together with a calendar specified in the WCAL subparameter. WDAYS and WCAL can also be specified together with DAYS and DCAL, which are described under DAYS: Basic Scheduling Parameter.

WDAYS subparameters are described in Table 224.

Table 224 WDAYS Subparameters

Subparameter

Description

WDAYS

Days of each week in the month on which to schedule a job. (The months in which to order jobs are specified in the MONTHS parameter.) Various formats (described later) can be used to specify WDAYS; for example, 2 means the second day of the week, L2 means the day before the last day of the week.

At time of installation, the INCONTROL administrator selects either Sunday or Monday as the "first" day of the week. Your INCONTROL administrator can tell you whether the week begins on Sunday or Monday at your site.

The first six days of the week are coded 1 through 6. The last day of the week is coded 0 (zero). All examples in this chapter assume Monday is the first day of the week. In these examples, Monday = 1, Tuesday = 2, ..., Saturday = 6, and Sunday = 0.

WCAL

Name of a calendar containing a predefined set of dates, referred to as working days, on which a job is to be scheduled. A specified value must be either a valid member name of 1 through 8 characters, or an * to indicate that the calendar specified in the CONFCAL parameter must be used for scheduling. For more information about how to define, use and modify calendars, see IOA Calendar Facility.

A calendar specified in WCAL does not have to exist when defining the WDAYS parameter. However, it must exist when the job is to be ordered.

Assuming all other basic scheduling criteria are met:

  • When WDAYS are specified without WCAL, the job is scheduled on the specified days of the week.

  • When WCAL is specified without WDAYS, the job is scheduled on the working days marked in the WCAL calendar.

  • When WDAYS and WCAL are both specified, scheduling depends on the combination of working days defined in the calendar and the values or format of the WDAYS parameter (described below).

  • When both DAYS and WDAYS criteria are specified, scheduling depends on the connecting AND/OR value specified. For more information, see subparameter AND/OR in Table172 in DAYS: Basic Scheduling Parameter.

Valid Formats for WDAYS

Valid formats for the WDAYS parameter, and how they relate to WCAL, are described below.

In the non-periodic scheduling formats described in Table 225, n is an integer from 1 through 6 or 0 (zero), where 1 = the first day of the week (Sunday or Monday, depending on the standard at your site) and 0 = the last day of the week (Saturday or Sunday).

  • Multiple values can be expressed, separated by commas, in any order.

  • WCAL must not contain the name of a periodic calendar.

Table 225 Non-Periodic Scheduling Formats

Format

Description

ALL

All days of the week. If ALL is specified, other WDAYS values cannot be specified with it.

If a WCAL calendar is not defined, schedule the job on all days in the week.

If a WCAL calendar is defined, schedule the job only on the working days indicated in the calendar.

n,...

Specific days of the week.

If a WCAL calendar is not defined, schedule the job on the specified days.

If a WCAL calendar is defined, schedule the job only when a day is defined as a working day both in the WDAYS parameter and in the WCAL calendar.

+n,...

Days of the week in addition to the working days specified in the WCAL calendar. WCAL is mandatory.

If, besides +n, other scheduling criteria are specified, these other criteria limit the scheduled days to the intersection of the other criteria with the WCAL calendar. For example, specifying WDAYS=+1,5 means schedule the job on the first day of the week, whether or not it is a scheduled day on the WCAL calendar, and on the 5th day of the week, but only if it is a scheduled day on the WCAL calendar. No other days are scheduled.

n,...

Order the job on all days except the nth day from the beginning of the week. WCAL is mandatory.

>n,...

Order the job on the indicated day if it is a working day in the WCAL calendar; otherwise, order the job on the next working day (within the next seven daysa ) that is not negated by a –n value in the parameter. This format is frequently used for holiday handling. WCAL is mandatory.

<n,...

Order the job on the indicated day if it is a working day in the WCAL calendar; otherwise, order the job on the last previous working day (within the preceding seven daysa) that is not negated by a n value in the parameter. This format is frequently used for holiday handling. WCAL is mandatory.

Dn,...

Order the job on the nth working day from the beginning of the week. WCAL is mandatory.

–Dn,...

Order the job on all working days except the nth working day from the beginning of the week. WCAL is mandatory.

Ln,...

Order the job on the nth working day counting from the end of the week. WCAL is mandatory.

–Ln,...

Order the job on all working days except the nth working day counting backward from the end of the week. WCAL is mandatory.

DnWm,...

(Where m = 1 through 6). If WCAL is defined, order the job on the nth working day of the mth week of the month. If WCAL is not defined, order the job on the mth appearance of the nth day of the week during the month. A maximum of eleven DnWm values can be specified. WCAL is optional.

In the periodic scheduling formats described in Table 226

  • n is any integer from 0 through 6, and i is any valid period identifier.

  • WDAYS periodic identifiers are counted on a week by week basis. Calculations do not cross week boundaries, unlike DAYS periodic identifiers, which can cross month boundaries.

  • The name of a periodic calendar must be specified in WCAL. For details concerning periodic calendars, see IOA Calendar Facility.

  • A maximum of eight periodic values can be specified in any desired order.

Table 226 Periodic Scheduling Formats

Format

Description

DnPi,...

Order the job on the nth day of period i in each week, from the beginning of the week. An * can be entered as the i value to represent all periods.

–DnPi,...

Order the job on all days except the nth day of period i in each week, from the beginning of the week. An * can be entered as the i value to represent all periods.

LnPi,...

Order the job on the nth day of period i in each week, counting backward from the last periodic day of the week. An * can be entered as the i value to represent all periods.

–LnPi,...

Order the job on all days in period i except the nth day of period i in each week, counting from the last periodic day of the week. An * can be entered as the i value to represent all periods.

WARNING: Before you use the P* format of the periodic scheduling criteria, review example 11 below to ensure that you are aware of its proper functioning.

General Information for WDAYS

Negative values take precedence over positive values when determining whether a job is scheduled on a certain date. If a negative value (that is, format –n, –Dn, –Ln, - DnPi, or –LnPi) in either the DAYS or WDAYS field prevents a job from being scheduled on a date, the job is not scheduled on that date even if a positive value (such as Ln) in a basic scheduling parameter would otherwise result in the job being scheduled on that date.

If periodic and non-periodic values are mixed when specifying the WDAYS parameter, processing depends on the calendar type specified in the WCAL parameter:

  • If a non-periodic calendar is specified in the WCAL parameter, only non-periodic values in the WDAYS parameter are processed; periodic values are ignored. In this case, negative periodic values (that is, –DnPi, –LnPi) are also ignored and do not supersede other values.

  • If a periodic calendar is specified in the WCAL parameter, all periodic values and the negative non-periodic value -n in the WDAYS parameter are processed; all nonnegative non-periodic values are ignored.

The WDAYS parameter cannot be used with the PDS and MINIMUM parameters.

Examples for WDAYS

The examples in this chapter are based on the following assumptions:

  • The current month is December, 2001.

  • Working days are defined in calendar WORKDAYS, which contains the following working days (indicated by Y) for December, 2001.

    Copy
    --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 + 1
         Y Y Y Y Y     Y Y Y Y Y     Y Y Y Y Y     Y   Y Y Y     Y
  • Periodic calendar PERIDAYS contains the following periodic definition for December 2001. These examples assume that all other days of this calendar are blank.

    Copy
    --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 + 1
         B C A A B     B C A A B     B C A A B     B C A A B     B
  • Start of the week is defined as Monday. Weeks start on the following dates in December 2001: 3rd, 10th, 17th, 24th, and 31st.

At the end of each example, asterisks in a December 2001 calendar indicate the days on which the job is scheduled.

Schedule the job on every Sunday and Monday.

Copy
WDAYS    0,1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 329 WDAYS Parameter Example 1

Schedule the job on all working days and on all Saturdays.

Copy
WDAYS    +6
WCAL     WORKDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 330 WDAYS Parameter Example 2

Schedule the job on Sunday, if it is a working day. If Sunday is not a working day, schedule the job on the first preceding working day that is not a Friday.

Copy
WDAYS    -5,<0
WCAL     WORKDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 331 WDAYS Parameter Example 3

Schedule the job on Monday of the 1st week.

Copy
WDAYS    D1W1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 332 WDAYS Parameter Example 4

Schedule the job on all working days except Mondays and Fridays.

Copy
WDAYS    -D1,-L1
WCAL     WORKDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 333 WDAYS Parameter Example 5

Each week, schedule the job on the 1st day of period A in that week, and on all days of period B except the second day of period B in any week.

Copy
WDAYS    D1PA,-D2PB
WCAL     PERIDAYS

The job is scheduled on the days of the month indicated by an asterisk:

Figure 334 WDAYS Parameter Example 6

Schedule the job on each Monday and on the 1st day of the month.

Copy
DAYS     1
AND/OR   OR
WDAYS    1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 335 WDAYS Parameter Example 7

Schedule the job on the 3rd day of the month provided it is a Monday.

Copy
DAYS     3
AND/OR   AND
WDAYS    1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 336 WDAYS Parameter Example 8

Schedule the job on the last Monday of the month.

Copy
DAYS     L1,L2,L3,L4,L5,L6,L7
AND/OR   AND
WDAYS    1

The job is scheduled on the days of the month indicated by an asterisk:

Figure 337 WDAYS Parameter Example 9

Schedule the job on the 1st, 7th and 15th day of the month if they are both Saturdays and working days. If the day of the month (1st, 7th, 15th) is not a Saturday, do not schedule the job. If the day of the month is a Saturday, but it is not a working day, schedule the job on the next working day.

Copy
DAYS     1,7,15
AND/OR   AND
WDAYS    6
CONFCAL  WORKDAYS
SHIFT    >

The job is scheduled on the days of the month indicated by an asterisk:

Figure 338 WDAYS Parameter Example 10

  • Schedule a job, on a weekly basis, on the first day of period C, using periodic calendar PER, in the month of August 2006. The first day of the week is defined as Monday (SWEEK=MON) :

  • The months of July and August are defined in the periodic calendar PER as follows:

    Copy
    J                                                             S  M
    U                                                            30 31
    L                                                             C  C
     
    A    T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T
    U    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 + 1
    G    C C C C C D D D D D D D A A A A A A A B B B B B B B C C C C C
     
    WDAYS D1PC          WCAL   PER

    The job will be scheduled on the following days in August: Sunday the 27th and Monday the 28th.

    The job is not scheduled on August 1st, because August 1st is contained in the week July 31 through August 6, and therefore, the first day of period C in that week is July 31.

    The job is scheduled on August 27, because it is the first (and only) day in period C of the week August 21 through August 27. The job is also obviously scheduled on August28.

  • Schedule a job, on a weekly basis, according to the criteria D1P* (the first day of any period), using periodic calendar PER (defined above), in the month of August 2006.

    Copy
    WDAYS D1P*          WCAL   PER

    The job will be scheduled on August 7, 14, 21, and 28 only. The job will not be scheduled on August 6, 13, 20, or 27, because even though those dates contain the first day of a period in the respective week, the D1P* criterion has already been satisfied by a previous day (in a different period) in that same week.

In this example we want to interface scheduling criteria with pre-requisite conditions.

Schedule a job to run depending on which situation occurs first each month:

  • If the first Monday of the month occurs before the 5th day of the month, then the job will run on the first Monday of the month.

  • Otherwise, the job will run on the 5th day of the month.

Copy
DAYS      5
AND/OR   OR
WDAYS    D1W1
IN condition:   \FIRST-OCCURANCE STAT  (inverted/negative condition)
OUT condition:  FIRST-OCCURANCE STAT

The above condition should be manually deleted from the COND file on the first of each month only.