Control-O

Overview

This chapter describes the initialization, customization, operation and administration features that are available for Control‑O.

Starting Control-O

Control‑O is usually started at an early stage of the IPL process. Once initialized, Control‑O can automate certain parts of the IPL process. To use Control‑O for automating parts of the IPL process, member COMMNDnn (where nn is either the number specified in member IEASYS in SYS1.PARMLIB, or 00) in the SYS1.PARMLIB library must contain the following command:

Copy
S CONTROLO,SUB=MSTR,OUTLIST=DUMMY[,ORDER=IPLRULES][,TYPE=IPL]

The SUB and OUTLIST parameters are required to start Control‑O before JES has been brought up. The ORDER and TYPE parameters are optional. For more information about these parameters, and how and when to start Control‑O, see Recommended Organization Method.

If you do not plan to use Control‑O to automate the IPL process, Control‑O can still be started during IPL, after JES has been brought up, by adding the following command to member COMMNDnn in the SYS1.PARMLIB library:

Copy
S CONTROLO

It is also possible to manually issue the above mentioned operator commands.

CMEM users:

If Control‑M is installed, Control‑O assumes responsibility for the functions of the CMEM facility. Therefore, it is important to verify that the CMEM monitor (CTMCMEM) is down before the Control‑O procedure is started.

For sites with CMEM rules that are to be implemented (triggered) in the early stages of the IPL process, command member COMMNDnn in SYS1.PARMLIB must contain the following command:

Copy
S CONTROLO,SUB=MSTR,OUTLIST=DUMMY[,ORDER=IPLRULES][,CMORDER=IOACMEML][,TYPE=IPL]

For more information about the parameters in the above statement, and how and when to start Control‑O, see Recommended Organization Method .

Shutting Down Control-O

It is usually not necessary to shut down Control‑O. However, if shutting down Control‑O becomes necessary, it is recommended that the active Control‑O monitor be replaced by starting a new Control‑O monitor, as explained in Replacing an Active Control-O Monitor

It is possible to shut down Control‑O with operator command F CONTROLO,STOP or P CONTROLO, but this is not recommended. Use an operator command to shut down Control‑O only if a problem cannot be resolved by the replacement method. If operator command F CONTROLO,STOP or P CONTROLO is used, Control‑O shuts down after a few seconds.

For CMEM users:

When Control‑O is shut down, the CMEM facility is also shut down. To restart Control‑O CMEM support after Control‑O has been completely shut down, issue the following operator command:

Copy
S CONTROLO,TYPE=CTOCMEM

Replacing an Active Control-O Monitor

When a Control‑O monitor is started using operator command S CONTROLO, and a Control‑O monitor is already active in the computer, the current Control‑O monitor passes control to the new Control‑O monitor and then shuts down. It is not necessary to reload the rule tables; they are passed from the current monitor to the new one.

To clean (erase) all Control‑O tables from memory, shut down the Control‑O monitor. This is not usually done, except in an emergency.

The following explains why it is not necessary to reload the rule tables:

  • When ControlO is started, the user must tell ControlO which rule list to load. ControlO also loads the Global AutoEdit variable pools.

  • When the user starts ControlO while ControlO is already active, the new ControlO inherits the rules and Global AutoEdit variables that were in use by the previous ControlO. It also inherits the subsystem and extended MCS consoles that the first ControlO allocated, and uses the areas in the Extended Common Service Area (ECSA) allocated and linkage index (for cross memory services).

  • The user does not lose settings from the previous ControlO session when one ControlO is replaced by another.

This mechanism is used in the following situations:

  1. When one of the monitor subtasks has an error (internal error or an abend), the ControlO monitor automatically attempts to recover. It tries to replace the old monitor with a new one, without stopping its activity. ControlO performs this process only one time. If another error occurs, ControlO is then terminated.

  2. If starting ControlO before JES, start it with SUB=MSTR. A started task with SUB=MSTR has no SYSOUTs. When JES is up and running, it is recommended to replace the first ControlO with a new one, so the monitor is a normal started task with SYSOUTs.

  3. To apply maintenance or a specific PTF to the ControlO monitor (after a SMP/E apply is done), start a new monitor without stopping the old monitor, so that all of the monitor’s internal modules are refreshed.

    When ControlO is active for many days, it is recommended to refresh the monitor for the following reasons:

    The ControlO executor modules that were loaded into ECSA (CTOWTO and CTOAIDT) are not refreshed in this manner. ControlO modules can be refreshed by issuing a new MODIFY command to ControlO (RELOAD=CTOWTO, CTOAIDT, and so on).

    • Storage fragmentation may occur in the ControlO address space.

    • The JOBLOG and SYSPRINT may become lengthy and difficult to follow.

    • This process is known as swapping ControlO monitors.

  • Storage in ECSA, allocated by the first ControlO, is used by the new ControlO. This storage is displayed as orphan storage on the ECSA monitor, in OMEGAMON for MVS, BMC’s MAINVIEW or TMON for MVS. The customer must not release these areas, because doing so may damage the system and cause an IPL

Replacing the Active Control-O Executor Modules

When the active Control‑O monitor is replaced, most Control‑O modules are automatically reloaded. If maintenance is supplied for Control‑O executors modules or the messages they use, a reload command can be use to replace the modules without stopping Control‑O.

The following modules can be refreshed:

  • CTOWTO, the ControlO executor module

  • CTOAIDT, the CMEM executor module

  • CTOJFRQ, the ControlO IEFJFRQ exit for JES2 command suppression and ONSYSOUT functionality

  • messages used by these modules

To replace module CTOWTO, issue operator command

Copy
F CONTROLO,RELOAD=CTOWTO

To replace the messages used by CTOWTO, issue operator command

Copy
F CONTROLO,RELOAD=MESSAGES

Replacing the Active UNIX for z/OS (OpenEdition) Interface Module (CTOAODT)

When the active Control‑O Monitor is replaced, most Control‑O modules are automatically reloaded. If maintenance is supplied for the UNIX for z/OS (OpenEdition) interface module (CTOAODT), this module must be reloaded separately.

All Control‑O modify commands and their parameters are listed in Control-O Monitor and CMEM Modify Commands.

CTOAODT is shared among different IOA environments that are active in the system. Therefore, to replace the module, the current CTOAODT copy must be deactivated in all IOA environments on the system before a new copy can be loaded.

Deactivating the Current Copy of CTOAODT

To deactivate the current CTOAODT copy in all IOA environments on the system, do the following:

  1. Stop Unix for z/OS (OpenEdition) support by issuing the following operator command for the ControlO Monitor of every IOA environment on the system:

    Copy
    F monitor,STOPOE
  2. Alternatively, stop the appropriate monitor.

  3. Wait for either of the following messages to appear:

    Copy
    CME792I OPENEDITION INTERFACE MODULE REMOVED

    CTO792I OPENEDITION INTERFACE MODULE REMOVED

    After the CME7921 message or the CTO7921 message has been displayed, Unix for OS/390 (OpenEdition) has been stopped, and the new copy of CTOADT can be loaded.

Loading the New Copy of CTOAODT

The procedure for loading the new CTOAODT copy in all IOA environments on the system is shown in the following steps:

  1. Load the new module with the following operator command for the ControlO Monitor of the environment in which the PTF was applied:

    Copy
    F CONTROLO,STARTOE
  2. Verify that the following message appears:

    Copy
    CTO781I OPENEDITION INTERFACE MODULE SUCCESSFULLY LOADED
  3. Restore the OpenEdition support in the rest of the IOA environments where it was previously stopped, by running the following operator command for the ControlO Monitor of each one of them:

    Copy
    F monitor,STARTOE
  4. Alternatively, restart the appropriate monitor if it was stopped.

Automatic Restart Management (ARM) and CMEM

The Control-O monitor should not be defined for Automatic Restart Management (ARM) because

  • Control-O has its own recovery process

  • since Control-O is active on each system, there is no need to move it to another system when the original system becomes inactive.

Control-O Rules

Rule Types

In Control‑O there are two types of rules

  • ControlO rules that are created using the ControlO Rule Definition screen (option OR in the IOA Primary Option menu)

  • CMEM rules that were are using the CMEM Rule Definition screen (option C in the IOA Primary Option menu) for triggering external events in ControlM

  • CMEM rules can contain only the following types of statements:

    • ON JOBARRIV

    • ON JOBEND

    • ON DSNEVENT

    • ON STEP

    • DO FORCEJOB

    • DO COND

    • DO RESOURCE

    • DO STOPJOB

    CMEM rules can also contain DO SHOUT and DO RULE statements if ControlO is installed. CMEM tables cannot contain ControlO rules (that is, rules that contain statements other than the types listed above). The type of table (ControlO vs. CMEM) is determined by the way in which the table is loaded.

  • CMEM rules are

    • loaded from DD statement DACTMLST

    • ordered or forced from the CMEM Rule Definition screen (Screen C)

    • loaded using modify command F CONTROLO,C=LIB(table)

  • ControlO rules are:

    • loaded from DD statement DARULLST

    • loaded using modify command F CONTROLO,O|F=LIB(table)

    • ordered or forced from the ControlO Rule Definition screen (Screen OR)

    If a rule is rejected because it is not compatible with the method used to load it, the following message is issued to the SYSPRINT SYSOUT of the ControlO monitor:

    Copy
    LDT54DE RULE TYPE IS INCORRECT. TABLE table LIBRARY library

    When Control‑O loads a table, it only replaces tables of the same type. To change the type of a table, the table must be deleted and loaded again.If table A is loaded as a CMEM table, it cannot be reloaded as a Control‑O table. To load table A as a Control‑O table, first delete table A by issuing operator command

    Copy
    F CONTROLO,D=LIB(A)

    For more information, see Rule Loading Errors.

Loading Rules

Control‑O loads rules into ECSA only in the following situations:

  • The ControlO instance is the first instance of ControlO started up in the IOA environment.

  • The operator issues one of the following ControlO modify commands: F, O, or C.

The rule list is the list of rule tables loaded by Control‑O during startup. The DD statements DACTMLST and DARULLST point to the rule list. To load all rules in the rule list only, issue one of the following Control-O modify commands:

Copy
F controlo,O=ALL,REBUILD
F controlo,F=ALL,REBUILD

where controlo is the name of the Control‑O monitor.

A user orders or forces the Control‑O rules table from the Table list of the Rule Definition facility (screen OR), or from the CMEM Rule Definition facility (screen C).

During the load process, the monitor performs logical checks to verify the correctness of the rule.

In case of an error, the rule is rejected and an error message is sent to the IOA Log and the Control-O monitor DD statement SYSPRINT.

Ordering Rules

After the rules are loaded in ECSA, Control‑O orders them to facilitate proper triggering order, as follows:

By priority, from higher value to lower value

Within the same priority, in the order specified within the rule list

By rules that have no priority assigned

Illustration of Rule Order

The following example illustrates how rules are organized for triggering.

  • Table A contains the following rules:

    • A1, with priority 10

    • A2, with no priority

    • A3, with no priority

  • Table B contains the following rules:

    • B1, with priority 10

    • B2, with no priority

    • B3, with priority 100

  • Table C contains the following rules:

    • C1, with priority 10

    • C2, with no priority

    • C3, with no priority

The rules are triggered in the following order:

B3, A1, B1, C1, A2, B2, C2, C3

Illustration of Rule Order After Loading a New Table

If you a load a new table in ESCA (that is, one that is not included in the current rule list), the previous triggering order of the existing rules is maintained, and the new rules are added to the end of the appropriate priority level.

The following example illustrates how loading a new table affects the triggering order. A new table, D, is loaded after the tables in Illustration of Rule Order on page were loaded. Table D contains the following rules:

  • D1, with priority 10

  • D2, with no priority

The rules are now triggered as follows:

B3, A1, B1, C1, D1, A2, B2, C2, C3, D2

Illustration of Rule Order After Reloading a Table

If you reload a table, the reloaded table replaces the original version of that table and the rules are replaced without affecting the previous priority and triggering order of the existing rules.

The following example illustrates the affect of reloading a table on the triggering order of the rules in the rule list. Table B is reloaded after Table D was loaded in Illustration of Rule Order After Loading a New Table.

The rules are now triggered as follows:

B3, A1, B1, C1, D1, A2, B2, C2, C3, D2

Note that this is the same order as before the table was reloaded.

Viewing the Rule Order

To view the rules by their load order, use screen 'OS', Control-O RULE STATUS in regular mode. To view the rules as shown by their priority order, enter the SORT primary command.

CMEM rules that are loaded from the rule list are loaded first with priority 100, so they are the first to be triggered.

ON RULE rules are loaded at the bottom of the list. They are organized in the same order but the search is in the opposite direction, from lower to higher priority.

Automatic Loading of Rules

When Control‑O is started, and it is not replacing an active Control‑O monitor, it attempts to read a rule list from the member referenced by DD statement DARULLST. These are the rule tables to be automatically loaded by Control‑O. The name of the member can be passed in the Control‑O procedure parameter ORDER. The supplied default member, RULELIST, is in the Control‑O PARM library. Each line in the list has the following format:

Copy
date library table {FORCE|NOFORCE|ORDER}

Table 179 Format of Lines in Rule Table Member

Item

Description

date

Date of the rule. If a specific date is designated, it is used to analyze the Basic Scheduling parameters. The date format is mmddyy, ddmmyy, or yymmdd (depending on the site standard).

An asterisk (*) can be specified to indicate the current Control‑O working date.

library

Rule library name.

table

Rule table name (or mask).

For every line in the list, Control‑O loads the specified rule table from the specified library.

If either NOFORCE or ORDER is specified, each rule’s Basic Scheduling parameters are compared to the specified date, or to the current Control‑O working date if * is specified. If the rule must be scheduled on that date, it is loaded by Control‑O and activated.

If FORCE or no option is specified, each rule is loaded by Control‑O and activated. Use this option when you do not want to use Control‑O scheduling options.

CMEM users: When Control‑O is started (and it is not replacing an active Control‑O monitor), it attempts to read the member referenced by DD statement DACTMLST. This member lists the CMEM rule tables to be automatically loaded by Control‑O.

The name of the member containing the list of CMEM rule tables can be passed in parameter CMORDER of the Control‑O procedure. The default member for the CMEM list is member IOACMEML in the IOA PARM library.

Manual Loading of Rules

Member RULELIST contains a list of basic rule tables to be activated by Control‑O as it is started. To load additional tables, or to replace a currently active table with a new (updated) copy of the rules in the table, use one of the options described in this topic.

