Policy system rules

System rules define the action to be taken when something of interest happens in a CICS® system, such as a resource state change, a threshold being crossed, or an unusual system state or action. Policies that define system rules can be deployed either to a single CICS region or with a CICS platform. They cannot be deployed with a CICS application.

The supported system rule types are as follows:

AID threshold
Use this rule type to define the action to be taken when an EXEC CICS START request that meets all of the following conditions is issued:
  • The TERMID option is specified with a value that is the same as the terminal where the transaction is running.
  • The FROM option is specified.
  • The INTERVAL and TIME options are not specified.
  • The request would cause the current number of AIDs in the CICS system to exceed a threshold.
Bundle available status
Use this rule type to define the action to be taken when the available status of a bundle that declares application entry points changes from or to a specific state. To restrict the action to specific bundles, specify the bundle filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.

If a bundle is deployed with a CICS application, the messages and events that are produced when a bundle available status rule is triggered contain the application context information.

Note:

Bundle available status rules are not applicable to any bundles that do not declare application entry points.

Bundle enable status
Use this rule type to define the action to be taken when the enable status of a bundle changes from or to a specific state, or when the enable status of a bundle changes from a specific state to another specific state. To restrict the action to specific bundles, specify the bundle filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.

If a bundle is deployed with a CICS application, the messages and events that are produced when a bundle enable status rule is triggered contain the application context information.

DBCTL connection status
Use this rule type to define the action to be taken when the status of the connection between CICS and DBCTL changes from or to a specific state. If you want the specified action to be taken only when the status change is made by a specific user ID, specify the user ID filter in the rule definition.
Note:

DBCTL connection status rules will not trigger for changes in the status of a DBCTL connection during CICS initialization when the DBCTLCON=YES system initialization parameter is specified.

Db2® connection status
Use this rule type to define the action to be taken when the status of a Db2 connection changes from or to a specific state. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.
File open status
Use this rule type to define the action to be taken when the open status of a CICS FILE resource changes from or to a specific state. To restrict the action to specific file resources, specify the file filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.
File enable status
Use this rule type to define the action to be taken when the enable status of a CICS FILE resource changes from or to a specific state. To restrict the action to specific file resources, specify the file filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.
IBM® MQ connection status
Use this rule type to define the action to be taken when the status of a connection between CICS and IBM MQ changes from or to a specific state. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.
Note:

IBM MQ connection status rules will not trigger for changes in the status of a CICS-MQ connection during CICS initialization when the MQCONN=YES system initialization parameter is specified.

IPIC connection status
Use this rule type to define the action to be taken when the status of a IPIC connection (IPCONN) changes from or to a specific state. To restrict the action to specific IPIC connections, specify the connection name filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific user ID, specify the user ID filter in the rule definition.
Message
Use this rule type to define the action to be taken when CICS issues a DFHxxnnnn message or when CICSPlex® SM issues an EYUxxnnnn message. To restrict the action to a specific CICS or CICSPlex SM message, specify the message ID filter. To restrict the action to specific instances of a message, specify one or more message insert filters. If you want the specified action to be taken only when the message is issued by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter.
Not all CICS or CICSPlex SM messages result in evaluation of a message system rule. No message system rules are evaluated for messages that are issued by the EC, EP, or MP components of CICS, that is, all DFHECnnnn, DFHEPnnnn and DFHMPnnnn messages. In addition, events are not emitted for message system rules that specify the event action for these messages:
  • CICS initialization messages that are issued before event processing starts. Event processing is started before phase 2 initialization PLT programs are run.
  • CICS termination messages that are issued after event processing stops. Event processing is stopped after all shutdown PLT programs have run.

You can determine whether a message system rule will be evaluated for a specific message, based on its description in CICS messages. If a message description contains a list titled XMEOUT parameters/Message inserts, you can define a message system rule for it; otherwise, the message is not enabled for message system rules. For example, you can define a message system rule for message DFHFC0208 but not for message DFHDU0205.

A message system rule will be evaluated regardless of whether or not a message is suppressed by either an XMEOUT global user exit program or the system initialization parameter MSGLVL=0.

MRO connection status
Use this rule type to define the action to be taken when the status of a MRO connection changes from or to a specific state. To restrict the action to specific MRO connections, specify the connection name filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.
Pipeline enable status
Use this rule type to define the action to be taken when the enable status of a CICS pipeline changes from or to a specific state. To restrict the action to specific pipeline, specify the pipeline name filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.
Program enable status
Use this rule type to define the action to be taken when the enable status of a CICS program changes from or to a specific state. To restrict the action to specific programs, specify the program name filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.

If a program is deployed with a CICS application, the messages and events that are produced when a program enable status rule is triggered contain the application context information.

Transaction class tasks
Use this rule type to define the action to be taken when the number of active tasks in a CICS transaction class goes above or below a specific threshold, which is represented by a percentage of the maximum number of active tasks in a transaction class (the MAXACTIVE value). The threshold is chosen from a predefined list of 50%, 60%, 70%, 80%, 90%, or 100%. To restrict the specified action to specific CICS TRANCLASS resources, specify the transaction class filter in the rule definition. For more information, see User tasks and transaction class tasks system rules.
Transaction abend
Use this rule type to define the action to be taken when a transaction encounters an unhandled abend.

To restrict the specified action to a specific abend code, specify the abend code filter in the rule definition. If you want the specified action to be taken only when the status change is made by a specific transaction or a task running under a specific user ID, specify the transaction ID or user ID filter in the rule definition.

A transaction abend system rule with the event action will not be evaluated for any transaction abend originating in any task that runs an event processing adapter program.

User tasks
Use this rule type to define the action to be taken when the number of active tasks in a CICS system goes above or below a specific threshold, which is represented by a percentage of the maximum user tasks in the CICS system (the MXT value). The threshold is chosen from a predefined list of 50%, 60%, 70%, 80%, 90%, or 100%. For more information, see User tasks and transaction class tasks system rules.