Control-D Administrator Guide
Control-D Administrator Guide
Control-D Administrator Guide
If the monitor is successfully activated, the following message is displayed on the operator console:
CTD100I CONTROL-D MONITOR STARTED
The Printers Control monitor also operates 24 hours a day, but is activated and controlled by the
main Control-D monitor. When the Printers Control monitor is successfully activated, the following
message is displayed on the operator console: CTD775I monitor-name CONTROL-D
PRINTERS CONTROL MONITOR STARTED
If the number of JOBs in the spool is low (less than the GENJOBM parameter), the main monitor will stop the
last of the secondary decollation monitors. If the number is too high (more than the GENJOBX parameter), the
main monitor will activate the next secondary decollation monitor. GENJOBX should be higher than GENJOBM.
Note:
The main Control-D monitor checks the queue in generic classes defined for the first monitor in
the GENCLASS parameter. The same set of generic classes should be defined for each monitor. If not,
it is possible that some generic decollation missions will stop working. As a result, the number of
SYSOUTs in the GENERIC queue will grow.
Since decollation monitors can be stopped automatically, ensure that you set the MONITOR
parameter correctly in decollation missions running under this Control-D environment:
• In regular decollation missions, the MONITOR parameter should be set to 1 or empty. This prevents
a situation where a mission is not processed because the specified monitor is not active.
• In all generic decollation missions, the MONITOR parameter should be empty. This prevents a
situation where a decollation mission with a specified monitor number is not processed because the
corresponding monitor is stopped.
The following message is displayed on the operator console from which the modify command was
issued:
CTD139I GENERIC JOB DECOLLATION IS ACTIVE ON CLASSES (class-list)
Usually, CDAM is automatically initialized as part of the IPL process. To activate the Compressed
Dataset Access Method manually, issue operator command
S IOASINIT,OPTIONS=D
If CDAM is successfully initialized, the following operator message is displayed on the operator
console:
CTM227I IOA SUBSYSTEM "subsystem-name" INITIALIZATION OF Control-D
FUNCTIONS COMPLETED
At most sites, the interval should be longer during the day (when fewer batch production jobs are
executing) and shorter during the night.
When the modification is received by Control-D, the following message is displayed on
the operator console from which the modify command was issued: CTD123I
Control-D INTERVAL IS SET TO nn SECONDS
F CONTROLD,LOADTREE
Examine the messages that are sent to the operator console. The following message
indicates that the tree was loaded successfully:
CTD160I CONTROL-D RECIPIENT TREE LOADED- nnnnnn RECIPIENTS
Loading the Recipient and Approval Tree into the IOA Online
Monitor
The recipient tree is also loaded into the IOA Online monitor. To load a new (modified) Recipient and
Approval Tree under the IOA Online monitor, issue operator command
F IOAOMONx,LOADTREE
When a new Recipient and Approval Tree is loaded, every user who enters the Control-D
Online facility starts working with the new tree. However, users who were using the
Online facility when the new tree was loaded continue to use the old tree. The old tree is
deleted from memory after all users who were accessing it have exited the Online facility.
where nn is the decimal sequential ASID number of the Control-D Application Server
address space to which the MODIFY command is submitted. The MODIFY command is
broadcast to all active Application Server address spaces if the ASID number ‘=nn’ is
omitted.
After a few seconds (a maximum of a minute), the monitor shuts down and the following
messages are displayed on the operator console: CTD107I SHUT DOWN UPON REQUEST
FROM OPERATOR
CTD136I STOPPING THE PRINTERS Control MONITOR monitor-name
CTD779I monitorName Control-D PRINTERS Control MONITOR ENDED
CTD120I Control-D MONITOR SHUTTING DOWN
When you shut down the Control-D monitor, all other Control-D facilities (the
Compressed Dataset Access Method, IOA Online monitors, IOA Archive Server) and
Online facility sessions can remain active.
The following message is displayed on the operator console from which the modify
command was issued:
CTD140I GENERIC JOB DECOLLATION IS BEING DEACTIVATED
New decollation of generic class output does not start. Currently executing (decollating) missions
finish processing those jobs whose output processing already started.
Automatic Warning
When generic decollation is not active, the Control-D monitor issues the following warning on the operator console:
CTD271I GENERIC JOB DECOLLATION IS INACTIVE – CHECK WHY
If started task CTDNDAY fails during the ordering of a generic decollating mission, deactivation is
automatic. Check if all the generic decollating missions are in the Active Missions file before
reactivating generic processing.
The operator issues the STOPGEN command (discussed above). Determine why generic
decollating was deactivated, and whether it must remain deactivated.
The Active User Report List file becomes full. Run utility CTDDELRP to delete unnecessary entries
from this file.
The spool can become full if there are many generic jobs waiting to be decollated.
The following message is displayed on the operator console from which the modify command was
issued: CTD12BI CONTROL-D MONITOR IS SUSPENDING FOR A OPERATOR REQUEST
CTDNDAY is the default name of the New Day procedure, but it may be changed during installation.
Internal mode
In this mode, at the predefined time, the Control-D monitor switches to SUSPENDed status and then
internally activates the NEWDAY processes.
The Control-D monitors SUSPEND mode means that no new missions will be activated. The monitors
do not wait until the decollation missions that are being processed are finished, but the primary
monitor does wait until all active backup, migration, and restore missions are finished. The primary
monitor also signals the Printers Control monitor to suspend all active printing missions, and waits
until the monitor does this.
To run the New Day procedure in internal mode
1. Start the Control-D monitor by issuing one of the following operator commands:
S CONTROLD
S CONTROLD,NDAYMODE=INT
At the predefined time, the following message is issued on the operator console: CTD12AI
CONTROL-D MONITOR IS SUSPENDING FOR A NEW DAY
When all processes are suspended (excluding the decollation), the following message is
issued on the operator console:
CTD12CI CONTROL-D MONITOR SUSPENDED
The primary Control-D monitor activates the special subtask CTDNDAY, which is the first
stage of New Day process, after all Control-D monitors are suspended. This subtask
compares the date and time of the computer with the Control-D control files. If they do not
match, the following questions are issued on the operator console:
CTD426W CONTROL-D (CTDNDAY) DID NOT RUN FOR nnnnnn DAYS
CTD427W IS THIS TRUE? (ANSWER "YES" OR "NO")
CTD428W YOUR ANSWER IS:
Line CTM34F in the program list separates the first and second stages of the New Day process.
The following message is issued on the operator console after the NEWDAY subtask
finishes executing:
2. The Control-D monitor starts the CTDNDAY task, which performs the second stage of the New Day
process, with the following command:
S CTDNDAY,NDAYMODE=INT
3. If this procedure terminates with nonzero return code, or abends or fails for any reason, the
INCONTROL administrator must determine the cause of the problem and then restart the CTDNDAY
task with the following command:
S CTDNDAY,NDAYMODE=INT
After Control-D starts the CTDNDAY task, the monitor resumes processing of all missions and signals
the Printers Control monitor to resume all suspended print missions.
External mode
In this mode, at the predefined time, the Control-D monitor signals the Printers Control monitor to
shut down and waits until the monitor does this, after which the Control-D monitor shuts down. When
the Printers Control monitor shuts down, it suspends all active printing missions, which resume only
after the Printers Control monitor is restarted.
To run the New Day procedure in external mode
1. To run the New Day process in external mode, start the Control-D monitor by issuing the following
operator command:
S CONTROLD,NDAYMODE=EXT
The Control-D monitor and the Printers Control monitor are shut down at a predefined
time. The following highlighted, unrollable messages are issued on the operator console:
CTD779I monitorName CONTROL-D PRINTERS CONTROL MONITOR ENDED
CTD113W CONTROL-D MONITOR SHUTTING DOWN FOR A NEW DAY
2. Before Control-D shuts down, the CTDNDAY task is activated. This task may display several
questions for the operator to answer. After several minutes, CTDNDAY finishes executing and
automatically reactivates Control-D using the following command:
S CONTROLD,NDAYMODE=EXT
In this mode, the CTDNDAY task performs the entire New Day process. If the CTDNDAY task abends
or fails for any reason, a highlighted, unrollable message is issued on the operator console and the
monitor is not reactivated automatically.
New Day Procedure Workflow
The New Day procedure performs the following daily maintenance actions:
cleans unnecessary missions from the Active Missions file
This includes missions that ended OK, missions in wait schedule state whose MAXWAIT parameter
has been exceeded, emergency missions that are no longer needed, and so on.
Missions that ended OK can optionally be kept in the Active Missions file until the MAXWAIT period for
these missions is exceeded.
schedules regular and generic decollating missions, printing missions, backup missions, restore
missions, and Control-V migration missions
S CONTROLD,NDAYMODE=EXT
deletes the print plan datasets of print missions deleted in step 1.
updates the IOA Manual Conditions file.
For more information, see the IOALDNRS utility in the INCONTROL for z/OS Utilities Guide.
Control-D includes the following actions that are performed as subtasks in internal mode in the first
stage of the New Day procedure:
Clean unnecessary missions from the Active Missions file
Schedule regular and generic decollating missions, printing missions, backup missions, restore
missions, and Control-V migration missions. The limit line of the included program is CTM34F line in
the program list.
For more information see Programs Called During New Day Processing (on page 399)
The Date Control record is analyzed by the User Daily job to determine the current running date, the
last running date, and possible error situations. This date information is used to manage the ordering
of missions during New Day processing.
When a User Daily job is run, the current working date is placed in the Date Control record. In
addition, the Basic Scheduling parameters of each mission in the mission lists being ordered are
compared to this date to determine if the mission must be placed in the Active Missions file.
The length of a Date Control record is 80 characters.
Programs CTDILY and CTDILU both execute other programs that implement New Day processing.
However, program CTDILU (used by User Daily jobs) has less authorization (that is, is not APF-
authorized) and calls fewer programs than program CTDILY.
Both CTDILY and CTDILU read the member referenced by DD statement DAPROG and activate the
programs listed in the member.
The following is the format for each record in the program:
columns 01 to 08 – Program name
columns 10 to 11 – Maximum return code allowable in the preceding program
If a higher return code is encountered in the preceding program, the current program is not
executed.
The following table lists the programs called by the program CTDILY (the New Day procedure) and by
program CTDILU (User Daily jobs):
where prefix is the name (or mask) of conditions not to be erased. If an asterisk (*) is specified, no
conditions are erased. Multiple IGNORE statements can be specified.
When the Control-M Production Control System is installed at your site, the Control-M Resources file is
updated by Control-M.
Mission Scheduling
Control-D and Control-V manage report distribution at your site through missions defined by the user.
Several different types of missions are available, each for a different type of task
decollation missions
printing missions
restore missions
backup missions
migration missions (Control-V only)
Scheduling Methods
Missions can be scheduled using the following methods:
automatically by the Control-D New Day procedure (CTDNDAY)
This is the usual method. (For more information, see Scheduling Missions Through a New Day
Procedure (on page 403).)
using a batch job (for example, procedure CTDRPDAY for decollating missions)
The job can be submitted manually or automatically by a scheduler. (For more information, see
Scheduling Missions Through a User Daily Procedure (on page 405).)
manually from the Mission Definition screen, using the O (Order) and F (Force) options
manually under ISPF using the Online Utilities panel
The panel can be invoked directly using a CLIST (for example, CTDMISRQ MIS(REP) for a decollating
mission).
manually under ROSCOE (for example, using RPF CTDRQPRT for a printing mission)
using a KeyStroke Language utility from the IOA SAMPLE library (for example, BKPORDER for
backup missions)
where
date is the ODATE (original scheduling date) of the mission, in the format mmddyy, ddmmyy, or
yymmdd (depending on the site standard).
The Basic Scheduling parameters of the mission are compared with this date. The Date Control record
is not updated.
Specifying an * (asterisk) indicates that date management is handled automatically by Control-D
using the Date Control record.
Parameter RETRO affects the result obtained when the mission’s basic scheduling criteria are
compared with the last scheduling date of the mission.
libname is the name of the library in which the mission parameters are found. Valid values are
• specific library name.
mission name is the optional name of the mission (a member in the library)
Specifying an * (asterisk) indicates that all the missions (members) in the specified library are
analyzed. Using an asterisk eliminates the need to update mission lists to include new missions.
catname is the specific category of the mission is analyzed
Specifying an asterisk indicates that all categories of the mission are analyzed.
FORCE is an optional parameter that places mission categories in the Active Missions file with the
specified original scheduling date, regardless of basic scheduling criteria. This must an actual date,
not an asterisk.
If you do not include the FORCE parameter, Basic Scheduling parameters of the category of the
missions are analyzed against the specified original scheduling date. If the mission must be scheduled
on that date, it is placed on the Active Missions file.
Use ‘/*’ to specify a comment line.
The following is an example of the JCL (relevant DD statements of procedure CTDNDAY only):
//CTDNDAY EXEC PGM=CTDILY
//DACHK DD DISP=SHR,DSN=ctd_parm_library(DDATEREC)
//DAREPLST DD DISP=SHR,DSN=ctd_parm_library(REPLIST)
The Date Control record used in this case is the General Control-D Date Control record.
where
procedure-name is one of the following:
• CTDRPDAY for decollating missions
• CTDPRDAY for printing missions
• CTDRSDAY for restore missions
• CTDBKDAY for backup and migration missions
DAxxxLST is the reference to the member containing the mission list. Same as specified in
Scheduling Missions Through a New Day Procedure (on page 403).
daterec is the name of the Date Control record for the procedure.
Each procedure must use its own Date Control record. A Date Control record cannot be shared by two
procedures. The Date Control record is referenced by DD statement DACHK and is used to determine
the correct scheduling date for selecting missions according to their scheduling criteria. For more
information, see Date Control Record (on page 396).
mlistmem is the name of the member containing the mission list. Same as specified in Scheduling
Missions Through a New Day Procedure (on page 403).
Scheduling Workflow
A mission is defined using the Online facility: option R for decollating missions, option M for other
missions. Each mission contains parameters that describe the actions to be performed, and when and
under what conditions they are to be performed. Mission definitions are stored in libraries (partitioned
datasets).
Mission definitions in the library are not active instructions to the Control-D monitor. To make a
mission active, it must be placed on the Active Missions file. The process of selecting a mission from
the definition library and placing it on the Active Missions file is performed by the Control-D New Day
procedure during New Day processing.
The following figure shows how the New Day procedure analyzes mission definitions in a library. According to
the basic scheduling criteria specified, appropriate missions are selected, placed in the Active Missions file, and
automatically assigned an original scheduling date (ODATE).
As shown in the following figure, when a decision is made to schedule a mission, its parameters are passed to
Control-D user Exit CTDX001. This exit can modify the contents of the parameters or cancel the mission. If the
exit does not cancel the mission, the mission is placed in the Control-D Active Missions file.
The Active Missions file can contain more than one mission with the same name.
Value Description
Values that are valid under JES2:
PRIORITY The spool priority of the output is set to one.
This allows other output with higher priority
to be processed. Default.
DELETE The output is deleted from the spool.
HOLD The spool status of the output is altered to
hold, preventing it from being processed
again by Control-D generic decollation class
monitoring.
CLASS=x The class of the output is altered to the
specified class. This class must not be one of
the classes specified in parameter GENCLAS.
Additional Considerations
It is possible that more than one generic decollating mission matches the same job. In this case, the
missions are processed according to their priority levels. If their priorities are equal, they are
processed in the order in which they appear in the Active Missions file (that is, in the order in which
they were ordered or scheduled).
When GENERIC=Y and MONITOR is blank, the mission is ordered separately for each monitor and each copy of
the mission is assigned a different monitor number (ID). This enables concurrent decollating of generic jobs
under more than one monitor.
Control-D first handles regular report decollating missions according to their priority and then scans the
generic output classes for outputs. However, this does not guarantee that the regular mission of the same job
is executed before a generic one.
A generic user name list resides in a PDS member. The name of the member is referenced in the DO USER
statement, preceded by an asterisk (for example, *BRANCHES). The member must be in a library referenced by
DD statement DAGENUSR of the User Daily job (or CTDNDAY). Although, it is possible to use a few generic user
name libraries in a distributed environment, it is generally recommended that you use only one to simplify the
administration.
following format:
column 01 to 05 – TUSER (that is, constant value TUSER)
column 06 to 09 – blank
column 10 to 11 – level code of the user (for example, recipient) as defined in the Recipient Tree
column 12 to 31 – user name
One line is required for each user. Additional lines in the member are not permitted. Do not use
columns 73 to 80. Each line must describe a valid user name in the Recipient Tree. Use the main user
name, not a synonym.
Operating a production control system and Control-D together in the same environment may cause
the following situations:
A job that is to be run by the production control system does not have any reports. It does not
need to be processed by Control-D.
A job that is to be run by the production control system does not yet have a report decollating
mission defined for the job.
A job is to be run by the production control system and decollated by Control-D.
To handle the situations mentioned above, the user must use some method of specifying
to the production control system user exit whether to issue a report decollating mission
for the job. The decision of how to mark a job is local for each installation and can be performed
using one of the following methods:
Specify a flag in a job scheduling parameter of the production control system that is
otherwise unused, or is used for another purpose (for example, the job description).
Use a list accessed by or internal to the user exit. The list must be modified whenever a new
report decollating mission is defined.
When the production control system user exit receives control and a decision is made to invoke a
report decollating mission, the user exit must activate program CTDRRQ. This program performs a
search for the report decollating mission.
The search is made for a member name with the same name as the job name and for the specified category.
The scheduling criteria of the Control-D report decollating mission (if any) are ignored. The report decollating
mission parameters are passed to Control-D User Exit CTDX001. This exit can alter the contents of the
decollating parameters or cancel the decollating mission. If the report decollating mission is not cancelled by
the exit, it is placed in the Control-D Active Missions file.
Usage Notes
When a report decollating mission is scheduled by invoking program CTDRRQ from a production
control system user exit, the following DD statements must be used:
STEPLIB – IOA LOAD library (if not included in the MVS Linklist)
DAAMF – Control-D Active Missions file
DAOUT – Output print file
DALOG – IOA Log file
DAGENUSR – Generic user names library (if this option is used at your site)
If the production control system does not have an appropriate exit or you do not want to use this
method to schedule report decollating missions, there is an alternative. Most production control
systems can produce a night plan report – a list of jobs to be executed during the night. This list can
be used as input to a program that schedules report decollating missions by invoking program
CTDRRQ.
The IOA SAMPLE library contains examples of production control system interfaces. Member $$INTER
in the IOA SAMPLE library contains an index to these interfaces. A user-written interface to CA-7
(UCC7) is not officially supported but is available. For more information about the CA-7 (UCC7)
interface and interfaces to other production control systems contact BMC Customer Support.
Job–Report Dependency
It is recommended that you establish dependency between the successful execution of the job under
the production control system and the processing of the job’s reports by the Control-D report
decollating mission. This dependency can be established using the prerequisite condition concept.
A prerequisite condition (for example, REP-M01AUPD-READY) must be specified in the IN parameter
of the Control-D report decollating mission. This condition is added to the IOA Conditions file by the
production control system after the job finishes executing successfully.
Use utility IOACND to add a prerequisite condition. This utility can be activated from
a production control system user exit
a specially defined successor task of the job under the production control system
a job step.
It is not mandatory to establish through dependency prerequisite conditions between the production
control system and Control-D. If dependency is not established, Control-D processes the reports when
the job enters the output queue. It is also possible to use manual prerequisite conditions for report
processing when required.
Parameter Description
BATCH Specifies whether a printing mission is
submitted as a batch job or as a subtask of
a Printers Control monitor. Optional.
Y (Yes) - Submit the current printing
mission as a batch job instead of executing
it as a subtask of the Printers Control
monitor.
N (No) - Execute the printing mission as a
subtask of the Printers Control monitor.
Default.
SKELETON Name of an existing member in the
Control-D SKL library. This member
contains the job skeleton or started task
skeleton for the batch job. Mandatory if
BATCH is set to Y (Yes).
FREE SYSOUT allocation mode. Determines
whether chunking is implemented and
when SYSOUT files are freed. Optional.
Valid values:
CLOSE - Regular chunking mechanism is
used. SYSOUT files are freed as soon as
they are printed. Default.
END - SYSOUT files are allocated as usual
but are not freed until the end of the batch
job. This value is available only if BATCH=Y
is specified.
TIMEOUT mm - Number of minutes within which the
printing mission must start. If the mission
does not start during the specified time
interval, it terminates NOTOK. Default: 5
minutes.
Chunks are sent to the spool according to the value specified for parameters CHUNKSIZE and OVERRIDE.
After printing is completed, the status of each report entry from the Print Plan file is updated in the Active User
Report List file according to the printing completion status (for example, Printed or Not printed).
When Control-D finishes preparing the member for submission, control is passed to User Exit CTDX009. This
exit can modify the contents of the submitted job (by adding, deleting or modifying the JCL). The exit can
return the return codes described in the following table:
If parameter PRTMON# is set to 0 in member CTDPARM, no Printers Control monitors are started. In this case,
parameter BATCH in the printing mission must be set to Y (Yes).
Printing mission abend or timeout does not cause termination of Control-D monitors. In such cases, the
printing mission terminates with a status of NOTOK
Using Control-D, it is possible to define several copies of the same printing mission. Each copy is an
independent definition of the printing mission and can have different scheduling criteria, different runtime
criteria, different bundling instructions, different printing configurations, and so on.
Report Decollating and Printing Mission Dependency
We recommend that the printing of bundles by Control-D printing missions depend upon the successful
decollation of reports. Dependency can be established using the prerequisite condition concept. Parameter
OUT of the report decollating mission must specify a prerequisite condition that is referenced by parameter IN
of the printing mission.
Printer Control
The following table describes the methods that Control-D provides for printing bundles:
Bundles Method Description
One-Chunk Method Send entire bundle to the spool for
printing.
Multi-Chunk Method Send a specified number of lines at a time
to the spool for printing.
One-Outgroup Method Send one outgroup (containing all output
files produced by a printing mission) at the
end of that printing mission.
One-Chunk Method
Using this method, the entire bundle is sent to the spool for printing at one time. This method is activated by
specifying CHUNKSIZE=0 in the printing mission definition. If not specified in the printing mission definition,
CHUNKSIZE defaults to the value defined in installation parameter PRINTER. Specifying CHUNKSIZE=0
suppresses installation parameter OUTGRP.
If the bundle contains reports for different printing destinations, a separate chunk is created for each
destination but Control-D does not monitor the printing of the chunk. Control-D continues to send additional
chunks of the bundle to the spool.
Multi-Chunk Method
Control-D creates a new chunk each time the number of lines specified in the CHUNKSIZE parameter
is exceeded, or when printing characteristics of the reports change, whichever comes first (unless
CHUNKSIZE is specified as "0" as described in "One-Chunk Method"). CHUNKSIZE can be specified in
the printing mission definition. If it is not specified in the printing mission definition, CHUNKSIZE
defaults to the value defined during the installation process.
For the Multi-Chunk method, the value for the CHUNKSIZE parameter must be greater than 1. The
recommended value is 10000. If the CHUNKSIZE parameter is set to 999999, a new chunk will be
created only if at least one of the printing parameters is changed. In this case an entire report will be
issued to the same chunk.
Multi-Chunk processing provides the following major advantages:
the ability to print reports with different printing characteristics in the same bundle
the ability to control the size of the chunk so the spool does not become overloaded
Under the Multi-Chunk method, the printer must be assigned to Control-D using the following JES commands.
Under JES2
A printer is normally defined as DEST=LOCAL with one or more printing classes. To assign the printer to
Control-D, use a JES operator command to initialize the printer with the parameters described in the following
table:
Parameter Description
S=N No separator (because Control-D creates its
own banner pages).
R=destination This value is set during Control-D
installation for each printer.
SEPDS=N No dataset separator.
WS=-Q Select from all output classes on which
Control-D can print.
F CONTROLD,STARTPRT
If a required printer was defined as CLOSE, issue the following operator command to "open" it:
F CONTROLD,STARTPRT,printername
where printername is the name assigned to the printer during Control-D installation.
The following message is displayed on the operator console from which the operator command was
issued:
CTD130I COMMAND "STARTPRT" ACCEPTED FOR PRINTER printername
To "close" a Control-D printer, issue operator command
F CONTROLD,STOPPRT,printername
When there are no Control-D bundles to print, you can reset the printer’s original parameters with a JES
command.