Option 1

Enter the Control‑O Online facility and use the ORDER or FORCE option in the Table List screen (Screen OR).

Option 2

Issue operator command

Copy
F CONTROLO,{O|F}=library(table)[,D=date]

Table 180 Fields for Manual Loading of Rules

Item

Description

O

Order. Each rule’s Basic Scheduling parameters are compared to the specified date. If the rule must be scheduled on that date, it is loaded by Control‑O and activated.

F

Force. Each rule is loaded by Control‑O and activated, regardless of Basic Scheduling parameters. Use this option when you do not want to use Control‑O scheduling options.

library

Rule library name.

table

Rule table name (or mask).

date

Scheduling date (optional). If no date is specified, the Control‑O working date is used. Date format is mmddyy, ddmmyy, or yymmdd (depending on the site standard).

All of the Control‑O modify commands and their parameters are listed in Control-O Monitor and CMEM Modify Commands.

Copy
F CONTROLO,F=CTO.PROD.RULES(CICSPROD)

Loads table CICSPROD from CTO.PROD.RULES.

Copy
F CONTROLO,F=CTO.PROD.RULES(*)

Loads all tables from CTO.PROD.RULES.

Copy
F CONTROLO,F=CTO.PROD.RULES(PROD*)

Loads tables whose names start with PROD from CTO.PROD.RULES.

Copy
F CONTROLO, O|F=ALL [,REBUILD]

Loads tables whose names start with any character followed by the string "CICS" from CTO.PROD.RULES.

If the table has already been loaded by Control‑O, the new copy of the table replaces all the rules of the table active under the Control‑O monitor.

If you want to replace all the tables under Control‑O with the list of tables specified in DD statement DARULLST, use operator command

If you specify ALL, each table is ordered or forced according to its FORCE/NOFORCE specification in the rule list as defined in DD statement DARULLST.

If you specify the REBUILD option, all previously loaded rules are deleted. This option must be specified when using calendar-dependent rules.

If you omit the REBUILD option, previously loaded rules are either replaced by new copies of the rules or left unchanged.

The CMEM table is reloaded automatically when ALL is specified.

The process of loading the rule is performed by the Control‑O monitor. The user must then check the result of the process in the IOA Log and in the Control‑O monitor SYSPRINT.

Copy
F CONTROLO,F=CTO.PROD.RULES(?CICS*)

Manual Loading of CMEM Rules

The member referenced by DD statement DACTMLST during startup contains a list of CMEM rule tables to be automatically ordered by Control‑O when it is started.

To load additional tables, or to replace a currently active table with a new (updated) copy, use one of the options described in this topic.

Option 1

Enter the CMEM Online facility (=C), and use the FORCE option in the Table List screen.

Option 2

Issue operator command

Copy
F CONTROLO,C=library(table)

Table 181 Fields for Manual Loading of CMEM Rules

Field

Description

C

Indication that CMEM rules are to be loaded. Each CMEM rule in the specified tables is ordered by Control‑O and activated.

library

Rule library name.

table

Rule table name (or mask).

Copy
F CONTROLO,C=CTM.CMEM.RULES(DATASET)

Loads table DATASET from CTM.CMEM.RULES.

Copy
F CONTROLO,C=CTM.CMEM.RULES(*)

Loads all tables from CTM.CMEM.RULES.

Copy
F CONTROLO,C=CTM.CMEM.RULES(BKP*)

Loads tables whose names start with BKP from CTM.CMEM.RULES.

Copy
F CONTROLO,C=CTM.CMEM.RULES(?CICS*)

Loads tables whose names start with any character followed by the string "CICS" from CTM.CMEM.RULES.

If a specified CMEM table has already been loaded by Control‑O, the new copy of the CMEM table replaces all the rules of the table active under the Control‑O monitor.

The following operator command affects CMEM rules as well as Control‑O rules:

Copy
F CONTROLO,O|F=ALL[,REBUILD]

This command affects CMEM rules in the following way:

  • When ALL is specified, all CMEM rule tables defined in the CMEM list member referenced by DD DACTMLST are reloaded.

  • When REBUILD is specified, all previously loaded CMEM rules are deleted as well as the ControlO rules.

If REBUILD is not specified, previously loaded CMEM rule tables are either replaced by new copies or left unchanged.

Deleting (Deactivating) an Active Rule Table

To deactivate an active rule table, use an operator command such as

Copy
F CONTROLO,D=CTO.PROD.RULES(CICSPROD)

A single rule can also be deleted or held using appropriate line commands in the Rule Status screen.

Rule Loading Errors

When loading CMEM or Control‑O rule tables, error message LDT54DE is issued when

  • loading a CMEM table that contains one or more ControlO rules

  • loading a CMEM table as a ControlO rule table

  • loading a ControlO rule table as a CMEM table

These errors and the corrective action that must be taken are described in more detail below. If one of these errors occurs, the specified table is rejected and the following error message is issued to the SYSPRINT SYSOUT of the Control‑O monitor:

Copy
LDT54DE RULE TYPE IS INCORRECT. TABLE tablname LIBRARY libname

Table 182 Fields in Error Message LDT54DE

Field

Description

tablname

Name of the rule table.

libname

Name of the library where the table resides.

Loading a CMEM table that contains one or more Control-O rules

CMEM tables can only have rules that contain the following types of statements: ON JOBARRIV, ON JOBEND, ON DSNEVENT, ON STEP, DO FORCEJOB, DO COND, DO RESOURCE, and DO STOPJOB. If Control‑O is installed, CMEM tables can also have rules that contain DO SHOUT and DO RULE statements.

If a user loads a CMEM table that has a rule that contains an invalid statement type, an error occurs. To resolve the error, the user must do one of the following:

  • Remove the invalid rule from the CMEM table and reload the CMEM table

  • Delete the table from ControlO, then reload the table as a ControlO rule table using the ControlO Rule Definition screen (option OR on the IOA Primary Option menu), or using modify command

    Copy
    FCONTROLO,O|F=LIB(table)

Loading a CMEM table as a Control-O rule table

  • CMEM tables are created using the CMEM Rule Definition screen (option C in the IOA Primary Option menu). When they are loaded into ControlO, they are identified as CMEM tables.

  • To load the rules in a CMEM table as a ControlO rule table, delete the CMEM table from ControlO and reload the table as a ControlO rule table.

Although CMEM rules can be executed from Control‑O rule tables, these rules must be reloaded as Control‑O rule tables.

Loading a Control-O rule table as a CMEM table

  • ControlO rule tables are created using the ControlO Rule Definition screen (option OR in the IOA Primary Option menu). When they are loaded into ControlO, they are identified as ControlO rule tables.

  • If a ControlO rule table contains only statements that are valid as CMEM rules, that table can be loaded as a CMEM table by deleting the ControlO rule table from ControlO and reloading the table as a CMEM table.

Reloading Rule Tables

Reloading a CMEM table as a Control-O rule table:

  1. Delete the CMEM table from ControlO.

  2. Reload the rule table from the library using the Control-O Rule Definition screen (option OR in the IOA Primary Option menu) or using modify command

    Copy
    F CONTROLO,O|F=LIB(table)

Reloading a Control-O rule table as a CMEM table:

  1. Delete the table from ControlO.

  2. Reload the rule table from the library using the CMEM Rule Definition screen (option C in the IOA Primary Option menu) or using modify command:

    Copy
    F CONTROLO,C=LIB(table)

Private REGION Requirements of the Control-O Monitor

Control‑O monitor procedure CONTROLO is supplied with a default region size of 5 MB. The region size can optionally be increased to a maximum of 2 GB.

Calculating Region Size

You must include the following items in your calculation of the amount of virtual storage needed by the Control‑O monitor:

  • block size of the IOA Conditions file (fixed at 32,760)

The storage chunks allocated for this requirement are above the 16 MB line.

  • number of records in the Message Statistics file, specified in parameter STREC# in member CTOPARM

  • the monitor that loads the used records of the Message Statistics file into virtual storage

    Each entry of the Message Statistics file requires 100 bytes. For example, if there are 5000 entries in the Message Statistics file, the ControlO monitor needs a maximum of 500K of virtual storage to load the necessary records. The storage chunks allocated for this requirement are above the 16MB line.

  • ControlO monitor working buffers, which require approximately 65000K of virtual storage

The storage chunks allocated for this requirement are mostly above the 16 MB line.

  • ControlO monitor software, which requires approximately 2000K of virtual storage, depending on the environment and the functions used

    • The storage chunks allocated for this requirement are both above and below the 16MB line.

    • Sitedefined work areas and programs (for example, user exits). These items usually require a small amount of virtual storage. Therefore, it is usually not necessary to calculate the requirements of sitedefined components precisely. However, it is important that you allow some extra storage space for these components. The storage chunks allocated for this requirement are both above and below the 16MB line.

You should specify a larger than necessary region size to ensure sufficient storage space for Control‑O and related MVS activities.

