Simulation and Forecasting Facility
This chapter includes the following topics:
Overview of Simulation and Forecasting Facility
The Simulation and Forecasting facility consists of two components.
-
Simulation procedure CTMSIM
-
Tape Pull List procedure CTMTAPUL
Simulation procedure CTMSIM tests the potential impact of proposed changes to the configuration or production environment. It answers "What if?" questions, such as:
"What if we ...
-
add or remove four tape drives from the system?"
-
increase the CPU power by 30%?"
-
run a particular set of applications daily instead of weekly?"
The Simulation procedure can also be used to forecast production runs such as the next 24-hour run, end-of-month run, and so on. In this way, possible irregularities in the schedule can be foreseen.
The CTMTAPUL Tape Pull List procedure creates a report of all tapes to be mounted for a specific period. By running the procedure on a daily basis, all tapes required for the daily production run can be prepared in advance for the operator or the robotic tape library.
The Tape Pull List procedure uses the output of the Simulation procedure as input. Therefore, the Simulation procedure must be executed before the Tape Pull List procedure can be executed. However, the Simulation procedure can be executed without executing the Tape Pull List procedure.
Simulation Procedure CTMSIM
-
Control-M Getting Started Guide
-
Control-M User Guide
-
Control-M Administrator Guide
-
Control-M Utilities Guide
However, users requiring the Tape Pull List utility (CTMTAPUL), described in the following section, must still execute the CTMSIM simulation procedure, described in this section, since the Tape Pull List procedure uses files from CTMSIM as input.
The Simulation procedure mirrors the Control-M monitor flow for a specified period without actual job submission and without output processing. It takes into consideration all scheduling criteria including prerequisite conditions, time limits, quantitative, and Control resources.
Control-M and IOA files used as input to the simulation process are not updated as a result of this process. The statuses of the files after simulation are written to special simulation output files. The simulation assumes that each job ended execution with a condition code of 0.
The following Control-M and IOA files are used as input in the Simulation procedure. These files may either be actual production files or special files created specifically for forecasting purposes.
Table 265 Files Used as Input during Simulation
File |
Description |
---|---|
AJF |
Active Jobs file |
RES |
Control-M Resources file |
CND |
IOA Conditions file |
STAT |
Control-M Statistics file |
The simulation produces the following output files:
Table 266 Files Produced as Output of Simulation
File |
Description |
---|---|
SIMOAJF |
Simulation Output Active Jobs file |
SIMORES |
Simulation Output Resources file |
SIMOCND |
Simulation Output Conditions file |
SIMLOG |
Simulation Output Log file |
The Simulation procedure may contain several steps prior to the actual simulation processing step, depending on the environment to be used as input to the simulation run. For example
-
It may be desirable to use the production Active Jobs file as input.
-
It may be necessary to simulate the run of a specific day without relating to the current production jobs.
-
It may be necessary to resolve manual conditions prior to the simulation run so that all jobs are submitted.
Activating the Procedure
The procedure can be invoked directly, that is, through // EXEC CTMSIM, or through a job generated by option M3 of the Online Utilities menu.
Option M3 is the preferred method of generating the job stream for the procedure because the Online utility can automatically perform certain necessary preparatory steps (mentioned above). If the Online utility is not used, the user must add these steps, as necessary, to the JCL.
The M3 Online utility is discussed in M3: Prepare Simulation/Tape Pull List Job.
Preparatory Steps
The following preparatory steps must be added, as needed, to the simulation job.
Allocate IOA Conditions File
The DACNDF DD statement references the IOA Conditions file. It may refer to either of the following files:
-
the production IOA Conditions file
If this file is used, it only needs allocation.
-
a test file used to simulate jobs planned for a future working day
If a test file is used, an initial job step must allocate and format the simulation Active Jobs file. A date record is then generated for the date of the simulation. A User Daily job step then loads the required job orders into the simulation Active Jobs file.
This preparatory step can be automatically generated through the M3 online utility.
All jobs in the Active Jobs file participate in the simulation. For jobs that are currently executing at the time the simulation is running, it is assumed that they have already executed half of their average elapsed time.
Allocate Control-M Resources File
The DACNDF DD statement references the Control-M Resources file. It may refer to either of the following files:
-
the production Control-M Resources file
If this file is used, it only needs allocation. -
a test file, which can be used to define Quantitative resources under simulation, using the IOACND utility
Simulation Parameters
There are two ways of setting parameters for the utility.
Parameters can be passed to the utility using the SIMPARM member in the Control-M PARM library. This member is referenced by the DASIMPRM DD statement in the Simulation procedure, if it is specified in option M3 (Prepare Simulation/Tape Pull List Job) of the Online Utilities.
Alternatively, parameters may be passed to the utility in-line, using the DASIMPRM (or SYSIN) DD statement.
Table 267 Parameters Passed to the Utility by DASIMPRM
Parameter |
Description |
---|---|
SIMSTART |
Date and time at which the simulation must start, in yymmddhhmm format. Mandatory. |
SIMEND |
Date and time at which the simulation must end, in yymmddhhmm format. Mandatory. Ordinarily the interval between specified SIMSTART and SIMEND values should not exceed a 24 hour period because there is no mechanism to simulate New Day processing for the next day. However, it is possible to specify a larger interval if one is required to enable existing jobs to complete. |
INTERVAL mm |
Simulation interval, in minutes. The simulation "clock" advances by the interval specified. The shorter the interval, the more accurate the simulation, but the longer the simulation takes to run. The specified interval must not exceed one working day. Mandatory. |
NEWJOB |
For a job that has no execution statistics, this statement is used to indicate the expected execution time of the job. Optional. If the simulation encounters a job without statistics and this statement is not supplied, a default execution time of three minutes is used. The format of the NEWJOB parameter is as follows: NEWJOB memname EXECTIME mmmm.xx [GROUP groupname][CPUID i] The following subparameters can be specified:
|
OLDJOB |
For a job with execution statistics, this statement can be used to override the statistically estimated execution time. For example, a longer execution time can be specified to test the effect of adding more input data to the job. Optional. Format of the OLDJOB parameter is as follows: OLDJOB memname EXECTIME mmmm.xx [GROUP groupname][CPUID i] The same subparameters can be specified for the OLDJOB parameter as those for the NEWJOB parameter (in this table). |
ADD or DELETE |
Add or delete a prerequisite condition of a specific ODATE (original scheduling date) at a specified simulation date and time. The format of the ADD or DELETE parameter is as follows: {ADD|DELETE} COND condname odate ONDAYTIME yymmddhhmm The following subparameters can be specified:
|
CHANGE RESOURCE |
Change the quantity of a given resource at a specified simulation date and time. Format of the CHANGE RESOURCE parameter is as follows: CHANGE RESOURCE resname quantity ONDAYTIME yymmddhhmm The following subparameters can be specified:
|
CPUUSEI |
Specifies the interval used for producing the CPU Consumption Report. The report also contains the R4HA data (Rolling Four Hours Highest Average CPU Usage) for every LPAR and the overall R4HA. The report is based on the CPU usage of all the jobs ‘executed’ during the Control-M Simulation period. The jobs’ CPU usage, elapsed time, and the LPAR name (where the job runs) are extracted from Control-M Statistics File. Valid values: 0 – 1440 (in minutes). If set to 0, the CPU Consumption Report is not produced. Default is 60. The report is produced in the Output DD statement, DACPUST. For a sample report, see CPU Consumption Report. Since the same type of reports are generated by CTMSIM, CTMRNSC, and CTMROGR, the CPU usage data forecasted by simulations can easily be compared with actual data and with other forecasted data from other simulations. Simulations can be performed in advance to reveal unexpected peaks in CPU usage, and then possible alternatives can be considered and simulated to reduce R4HA. For more information about the CTMRNSC (Produce Night Schedule Report) and CTMROGR (Produce an Overnight Execution Graph) utilities, see the INCONTROL for z/OS Utilities Guide. |
Simulation Input Files
The simulation procedure accepts the following input files:
-
Active Jobs file—created in the course of the preparatory steps described in Preparatory Steps
-
Job Execution Statistics file—the DASTAT DDstatement references the Control-M Job Execution Statistics file; this file contains job execution statistics, including the execution elapsed time
-
IOA Conditions file—created in the course of the preparatory steps described in Preparatory Steps
-
Control-M Resources file—created in the course of the preparatory steps described in Preparatory Steps
Simulation Output Files
The simulation run produces the following output files:
-
Simulation Messages file
The DASIMOUT DDstatement references a sequential file containing a list of the simulation parameters used, and special messages for error codes, warning situations, and so on. In addition, it contains all the SHOUT messages to TSO/ROSCOE users and to the computer operator.
-
SIMLOG—Simulation Log file
The DALOGOUT DDstatement references a sequential output file in a format similar to that of the IOA Log file.
At the end of the simulation process, this file contains all the log messages describing events that occurred during the simulation run, for example, JOB SUBMITTED, JOB ENDED OK, or COND xxxx ADDED.
This file can be used as input to all Control-M reports that are normally produced from the IOA Log file. The standard set of reports produced from the IOA Log can be used to analyze the simulation run. Therefore, it is not necessary to write special simulation reports.
-
SIMOAJF—Active Jobs file
The DACKPTOU DDstatement references a file in the format of the Active Jobs file. All jobs that were present in the input Active Jobs file are written to this file with the status assigned to them during the simulation run, for example, ENDED OK, EXECUTING, or WAIT SCHEDULE.
The file can be scanned online or in batch mode using standard Control-M facilities.
-
SIMOCND—Conditions file
The SIMOCND DDstatement references a file in the format of the IOA Conditions file. All conditions that were present at the end of the simulation run are written to this file.
The file can be scanned online or in batch mode using standard Control-M facilities.
-
SIMORES—Resources file
The SIMORES DDstatement references a file in the format of the Control-M Resources file. All Quantitative resources and Control resources that were present at the end of the simulation run are written to this file.
The file can be scanned online or in batch mode using standard Control-M facilities.
CPU Consumption Report
=======================================================================
CPU USAGE FOR SYSTEM 309F FROM 16/02/23-00:00 UNTIL 16/02/25-00:00
=======================================================================
TIME (YY/MM/DD HH:MM) CPUTIME (MIN:SEC)
------------------------------------------------------
16/02/23 16:00 - 16/02/23 17:00 0000:17.01
16/02/23 17:00 - 16/02/23 18:00 0002:25.93
16/02/23 18:00 - 16/02/23 19:00 0002:25.93
16/02/23 23:00 - 16/02/24 00:00 0002:25.93
16/02/24 00:00 - 16/02/24 01:00 0071:59.16
16/02/24 01:00 - 16/02/24 02:00 0012:47.51
16/02/24 02:00 - 16/02/24 03:00 0007:36.51
16/02/24 03:00 - 16/02/24 04:00 0010:08.32
16/02/24 04:00 - 16/02/24 05:00 0029:58.11
16/02/24 05:00 - 16/02/24 06:00 0003:32.93
HIGHEST ROLLING FOUR HOURS AVERAGE (R4HA) CPU CONSUMPTION FOR SYSTEM 309F
FROM 16/02/24-00:10 TO 16/02/24-04:10 CPU: 001 HR 45 MIN 28.09 SEC
=======================================================================
CPU USAGE FOR SYSTEM 309D FROM 16/02/23-00:00 UNTIL 16/02/25-00:00
=======================================================================
TIME (YY/MM/DD HH:MM) CPUTIME (MIN:SEC)
------------------------------------------------------
16/02/23 22:00 - 16/02/23 23:00 0003:10.15
16/02/23 23:00 - 16/02/24 00:00 0006:11.22
16/02/24 00:00 - 16/02/24 01:00 0093:52.05
16/02/24 01:00 - 16/02/24 02:00 0055:38.92
16/02/24 02:00 - 16/02/24 03:00 0070:33.37
16/02/24 03:00 - 16/02/24 04:00 0002:19.80
16/02/24 04:00 - 16/02/24 05:00 0022:17.05
16/02/24 05:00 - 16/02/24 06:00 0036:15.20
16/02/24 06:00 - 16/02/24 07:00 0007:23.49
16/02/24 07:00 - 16/02/24 08:00 0008:59.29
16/02/24 08:00 - 16/02/24 09:00 0036:37.08
16/02/24 09:00 - 16/02/24 10:00 0004:35.60
HIGHEST ROLLING FOUR HOURS AVERAGE (R4HA) CPU CONSUMPTION FOR SYSTEM 309D
FROM 16/02/23-23:20 TO 16/02/24-03:20 CPU: 003 HR 48 MIN 35.10 SEC
=======================================================================
CPU USAGE FOR SYSTEM ARIS FROM 16/02/23-00:00 UNTIL 16/02/25-00:00
=======================================================================
TIME (YY/MM/DD HH:MM) CPUTIME (MIN:SEC)
------------------------------------------------------
16/02/23 23:00 - 16/02/24 00:00 0024:40.52
16/02/24 00:00 - 16/02/24 01:00 0047:44.40
16/02/24 01:00 - 16/02/24 02:00 0038:33.55
16/02/24 02:00 - 16/02/24 03:00 0031:37.88
16/02/24 03:00 - 16/02/24 04:00 0011:07.80
16/02/24 04:00 - 16/02/24 05:00 0004:17.37
16/02/24 05:00 - 16/02/24 06:00 0029:04.60
16/02/24 06:00 - 16/02/24 07:00 0004:59.32
16/02/24 07:00 - 16/02/24 08:00 0055:43.25
16/02/24 08:00 - 16/02/24 09:00 0087:27.11
16/02/24 09:00 - 16/02/24 10:00 0009:59.00
16/02/24 10:00 - 16/02/24 11:00 0005:35.25
16/02/24 11:00 - 16/02/24 12:00 0009:41.53
HIGHEST ROLLING FOUR HOURS AVERAGE (R4HA) CPU CONSUMPTION FOR SYSTEM ARIS
FROM 16/02/24-05:10 TO 16/02/24-09:10 CPU: 003 HR 00 MIN 39.81 SEC
=======================================================================
CPU USAGE FOR SYSTEM 308B FROM 16/02/23-00:00 UNTIL 16/02/25-00:00
=======================================================================
TIME (YY/MM/DD HH:MM) CPUTIME (MIN:SEC)
------------------------------------------------------
16/02/24 00:00 - 16/02/24 01:00 0067:06.29
16/02/24 01:00 - 16/02/24 02:00 0024:08.34
16/02/24 02:00 - 16/02/24 03:00 0007:04.77
16/02/24 03:00 - 16/02/24 04:00 0006:04.17
16/02/24 04:00 - 16/02/24 05:00 0011:32.19
16/02/24 05:00 - 16/02/24 06:00 0019:52.66
16/02/24 06:00 - 16/02/24 07:00 0003:28.85
16/02/24 07:00 - 16/02/24 08:00 0029:26.04
16/02/24 08:00 - 16/02/24 09:00 0031:08.35
16/02/24 09:00 - 16/02/24 10:00 0003:55.31
16/02/24 10:00 - 16/02/24 11:00 0021:37.11
16/02/24 11:00 - 16/02/24 12:00 0042:34.78
16/02/24 12:00 - 16/02/24 13:00 0006:37.33
16/02/24 13:00 - 16/02/24 14:00 0000:14.39
HIGHEST ROLLING FOUR HOURS AVERAGE (R4HA) CPU CONSUMPTION FOR SYSTEM 308B
FROM 16/02/24-00:00 TO 16/02/24-04:00 CPU: 001 HR 44 MIN 23.47 SEC
=====================================================================
HIGHEST OVERALL ROLLING FOUR HOURS AVERAGE (R4HA) CPU CONSUMPTION
FROM 16/02/23-23:30 TO 16/02/24-03:30 CPU: 009 HR 36 MIN 35.88 SEC
Control-M Exits and Simulation Processing
The Control-M Simulation and Forecasting facility functions in much the same way as the Control-M monitor, but is activated without performing "real I/O." Therefore, some of the exits activated under the Control-M monitor are also activated during simulation.
Exit CTMX003 (output scanning) is invoked once for each job. The exit does not receive any sysout. Since the simulation assumes that each job ended execution with a condition code of 0, this exit can also be used to add events for certain jobs that end with a nonzero condition code that influences the job flow.
Exit CTMX002 is not activated in simulation mode.
If the same exit is to be used in both the production and simulation environments, it may be necessary to determine which environment is currently active. The MCTSMIND field in the MCT can be checked as follows to determine whether the exit is running under simulation:
TM MCTSMIND,MCTSIMYS ARE WE UNDER SIMULATION?
BO SKIPPROD YES, SKIP PRODUCTION LOGIC
Sample Input
Figure 383 Control-M Simulation Exit Screen
// EXEC CTMSIM
//SIM.DACKPTIN DD DSN=XXX.CTM.PROD.TESTAJF,DISP=SHR
//SIM.SYSIN DD *
SIMSTART 0106060900
SIMEND 0106062200
INTERVAL 15
NEWJOB D4TRY1 EXECTIME 2.30
NEWJOB D4TRY2 EXECTIME 100.00 CPUID 1
NEWJOB D4TRY2 EXECTIME 120.00 CPUID 2
CHANGE RESOURCE TAPE -3 ONDAYTIME 0106061600
ADD COND IR-TAPE-ARRIVED 0606 ONDAYTIME 0106061800
ADD COND END-CICS 0606 ONDAYTIME 0106062100
//
. . SIM076I SIMULATION STARTED
SIMSTART 0112122100
SIMEND 0112122130
INTERVAL 55
ADD COND TAP-TEST-OK 0606 ONDAYTIME 0106062102
ADD COND TAP-TEST2-OK 0606 ONDAYTIME 0106062102
ADD COND PUL2-OK 0606 ONDAYTIME 0106062102
ADD COND PUL1-OK 0606 ONDAYTIME 0106062102
ADD COND PUL2-OK 0606 ONDAYTIME 0106062102
NEWJOB ASMMCTD EXECTIME 0001.00
NEWJOB ASMMCTM EXECTIME 0001.00
21.00.00 RUN100I CONTROL-M MONITOR STARTED
21.00.00 SIM087W MEMBER PRDJBREG LIBRARY PROD.DAILY.JOBS - DEFAULT ELAPSED TIME USED
21.00.00 SIM087W MEMBER PRDJBDAY LIBRARY PROD.DAILY.JOBS - DEFAULT ELAPSED TIME USED
21.02.45 CTM567I COND PUL2-OK ODATE 0606 ADDED
21.02.45 CTM567I COND PUL1-OK ODATE 0606 ADDED
21.02.45 CTM587I COND PUL2-OK ODATE 0606 ALREADY EXISTS
21.02.45 CTM567I COND TAP-TEST2-OK ODATE 0606 ADDED
21.02.45 CTM567I COND TAP-TEST-OK ODATE 0606 ADDED
21.31.10 SIM098I TASK EXECDAY DID NOT FINISH EXECUTING
21.31.10 SIM098I TASK PRDTEST DID NOT FINISH EXECUTING
21.31.10 SIM099I TASK MPMXXX STILL WAITS SCHEDULE
21.31.10 SIM099I TASK MPMTST STILL WAITS SCHEDULE
21.31.10 RUN120I CONTROL-M MONITOR SHUTTING DOWN
21.31.10 SIM078I SIMULATION ENDED
Analyzing the Simulation Run
The following tools can be used to analyze the simulation run and to diagnose problems that may have occurred during simulation processing.
-
output of the Simulation Run
-
output of the KSL Step
-
Night Schedule Report
-
Online Simulation Environment
-
the CTMRAFL utility
These tools are described below.
Output of the Simulation Run
The DASIMOUT DD statement references summary information about the simulation run. It specifies which jobs ran, which are still in WAIT SCHEDULE status, and which are still executing when the simulation terminates. The following tools can be used to ascertain why certain jobs remain in WAIT SCHEDULE status when the simulation run is terminated.
Output of the KSL Step
The REP3LEFT KSL script can be executed after the simulation step. REP3LEFT generates a report that shows the reasons why certain jobs are still in WAIT SCHEDULE status at the end of the simulation run. This report can be requested as an option through the M3 Online utility.
Night Schedule Report
This report provides a summary of each job that fell within the time interval of the simulation run. This report can be requested as an option through the M3 Online utility.
Online Simulation Environment
A special online environment can be created for the allocation of the files written by the simulation run. The online environment must include the following allocations:
Table 268 Online Simulation Environment File Allocations
Allocation |
Description |
---|---|
DACKPT DD statement |
Allocated to file SIMOAJF |
DACNDF DD statement |
Allocated to file SIMORES |
DACNDF DD statement |
Allocated to file SIMOCND |
DALOG DD statement |
Allocated to file SIMLOG |
The online environment can be used to determine not only which jobs were submitted, but which jobs are waiting to be scheduled and why they remained in WAIT SCHEDULE status at the termination of the simulation run.
The CTMRAFL Utility
The CTMRAFL utility, which is described in the INCONTROL for z/OS Utilities Guide, can be run on the simulation input Active Jobs file to obtain information on job dependencies and manual conditions. The CTMRAFL utility does not check the IOA Conditions file. Therefore, conditions listed as "manual conditions" may actually exist in the IOA Conditions file.
Handling Manual Conditions for Simulation
Perform the following steps to incorporate manual conditions into the IOA Conditions file that is used in the simulation procedure.
-
Create a Conditions file and a Manual Conditions file to be used for simulation only. You can use the FORMCND and FORMNRS members in the IOA INSTALL library to do this. The file name CND can be changed to SIMCND. The file names NRS and NSN can be changed to SIMNRS and SIMNSN respectively.
-
Using the CTMCOPRS utility, copy the contents of the production IOA Conditions file into the simulation Conditions file created in Step 1.
-
Integrate the IOALDNRS utility into the standard CTMSIM procedure so that it runs against the simulation Active Jobs File, which has been loaded with simulation jobs, to load the manual conditions into the simulation NRS file SIMNRS.
Specify the following overrides when using the IOALDNRS procedure:
Table 269 Overrides To Be Specified on IOALDNRS
DDname
DSname Suffix
Override Suffix
DANRES
NRS
SIMNRS
DANSINC
NSN
SIMNSN
DACNDF
CND
SIMCND
-
Integrate the MAYBEJOB job, which is in the Control-M JCL library, into the standard CTMSIM procedure to add the required manual Maybe conditions to the simulation Conditions file.
Specify the following overrides when running MAYBEJOB:
Table 270 Overrides To Be Specified on MAYBEJOB
DDname
DSname Suffix
Override Suffix
DANRES
NRS
SIMNRS
DANSINC
NSN
SIMNSN
-
Specify the following override for the simulation step:
Table 271 Override To Be Specified for Simulation Step
DDname
DSname Suffix
Override Suffix
DACNDF
CND
SIMCND
The CTMTAPUL Tape Pull List Procedure
The Tape Pull List procedure creates a list of all tapes to be mounted in a specified period. The list can be sorted and edited in various ways, such as
-
all tapes to be mounted, sorted by the expected mount time
-
all tapes to be mounted, sorted by volume serial number
It is highly recommended that the simulation be run from the current time, that is, not from a time in the future. Otherwise, the Tape Pull list results may be inaccurate because new tape files may be cataloged in the time remaining before the start of the simulation run.
The procedure takes into account the expected order of job execution and the order of creation of tape data sets.
The procedure also does the following:
-
checks the syntax of all AutoEdit statements in all jobs that are planned for the given period
-
checks the JCL syntax
-
produces a list of data sets that are still missing for the execution.
These are usually input data sets due to arrive, but they may be JCL execution errors
For the Tape Pull List procedure to be executed properly, the internal reader (INTRDR) must have authority to submit jobs.
The Tape Pull List procedure uses files from the Simulation procedure as input. In preparation for the Tape Pull List procedure, run the Simulation procedure using the production Control-M Active Jobs file, Control-M Resources file, and IOA Conditions file.
The Tape Pull List procedure works as follows:
-
The procedure looks for "SUBMISSION" messages in the simulation output LOG file.
-
For each submission message, it looks for the appropriate job having a WAIT SCHEDULE status on the simulation input Active Jobs file.
-
If a job is found, the Tape Pull List procedure actually submits the job with the TYPRUN=SCAN parameter specification, reads the SYSOUT of the job, retrieves the data set information, and produces the required reports.
The procedure recognizes tape data sets by either the appropriate unit specification in the JCL, such as UNIT=TAPE, or by retrieving information from the system catalog. It is therefore not necessary to have all tape data sets cataloged in the MVS catalog.
A highlighted warning message appears on the operator console while the jobs are being submitted. During this stage, the operator console may display several messages regarding the job submission. The highlighted message disappears at the end of this stage.
The procedure can detect that a certain tape is used by more than one job, and which job creates it, as illustrated in the following example.
Job A creates a new generation of a tape data set:
Copy//OUTUPD DD DSN=PFX.DATA(+1),DISP=(,CATLG),...
Job B, a successor of Job A, accesses the same data set:
Copy//INUPD DD DSN=PFX.DATA(0),DISP=SHR
The procedure detects that Job A is the creator of the data set used by Job B and reports the same tape volser for both jobs.
-
-
After the job sysout has been analyzed, the sysout is deleted from spool.
-
The next stage of the procedure produces reports according to the requested parameters.
Activating the Tape Pull List Procedure
The Tape Pull List procedure is activated as follows:
// EXEC CTMTAPUL
//TAPULIN DD *
parameters
Tape Pull List Parameters
There are two ways of setting parameters for the utility.
Parameters can be passed to the Tape Pull List utility using the TAPULPRM member in the Control-M PARM library. This member is referenced by the TAPULIN DD statement in the Tape Pull List procedure, CTMTAPUL, if it is specified in option M3 (Prepare Simulation/Tape Pull List Job) of the Online Utilities.
Alternatively, parameters may be passed to the utility in-line, using the TAPULIN DD statement.
Table 272 CTMTAPUL Subparameters
Subparameter |
Description |
---|---|
REPBYVOL |
Produce a report sorted by volume serial number (volser). All tapes from the tape library are included. |
REPBYTIME |
Produce a report sorted by the expected mount time. |
REPBYJOB |
Produce a report sorted by job name. |
REPBYDSN |
Produce a report sorted by data set name. |
JCLFILE {YES|NO|ONLY} |
Whether a copy of every submitted job is written to the file referenced by the DAJCLOUT DD statement. Valid values are:
|
IGNORE DSN dsn |
Data set name (or prefix) that must not appear in the report. If the last character of dsn is *, it is treated as a prefix. |
IGNORE JOB jobname |
Job name (or prefix) that must not appear in the report. If the last character of jobname is *, it is treated as a prefix. |
The Tape Pull List job can be prepared using the (ISPF) Simulation panel (Option M3 in the IOA Online Utilities menu). A special section of the panel is designated for Tape Pull List parameters. If you want to run the Tape Pull List procedure:
Begin
-
Type Y in the TAPE PULL LIST field.
-
Type Y in the field next to the desired type of report.
The default control parameters member name appears on the screen. This member contains IGNORE statements (procedure parameters). JOB/SCAN and PRO/JCL parameters are discussed in JOB/SCAN, PRO/JCL, DOCU/TEXT Interface.
After filling in the parameters, enter the edited JCL of a job to run the simulation and the procedure. You can submit it, or save it for future use.
CTMTAPUL DD Statements
The following DD statements are used by procedure CTMTAPUL:
Table 273 DD statements used by CTMTAPUL
DD Statement |
Description |
---|---|
DALOGIN |
Output Log file of the Simulation facility, which is input for the Tape Pull List procedure. |
DACKPSOU |
Output Active Jobs file of the Simulation facility, which is input for the Tape Pull List procedure |
DACKPTIN |
Active Jobs file used as input to the simulation, but remains unmodified. |
TAPULIN |
Procedure parameters. |
DATAPNAM |
Member containing a list of local names used by the site to describe tape units and cassettes or cartridges. The TAPNAM member in the Control-M PARM library contains a sample list of local names used by the data center to describe tapes, cassettes, cartridges and DASD units. Control-M recognizes IBM-supplied names such as 3490, which do not need to be specified. This member is referenced by this DATAPNAM DD statement in the Tape Pull List procedure, CTMTAPUL. The format of each line in the list is:
|
DAREPOUT |
Reports output. |
TAPULOUT |
Messages (of the procedure). |
DAJCLOUT |
Job stream of the jobs that is submitted during the specified period. For more information, see the following section, "JOB/SCAN, PRO/JCL, DOCU/TEXT Interface." |
JOB/SCAN, PRO/JCL, DOCU/TEXT Interface
When the JCLFILE parameter is specified, every job that is submitted by the procedure for JCL scan is also written to the DAJCLOUT DD statement. At the end of execution of the procedure, this data set (if allocated) contains all jobs that are submitted during the execution period according to the order of submission. This file can be used as input to JOB/SCAN, PRO/JCL, or DOCU/TEXT.
In sites using the JOB/SCAN, PRO/JCL, DOCU/TEXT Interface, the lower portion of the M3 Online utility, which is described in M3: Prepare Simulation/Tape Pull List Job, contains INVOKE JOB/SCAN parameters.
Problem Determination for Tape Pull List Reports
The following conditions must be satisfied before the Tape Pull List procedure can forecast tapes for a specific job:
-
The submission message must be present in the simulation output Log file.
-
The corresponding job has a WAIT SCHEDULE status in the simulation input Active Jobs file.
Reports are not produced if one or more of the following situations exist:
-
None of the "submitted" jobs required tapes.
-
Jobs requiring tapes were not "submitted" by the simulation because their submission criteria were not satisfied.
-
An invalid Active Jobs file was specified as an input for the Tape Pull List procedure.
-
An invalid Log file was specified as an input for the Tape Pull List procedure.
-
JCLFILE ONLY was specified as an input parameter for the procedure.
-
No reports were requested from the procedure through the input parameters, that is, the default was "no reports".
-
The procedure does not recognize tape data sets. For more information, see the description of the Tape Pull list utility in the discussion of Control-M customization in the INCONTROL for z/OS Installation Guide.
Sample Tape Pull List Reports
The following pages show a series of samples of reports produced by CTMTAPUL. In these samples, when the values M-N or M-O appear in the DISP (disposition) column, they signify a disposition of MOD, either as a NEW (M-N) or OLD (M-O) data set.
Figure 384 Sample Tape Pull List Report 1
PRODUCED BY CONTROL-M PROD TAPE PULL LIST
BMC SOFTWARE,INC. ====================
JOBNAME USER ODATE TIME MEMNAME VOLSER LAB# TYPE DISP DSNAME PROCNAME STEPNAME DDNAME
-----------------------------------------------------------------------------------------------------------------
SMFSAVE M05 060601 09:06 SMFSAVE 110050 0001 T M-O BKP.MONTH.CONT02(+0) STEP3 TAPE1
110051 T
110048 0001 T M-O BKP.MONTH.CONT02(-1) STEP3 TAPE2
110049 T
110058 0001 T M-O BKP.MONTH.CONTO2(-2) STEP3 TAPE3
110059 T
PRDINPUT M05 060601 09:02 PRDINPUT 996713 0001 T NEW PRD.TP.FILE1(+1) ST1 DD1
S#0001 0001 C NEW PRDW.FILE.GDG.TBLM1(+1) BADSTEP BADD1
100047 0001 T M-O BKP.WEEK.CONT01(-2) ASTEP1 OUT0
PRDUPDT1 M05 060601 09:09 PRDUPDT1 114003 0001 T OLD PRDW.FILE.GDG.TBL11(+0) RES TAP1GDG0
114002 0001 T OLD PRDW.FILE.GDG.TBL11(-1) RES TAP1GDG2
S#0004 0001 T NEW BKP.MONTH.CONT01(+1) RESTORE CYCLIC DACYCT
114003 0001 T OLD PRDW.FILE.GDG.TBL11(+0) RESTORE CYCLIC TAPEGDG0
$#0005 0001 C NEW PRDO.TP.UPDT1 RESTORE CYCLIC CASSFILE
PRDRPT2C M05 060601 09:19 PRDRPT2C $#0006 0001 T NEW PRD.TP.DAILY.REPORTS ASTEP1 OUT
113492 0001 T OLD PRD.CART.RPT2C BACKUP CYCLIC DACYCT
$#0007 0001 T NEW BKP.MONTH.CONT02(+1) BACKUP CYCLIC DACYCT
PRDRPT2D M05 060601 09:22 PRDRPT2D 114003 0001 T OLD PRDW.FILE.GDG.TBL11(+0) ST1 TAPE0
T00001 0001 T NEW PRD.SNG1912.TAPE1(+1) ST1 TAPE1
T00002 0002 T NEW PRD.SNG1912.TAPE1(+2) ST1 TAPE11
994529 0001 T NEW PRDW.FILE.GDG.TBL21(+0) ST2 TAPE0
997892 0003 T NEW PRD.SNG1912.TAPE2(+1) ST2 TAPE2
S#0008 0001 T NEW &&NEWTEMP ST2 TAPETMP
996638 T NEW BKP.MONTH.CONT01(+3) ST2 TAPE8O2
PRDEXE2E M05 060601 09:25 PRDEXE2E T00002 0002 T OLD PRD.SNG1912.TAPE1(+0) STEP1 INTAPE1
T00001 0001 T OLD PRD.SNG1912.TAPE1(-1) STEP1 INTAPE11
S#0007 0001 T OLD BKP.MONTH.CONT02(+0) STEP2 TAPE5
110050 0001 T OLD BKP.MONTH.CONT02(-1) STEP2 TAPE6
110051 T
110048 0001 T OLD BKP.MONTH.CONT02(-2) STEP2 TAPE7
110049 T
110058 0001 T OLD BKP.MONTH.CONT02(-3) STEP2 TAPE8
110059 T
110056 0001 T OLD BKP.MONTH.CONT02(-4) STEP2 TAPE9
110057 T
SORTBY JOBNAME (REPBYJOB)
Figure 385 Sample Tape Pull List Report 2
PRODUCED BY CONTROL-M PROD TAPE PULL LIST
BMC SOFTWARE, INC. ====================
DSNAME JOBNAME MEMNAME VOLSER DISP TYPE PROCNAME STEPNAME DDNAME
---------------------------------------------------------------------------------------
&&NEWTEMP PRDRPT2D PRDRPT2D S#0008 NEW T ST2 TAPETMP
BKP.MONTH.CONT01(+1) PRDUPDT1 PRDUPDT1 S#0004 NEW T RESTORE CYCLIC DACYCT
BKP.MONTH.CONT01(+3) PRDRPT2D PRDRPT2D 996638 NEW T ST2 TAPE8O2
BKP.MONTH.CONT01(+0) SMFSAVE SMFSAVE 110050 M-O T STEP3 TAPE1
110051 M-O T STEP3 TAPE1
PRDEXE2E PRDEXE2E S#0007 OLD T STEP2 TAPE5
BKP.MONTH.CONT02(+1) PRDRPT2C PRDRPT2C S#0007 NEW T BACKUP CYCLIC DACYCT
BKP.MONTH.CONT02(-1) SMFSAVE SMFSAVE 110048 M-O T STEP3 TAPE2
PRDEXE2E PRDEXE2E 110050 OLD T STEP2 TAPE6
110051 OLD T STEP2 TAPE6
BKP.MONTH.CONT02(-2) SMFSAVE SMFSAVE 110058 M-O T STEP3 TAPE3
110059 M-O T STEP3 TAPE3
PRDEXE2E PRDEXE2E 110048 OLD T STEP2 TAPE7
100049 OLD T STEP2 TAPE7
BKP.MONTH.CONT02(-3) PRDEXE2E PRDEXE2E 110058 OLD T STEP2 TAPE8
110059 OLD T STEP2 TAPE8
BKP.MONTH.CONT02(-4) PRDEXE2E PRDEXE2E 110056 OLD T STEP2 TAPE9
110057 OLD T STEP2 TAPE9
BKP.WEEK.CONT01(-2) PRDINPUT PRDINPUT 100047 M-O T ASTEP1 OUT0
PRD.SNG1912.TAPE1(+0) PRDEXE2E PRDEXE2E T00002 OLD T STEP1 INTAPE1
PRD.SNG1912.TAPE1(+1) PRDRPT2D PRDRPT2D T00001 NEW T ST1 TAPE1
PRD.SNG1912.TAPE1(+2) PRDRPT2D PRDRPT2D T00002 NEW T ST1 TAPE11
PRD.SNG1912.TAPE1(-1) PRDEXE2E PRDEXE2E T00001 OLD T STEP1 INTAPE11
PRD.SNG1912.TAPE2(+0) PRDEXE2E PRDEXE2E 997892 OLD T STEP2 INTAPE2
PRD.SNG1912.TAPE2(+1) PRDRPT2D PRDRPT2D 997892 NEW T ST2 TAPE2
PRD.TP.FILE1(+1) PRDINPUT PRDINPUT 996713 NEW T ST1 DD1
PRDW.FILE.GDG.TBLM1(+0) PRDINPUT PRDINPUT S#0001 OLD C BADSTEP BADD2
PRDW.FILE.GDG.TBLM1(+1) PRDINPUT PRDINPUT S#0001 NEW C BADSTEP BADD1
PRDW.FILE.GDG.TBLM8(+1) PRDINPUT PRDINPUT S#0003 NEW T ASTEP1 TAPEGDG8
PRDW.FILE.GDG.TBL11(+0) PRDINPUT PRDINPUT 114002 OLD T ASTEP1 TAPEGDG0
PRDUPDT1 PRDUPDT1 114003 OLD T RES TAP1GDG0
PRDRPT2D PRDRPT2D 114003 OLD T ST1 TAPE0
T00002 NEW T ST1 TAPE12
PRDW.FILE.GDG.TBL11(+1) PRDINPUT PRDINPUT 114003 NEW T ASTEP1 TAPEGDG2
PRDW.FILE.GDG.TBL11(-0) PRDINPUT PRDINPUT 114002 OLD T ASTEP1 TAPEGDG1
PRDUPDT1 PRDUPDT1 114003 OLD T RES TAP1GDG1
PRDRPT2D PRDRPT2D 114003 OLD T ST2 TAPE01
PRDW.FILE.GDG.TBL11(-0) PRDUPDT1 PRDUPDT1 114002 OLD T RES TAP1GDG2
SORTBY DSNAME (REPBYDSN)
Figure 386 Sample Tape Pull List Report 3
PRODUCED BY CONTROL-M PROD TAPE PULL LIST
BMC SOFTWARE, INC. ====================
VOLSER TYPE JOBNAME ODATE TIME DISP LAB# DSNAME
-------------------------------------------------------------------------
S#0001 C PRDINPUT 060601 22:02 NEW 0001 PRDW.TESTFILE.GDG.TBLM1(+1)
S#0002 T PRDINPUT 060601 22:02 NEW 0001 PRD.TP.TRANS
S#0003 T PRDINPUT 060601 22:02 NEW 0001 PRDW.TESTFILE.GDG.TBLM8(+1)
S#0004 T PRDUPDT1 060601 22:09 NEW 0001 BKP.MONTH.CONT01(+1)
T00001 T PRDRPT2D 060601 22:22 NEW 0001 PRD.SNG1912.TAPE1(+1)
T00002 T PRDRPT2D 060601 22:22 NEW 0002 PRD.SNG1912.TAPE1(+2)
100000 T PRDINPUT 060601 22:02 OLD 0001 PRDW.TESTFILE.GDG.TBLM8(+0)
100047 T PRDINPUT 060601 22:02 M-O 0001 BKP.WEEK.CONT01(-2)
100048 T PRDINPUT 060601 22:02 M-O 0001 BKP.WEEK.CONT01(-2)
110048 T SMFSAVE 060601 22:06 M-O 0001 BKP.MONTH.CONT02(-1)
PRDEXE2E 060601 22:25 OLD 0001 BKP.MONTH.CONT02(-2)
110049 T SMFSAVE 060601 22:06 M-O 0001 BKP.MONTH.CONT02(-1)
PRDEXE2E 060601 22:25 OLD 0001 BKP.MONTH.CONT02(-2)
110050 T SMFSAVE 060601 22:06 M-O 0001 BKP.MONTH.CONT02(+0)
PRDEXE2E 060601 22:25 OLD 0001 BKP.MONTH.CONT02(-1)
PRDRUN2F 060601 22:28 M-O 0001 BKP.MONTH.CONT02(-2)
110051 T SMFSAVE 060601 22:06 M-O 0001 BKP.MONTH.CONT02(+0)
PRDEXE2E 060601 22:25 OLD 0001 BKP.MONTH.CONT02(-1)
PRDRUN2F 060601 22:28 M-O 0001 BKP.MONTH.CONT02(-2)
996713 T PRDINPUT 060601 22:02 NEW 0001 PRD.TP.FILE1(+1)
997892 T PRDRPT2D 060601 22:22 NEW 0003 PRD.SNG1912.TAPE2(+1)
PRDEXE2E 060601 22:25 OLD 0003 PRD.SNG1912.TAPE2(+0)
SORTBY VOLUME (REPBYVOL)
Figure 387 Sample Tape Pull List Report 4
PRODUCED BY CONTROL-M PROD TAPE PULL LIST
BMC SOFTWARE, INC. ====================
ODATE TIME VOLSER TYPE JOBNAME DISP DSNAME
--------------------------------------------------------------------------
060601 22:02 996713 T PRDINPUT NEW PRD.TP.FILE1(+1)
S#0001 C NEW PRDW.FILE.GDG.TBLM1(+1)
100047 T M-O BKP.WEEK.CONT01(-2)
S#0002 T NEW PRD.TP.TRANS
060601 22:06 110050 T SMFSAVE M-O BKP.MONTH.CONT02(+0)
110051 T
100048 T M-O BKP.MONTH.CONT02(-1)
110049 T
110058 T M-O BKP.MONTH.CONT02(-2)
110059 T
060601 22:09 114003 T PRDUPDT1 OLD PRDW.FILE.GDG.TBL11(+0)
114002 T OLD PRDW.FILE.GDG.TBL11(-1)
S#0004 T NEW BKP.MONTH.CONT01(+1)
114003 T OLD PRDW.FILW.GDG.TBL11(+0)
S#0005 C NEW PRDO.TP.UPDT1
060601 22:19 S#0006 T PRDRPT2C NEW PRD.TP.DAILY.REPORTS
113492 T OLD PRD.CART.RPT2C
S#0007 T NEW BKP.MONTH.CONT02(+1)
060601 22:22 114003 T PRDRPT2D OLD PRDW.FILE.GDG.TBL11(+0)
T00001 T NEW PRD.SNG1912.TAPE1(+1)
T00002 T NEW PRD.SNG1912.TAPE1(+2)
994529 T NEW PRDW.FILE.GDG.TBL21(+0)
997892 T NEW PRD.SNG1912.TAPE2(+1)
S#0008 T NEW &&NEWTEMP
996638 T NEW BKP.MONTH.CONT01(+3)
060601 22:25 T00002 T PRDEXE2E OLD PRD.SNG1912.TAPE1(+0)
TOOOO1 T OLD PRD.SNG1912.TAPE1(-1)
S#0007 T OLD BKP.MONTH.CONT02(+0)
110050 T OLD BKP.MONTH.CONT02(-1)
110051 T
110048 T OLD BKP.MONTH.CONT02(-2)
110049 T
110058 T OLD BKP.MONTH.CONT02(-3)
110059 T
110056 T OLD BKP.MONTH.CONT02(-4)
110057 T
SORTBY TIME (REPBYTIM)