A site has the following:

  • a block size of 32760 for the IOA Conditions file

  • 32 slots per block (CNDREC#)

  • 5000 records in the Message Statistics file

  • site-defined components requiring approximately 0.20MB of virtual storage

Calculate virtual storage for the Control‑O monitor as illustrated in the following tables:

Table 183 Virtual Storage (below the 16 MB Line)

Component

Size

Control‑O software

1.00 MB

Control‑O working buffers

1.00 MB

Site-defined components

0.20 MB

Extra space for MVS activities

0.20 MB

Total

2.40 MB

Table 184 Virtual Storage (above the 16 MB Line)

Component

Size

Formula

IOA Conditions file

34.00 MB

(32,760 * 32 days * 32 slots per record) + 64K

Control‑O software

1.00 MB

 

Message Statistics file

0.50 MB

 

Control‑O working buffers

5.50 MB

 

Site-defined components

0.20 MB

 

Extra space for MVS activities

0.20 MB

 

Total

41.40 MB

 

Troubleshooting

MVS allocates the region size specified for the Control‑O monitor unless a local exit (for example, IEALIMIT, IEFUSI, or another MVS or JES exit) is used to limit the region size of jobs and/or started tasks at the site.

Depending on the value of the REGION parameter in the EXEC statement, some MVS versions determine and calculate the amount of the allocated region above the line. In case of doubt, see the EXEC statement in the JCL Reference Guide for your operating system level.

Message IEF374I in the third SYSOUT of the Control‑O monitor indicates the amount of virtual storage used by the Control‑O monitor. Compare the information in this message with the existing region size definition.

  • If sufficient virtual storage is not available for the ControlO monitor, use on-site performance tools to determine if the specified region size was rejected by MVS (for example, using a local exit).

  • If MVS accepted the specified region, recalculate the ControlO monitor’s virtual storage requirements, as shown above, and modify the region size in the EXEC statement of the ControlO monitor procedure accordingly.

  • If an MVS procedure rejected the specified region size, contact your system administrator.

Storage Allocation

At startup, the Control‑O monitor allocates working storage. Control‑O can allocate most virtual storage above the 16 MB line. The decision as to whether to allocate above or below the 16 MB line is made by MVS, which considers the specified job, the amount of requested storage, MVS exits, and so on.

Structure of the IOA Conditions File

For information about the structure and space requirements of the IOA Conditions file, see the section that discusses the structure of the IOA Conditions File in the INCONTROL for z/OS Installation Guide: Installing.

Control-O Usage of the Common Service Area (CSA and ECSA)

Control‑O receives control for processing events under the various tasks in the system, that is, Control‑O acts as part of the address space that issued the corresponding message, command, or other event. For that reason, some of the code and data that are in use by Control‑O reside in common storage, accessible from all address spaces, as outlined below. Most of this common storage is above the 16MB line, in the ECSA, but a small portion is allocated by Control‑O below the 16MB line, in the CSA, due to MVS services requirements.

Use the information in ECSA Usage (Above the 16 MB Line) and CSA Usage (Below the 16 MB Line) to calculate Control‑O ECSA and CSA storage requirements.

ECSA Usage (Above the 16 MB Line)

The table describes the Control‑O components that use ECSA.

Table 185 ECSA Usage (Above the 16 MB Line)

Component

Size

Description

Subsystem executor

250 K

 

Wait elements

160 K

By default, the Control-O monitor allocates 20 wait elements of 8 K each, in internal control blocks called PNDs. The number of allocated PND buffers can be overridden with the WAITPR# parameter of the Control statement in CTOPARM. For further information on the PND# parameter see the INCONTROL for z/OS Installation Guide: Installing and NCONTROL for z/OS Installation Guide: Customizing.

Work Buffers

480 K

By default, the Control-O monitor allocates 20 work buffers of 24 K each, in internal control blocks called WSCs. The number of allocated WSC buffers can be overridden with the WSC# parameter of the Control statement in CTOPARM. For further information on the WSC# parameter see the NCONTROL for z/OS Installation Guide: Installing and NCONTROL for z/OS Installation Guide: Customizing.

Rules

50 K

This amount assumes 500 rules and an average of 100 bytes per rule.

XES preallocated buffers

3000 K

Preallocated buffers for XES operations. (The value of 3000K is appropriate for a system with 4 CPUs. The approximate value for 8 CPUs is 6000K, for 16 CPUs 12,000K, and so forth.)

Total

3940 K

For a system with 4 CPUs.

CSA Usage (Below the 16 MB Line)

The table describes the Control‑O components that use CSA.

Table 186 CSA Usage (Below the 16 MB Line)

Component

Size

SWT and other system control blocks

5.0 K

Dataset triggering executor

50.0 K

UNIX for z/OS interface (USS)

4.0 K

ACS exit routines for SMS support

10.0 K

Total

69.0 K

Control-O Usage of the Extended Link Pack Area

If you install ON SMS support, which implies the execution of a job that copies supporting programs for BMC libraries to the SYS1.LPALIB library, you have to allow for Extended Link Pack Area (ELPA) storage.

ELPA Usage

Table 187 ELPA Usage

Component

Size

ACS exit routines for SMS support

2.0 K

Recommended Organization Method

The primary function of Control‑O is to automate events and console operation. An especially important use of Control‑O is the automation of system startup (IPL).

The following topics describe the recommended Control‑O organization method for automating the IPL process. If you do not automate the IPL process, Control‑O organization is simplified, because certain MVS‑related restrictions need not be addressed. In this case, skip directly to Rule Scheduling.

System Definitions

The IOA subsystem name, as defined in IOA Installation parameter SUBSYS, must be the first subsystem name after the primary subsystem in the subsystem list (member IEFSSNnn in SYS1.PARMLIB). This enables Control‑O to control commands directed to other MVS subsystems before they are executed by these subsystems. However, to control JES commands before they are executed by JES, Control‑O uses JES exits or an additional subsystem name, defined optionally in the Control‑O installation parameters. For more information, see the JCMDSSN parameter in the Control‑O chapter of the INCONTROL for z/OS Installation Guide: Installing.

The subsystem name can be defined by using positional parameter IEFSSNnn or by using the keyword parameter form of the IEFSSNnn PARMLIB member.

When using the keyword parameter form, add a record to member IEFSSNnn in the following format:

Copy
SUBSYS SUBNAME(xxxx)

where xxxx is the name of the subsystem specified in IOA installation parameter SSNAME.

For more information, see the IBM manual MVS Initialization and Tuning Reference.

The Control-O monitor must be started at an early stage of IPL. To do this, its procedure and included members should reside in a PROCLIB library specified in member MSTJCLxx in the IEFPDSI DD statement, and a START command should be added to member COMMNDnn in the SYS1.PARMLIB library. To achieve this, do the following:

  1. Make sure the IOA environment was installed using the IEFJOBS DD statement.

  2. CTOTROLO, IOASETxx, and IOAENVxx procedures must reside in SYS1.PROCLIB or another PROCLIB specified in the MSTJCLxx member in the IEFPDSI DD statement.

  3. The JCLLIB from the CTOTROLO procedure in the IOA PROCJCL library referenced by the IEFJOBS DD statement in the MSTJCLxx member should be removed (or commented out).

  4. Member COMMNDnn in the SYS1.PARMLIB library (where nn is either the number specified in member IEASYS in the same library, or 00) must contain the following command as one of the first commands in the member:

    Copy
    COM='S CONTROLO,SUB=MSTR,TYPE=IPL,ORDER=IPLRULES,OUTLIST=DUMMY’

The following Control‑O and IOA files are allocated to the Control‑O monitor:

  • IOA LOAD library

  • IOA Global Variables library (dynamically allocated)

  • IOA Conditions file

  • Calendar library

  • PARM library

  • Message Statistics file (dynamically allocated)

  • Rules library (dynamically allocated)

  • Automation Log file (dynamically allocated)

Because Control‑O is started as part of IPL, you must either catalog all these files in the MVS Master Catalog, or specify the VOLSER and UNIT parameters for each of the files. The dynamically allocated files (for example, the Message Statistics file) must be in the Master catalog.

If you specified parameters VOLSER and UNIT for these files and you move the files to another disk, you must modify the Control‑O procedure as well.

Ensure that a correct value is specified for the JESTYPE IOAPARM parameter. Do not leave it blank.

It is recommended that Control‑O start and control the initialization of other system components (JES, VTAM, TSO, and so on).

The on-site enqueue manager must be up before any attempt is made by Control‑O to update any IOA file. For more information, see the QNAME parameter in the IOA chapter, and the CTOQNAM parameter in the Control‑O chapter, of the INCONTROL for z/OS Installation Guide: Installing.

Use of Two Rule List Members

The ORDER parameter of the Control‑O monitor specifies the name of a member containing the list of rules to be loaded by Control‑O upon startup. The easiest organization method is using one list member containing all Control‑O tables (for example, the supplied member RULELIST). This is the preferred method when Control‑O does not control IPL. However, if Control‑O controls IPL, it must be organized somewhat differently.

As your site’s use of Control‑O expands, it is possible that hundreds of operations rules are defined. Loading all of these operation rules can take time. Control‑O does not start to analyze messages until it has finished loading all rules in the initialization rule list. Consequently, if the list is quite large, Control‑O may not detect some of the messages and commands issued during the beginning of the IPL process.

To ensure analysis of all messages, it is recommended to place all rules that control the IPL process in a separate list. This list is loaded when Control‑O is started by overriding the default list member name using parameter ORDER to designate member IPLRULES. Member IPLRULES must contain only the rule tables to be used during IPL. One of the rules in this member must load the remaining Control‑O rule tables.

Multiple Rule Table Lists for CMEM Rules

Parameter CMORDER specifies the name of the member that contains the CMEM list (that is, the list of CMEM rule tables to be loaded by Control‑O upon startup). It is usually recommended that you list all CMEM rule tables in one list. The default name for the member containing this list is IOACMEML. However, it is sometimes recommended that you list certain rule tables separately.

Control‑O does not start to analyze CMEM events until it has finished loading all rule tables in the CMEM list specified using parameter CMORDER. If a large number of rules have been defined at your site, Control‑O may not detect some CMEM events during the beginning of the IPL process.

To ensure detection of all CMEM events, it is recommended that you place CMEM rules to be triggered during the IPL process in a separate list in member IOAIPLCM, and that you specify this list using parameter CMORDER. Rule tables specified in this way are loaded and activated during the startup process.

Replacing the IPL Control-O

Operation of Control‑O involves processing phases that are implemented by starting separate Control‑O monitors, each one replacing the previous one.

Table 188 Phases for Replacing the IPL Control-O

Phase

Description

Phase 1

When Control‑O is activated with SUB=MSTR during IPL, certain functions, particularly the debugging facilities, are inactive. This is because JES is not yet initialized and it is impossible to allocate a sysout file. For this reason, Control‑O is started with parameter OUTLIST=DUMMY.

Phase 2

A simple Control‑O rule can detect the JES initialization message and then restart Control‑O without parameters. Table STARTSYS contains a sample rule that does this. The new Control‑O automatically takes control from the previous Control‑O used during IPL. It is not necessary to reload the rules.

Phase 3

If Control‑O controls the termination of JES, a third Control‑O monitor, which does not allocate sysout files, is required during shutdown of the system. This third Control‑O monitor must be started by a rule containing parameters SUB=MSTR and OUTLIST=DUMMY.

Parameter TYPE of operator command START CONTROLO enables you to specify the Control‑O processing phase for a specific monitor. The following table lists the valid values for this parameter:

Table 189 Values for Parameter TYPE

Value

Description

IPL

The Control‑O monitor controls the IPL process.

REGULAR

The Control‑O monitor is a regular Control‑O monitor.

SHUTDOWN

The Control‑O monitor controls the shutdown of the system.

The Control‑O TYPE is displayed in the following initialization message:

Copy
CTO147I    Control‑O INITIALIZATION COMPLETE,TYPE=type,SUB=job‑entry‑subsystem

This message can be used by Control‑O rules whenever phase‑dependent processes are handled.

When Control‑O is brought up to replace an existing Control‑O monitor, it does not load rules from DD statement DARULLST. Instead, it takes control of the rules that were active under the previous Control‑O monitor. Only a new operator command F CONTROLO,O=ALL loads the rules from DARULLST.

CMEM Users:
This note also applies to CMEM rules loaded from DD statement DACTMLST.

Rule Scheduling

Control‑O is usually started at an early stage of IPL and remains active until shutdown. Most rules behave the same on any date. However, it is sometimes necessary to schedule different rules for different dates. For example, you may want to trigger one response to a certain message on a regular working date and a different response to the same message on the first day of a month.

Under Control‑O, you can define scheduling parameters for rules. For example, a rule can be scheduled for a specific date only. The scheduling criteria of rules are checked when a rule is ordered (either automatically or manually).

If a rule is subject to scheduling criteria, these criteria must be checked daily, and the rule loaded and activated only if it must be scheduled according to its scheduling criteria. You should reload rules on a daily basis using a time‑initiated command (rule) that issues the following order command for all Control‑O tables at a specified time of day:

Copy
F CONTROLO,O=ALL,REBUILD

Displaying Active Rules

The Rule Status screen displays a list of all rules that have been ordered and their statuses. The displayed rules can be held or deleted or freed. Alternatively, enter operator command:

Copy
F CONTROLO,DISPLAY[=DETAIL]

The optional DETAIL parameter enables you to generate a detailed list, with more extensive information than a regular list.

The list is sent to the console.

A regular list of Control-O rules includes the following information:

Table 189a Information in a Regular List of Rules

Field

Description

RULE

Rule name (that is, the name in the first ON statement of the rule definition).

TYPE

Rule type. Valid types:

  • C - ON COMMAND

  • D - ON DSNEVENT

  • E - ON EVENT

  • L - ON RULE

  • M - ON MESSAGE

  • P - ON CTOPCMSG

  • R - ON JOBARRIVAL

  • S - ON STRING

  • T - ON STEPEND

  • X - ON JOBEND

  • Z - ON STEP

  • 4 - ON OMEGAMON EXCEPTION

  • 5 - ON JOB SYSOUT

  • V - ON MAINVIEW ALARM

  • O - ON AUTOOPERATOR EVENT

STATUS

Rule status. Valid statuses are:

  • ACTIVE

  • DONE

  • WAIT

  • HELD

  • SUSPND

  • DELETE

  • EVENT

PRTY

Internal rule scanning priority

TABLE

Name of the table (or member) that contains the rule

LIBRARY

Name of the library that contains the rule member

The following example shows the format of a detailed list of Control-O rules with one ON DSNEVENT rule:

Copy
CTO12SI RULE LIST DISPLAY FOR LPAR MVS3:                      
                                                              
NAME TYPE STATUS OWNER LAST-ORDERED   ACTIVE# LAST-TRIGGERED  
  TABLE    SEQNO LIBRARY                            PRIORITY  
  IN ADDITIONAL-FILTERS                                  ON#  
------------------------------------------------------------  
FTP* D    ACTIVE K81   20230301 19:45 000001  20230302 13:10  
  K81ONDSN 00002 IOAA.DEV#R3.CTO.OPR.RULES              (  )  
  N FTP*  INCOMING.DATA.SET                      C        01  

A detailed list of Control-O rules includes the following information:

Table 189b Information in a Detailed List of Rules

Field

Description

NAME

Rule name (that is, the name in the first ON statement of the rule definition).

TYPE

Rule type. Valid types:

  • C - ON COMMAND

  • D - ON DSNEVENT

  • E - ON EVENT

  • L - ON RULE

  • M - ON MESSAGE

  • P - ON CTOPCMSG

  • R - ON JOBARRIVAL

  • S - ON STRING

  • T - ON STEPEND

  • X - ON JOBEND

  • Z - ON STEP

  • 4 - ON OMEGAMON EXCEPTION

  • 5 - ON JOB SYSOUT

  • V - ON MAINVIEW ALARM

  • O - ON AUTOOPERATOR EVENT

STATUS

Rule status. Valid statuses are:

  • ACTIVE

  • DONE

  • WAIT

  • HELD

  • SUSPND

  • DELETE

  • EVENT

OWNER

Name of rule owner

LAST-ORDERED

Date and time when the rule was last ordered

ACTIVE#

Number of times that the rule was triggered (activated) since Order time

LAST-TRIGGERED

Date and time when the rule was last triggered (that is, activated)

TABLE

Name of the table (or member) that contains the rule

SEQNO

Serial number of the rule in the table

LIBRARY

Name of the library that contains the rule member

PRIORITY

Internal rule scanning priority

IN

Whether the rule has prerequisite conditions for activation.

  • Y (yes)

  • N (no)

Default: N

ADDITIONAL-FILTERS

Additional optional fields that are specific to each type of rule.

For more details, see the next table.

ON#

Number of ON statements defined in the rule

Table 189c Additional Filters in a Detailed List of Rules

Rule Type

Additional Fields

D - ON DSNEVENT

  • Name or mask of the job monitored for data set events

  • DSN - name or mask of the monitored data set monitored

  • DISP - Data set disposition, with the following values:

    • C - Cataloged

    • D - Deleted

    • U - Uncataloged

    • K - Kept

    • R - Retained (cataloged or kept)

    • S - Scratched (deleted and uncataloged)

    • 2 - NCT2 (NOT CATLG 2)

    • A - Any of the set dispositions

    • * - Any of the set dispositions except for NCT2

M - ON MESSAGE

Name or mask of the job that issued the message

R - ON JOBARRIVAL

Job name or mask

S - ON STRING

  • String - Message text intercepted by CONTROL-O from the first line of the message, up to 53 characters

  • Name or mask of the job that issued the message text

X - ON JOBEND

Job name or mask

Z - ON STEP

  • Name or mask of the job monitored for step termination

  • PROCSTEP - Name or mask of the step that invokes a procedure or, for a started task, the task ID

  • PGMSTEP - Name or mask of the step that invokes a program

  • STEPRC - Return code or status returned upon step termination, with the following values:

    • OK - step ended with a condition code of 0

    • NOTOK - step ended with a non-zero code

    • Cnnnn - condition code

    • Snnn - system abend code

    • Unnnn - user abend code

    • blank/**** - return code and status are irrelevant

5 - ON JOB SYSOUT

  • Name or mask of the job that contains the SYSOUT DD statement

  • PROCSTEP - Procedure step name or mask of the SYSOUT DD statement

  • PGMSTEP - Program step name or mask of the SYSOUT DD statement

V - ON MAINVIEW ALARM

  • CONTEXT - The MAINVIEW context associated with the alarm

  • SCOPE - The MAINVIEW scope associated with the alarm

  • USERID - The MAINVIEW user associated with the alarm

  • QUEUE - The MAINVIEW queue associated with the alarm

  • TYPE - The type of alarm, with the following values:

    • START - a new MAINVIEW alarm

    • END - the end of the MAINVIEW alarm

Management of Control-O Facilities

This section contains descriptions of commands and considerations for managing various Control‑O facilities and components. The following topics are discussed:

Controlling the Message Statistics Facility

The Message Statistics facility allows accumulation and display of statistics for the messages or commands issued by the system on which Control‑O is active.

The Message Statistics facility counts messages and commands by message or command ID. Each time a message or command is displayed, the counter for the corresponding entry in the Statistics file is incremented. When a new message ID or %%$STATID value is detected, a new entry is opened in the Statistics file.

Statistics accumulation is normally started automatically when Control‑O is brought up. However, when necessary, accumulation of statistics can be controlled by the following operator commands:

  • Stop statistics accumulation

    Copy
    F CONTROLO,STOPSTAT

    This command can be used if statistical accumulation is no longer required or if it becomes necessary to reformat the Statistics file without bringing down ControlO.

  • Start statistics accumulation

    Copy
    F CONTROLO,STARTSTAT
  • Reset statistics for all messages and commands

    Copy
    F CONTROLO,RESETSTAT

All of the Control‑O modify commands and their parameters are listed in Control-O Monitor and CMEM Modify Commands.

Preventing Unnecessary Enlargement of Statistics Files

The Message Statistics facility counts messages and commands by message or command ID. The first word of the message or command is the message or command ID.

To prevent the Statistics files from becoming too large and to eliminate duplicate information, it may be appropriate to group messages or commands according to other criteria. It is useful, for example, to group messages or commands under one message or command ID when:

Messages start with free text. Accumulating each of these messages under a different message ID enlarges the size of the Statistics file, and may prevent the accumulation of meaningful statistics for the message.

Concatenation of JES2 commands with different operands results in separate statistics accumulation for each operand. For example, statistics for $PJ05555 and $PJ01234 are normally accumulated under different IDs even though both IDs refer to the same command.

Separate statistics are accumulated for messages that are not of interest to the user.

AutoEdit reserved variable %%$STATID can be used to specify the ID under which the messages or commands are accumulated. For example

Copy
ON COMMAND $P*
DO SET %%$STATID=$P

Rule table STATS from the RULES library has been provided to perform the necessary grouping by %%$STATID. This table can be adapted and used according to site requirements.

Handling Near-Full and Full Conditions for the Statistics File

When the Statistics file becomes more than 90% full, Control‑O issues unrollable message CTO240W as a warning.

When Control‑O detects that the Statistics file is full, it issues unrollable message CTO241E. Control‑O then stops tracking statistics for new messages but continues to update the counters of messages already in the Statistics file.

If message CTO240W or CTO241E is issued, it is recommended that the operator enlarge the Statistics file using utility CTOCSF and check if messages can be grouped by %%$STATID.

Controlling the Automation Log Facility

The Automation Log facility allows accumulation and display of automation information from all inputs available to Control‑O.

The Automation Log facility is started automatically when parameter AUTOMLOG in member CTOPARM is set to V or D. For more information, see the Control‑O chapter in the INCONTROL for z/OS Installation Guide: Installing.

While Control‑O is active, the Automation Log facility is controlled by the following operator commands:

  • Stop Automation Log accumulation

    Copy
    F CONTROLO,AUTOLOG=NO

    This command can be used when the Automation Log is no longer required or when it becomes necessary to reformat or rebuild the Automation Log file without bringing down ControlO. Message CTO297I indicates that Automation Log accumulation has stopped.

    The Automation Log can be viewed using Screen OL, even when ControlO is inactive or Automation Log accumulation has been stopped.

  • Start Automation Log accumulation

    Copy
    F CONTROLO,AUTOLOG=YES

    Message CTO297I indicates that Automation Log accumulation has started.

When the Automation Log is not active, Control‑O trace messages are written to the SYSOUT specified by DD statement DAACTLOG of the Control‑O monitor.

Determining the Size of the Log

The Automation Log is a wraparound dataset, which means that the number of records in the file is constant and, when the file is full, a new record overwrites the oldest record. Automation Log entries can be archived or backed up for subsequent retrieval using utility CTOALOCP. For more information, see the INCONTROL for z/OS Utilities Guide.

If backup is performed on a regular basis, the Automation Log must be large enough to prevent overwriting record that have not been backed up. The size of the Automation Log is specified in installation parameter ALREC#. The backup frequency depends on site requirements.

Preventing Logging of Unnecessary Messages

Some messages may be unnecessary for a particular task. Use the System AutoEdit variable %%$AUTOLOG to control which messages are entered into the Automation Log. The table lists the valid values.

Table 190 Values for AutoEdit Variable %%$AUTOLOG

Value

Description

Y (Yes)

Record the message in the Automation Log.

N (No)

Do not record the message in the Automation Log.

Prevent messages whose ID starts with TST from being written to the Automation Log.

Copy
ON MESSAGE TST*
DO SET %%$AUTOLOG=N

Writing to the IOA Log Facility

Installation parameter SMODE (Stand-alone mode) in member CTOPARM determines how requests to write to the IOA Log facility are handled. The following operator command can be used to temporarily override the value specified in this installation parameter:

Copy
F CONTROLO,SMODE=x

where x equals F (Forced), Y (Yes), or N (No).

For a description of SMODE values, see the ICE Step 2.1 discussion of Control‑O Operational Parameters, in the Control‑O chapter of the INCONTROL for z/OS Installation Guide: Installing. If an invalid value is specified for SMODE=, the following message is generated:

Copy
MTO367E        SMODE VALID VALUES ARE F, Y, AND N   

Management of the Control-O Status Monitoring System (COSMOS)

The Control‑O Status Monitoring System (COSMOS) is used to monitor the status of objects in the computing environment. When activated, COSMOS ensures that specified objects are maintained in their specified desired status.

Normally, COSMOS must be activated as part of the Control‑O startup process.

While Control‑O is active, the commands listed in the table can be used to control COSMOS operations.

Table 191 Commands for Controlling COSMOS Operations

Command

Description

COSINI

Starts up the COSMOS facility.

COSTERM

Shuts down the COSMOS facility.

COSBOUNZ

Recycles the COSMOS facility by bringing it down and then restarting it. This command also reloads all COSMOS databases, thus refreshing variables used during COSMOS operations.

COSUP

Assigns all COSMOS‑controlled objects a desired status of UP.

COSDOWN

Assigns all COSMOS‑controlled objects a desired status of DOWN.

For more information about these and other COSMOS commands, see the online facilities chapter in the Control‑O/COSMOS User Guide.

Controlling Rule Operation Mode

The mode of operation (that is, the trace mode) for a rule is determined by parameter MODE in its rule definition. Sometimes it is useful to override the operation mode of all active rules and verify that events and actions are recorded in a particular way. For example

Ensure a full trace of all rules (that is, all events and actions are recorded) to facilitate analysis of the interaction between rules.

Record (trace) only the triggering of every rule.

Global trace operations are requested using the following operator commands:

  • Activate a full trace

    Copy
    F CONTROLO,LOG=TRIGGER

    All rules are fully traced as if they were defined with mode LOG. This operator command must only be used temporarily for specific tests, because extended use of full trace mode can adversely affect ControlO performance.

    Trace rule triggering only

    Only rule triggering is traced for all rules. However, rules defined with mode LOG are fully recorded.

    Copy
    F CONTROLO,LOG=ALL
  • Restore the default operation mode (as defined in the rule definition) for each rule

    Copy
    F CONTROLO,LOG=DEFAULT

All of the Control‑O modify commands and their parameters are listed in H Control-O Monitor and CMEM Modify Commands.

Specifying Actions to Be Performed on a Control-O Server

MODIFY commands to Control-O can be used to specify the action to be performed on a server. These actions can also be performed by the SERVERS option in the Automation Options screen (Screen OA).

The format of the command to modify servers is

Copy
F CONTROLO,SERVER=serverid,action

In this command,

  • serverid is the ID of the server to be modified. The value ALL can be specified to apply the action to all the servers.

  • action is one of the actions described in Table191a.

Table 191a MODIFY Command Actions to Be Performed on a Server

Action

Description

START

Start the server

CANCEL

Cancel the request currently executing

STOP

Explicitly stop the server

FORCE

Cancel the request currently executing in the server and explicitly stop the server (the same as CANCEL + STOP)

TERM

Stop the server and allow it to be restarted implicitly

DISPLAY

Display information about the specified server

Controlling z/OS UNIX System Services (USS/OpenEdition) Support

z/OS has introduced major changes and enhancements to the UNIX for z/OS (OpenEdition) environment to make it part of the MVS core. Consequently, certain applications, such as IBM FTP, were converted to use the USS (Unix Services for z/OS). As a result, IBM FTP stopped issuing allocation and deallocation messages to the JESYSMSG spool dataset.

Control-O provides a special interface to support dataset-triggering events originating from UNIX.

The Unix for z/OS interface is shared by all Control-O installations in the LPAR and is version-independent. The first Control-O subsystem to initialize loads the Unix for z/OS interface module to common storage. This interface is later used by all other Control-O subsystems. Upon startup, every Control-O subsystem registers itself with the Unix for z/OS interface. This registration mechanism enables the Unix for z/OS interface to recognize all the available Control-O subsystems and to call them when a new process is created by a fork/spawn request and associated with a BPXAS initiator (for example, when a new ftp session has started). The Control-O monitors are called one by one in the order that they registered with the interface. The first Control-O subsystem to have a matching rule for this address space will monitor it for z/OS dataset-triggering events.

When a Control‑O subsystem shuts down, it removes itself from the Unix for z/OS interface. The last Control‑O subsystem to shut down removes the Unix for z/OS interface from common storage.

The following sequences of messages indicate that the Unix for z/OS interface was successfully installed:

  • for the first ControlO subsystem to initialize

    Copy
    CTO820I INITIALIZATION OF OPENEDITION SUPPORT STARTED
    CTO821I OPENEDITION INTERFACE MODULE SUCCESSFULLY LOADED
    CTO822I SUBSYSTEM REGISTERED WITH OPENEDITION INTERFACE
    CTO823I INITIALIZATION OF OPENEDITION SUPPORT ENDED SUCCESSFULLY
  • for any subsequent ControlO subsystem

    Copy
    CTO820I INITIALIZATION OF OPENEDITION SUPPORT STARTED
    CTO822I SUBSYSTEM REGISTERED WITH OPENEDITION INTERFACE
    CTO823I INITIALIZATION OF OPENEDITION SUPPORT ENDED SUCCESSFULLY

The following sequences of messages indicate that the Unix for z/OS interface was successfully deactivated:

  • for any ControlO subsystem except from the last subsystem to shut down

    Copy
    CTO830I DEACTIVATION OF OPENEDITION SUPPORT STARTED
    CTO831I SUBSYSTEM REMOVED FROM OPENEDITION INTERFACE
    CTO833I DEACTIVATION OF OPENEDITION SUPPORT ENDED SUCCESSFULLY
  • for the last ControlO subsystem to shut down

    Copy
    CTO830I DEACTIVATION OF OPENEDITION SUPPORT STARTED
    CTO831I SUBSYSTEM REMOVED FROM OPENEDITION INTERFACE
    CTO832I OPENEDITION INTERFACE MODULE REMOVED
    CTO833I DEACTIVATION OF OPENEDITION SUPPORT ENDED SUCCESSFULLY

Control‑O enables the operator to start and stop the Unix for z/OS interface using the Modify operator command. Usually, there is no need to intervene with the default processing performed by Control‑O. The following operator commands are available:

Copy
F CONTROLO,STARTOE
F,CONTROLO,STOPOE[,FORCE]

The STARTOE command instructs a Control‑O subsystem to restart the Unix for z/OS interface. This includes initializing the interface (if no other subsystem has initialized it) and/or registering the current subsystem with the Unix for z/OS interface. If the STARTOE command is issued for a subsystem that is already registered with the Unix for z/OS interface, the following message is generated:

Copy
CTO828I SUBSYSTEM ALREADY REGISTERED WITH OPENEDITION INTERFACE

The STOPOE command instructs a Control‑O subsystem to deactivate the Unix for z/OS interface. This includes removing the current subsystem from the Unix for z/OS interface and removing the Unix for z/OS interface from common storage if no other subsystem is using it. If the STOPOE command is issued for a subsystem that is not registered with the Unix for z/OS interface, the following message is generated:

Copy
MTO836W SUBSYSTEM NOT REMOVED FROM OPENEDITION INTERFACE: SUBSYSTEM NOT FOUND

If the STOPOE command is issued when the Unix for z/OS interface is not installed, the following message is generated:

Copy
MTO835W OPENEDITION INTERFACE MODULE NOT INSTALLED

The STOPOE,FORCE command instructs Control‑O to remove the Unix for z/OS interface from common storage even if one or more Control‑O subsystems are still registered with it.

Control‑O also provides Started Procedure CTOOEDSC. This procedure can be started from the console using the START command. Procedure CTOOEDSC acts like a STOPOE,FORCE command and removes the Unix for z/OS interface regardless of any registered subsystems. The STOPOE,FORCE command and procedure CTOOEDSC must be used only in case of emergency.

Accessing AutoEdit Variables Globally

AutoEdit variables can be made available globally to Control‑O (and other INCONTROL products) in one of the following two methods:

  • using global members

  • using the IOA Variable Database facility

Global members and databases are managed in different ways.

If a function mentioned in this chapter is applicable to both global members and variables databases, it is indicated in the description of that function.

When Control‑O is started, it reads the global members and IOA databases and loads the global variables defined in those members and databases into memory. The list of members and databases to be loaded is specified in DD statement DAGLBLST of the Control‑O monitor procedure.

The following topic describes file configuration for global members. For a description of file configuration for databases, see IOA Administration.

Global Members

Global members reside in global libraries. A different global library is used for each computer (SMF ID) on which Control‑O operates. The global library name is composed of

  • the prefix defined for Control-O operations files in the OLPREFO ControlO target library parameter

  • the global identifier .GLB

  • the string "CPU" followed by the SMF ID of the specified computer

Copy
CTO.Vxxx.GLB.CPUSYSA

$GLOBAL is usually the default global member. This member contains Control‑O AutoEdit variables that are not assigned to specific global members, yet must be available globally. The member format is identical to the format of a Control‑M AutoEdit variable member. Therefore, Control‑O global members can be referenced by Control‑M jobs using MEMSYM and LIBSYM parameters.

In contrast, global variables created and accessed using the IOA Variable Database facility cannot be accessed by Control‑M jobs using MEMSYM and LIBSYM parameters. For Control‑M to access these variables, you must explicitly state its path name and variable name in job definition statements such as SET VAR and DO SET. For more information, see IOA Administration.

Updates or additions to global variables (by rules or KOA scripts) are kept in memory by Control‑O and are available to all other rules. While Control‑O is active, global variables can be reloaded from, or written back to, the PDS (partitioned dataset) global library, in total or by member name, using operator commands LOADGLOBAL and WRITEGLOBAL. When Control‑O is stopped, the global variables are written back to their respective partitioned datasets.

Loading Global Variables

Use the following operator command to load global variables from a global member (or an IOA variable database) into Control‑O memory:

Copy
F CONTROLO,LOADGLOBAL[=memname]

where memname indicates the global members (or variable databases) to be loaded. The table lists the valid values.

Table 192 Values for Loading Global Variables

Value

Description

name

Name of a specific global member (or variable database) to load.

ALL

Load all global members (and variable databases) listed in the DAGLBLST concatenation.

If no memname value is specified with a LOADGLOBAL command, only member $GLOBAL (that is, the default global member) is loaded.

WARNING: Issuing LOADGLOBAL is hazardous in a live system!

Changes to the databases (for example, through %%SET in JCL, DO SET, or SET VAR) are accumulated in memory and are written to disk during the next WRITEGLOBAL command (performed automatically for the IOAVAR database at set intervals). Between the changes and the WRITEGLOBAL command is a time window in which the LOADGLOBAL command will delete the changes. BMC recommends only using the LOADGLOBAL command for updating a database during a scheduled downtime.

Updating Global Variables

Use the following operator command to update global members (or databases) with the current status of the global variables in memory:

Copy
F CONTROLO,WRITEGLOBAL[=memname]

where memname indicates the global members (or databases) to be updated. The following table lists the valid values:

Table 193 Values for Updating Global Variables

Value

Description

name

Name of a specific global member (or database) to update.

ALL

Update all global members (and databases) listed in the DAGLBLST concatenation.

If no memname value is specified with a WRITEGLOBAL command, only the $GLOBAL member (that is, the default global member) is updated.

Defining a New Global Member

Rules related to a specific application can use their own global member to isolate their variables from the rules of other applications, to enable the use of checkpoints or to perform initialization on an application basis.

To define a new global member, create a member in the GLB library and add its name to the global member list (DAGLBLST).

The global member list (DAGLBLST) is referenced by DD statement DAGLBLST of the Control‑O monitor procedure and usually resides in member DAGLBLST of the Control‑O PARM library. Each line of the global member list describes a global member (or database).

Format
Copy
member <attribute>

Table 194 Fields for Global Member List Lines

Field

Description

member

Name of the global member (or database).

attribute

Type of global member (or database). Valid values:

  • INOUT - The member is loaded and updated using commands LOADGLOBAL and WRITEGLOBAL. For more information, see Loading Global Variables  and Updating Global Variables.

  • INPUT - The member can be loaded but cannot be written back. This option can be used for storing global variables whose initial values are specified in the member and do not require checkpointing. The value of each global variable can be changed and new global variables can be added to the member during the ControlO session, but these new values and new variables are not saved when ControlO is stopped.

  • PROT - The member cannot be updated during the ControlO session and no new global variables can be assigned to the member. This option can be used for a member containing global variables that are "constants" (for example, the messages of an application).

  • TEMP - The member does not reside on the disk and therefore cannot be loaded or written back. This attribute is useful for a member containing global variables that do not need to be saved after ControlO is stopped.

The following code contains sample content for the DAGLBLST member of the Control‑O PARM library:

Figure 68 Sample Content for Member DAGLBLST

Copy
$Command ===>                                                  Scroll ===> CSR
000001 ***********************************************************************
000002 *       ADD LIST OF POOLS                                              
000003 READONLY    INPUT      A READ-ONLY MEMBER                              
000004 * ******************************************************************** 
000005 * *         COSMOS RELATED POOLS                                     * 
000006 * ******************************************************************** 
000007 *                                                                      
000008 *           DEMO DATABASES                                             
000009 *                                                                      
000010 COSWORKV    TEMP       COSMOS - WORKING VARIABLES                      
000011 COSALLPR    DBINPUT    COSMOS - DEMO PREREQUISITES DATABASE            
000012 COSALLMT    DBINPUT    COSMOS - DEMO METHODS DATABASE                  
000013 COSSTCOB    S1TEMP     COSMOS - DEMO STC WORKING DATABASE              
000014 COSVTMOB    S1TEMP     COSMOS - DEMO VTAM WORKING DATABASE             
000015 COSIMGOB    DBTEMP     COSMOS - DEMO SYSIMAGE WORKING DATABASE         
000016 COSSTCSD    DBINPUT    COSMOS - DEMO STC SOURCE DATABASE               
000017 COSVTMSD    DBINPUT    COSMOS - DEMO VTAM SOURCE DATABASE              
000018 COSIMGSD    DBINOUT    COSMOS - DEMO SYSIMAGE SOURCE DATABASE          
000019 *                                                                      
000020 *           PROD DATABASES                                             
000021 *                                                                      
000022 * PRDALLPR  DBINPUT    COSMOS - PROD PREREQUISITES DATABASE            
000023 * PRDALLMT  DBINPUT    COSMOS - PROD METHODS DATABASE                  
000024 * PRDSTCOB  DBTEMP     COSMOS - PROD STC WORKING DATABASE              
000025 * PRDVTMOB  DBTEMP     COSMOS - PROD VTAM WORKING DATABASE             
000026 * PRDSTCSD  DBINPUT    COSMOS - PROD STC SOURCE DATABASE               
000027 * PRDVTMSD  DBINPUT    COSMOS - PROD VTAM SOURCE DATABASE              
000028 *                                                                      
000029 * ******************************************************************** 
000030 * *         COSMOS SAMPLE DEFINITION FOR SYSPLEX-WIDE MANAGEMENT     * 
000031 * ******************************************************************** 
000032 *                                                                      
000033 *           DEMO DATABASES                                             
000034 *                                                                      
000035 * COSSTCOB  S1TEMP     COSMOS - DEMO STC WORKING DATABASE FOR SYSPLEX  
000036 * COSVTMOB  S1TEMP     COSMOS - DEMO VTAM WORKING DATABASE FOR SYSPLEX 
000037 * ******************************************************************** 
000038 * *         TUTORIAL RELATED POOLS                                   * 
000039 * ******************************************************************** 
000040 TUTORIAL    DBINPUT   TUTORIAL                                         
000041 * ******************************************************************** 
000042 * *         XAE TEST RELATED POOLS                                   * 
000043 * ******************************************************************** 
000044 XAES1D01  S1TEMP    XESXAE - DEMO - S1 - TEMP                          
000045 * XAES1D02  S1INPUT   XESXAE - DEMO - S1 - INPUT                       
000046 * XAES1D03  S1PROT    XESXAE - DEMO - S1 - PROT (SAME AS DBPROT)       
000047 * XAES1D04  S1INOUT   XESXAE - DEMO - S1 - INOUT (SAME AS DBINOUT)     
000048 XAES2D01  S2TEMP    XESXAE - DEMO - S2 - TEMP                          
000049 XAES2D02  S2INPUT   XESXAE - DEMO - S2 - INPUT                         
000050 * XAES2D03  S2PROT    XESXAE - DEMO - S2 - PROT (SAME AS DBPROT)       
000051 * XAES2D04  S2INOUT   XESXAE - DEMO - S2 - INOUT                       

Once the new global member (or database) has been defined and listed, it must be activated with the following operator command:

Copy
F CONTROLO, LOADGLOBAL=member

where member is the name of global member (or database).

Automatic Compression of the Global Library

Because of its PDS (partitioned dataset) organization, the global library is prone to D37 abends (insufficient space to write to disk). If, at your site, there is no product to keep the library compressed, Control‑O enables you to automatically compress the global library whenever it becomes full, as explained below.

The Automatic Compression facility is normally activated when the global library is full (that is, when a D37 abend is encountered during a WRITEGLOBAL operation).

Before attempting to compress the global library, Control‑O backs up the library to a sequential file using utility IEBCOPY. The name of the backup sequential file is the name of the specified global library with the suffix ".COPY". For example, when global library CTO.Vxxx.GLB.CPUSYSA is backed up, the resulting sequential file name is: CTO.Vxxx.GLB.CPUSYSA.COPY

The backup sequential file is allocated only if parameter GLBCOMP in member CTOPARM is set to Y (Yes), indicating that the global compress feature is required.

The Automatic Compression facility uses member $$COMPST of the global library to track the progress of the compression operation. $$COMPST is a single record member that is created automatically when the global library is defined.

For each step in the backup and compression process, variable %%STATUS in member $$COMPST is updated to reflect the status of the compression process. The following table lists the possible values for this variable:

Table 195 Values for Variable $$COMPST

Value

Description

%%STATUS=S1

Backup of the global library has been started but not completed.

%%STATUS=S2

Backup of the library was successful. Compression has been started but not completed (that is, is either still in process or has failed).

%%STATUS=OK

Compression has been successfully completed.

Whenever the global library is accessed (using a LOADGLOBAL or WRITEGLOBAL operation), the value of %%STATUS is checked to ensure that the library was not corrupted during the last automatic compress operation.

  • If the value of %%STATUS is OK, the requested LOADGLOBAL or WRITEGLOBAL operation is performed.

  • If the value of %%STATUS is S2, the Automatic Compression facility automatically restores the global library from the backup file and compresses it before execution of the LOADGLOBAL or WRITEGLOBAL operation.

  • If the value of %%STATUS is S1, the global library and backup may be corrupt, and therefore the operation cannot be performed. An error message is issued.

Enabling Automatic Compression

If automatic compression of the global library was not enabled at time of installation, you can enable it by performing the following steps:

  1. Bring down ControlO.

  2. Specify Y (Yes) for parameter GLBCOMP in member CTOPARM of the IOA PARM library.

  3. Submit job NEWGLOB in the IOA INSTWORK library. This job

    • renames the old global library

    • defines a new global library (using the old library name) and a sequential backup file (used by the Automatic Compression facility)

    • copies the contents of the renamed global library to the new global library

    A job can be tailored by using the ICE activity "Tailor Job" from the Housekeeping menu.

  4. Restart ControlO.

Modifying the Control-O Sleeping Interval

Control‑O wakes up every few seconds and checks on time‑related events. This time interval is defined in Control‑O installation parameters and can be changed by the system administrator. In addition, the interval can be modified by operator command

Copy
F CONTROLO,INTERVAL=nn

where nn represents the interval in seconds.

If Control‑M is active at your site, it is recommended that you specify an interval shorter than the Control‑M sleeping interval.

It is recommended that the interval be modified by automatic commands that are invoked by the Control‑O monitor itself, according to set conditions and time ranges, and not manually by the operator.

The optimal sleeping interval depends on the processing power of the machine. Depending on the processing power of the machine, the sleeping interval should usually not be less than the number of seconds indicated in the following table:

Table 196 Sleeping Intervals per Machine

Machine

Sleeping Interval

For machines with less than 20 MIPS

10 seconds

For machines with 20 to 50 MIPS

5–6 seconds

For machines with over 50 MIPS

4 seconds

There is no practical benefit in setting the interval to less than the above minimum. Doing so can actually slow down the operation of Control‑O.

When the modification is accepted by Control‑O, the following message is displayed on the operator console:

Copy
CTO123I Control‑O INTERVAL IS SET TO nn SECONDS

Refreshing the Control-O Security Cache

Control‑O security modules use a security block to identify each user for which an authority check is performed. The first time a user’s security authorization is checked, Control‑O creates a security block for that user. The security block can then optionally be saved for the next time the user’s security authorization is checked.

Security blocks saved for subsequent checks are kept in the Control‑O Security Cache. The size of the security cache is defined in the RUNTCACH parameter in member CTOPARM. If 0 is specified for the RUNTCACH parameter, no security blocks are saved. For information, see the RUNTCACH parameter in the Control‑O chapter of the INCONTROL for z/OS Installation Guide: Installing.

The Control‑O Security Cache holds security blocks for only the last n users to have their security authorization checked, where n is the value specified for parameter RUNTCACH. For example, if parameter RUNTCACH contains a value of 10, the security cache holds a security block for each of the last ten users that were checked.

Changes made to a user’s security authorization since the last time that user’s security block was created are not automatically included in the information in the user’s security block in the Control‑O Security Cache. However if a user’s security authorization has been changed, and there is no security block in the Control‑O Security Cache for that user, changes made to the user’s security authorization are put into effect the next time that user’s security authorization is checked.

To immediately include new user authorization information in the Control‑O security cache, refresh the security cache using operator command

Copy
F CONTROLO,NEWSECDEF

This command refreshes all user authorization information in the Control‑O security cache.

When the modification is accepted, the following message is displayed on the operator console:

Copy
CTO251I RUNTIME SECURITY REFRESH ENDED OK

Problem Determination

Control‑O is supplied with internal debugging (trace) facilities that provide the ability to print an internal debugging trace and to print the contents of Control‑O internal data areas. Under normal circumstances, the trace facilities are dormant. However, if required (that is, if BMC Customer Support has requested debugging information), you can activate the trace facilities by performing the following steps:

Do one of the following:

  1. Start a new ControlO monitor with the following operator command:

    Copy
    S CONTROLO,TRACE=level

    The ControlO monitor passes control to the new ControlO monitor and shuts down.

  2. Issue the following operator command:

    The required trace level is supplied by BMC Customer Support. It can be any value from 000 to 255 (000 specifies no debugging).

    Copy
    F CONTROLO,TRACE=level

    You should not regularly activate ControlO with the TRACE parameter, because a JES problem may cause ControlO to become suspended while waiting for JES.

    Debugging information is printed to files referenced by DD statements DATRACE and DADUMP of the ControlO procedure.

  3. When you finish your problem determination procedures, start a new ControlO using operator command

    Copy
    S CONTROLO

    or specify operator command

    Copy
    F CONTROLO,TRACE=00

Print Control-O Internal Data Areas

To print a snapshot of Control‑O internal data areas, issue operator command

Copy
F CONTROLO,SNAP[=name1,name2 .....,namen]

where name1, name2,.... namen are the names of the Control‑O internal data areas.

When no name is specified, all data areas are printed. Your BMC Customer Support can provide you with the list of data area names, and can specify which areas must be printed depending on the problem encountered.

Table 197 Valid Values for Data Areas

Value

Value

Value

Value

Value

Value

Value

ALL

DLY

MTOLNK

MTOWSC

RQCALO

RQCSTO

STO

ALO

EXO

MTOMIX

MVS

RQCDLY

RQH

SWT

CAS

LINK

MTOMPT

OMT

RQCEXO

RULES

SYS

CDT

MAIN

MTOPLB

OPR

RQCFREE

SEC

UCM

CONLIST

MCT

MTOPND

PARM

RQCMTO

SLO

VARS

CONS

MTO

MTOPNX

PND

RQCRFR

SRV

WISHES

CONSOLE

MTOCOS

MTOSRV

RFR

RQCSLO

SSCT

WSC

COS

MTOINX

MTOSRVA

RQC

RQCSRV

SSVT

 

When the snap is completed, the following message is displayed on the console:

Copy
CTO150I SNAP COMMAND WAS PERFORMED SNAPID=xxxx

where xxxx is the snap identifying number (SNAPID) that is displayed at the lower right of the screen after the snap is completed.

Displaying Internal Resource Utilization Statistics

To obtain statistical information on internal resource utilization, issue the following operator command:

Copy
F CONTROLO,USAGESTATS[=type]

In this command, type designates the type of a specific internal resource.

Valid values for type in this command are RQC, PND, and WSC. When ALL is specified as a resource type, or when the parameter is omitted, information regarding all the above resource types is displayed.

The following is a typical sequence of messages displayed when this command is issued:

Copy
CTO356I USAGESTATS
CTO15EI RQC USAGE: CURRENTLY 1%, HIGHEST 1% (000001 AND 000019 OUT OF 010000)
CTO15EI PND USAGE: CURRENTLY 0%, HIGHEST 0% (000000 AND 000000 OUT OF 000011)
CTO15EI WSC USAGE: CURRENTLY 0%, HIGHEST 10% (000000 AND 000002 OUT OF 000020)
CTO357I COMMAND ENDED SUCCESSFULLY

For more information about these messages, see the INCONTROL for z/OS Messages Manual.

Control‑O users can tune the PND and WSC by adjusting the values of the WAITPR# and WSCs# parameters in the CTOPARM member. However, the RQC cannot be tuned. Look for any PTFs that correct problems handling RQC.

Displaying a Control-O Storage Table

To obtain information about Control‑O usage of internal storage areas, issue operator command

Copy
F CONTROLO,STORAGETABLE

Only issue this command if requested by your BMC Customer Support representative.

Information message CTO356I is issued in response to this command. The figure shows an example of this message.

Figure 69 Information Message CTO356I Example

Copy
CTO356I STORAGETABLE   NAME         ADDRESS  LEN(HEX)  LEN(DEC)
   DEST         00D495C8 00000108  00000264
   FMIX         00000000 00000000  00000000
   INX          0370A390 000000E8  00000232
   MIX          036C0D28 00000504  00001284
   MSGB         00045190 00018E70  00102000
   PND          0358BAC8 00021534  00136500
   SRVR         03673EB8 00001144  00004420
   WSC          03614000 0001E000  00122880
   NETMAP       00C014A0 00003B60  00015200
   CTOWTO       831B3600 0002AA10  00174608 12/21/00 16.56 BO0709
   CTOAIDT      00BA6D58 000082B8  00033464 12/06/00 12.18 WO0818
   CTOALT       80B8FEC0 00003140  00012608 11/16/00 12.37
   CTOMTO       00006FB0 0003E050  00254032 01/09/01 13.15

For more information about these messages, see the INCONTROL for z/OS Messages Manual.

Control‑O users can tune the PND and WSC by adjusting the values of the WAITPR# and WSCs# parameters in the CTOPARM member. However, the RQC cannot be tuned. Look for any PTFs that correct problems handling RQC.

Displaying Major Control-O Blocks

To display information about major blocks used by Control‑O, issue operator command

Copy
F  CONTROLO,SHOWPARM

Only issue this command if requested by your local BMC Customer Support.

Information messages similar to the following are issued in response to this command:

Copy
CTO000I CTOPARM :CTOPARM  - 11/22/00 18.32 - Control‑O, REL 6.1.00      
CTO000I IOAPARM :IOAP 11/23/00 17.03 6.1.00
CTO000I CTMPARM :CTMP 11/23/00 17.03 6.1.00
CTO000I CTOPARM AT 000414F8
CTO000I ****....... CTOPARM  - 11/22/00 18.32 - Control‑O, REL 6.1.00
CTO000I FLAGS...... CTM         CTOQNAME... O51TROLO    INTERVAL... 0000040
CTO000I DAYTIME.... +1200       STSFL...... 0

The first messages issued indicate the compilation date and level of existing CTOPARM, IOAPARM and CTMPARM blocks.

Additional information (for example, the address of blocks in ECSA storage) is supplied in subsequent messages.

Changing Control-O’s Operating Mode

A special Control‑O operator command can be used to modify the operating mode of Control‑O. Under normal circumstances, Control‑O operating mode must not be modified. However, if severe Control‑O problems are detected and BMC Customer Support representative has requested debugging information, these commands can help isolate and solve the problem.

Use the following operator command to modify the Control‑O operating mode:

Copy
F CONTROLO,MODE[=modename]

where modename is the mode in which Control‑O must be run. The following modes can be specified:

Table 198 Control-O Operating Modes

Mode

Description

blank

Displays the current operating mode of Control‑O. Under normal circumstances, the following message is issued in response to this command:

Copy
CTO138I Control‑O OPERATING MODE IS NORMAL

FREEZE

Freezes all Control‑O automatic processes. No rules are activated and rules that are currently running (for example, they are paused due to a DO WAIT statement) are frozen. In FREEZE mode, messages and commands are not analyzed by Control‑O and the Automation Log (Screen OL) does not display any new messages or commands.

LOGONLY

Stops all Control‑O automatic processes. No rules are activated and rules that are currently running (for example, they are paused due to a DO WAIT statement) are frozen. In LOGONLY mode, no messages or commands are analyzed by Control‑O. However, the Automation log (Screen OL) displays all new messages and commands.

TRIGGERONLY

Stops all Control‑O automatic processes. No rules are activated and rules that are currently running (for example, they are paused due to a DO WAIT statement) are frozen. However, Control‑O examines rules to determine if they must be activated.

In TRIGGERONLY mode, the Automation log (Screen OL) displays all new messages and commands and indicates what actions (that is, rules) would have been performed if Control‑O were operating in NORMAL mode.

RESUME, option

Returns Control‑O to NORMAL mode. All automatic processes are resumed. The option appended to this command determines whether to continue rules that were running when the automatic processes were interrupted.
Valid options:

  • CONTINUE - Continue running interrupted rules.

  • CANCEL - Abort interrupted rules.

The longer Control‑O automatic processes are halted (due to a MODE command), the more likely Control‑O’s examination of messages and commands will result in unexpected actions. Therefore, it is recommended that you stop Control‑O (using command P CONTROLO) and start Control‑O (using command S CONTROLO) as soon as a debugging session is complete.

Reacting to Events in a Sysplex Environment

Messages in a SYSPLEX Environment

Depending on the system configuration of a SYSPLEX environment, a message may be sent to another system. The SYSPLEX definition requires that at least one active console that is eligible to receive the message will be on the receiving system. This is done in order to reduce the overhead of distributing the message to too many systems unnecessarily.

Messages from another system are not logged in the system SYSLOG. They are logged on the SYSLOG of the original system and on the OPERLOG, if in use.

Control-O calls a message from another system a REISSUED message. The IBM term for such a message is a reissued or foreign message.

Control-O rules can be triggered for a reissued message only if the SYSTEM field in the ON MESSAGE, ON STRING, ON JOBARRIV, and ON JOBEND statements are set.

If the SYSTEM field is not set, the current system is assumed and therefore only messages from the current system will trigger the rule.

Control-O logs reissued messages in the Automation Log only if a rule is triggered for the reissued message.

In order to identify a reissued message, the following fields in the Automation Log should be set:

  • SYSTEM = Original system name.

  • SMFID = Current system SMFID. Control-O does not know the SMFID of the original system.

  • J3FLG = R. The reissued or foreign message flag is on.

Commands in a SYSPLEX Environment

A command in a SYSPLEX environment is not send automatically to another member of the SYSPLEX. To send the command to another system, the user who entered the command must use the ROUTE command or system affinity character before the command.

  • Control-O on the original system controls the route command or the command with the affinity character.

  • Control-O on the receiving system receives the route command or the command with the affinity character

For example:

Copy
ROUTE SYSA,D T

The Control-O rule on the original system should be:

Copy
ON COMMAND ROUTE SYSA,*

The Control-O rule on system SYSA should be:

Copy
ON COMMAND DISPLAY T

The Control-O that receives the command has no indication that the command was originally issued from another system.

Other Control-O events in a SYSPLEX Environment

Other Control-O events like DSNEVENT, STEP, SYSOUT or MVALARM causes when the executing JOB or STC issues the event. That event can be triggered only by Control-O on the system where the job or STCs are executing.

In addition, Control-O roles that are triggered to messages from CICS, IMS and SYSOUTs are triggered on the system where the event occurred.

Customization of Automation Options

Automation Options (AOP) screens can be modified and new screens defined to meet site requirements. For a description of the Automation Options facility, see the introduction and online facilities chapters in the Control‑O User Guide.

AOP Overview

The Automation Options facility is comprised of the following components:

  • Menu Definition Members

    Each menu definition is written in a member containing parameters (keywords and values) that describe the options in the menu. The following are defined for each option:

    • the name of the option

    • parameters that define the format of the display line

    • the name of the program to be executed or, for a submenu, name of the member containing the submenu definition

    Each Automation Option must have a menu definition member in the IOA MSG library. The name of this member must be the name of the menu, prefixed by ##. For example, the definition for menu OPER must reside in member ##OPER.

    • The main Automation Options menu is defined in member ##AOP.

    • To update or add an Automation Option, it is necessary to access the appropriate menu definition member and modify it.

  • Format Members

    Formats describe how lines provided by a client program are to be displayed on the screen. The format of the primary Automation Options screen provided by Control-O is specified in member $$AOP in the IOA MSG library. The user can write new formats and save them as members in the MSG library.

    • To avoid problems in the execution of the Automated Options facility, do not modify member $$AOP.

  • Client programs

    Client programs can be any independent load module, TSO CLIST, or REXX EXEC, which the Automation Options facility invokes either to perform functions or to provide lines to be displayed.

Menus

Update the appropriate member in the IOA MSG library with the parameters of the new options. Each parameter described in this section defines a line in the specification of the new Automation Option.

Menu Member Syntax

The following syntax rules must be considered when defining menus of new options:

  • A menu statement consists of one or more lines, each with of a maximum of 72 columns.

  • Each menu statement is comprised of a parameter (keyword and its value), separated by one or several blank spaces. Parameters can be specified in uppercase or lowercase.

  • Data can be specified anywhere between columns 1 and 71.

  • A non-blank character in column 72 indicates that the statement is continued on the next line.

  • Data on continuation lines must start at column 16.

An asterisk (*) in column 1 specifies that the line is a comment.

AOP Parameters

Table 199 Mandatory Parameters

Parameter

Description

OPTION

Name of the option (from one to eight characters) as it is displayed in the menu screen, or NULL if it is a submenu member. OPTION must be unique within the menu member. Mandatory.

The OPTION parameter heads a group of statements. The group ends when a new OPTION parameter or the end of file is encountered.

OPTION USERINFO

The OPTION statement can include subparameters to define special option attributes. Optional subparameters are:

PAD – Default. When specified, the length of local AutoEdit variable Pn, based on a PROMPT line, calculated according to following rules:

  • for all PROMPT lines, except the last one, it is assumed to be the length of corresponding PROMPT line, regardless of the entered string;

  • for the last PROMPT line, it is the actual length of the entered variable.

NOPAD – Actual length of the entered string will be calculated for every PROMPT line in the current group of statements.

Example:    

Copy
 OPTION USERINFO NOPAD

DESC

Description of the option as it is displayed in the menu screen, or NULL if it is a submenu member. DESC is a string of 1 to 70 characters, enclosed in single quotes. Mandatory.

DESC ‘Query USER database’

LINECMD

Line command character. This character defines the line command used to select the option to be executed from the Automation Options entry panel.

The line command character can be any character (with the exception of ?) that does not invoke the client program. When selected, ? displays the prompt window.

LINECMD heads a subgroup of statements that define actions to be performed when the specified line command is entered. The subgroup ends when a new LINECMD, new OPTION, or end of file is encountered.

At least one LINECMD must be specified within an OPTION group of statements. The following parameters help define the LINECMD subgroup: PROGRAM, PROMPT, PARM, RETURNS, FORMAT, OPTLIST. They are described in this table and in the following table.

PROGRAM

Program name (from one to eight characters). Mandatory within a subgroup of statements headed by a LINECMD statement. PROGRAM names a client program that is invoked when the preceding line command LINECMD is entered. The program can be any regular load module, a TSO CLIST, or a REXX EXEC. The PROGRAM statement can include subparameters to define special program attributes. When no subparameters are specified, the client program performs according to Automation Options standard linkage conventions (described in member DOCOAOCP in the IOA DOC library) and is called an AOP program.

Subparameters of PROGRAM are:

  • IMMEDIATE – Prompt window is not displayed. If parameters are specified, they are passed directly to the program.

  • NOSCREEN – Display lines are not returned. (The client program may perform its own terminal I/O without using the Automation Options facility.) Programs specifying NOSCREEN can be invoked only under TSO.

  • ISPFENV – Valid ISPF environment is required. Programs specifying ISPFENV can be invoked only under ISPF.

  • TSOCP – Client program is invoked as a TSO command processor.

  • EXECPGM – Parameters are passed to the program in the format of the PARM statement of a JCL EXEC program.

  • REFRKEY – Definition of function keys for REFRESH action. Valid values: ENTER and PF04/PF16. Default: PF04/PF16.

Table 200 Optional Parameters

Parameter

Description

SUBMENU

Name of another MENU member used by the program. For details, see SubMenu Examples.

PROMPT

Request for data to be passed to the client program. Optional. A maximum of 14 PROMPT statements can be specified.

Each prompt entered by the user creates a local AutoEdit variable named Pn (where n is a number from 1 to 14).

When the LINECMD character is specified and at least one PROMPT parameter has been specified, a prompt window is opened with as many prompt lines as PROMPT parameters in the menu. The user fills in the required input and presses Enter, thus calling the client program. The answers to the prompts are passed to the client program as an array unless the PARM parameter (see entry in this table) is specified. For a description of the format, see PROMPT Format and PROMPT Examples .

SET

String delimited by two identical characters (for example, both SET /xxx/ and SET 'xxx' are valid; SET /xxx' is invalid since the delimiters of the string are not identical).

Optional. A maximum of 10 SET statements can be specified.

This parameter assigns a value to a local AutoEdit variable (or performs AutoEdit functions). Similar to the SET subparameter in the DO SET statement.

Local variables exist only for the current execution of the OA option.

You can modify the parameters entered using the PROMPT statement.

New local variables can be created for use in the PARM statement.

Copy
 PROMPT   '  COMMAND       ===>',4 PROMPT   '                ===>',3
 SET      '%%A1=%%$SUBSTR %%P1 1 3'
 SET      '%%A2=%%$SUBSTR %%$TIME 1 3'
 SET      '%%A3=%%$DATE'
 PARM     '%%P1.%%P2.%%A1%%.%%$BLANK.%%A2.%%$BLANK.%%A3'

PARM

String delimited by two identical characters (for example, both PARM /xxx/ and PARM ‘xxx’ are valid; PARM /xxx’ is invalid since the delimiters of the string are not identical).

The string contains input parameters that are required by the client program. Data between the delimiters can consist of any characters, except the character chosen as delimiter, The string can include special AutoEdit variables %%Pn and %%., where

%%Pn is the value assigned to PROMPT number n.

%%. is a special variable used to concatenate two AutoEdit variables.

For more information, see PROMPT Examples .

RETURNS

String, delimited by quotes (maximum 200 characters), that defines the layout of a line of display. Optional. Default is: 1 LINE +77. If display type A exists in the format member of the option, it must contain the name of all the variables defined here.

The string is a simple Control‑O template that names the format variables and their positions in the displayed line. Variable names must not exceed eight characters and their positions must be specified numerically only. (For detailed information on templates, see the %%$PARSE function in the AutoEdit chapter of the Control‑O User Guide.)

For each variable on the template, the following fields must be specified:

starting position—starting position of the variable on the template string (character)

variable name—name of the variable (in uppercase)

length—length of the variable (in characters)

For more details, see RETURNS Example.

FORMAT

Name of the format member (from one to eight characters) used for displaying the lines returned from the client program. Format member name must begin with $$, in accordance with Automation Options conventions. Optional. FORMAT is ignored if specified in a menu together with subparameters

Copy
NOSCREEN, TSOCP, or EXECPGM.
Copy
FORMAT $$UINFO

$$UINFO is the format member for use in displaying the return lines.

OPTLIST

Name of a lower level menu member (from one to eight characters). Optional. To process a lower level menu, invoke the supplied program CTOTAMN and specify the $$AOP format member (or a similar format member) to display your customized Automation Options screen. OPTLIST must begin with ##, in accordance with Automation Options conventions.

SubMenu Examples

Copy
PROMPT   '  COMMAND       ===>',4                         
PROMPT   '                ===>',3                         
SET      '%%A1=%%$SUBSTR %%P1 1 3'                        
SET      '%%A2=%%$SUBSTR %%$TIME 1 3'                     
SET      '%%A3=%%$DATE'                                   
PARM     '%%P1.%%P2.%%A1%%.%%$BLANK.%%A2.%%$BLANK.%%A3'   
Copy
PROGRAM AOPGUINF

Client program retrieves user information that is displayed later on the screen.

Copy
PROGRAM SDSF IMMEDIATE NOSCREEN TSOCP

TSO command processor does not receive any prompts and performs its own terminal I/O.

Copy
PROGRAM CLIST1 IMMEDIATE NOSCREEN TSOCP

TSO CLIST does not receive any prompts and performs its own terminal I/O.

Copy
PROGRAM CTOTAMN
OPTLIST ##SAMPLE

Invoke supplied program CTOTAMN to display the submenu defined in member ##SAMPLE.

Copy
PROGRAM  CTOTPB1 SUBMENU(##PBOOK2)

The CTOTPB1 program uses ##PBOOK2 as a menu to the list it shows on the screen so another program or service can be invoked from the next menu level.

PROMPT Format

Copy
PROMPT data1,length,data2

Table 201 Fields for PROMPT

Field

Description

data1

String of 1 to 20 characters between quotes. It is considered a comment, and can be used to describe the required input. Mandatory.

length

Number (0 through 44) specifying the length of the prompt input field. Mandatory.

data2

String in quotes specifying the prompt’s initial value. Optional. If this field is specified, its length must be less than or equal to length. Default value is blanks.

PROMPT Examples

Copy
PROMPT 'User name ====>>',8

The user is prompted to enter an eight-byte input field. The field is initialized to blanks.

Copy
PROMPT 'Department ====>>',20,'TECH-SUPPORT'

The user is prompted to enter a 20-byte input field. The field is initialized to the value of ‘TECH-SUPPORT’ padded to the right with blanks.

PARM Examples

Functions such as %%$SUBSTR can also be specified.

After AutoEdit symbols have been resolved, the string’s length cannot exceed 255 characters.

Copy
PARM #00' '77#

Passes to the client program the value: 00‘ ’77

Copy
QUERY,USERID=UserA,DEPARTMENT=TECH-SUPPORT

The first parameter is blank and the second parameter is TECH- SUPPORT.

If the user enters UserA on the first PROMPT line, leaves the second PROMPT line unchanged, and presses Enter, the following string is passed to the program:

When both PROMPT and PARM statements are specified, their order within the menu is not important; however, the data is passed to the program as specified in the PARM statement.

Copy
PROMPT 'User name ====>>', 8
PROMPT 'Department ====>>',20,'TECH-SUPPORT'
PARM /QUERY,USERID=%%P1,DEPARTMENT=%%P2/

RETURNS Example

Divide the returned lines into the following displayable variables:

Table 202 Variables that Can Be Displayed

Variable

Description

FIRSTNME

Begins in column 1 and its length is 8 characters.

LASTNME

Begins in column 20 and its length is 12 characters.

ADDRESS

Begins in column 60 and its length is 35 characters.

Copy
RETURNS '1 FIRSTNME +8 20 LASTNME +12 60 ADDRESS +35'

These variables must be defined in the corresponding format member.

RETURNS cannot be specified for programs specifying NOSCREEN.

Example of Menu

Copy
OPTION USERINFODESC 'Query USER database'
LINECMD S
PROGRAM CTOTAMN
OPTLIST ##UINFO FORMAT $$AOP
RETURNS '1 OPTION +8 9 DESC +60'

When option USERINFO is selected by specifying S in the select option field of the Automation Options screen, the user-defined Automation Options specified in the ##UINFO menu member are displayed in a new screen.

Format Members

Format members are used to format the lines displayed on the screen. For details on how to define and customize format members, see IOA Administration

The first @FIELD in each @LINE must be SAOPLCMD. The other @FIELDs in each @LINE must contain variables that match those in the RETURNS statement of the menu.

Client Programs

A client program is a load module, TSO CLIST, or REXX EXEC that is invoked by the Automation Options facility when selected by a line command character (other than ?). Client programs can be called, with or without parameters, to perform a function and then return without displaying lines.

Sophisticated AOP programs receive parameters using PROMPTs or PARM statements, and return lines for display or as a submenu to have more selections or action windows. Before a program is called, the Automation Options facility reviews program attributes in the menu and takes special actions if necessary.

Examples

If ISPFENV is specified, the Automation Options facility ensures that a valid ISPF environment exists before invoking the client program.

If IMMEDIATE is specified, the Automation Options facility checks the PROMPTs and the PARM specification in the menu, if any, and passes the data to the client program without displaying it on the screen.

General registers 1 through 15 contain the following information at the time of entry to the client program:

Table 203 Information Stored in Registers 1 Through 15

Register

Description

R15

Entry point of the called program

R14

Return address

R13

Address of save area

R1

Address of input data

R0

N/A

R2–R12

N/A

Program Input

The program input varies according to the type of client program: EXECPGM, TSOCP, or AOP or SUBMENU. A full description of the input data is included in member DOCOAOCP in the DOC library.

Execution Process

Client programs of the TSOCP or EXECPGM type must follow these rules:

  • Consider the program to be an extension of IOA. Because it runs under IOA, an abend of the client program triggers an abend of the IOA session. Storage overlays within the program may produce unpredictable results.

  • Registers must be saved and restored according to standard IBM conventions.

  • Areas acquired by the program during execution must be released before returning to the Automation Options facility. Failure to follow this rule may result in storage buildup and cause abends.

  • CLISTs and REXX EXECs can be used under MVS/XA or higher level operating systems.

  • Client programs that are not of type TSOCP or EXECPGM are called AOP programs. A full description of the execution process of an AOP program is included in member DOCOAOCP in the DOC library.

Client Program Linkage Conventions

Client programs that do not specify attributes NOSCREEN, TSOCP, EXECPGM or SUBMENU, return a set of lines to the Automation Options facility. These lines are displayed according to the parameters specified in the format member referenced by the FORMAT statement in the menu definition member.

Client programs that specify attribute SUBMENU return a list of menu option lines to the Automation Options facility. These menu option lines are displayed according to the parameters specified in the OPTION member named by the SUBMENU keyword in the FORMAT member. You can specify line commands for each line of the submenu.

A full description of the Client Program Linkage Conventions for an AOP program is included in member DOCOAOCP in the IOA DOC library.

An example of SUBMENU usage (using a phone book scenario) can be found in member CTOTPB$ in the IOA SAMPLE library.

Control-O and Control-M in the Same INCONTROL Environment

The following topics discuss issues to consider when both Control‑O and Control‑M are running in the same INCONTROL environment.

After Installing Control-O and Control-M

When Control‑O and Control‑M are running together, the Control‑O monitor assumes the responsibilities of both the CMEM facility and Control‑O. The way in which the Control‑O monitor functions depends on how organizational requirements, scheduling, and automation have been addressed at your site.

The following table describes the DD statements in the Control‑O startup procedure that are relevant to this issue:

Table 204 Relevant DD Statements in Control-O Startup Procedure

Statement

Description

DARULLST

References a member containing the list of Control‑O rule tables to be loaded by the Control‑O monitor. The default name for this member is RULELIST.

DACTMLST

References a member containing the list of CMEM rule tables to be loaded by the Control‑O monitor. The default name for this member is IOACMEML.

The Control‑O monitor can operate in the following ways:

  • If all automation was implemented using only the Online ControlO Rule Definition facility, and the CMEM facility was not used, start ControlO using operator command

    Copy
    S CONTROLO

    ControlO loads the rule tables listed in the member referenced by DD statement DARULLST. The member referenced by DD statement DACTMLST must be empty.

  • If automation was implemented using both the ControlO Rule Definition facility and the CMEM facility, start ControlO using operator command

    Copy
    S CONTROLO

    ControlO first loads the CMEM rule tables listed in the member referenced by DD statement DACTMLST. ControlO then loads the ControlO rule tables listed in the member referenced by DD statement DARULLST.

  • If automation was implemented using both the ControlO Rule Definition facility and the CMEM facility but, temporarily, only CMEM functionality is desired (for example, for a trial period), start ControlO using the following operator command:

    Copy
    SCONTROLO,TYPE=CTOCMEM

    This command causes the ControlO monitor to load only CMEM rule tables. ControlO loads the CMEM rule tables listed in the member referenced by DD statement DACTMLST. Loading of ControlO tables is skipped. Do not use this mode of operation on a long-term basis.

More information on the management of the CMEM facility by the Control‑O monitor is provided at the beginning of this chapter.

Accessing the Control-M API

If a Control‑O rule queries the Control‑M Active Jobs file (AJF) or the Control‑M Resources file, it accesses them through the Control‑M API (CTMAPI).

When maintenance of the AJF and Control‑M Resources file is required, you can stop and restart Control‑O allocation of the AJF and the Control‑M Resources file through the CTMAPI, without having to stop Control‑O. To do this, use the following commands:

Table 205 Commands to Control Access of the CTMAPI

Command

Description

Copy
F CONTROLO,CTMAPISTOP

Stops Control‑O usage of the CTMAPI, thereby deallocating the AJF and Control‑M Resources file.

Copy
F CONTROLO,CTMAPISTART

Enables the CTMAPI to allocate the AJF and/or Control‑M Resources file the next time a Control‑O rule requests information.

The first time a rule requests information, the CTMAPI allocates the AJF and/or Control‑M Resources file to Control‑O, which remain allocated until specifically stopped with the F CONTROLO,CTMAPISTOP command.

For a description of the messages generated by these commands, see the INCONTROL for z/OS Messages Manual.

Control-O/CICS Interface

Although regular Control‑O processing can handle CICS messages that are sent to the MVS console, most CICS messages are not sent to the MVS console. CICS sends messages to an internal component called the Transient Data Queue and sometimes to the user console as well.

The Control‑O/CICS interface enables you to retrieve these messages.

CICS commands are executed in a CICS transaction. There is no CICS exit that handles CICS system commands. Therefore, the Control‑O CICS interface cannot handle CICS system commands.

Control-O Interface for the CICS Environment

The Control‑O/CICS interface uses the CICS XTDOUT exit to intercept CICS messages that are to be sent to the Transient Data Queue. This exit receives control before each message is written to the Transient Data Queue and passes it to the Control‑O/CICS interface module CTOCTDX. Module CTOCTDX passes the message to the Control‑O WTO executor module (CTOWTO) as a WTO message. Module CTOWTO determines whether the message must be untouched, changed, or suppressed (that is, not written to the Transient Data Queue).

Starting the Interface

The Control‑O/CICS interface can be started in either of the following ways:

Table 206 Methods for Starting Control-O/CICS

Method

Description

Manual start

Issue the following CICS transaction:

Copy
IOAC INIT

Automatic start

Define the CTOCTDT program in the CICS DFHPLTPI table. This ensures that the Control‑O/CICS interface is started when CICS is brought up.

IOAC Transaction Options

The table describes the options that can be specified for a CICS IOAC transaction.

Table 207 Methods for Starting Control-O/CICS

Option

Description

INIT

Start the Control‑O/CICS interface.

INIT, TRACE=ON

Start the Control‑O/CICS interface. Issue trace messages describing the operation of the Control‑O/CICS interface. Resulting messages are added to the CICS job log, and are displayed on the console.

SHUT

Stop the Control‑O/CICS interface.

TRACE=ON

Issue trace messages describing the operation of the Control‑O/CICS interface. Resulting messages are added to the CICS job log, and are displayed on the console.

TRACE=OFF

Stop issuing trace messages describing the Control‑O/CICS interface.

Control-O/IMS Interface

Although regular Control‑O processing can handle IMS messages that are sent to the MVS console, most IMS messages are not sent to the MVS console. IMS messages that are not sent to the MVS console are sent to an internal component called the Automated Operations Interface (AOI). The Control‑O/IMS interface enables you to retrieve and respond to these messages.

Depending on the IMS version in use at your site, one of the following IMS AOI programs is used to handle messages:

Table 208 IMS AOI Programs for Handling Messages

Program

Description

DFSAOEU0

This exit does not handle messages and commands in IMS DBCTL (the IMS address space in the CICS environment).

DFSAOE00

This exit handles messages in all IMS address spaces.

These programs are supplied with Control‑O and are implemented during Control‑O installation. These programs intercept IMS messages sent to the IMS Automation Interface and pass them to Control‑O WTO executor module CTOWTO. The CTOWTO module determines whether the message must be untouched, changed, or suppressed.

Operating the Control-O/IMS Interface

The Control‑O/IMS interface is implemented using the Automated Operations Interface (AOI). AOI starts when the IMS environment is initiated, if either module DFSAOUE0 is link-edited into the IMS nucleus or module DFSAOE00 is found in the IMS RESLIB library.

The AOI can be stopped in either of the following ways:

  • Stop the IMS environment and delete module DFSAOE00 from the IMS RESLIB library.

  • Stop the ControlO/IMS interface using a ControlO/IMS command.

Control-O/IMS Commands

The Control‑O/IMS interface is activated when IMS is brought up. The following table describes the commands that can be used with Control‑O/IMS interface module DFSAOE00:

Table 209 Commands for Use with Control-O/IMS Interface Module

Command

Description

/DIS CTO STOP

Stop the Control‑O/IMS interface module DFSAOE00.

/DIS CTO START

Reactivate interface module DFSAOE00.

/DIS CTO CANCEL

Terminate interface module DFSAOE00. If the interface module is terminated using this command, it cannot be reactivated until IMS is brought down and restarted.

Control‑O/IMS commands are relevant only for IMS version 5 and later.

Control-O MAINVIEW Alarm Interface

Control‑O provides a special interface to support ON MVALARM events originating from the MAINVIEW Alarm environment. For a description of the ON MVALARM parameter, see the chapter that discusses rule parameters in the Control‑O User Guide.

Controlling MAINVIEW Alarm Support (ON MVALARM Rules)

The AutoOPERATOR interface is shared among all Control-O installations in a site, whether or not the Control-O version is 6.2 or later. The first Control-O subsystem to initialize among all Control-O installations loads the AutoOPERATOR interface module into common storage, which is later used by all other Control-O subsystems. Upon startup, each subsystem registers itself with the AutoOPERATOR interface. This registration mechanism enables the AutoOPERATOR interface to recognize all available Control-O subsystems and to call them when the AutoOPERATOR interface is driven.

When a Control-O subsystem shuts down, it removes itself from the MAINVIEW interface. The last Control-O subsystem to shut down completely removes the AutoOPERATOR interface from common storage.

Control-O MAINVIEW Commands

Control‑O enables the operator to start and stop the MAINVIEW interface using the Modify operator command. The following operator commands are available:

Copy
F CONTROLO,STARTMVI
F,CONTROLO,STOPMVI,FORCE

Starting the MAINVIEW Interface

The STARTMVI command instructs a Control‑O subsystem to restart the MAINVIEW interface. This includes a possible initialization of the interface, if it has not yet been initialized by another subsystem or registration of the current subsystem in the MAINVIEW interface. If the STARTMVI command is issued for a subsystem that is already registered with the MAINVIEW interface, the following message is displayed:

Copy
CTO848I SUBSYSTEM ALREADY REGISTERED WITH MAINVIEW
        INTERFACE

Stopping the MAINVIEW Interface

The STOPMVI command instructs a Control‑O subsystem to deactivate the MAINVIEW interface. This includes removing the registration of the current subsystem from the MAINVIEW interface, and possibly removing the MAINVIEW interface from common storage, if no other subsystems are using it. When issuing the STOPMVI command for a subsystem that is not registered with the MAINVIEW interface, the following message is displayed:

Copy
MTO84HW SUBSYSTEM NOT REMOVED FROM MAINVIEW
        INTERFACE: SUBSYSTEM NOT FOUND

When issuing the STOPMVI command when no MAINVIEW interface is present, the following message is displayed:

Copy
MTO84GW MAINVIEW INTERFACE MODULE NOT INSTALLED

Forcing the MAINVIEW Interface to Stop

The STOPMVI,FORCE command instructs Control‑O to remove the MAINVIEW interface from common storage, regardless of any registered subsystems.

Control‑O also provides a procedure named CTOMVDSC that can be started from the console using the START command. This procedure acts like a STOPMVI,FORCE command, and removes the MAINVIEW interface regardless of any registered subsystems.

The STOPMVI,FORCE command and the CTOMVDSC procedure must be used only in case of emergency.

Control-O MAINVIEW AutoOPERATOR interface

Control-O and CMEM provide a special interface to support MAINVIEW AutoOPERATOR version 5.1 and later, using the ON AOREQ rule to enable AutoOPERATOR to communicate with Control-M, Control-D, and IOA through Control-O rules.

The AOREQ rule is part of the AutoOPERATOR product.

For a description of the ON AOREQ parameter, see the chapter that discusses rule parameters in the Control-O User Guide.

Controlling MAINVIEW AutoOPERATOR support (ON AOREQ rules)

Controlling MAINVIEW Alarm Support (ON MVALARM Rules)

The AutoOPERATOR interface is shared among all Control-O installations in a site, whether or not the Control-O version is 6.2 or later. The first Control-O subsystem to initialize among all Control-O installations loads the AutoOPERATOR interface module into common storage, which is later used by all other Control-O subsystems. Upon startup, each subsystem registers itself with the AutoOPERATOR interface. This registration mechanism enables the AutoOPERATOR interface to recognize all available Control-O subsystems and to call them when the AutoOPERATOR interface is driven.

When a Control-O subsystem shuts down, it removes itself from the MAINVIEW interface. The last Control-O subsystem to shut down completely removes the AutoOPERATOR interface from common storage.

Starting the AutoOPERATOR interface

The STARTAAO command instructs a Control-O subsystem to restart the AutoOPERATOR interface. This includes a possible initialization of the interface, if it was not yet initialized by another subsystem or by registration of the current subsystem in the AutoOPERATOR interface.

Either of the following message sequences indicates a successful installation of the AutoOPERATOR interface:

  • for the first Control-O subsystem to initialize:

    Copy
    CTO83AI INITIALIZATION OF AUTOOPERATOR SUPPORT STARTED          
    CTO83EI SUBSYSTEM REGISTERED WITH AUTOOPERATOR INTERFACE        
    CTO83FI INITIALIZATION OF AUTOOPERATOR SUPPORT ENDED SUCCESSFULLY
  • for any subsequent Control-O subsystem that initializes:

    Copy
    CTO83EI SUBSYSTEM REGISTERED WITH AUTOOPERATOR INTERFACE        
    CTO83FI INITIALIZATION OF AUTOOPERATOR SUPPORT ENDED SUCCESSFULLY

Stopping the AutoOPERATOR interface

The STOPAAO command instructs a Control-O subsystem to deactivate the AutoOPERATOR interface. This includes removing the registration of the current subsystem from the AutoOPERATOR interface, and possibly removing the AutoOPERATOR interface from common storage, if no other subsystems are using it.

Either one of the following message sequences indicates a successful deactivation of the MAINVIEW interface:

  • For all but the last Control-O subsystem to shut down:

    Copy
    CTO83KI DEACTIVATION OF AUTOOPERATOR SUPPORT STARTED             
    CTO83OI SUBSYSTEM REGISTRATION REMOVED FROM AUTOOPERATOR INTERFACE
    CTO83QI DEACTIVATION OF AUTOOPERATOR SUPPORT ENDED SUCCESSFULLY  
  • for the last Control-O subsystem that shuts down:

    Copy
    CTO83OI SUBSYSTEM REGISTRATION REMOVED FROM AUTOOPERATOR INTERFACE
    CTO83QI DEACTIVATION OF AUTOOPERATOR SUPPORT ENDED SUCCESSFULLY  

Forcing the AutoOPERATOR interface to stop

The STOPAAO,FORCE command instructs Control-O to remove the AutoOPERATOR interface from common storage, regardless of any registered subsystems.

Use the STOPAAO,FORCE command only in case of emergency.

Control-O SMS Interface

Control‑O provides a special interface to support ON SMS events originating from SMS ACS exit routines.

Controlling SMS Support (ON SMS Rules)

The SMS interface is shared among all Control‑O installations in the site and therefore is version-independent. The first Control‑O subsystem to initialize loads the SMS interface module to common storage that is later used by all other Control‑O subsystems. Every subsystem, upon startup, registers itself with the SMS interface. This registration mechanism allows the SMS interface to recognize all available Control‑O subsystems and to call them when one of the provided ACS exit routines is driven.

When a Control‑O subsystem shuts down, it removes itself from the SMS interface. The last Control‑O subsystem to shut down also removes the SMS interface completely from common storage.

Either of the following message sequences indicates a successful installation of the SMS interface:

  • for the first ControlO subsystem to initialize

    Copy
    CTO820I INITIALIZATION OF SMS SUPPORT STARTED
    CTO821I SMS INTERFACE MODULE SUCCESSFULLY LOADED
    CTO822I SUBSYSTEM REGISTERED WITH SMS INTERFACE
    CTO823I INITIALIZATION OF SMS SUPPORT ENDED
            SUCCESSFULLY
  • for any subsequent ControlO subsystem that initializes

    Copy
    CTO820I INITIALIZATION OF SMS SUPPORT STARTED
    CTO822I SUBSYSTEM REGISTERED WITH SMS INTERFACE
    CTO823I INITIALIZATION OF SMS SUPPORT ENDED
            SUCCESSFULLY

Either one of the following message sequences indicates a successful deactivation of the SMS interface:

  • for any ControlO subsystem to shut down, except for the last in the system

    Copy
    CTO830I DEACTIVATION OF SMS SUPPORT STARTED
    CTO831I SUBSYSTEM REMOVED FROM SMS INTERFACE
    CTO833I DEACTIVATION OF SMS SUPPORT ENDED
            SUCCESSFULLY
  • for the last ControlO subsystem that shuts down

    Copy
    CTO830I DEACTIVATION OF SMS SUPPORT STARTED
    CTO831I SUBSYSTEM REMOVED FROM SMS INTERFACE
    CTO832I SMS INTERFACE MODULE REMOVED
    CTO833I DEACTIVATION OF SMS SUPPORT ENDED
            SUCCESSFULLY

Control-O/SMS Commands

Control‑O provides means for the operator to start and stop the SMS interface using the Modify operator command.

Usually, there is no need to intervene with the default processing taken by Control‑O. The following operator commands are available:

Copy
F CONTROLO,STARTSMS
F,CONTROLO,STOPSMS,FORCE

The STARTSMS command instructs a Control‑O subsystem to restart the SMS interface. This includes a possible initialization of the interface (if it has not yet been initialized by another subsystem), and/or registration of the current subsystem in the SMS interface. If the STARTSMS command is issued against a subsystem that is already registered with the SMS interface, the following message is issued:

Copy
CTO828I SUBSYSTEM ALREADY REGISTERED WITH SMS
        INTERFACE

The STOPSMS command instructs a Control‑O subsystem to deactivate the SMS interface. This includes unregistration of the current subsystem from the SMS interface, and a possible removal of the SMS interface from common storage, if no other subsystems use it. When issuing the STOPSMS command against a subsystem that is not registered with the SMS interface, the following message is issued:

Copy
MTO836W SUBSYSTEM NOT REMOVED FROM SMS
        INTERFACE: SUBSYSTEM NOT FOUND

When issuing the STOPSMS command when no SMS interface is present, the following message is issued:

Copy
MTO835W SMS INTERFACE MODULE NOT INSTALLED

The STOPSMS,FORCE command instructs Control‑O to remove the SMS interface from common storage, regardless of any registered subsystems.

Control‑O also provides a started procedure named CTOSMDSC that can be started from the console using the START command. The CTOSMDSC procedure acts like a STOPSMS,FORCE command, and removes the SMS interface regardless of any registered subsystems. The STOPSMS,FORCE command and the CTOSMDSC procedure must be used only in case of emergency.

Starting Control-O Communication Support (IOAGATE)

Verify that the IOA Gateway has been successfully installed before trying to start IOAGATE. For information about installing the IOA Gateway, see the IOA chapter in the INCONTROL for z/OS Installation Guide: Installing.

Verify that Control‑O table CTOGATEI is loaded from the Control‑O Rules library. This rule table includes a set of rules that executes the remote request. It must be loaded for every Control‑O monitor that communicates using IOAGATE, Sysplex or Control‑O/COSMOS in a Sysplex.

  1. To start IOAGATE processing, first initialize the mainframe components. ControlO users can then proceed to use the communication channel.

  2. Activate the IOA Gateway using operator command:

    Copy
    S IOAGATE

    ECAPARM communication parameters (APPLIDS, PORT) can be overridden by parameters specified in the EXEC PARM of IOAGATE. For information about ECAPARM parameters, see the IOA chapter of the INCONTROL for z/OS Installation Guide: Installing.

    Copy
    S IOAGATE,APPLID=CTOLUA1

    The ControlO Application Server (called CTOAS) is automatically activated by the IOA Gateway.

  3. To deactivate the IOA Gateway, use operator command

    Copy
    P IOAGATE

    This also deactivates the ControlO Application Server (CTOAS).

Displaying a List of All Active Users

To display the list of all active users in the Application Server, use operator command

Copy
F IOAGATE,MODASID[=nn],D[ISPLAY]

where nn is the specific address space ID of the server to which the modify command is submitted. If no address space is specified, the modify command is submitted to all active server address spaces.

When D [DISPLAY] is specified, a list of all active sessions are displayed.

Considerations

When Control‑O and IOAGATE are installed, the following modify commands are available:

These commands are available only if parameter CTOGATE is set to YES in member CTOPARM.

For a list of systems to which Control‑O is connected to the IOAGATE and using Sysplex, issue the following command:

Copy
F CONTROLO,DISPCOMM

In the case of Sysplex, the first Sysplex name is also listed.

The following is displayed as a result of this command:

Copy
CTO356I DISPCOMM             
Control‑O COMMUNICATION MAP  
VTAM CONNECTIONS:            
NAME     LU           APPL       
CTO01    CTOLU01  O          
CTO03    CTOLU03  O          
SYSPLEX CONNECTIONS:         
ESA1
  • To enable communication after the STOPCOMM modify command was issued, use the command

    Copy
    F CONTROLO,STARTCOMM

    This command is available only if parameter CTOGATE is set to YES in member CTOPARM and if communication was stopped.

  • To disable communication in ControlO, use the command

    Copy
    F CONTROLO,STOPCOMM

    This command is available only if parameter CTOGATE is set to YES in member CTOPARM and if communication was started.

  • During problem determination, to snap the system network map, use the command

    Copy
    F CONTROLO,SNAP=SYS

Problem Determination

To enable or disable debug messages, specify operator command

Copy
F CTOAS,DEBUG=(nn[,‑nn]...)

where nn enables and –nn disables debug action nn in the following table:

Table 210 Fields for Problem Determination

Action

Description

nn

Debug Action

10

Write Sender module messages to DD statement DATRACE.

11

Write Receiver module messages to DD statement DATRACE.