CICS
Solutions in the SolveWare subject CICS are designed to automate several management aspects of the Customer Information Control System (CICS).
All messages (DO SHOUT actions) in the CICS rules are sent to an INCONTROL user named U-SYSCICS. A user with this name must be defined in the IOA Dynamic Destination table (CTMDEST). For more information, see the Dynamic Destination Table chapter of the INCONTROL for z/OS Administrator Guide.
Solutions Provided
SolveWare subject CICS contains the following solutions:
-
CICS Startup and Termination
Monitors the CICS startup and termination processes, intercepts relevant messages and updates the appropriate IOA prerequisite conditions.
-
Copy and Clean CICS Journal
Handles situations where the CICS journal datasets become full. A copy and clean job is submitted automatically to prevent loss of information.
CICS Startup and Termination
This solution handles CICS startup and termination.
A connection between CICS and INCONTROL products is established by defining IOA prerequisite conditions that reflect CICS’s status (up or down). Specifying these conditions as prerequisite IN conditions in IOA definitions makes processing dependent upon CICS being up or down.
While startup or termination is in process—but not yet completed—the IOA environment considers CICS as both "not up" and "not down." Therefore, CICS not being up is not necessarily the same as a CICS down status and vice versa.
IOA CICS prerequisite conditions must also be updated at time of IPL to indicate that the various CICS subsystems are down. For more information, see SolveWare Initialization.
Rules
The CICS Startup and Termination solution includes the following rules:
-
CICS Initialization Started
-
CICS Initialization Completed
-
CICS Termination Started
-
CICS Termination Completed
-
CICS Severe Termination (JES2 Only)
-
Disable S CICS If CICS Is Active
-
Startup Continuation Permission
Rules Structure
The following tables describe the structures of the CICS Startup and Termination solution rules.
Table 76 CICS Initialization Started Rule Structure
Table 77 CICS Initialization Completed Rule Structure
Item |
Description |
---|---|
Title |
CICS Initialization Completed |
Name |
DFH*1517 |
Table |
CICS |
Message |
DFHSI1517 aplid CONTROL IS BEING GIVEN TO CICS |
Message Description |
CICS has completed initialization and is up. |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
None. |
Rule Logic |
When CICS is completely up, the IOA environment is informed that CICS is up. |
Rule Actions |
Adds condition or date CTO-cicsname-UP STAT (where cicsname is the name of the CICS job or started task). |
Activating the Rule |
Once scheduled, the rule remains active until deleted from Control-O. |
Recommended Mode or Category |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
If a different mechanism that controls CICS conditions (utility IOACND, Control-M Event Manager, and so on.) is already implemented, the mechanism must be removed before implementing this rule. Change the name of the prerequisite condition added by this rule to match your previous definition, if both of the following are true:
|
Table 78 CICIS Termination Started Rule Structure
Item |
Description |
---|---|
Title |
CICIS Termination Started |
Name |
DFH*1071 |
Table |
CICS |
Message |
One of the following messages: DFH1701 C.I.C.S IS BEING TERMINATED BY OPERATOR opid AT TERMINAL termid DFHTM1701 {C.I.C.S. | CICS/ESA} IS BEING TERMINATED BY OPERATOR opid AT TERMINAL termid DFHTM1703 applid PRODUCT IS BEING TERMINATED BY USERID userid IN TRANSACTION tranid {AT NETNAME | AT TERMINAL} terminal. DFHTM1715 applid PRODUCT IS BEING QUIESCED BY USERID userid in TRANSACTION tranid {AT NETNAME | AT TERMINAL} terminal IEF404I jjj-ENDED(- TIME=hh.mm.ss) when the message is issued from job CICS* |
Message Description |
|
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
None. |
Rule Logic |
When CICS termination has started, the IOA environment is informed that CICS is no longer up. |
Rule Actions |
Deletes condition or date CTO-cicsname-UP STAT, |
Activating the Rule |
Once scheduled, the rule remains active until deleted from Control-O. |
Recommended |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
If a different mechanism that controls CICS conditions (utility IOACND, Control-M Event Manager, and so on.) is already implemented, the mechanism must be removed before implementing this rule. If the IOA environment already contains a prerequisite condition indicating that CICS is up (for example, if such a condition is already referenced by a Control-M job scheduling definition), and if the prerequisite condition has a different name than the prerequisite condition indicated in this rule, then change the name of the prerequisite condition deleted by this rule to match your previous definition. |
Table 79 CICS Termination Completed Rule Structure
Item |
Description |
---|---|
Title |
CICS Termination Completed |
Name |
DFH*1799 |
Table |
CICS |
Message |
One of the following messages: DFH1799/DFHKE1799 aplid TERMINATION OF CICESA IS COMPLETE IEF404I jjj ENDED{ - TIME=hh.mm.ss} when the message is issued from job CICS*. |
Message Description |
|
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
None. |
Rule Logic |
When CICS termination is completed, the IOA environment is informed that CICS is down. |
Rule Actions |
Adds condition or date CTO-cicsname-DOWN STAT (where cicsname is the name of the CICS job or started task). |
Activating the Rule |
Once scheduled, the rule remains active until deleted from Control-O. |
Recommended Mode or Category |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
If a different mechanism that controls CICS conditions (utility IOACND, Control-M Event Manager, and so on.) is already implemented, the mechanism must be removed before implementing this rule. Change the name of the prerequisite condition added by this rule to match your previous definition, if both of the following are true:
|
Table 80 CICS Severe Termination Rule Structure
Item |
Description |
---|---|
Title |
CICS Severe Termination |
Name |
$HASP310 |
Table |
CICS |
Message |
$HASP310 jjj TERMINATED AT END OF MEMORY |
Message Description |
Abend of job jjj was so severe that no Recovery Termination Manager (RTM) processing occurred. |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
None. |
Rule Logic |
For severe CICS abends, the IOA environment is informed that CICS is no longer up and that CICS is down. |
Rule Actions |
|
Activating the Rule |
Once scheduled, the rule remains active until deleted from Control-O. |
Recommended Mode or Category |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
If a different mechanism that controls CICS conditions (utility IOACND, Control-M Event Manager, and so on.) is already implemented, the mechanism must be removed before implementing this rule. Change the names of the prerequisite conditions added or deleted by this rule to match your previous definitions, if both of the following are true: The IOA environment already contains prerequisite conditions indicating that CICS is up or down. For example, if such conditions are already referenced by Control-M job scheduling definitions. The prerequisite conditions have different names than the ones indicated in this rule. This rule applies only at JES2 sites. |
Table 81 Suppress S CICS if CICS Is Active Rule Structure
Item |
Description |
---|---|
Title |
Suppress S CICS if CICS Is Active |
Name |
S CICS |
Table |
CICS |
Command |
S CICS |
Command Description |
This command starts CICS (the rule suppresses the command). |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
IN !CTO-cicsname-DOWN STAT |
Global Variables |
None. |
Rule Logic |
If command S CICS is issued when CICS is already up, the new started task is immediately shut down and normal termination messages are issued. These messages, however, give the appearance that CICS has gone down and therefore may incorrectly trigger rules. This rule prevents this situation by suppressing the S CICS command if CICS is already up. In this way, issuance of the termination messages is prevented and rules are not incorrectly triggered. This rule serves as a sample rule. A similar rule must be created for each CICS environment in the site. |
Rule Actions |
|
Activating the Rule |
Once scheduled, the rule becomes active when prerequisite condition or date CTO-cicsname-DOWN STAT is deleted (where cicsname is the name of the CICS address space). |
Recommended Mode or Category |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
Change the name of the prerequisite condition indicated in this rule to match your previous definition, if both of the following are true:
|
Table 82 Startup Continuation Permission Rule Structure
Item |
Description |
---|---|
Title |
Startup Continuation Permission |
Name |
DFH*1588* |
Table |
CICS |
Message |
One of the following messages: DFH1588/DFHSI1588D IS STARTUP TO BE CONTINUED? REPLY GO OR CANCEL |
Message Description |
CICS is requesting permission to proceed after an error has occurred during initialization, or after an emergency restart has completed. |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
None. |
Rule Logic |
The rule is triggered after an error has occurred during CICS initialization, or after an emergency restart has completed. CICS issues message DFH1588 and waits for the operator to reply whether startup is to be continued or cancelled. The rule replies to the message with GO, causing the startup operation to continue. |
Rule Actions |
Replies to the message with GO. |
Activating the Rule |
Once scheduled, the rule remains active until deleted from Control-O. |
Recommended Mode or Category |
During the testing period, the rule must be activated in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
Automatic reply to the message may be desirable only for certain CICS environments. For example, test environment only. If so, change the JNAME field in the ON statement of the rule definition to intercept messages only from the CICS address spaces of those environments. |
Copy and Clean CICS Journal
CICS journals are special-purpose sequential datasets that are accessed at real-time CICS execution by user tasks. Information written to CICS journals can be used subsequently for problem determination, database update log, or as a record of transactions passing through the system.
Each journal is identified by a number ranging from 2 through 99, inclusive, and is defined in the Journal Control Table (JCT). Journal number 1 is reserved for the system log journal.
When a journal dataset resides on disk and is defined in the Journal Control Table (JCT) with JOUROPT=PAUSE, message DFH4583 is issued if the dataset becomes full. CICS then waits for a reply from the operator indicating that the dataset can be used again (meaning, either it has been copied or a copy is not desired).
A correct reply must be received before CICS attempts to access the dataset for output again. Otherwise, all tasks using the specified journal are delayed until the reply is received.
This solution provides two options for handling full journal datasets:
-
For a test CICS environment, the rule immediately replies to the message so that CICS reopens the journal dataset for output.
-
For a production CICS environment, the provided rules automatically trigger a copy and clean job in Control- M to dump the relevant dataset and reply to the message upon successful completion of the job.
Rules
The Copy and Clean CICS Journal solution includes the following rules:
-
CICS Journal Full—Test Environment
-
CICS Journal Full—Production Environment
-
CICS Journal Copied—Production Environment
Rules Structure
The following tables describe the structures of the Copy and Clean CICS Journal solution rules.
Table 83 CICS Journal Full—Test Environment Rule Structure
Item |
Description |
---|---|
Title |
CICS Journal Full—Test Environment |
Name |
DFH*4583 |
Table |
CICS |
Message |
DFH4583/DFHJC4583
and the job that issued the message is CICST*. |
Message |
The CICS journal dataset indicated in the message has filled up and the journal was specified with the PAUSE option. |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
None. |
Rule Logic |
The rule is triggered when a CICS journal dataset becomes full and that journal is specified with the PAUSE option. The message waits for a system operator reply indicating that the dataset can be used again by CICS. A correct reply must be received before CICS attempts to access the dataset for output again. Otherwise, all tasks using the specified journal are delayed until the reply is received. Assuming that journal datasets of the test CICS environment do not need to be copied, the rule immediately replies to the message so that CICS can use the journal dataset again. |
Rule Actions |
Determines the reply string according to message text. Replies to the message with the reply string. |
Activating the Rule |
Once ordered, the rule remains active until deleted from Control-O. |
Recommended Mode or Category |
During the testing period activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for the rule. The SolveWare category for this rule is 3—the rule is provided as an example. If it is decided to implement the rule, some customization is required. |
Customization |
The rule assumes that test CICS environments are named CICST*. This value must be adapted (in the rule ON statement) to match site conventions. |
Table 84 CICS Journal Full—Production Environment Rule Structure
Item |
Description |
---|---|
Title |
CICS Journal Full—Production Environment |
Name |
DFH*4583 |
Table |
CICS |
Message |
DFH4583/DFHJC4583
and the job that issued the message is CICSP*. |
Message Description |
The CICS journal dataset indicated in the message has filled up and the journal was specified with the PAUSE option. The message waits for a response indicating that the journal dataset can be opened for output again. A correct reply must be received before CICS attempts to access the dataset for output again. Otherwise, all tasks using the specified journal are delayed until the reply is received. |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
No special considerations. |
Global Variables |
%%REPLY_STRING_cicsname %%REPLY_NO_cicsname |
Rule Logic |
The rule is triggered when a CICS journal dataset becomes full and that journal is specified with the PAUSE option. The message waits for a system operator reply indicating that the dataset can be used again by CICS. The reply string indicated in the message contains the journal identifier and type. A Global AutoEdit variable is set to contain this string and is referenced by the job JCL. The Control-O $GLOBAL member is included in the job JCL by %%LIBSYM and %%MEMSYM AutoEdit control statements. The rule sets a condition to trigger a pre-scheduled job in Control-M. The job copies the applicable CICS journal datasets. The job must be defined as a cyclic job or cyclic started task (STC). It is triggered by adding the prerequisite condition or date CTO-cicsname-JRN-GO STAT. (For more details on the job scheduling definition, see Customization in this table.) |
Rule Actions |
|
Activating the Rule |
Once ordered, the rule remains active until deleted from Control-O. |
Recommended Mode or Category |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for this rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
If a different automatic mechanism to clean CICS journals (for example, AUTOARCH option for CICS version 3.1 and later) is already implemented, the mechanism must be removed before testing this rule. By automating CICS journal dumping with Control-O, the benefits of integrated operation are achieved. Control-M tracks and controls the copy and clean job, and manages Quantitative resources used by the job. The rule assumes that production CICS environments are named CICSP*. This value must be adapted (in the rule ON statement) to match the site’s conventions. Job scheduling definition and JCL for the CICS journal copy and clean job must be created. The SOLVSCHD and SOLVJCL Libraries contain a sample job scheduling definition and JCL to copy and clean CICS journal. These samples can be adapted to a site’s conventions and requirements. Separate job scheduling definitions must be created for each production environment. The job must be defined as a cyclic job or cyclic started task (STC) with a MAXWAIT value of 99. It then only needs to be ordered once, but must not be removed manually from the Control-M Active Jobs file. The MAXWAIT value of 99 ensures that the job is never removed from the Active Jobs file by the Control-M New Day procedure. The cyclic job is always ready for submission. It is triggered by adding prerequisite condition or date CTO-cicsname-JRN-GO 0101 (where cicsname is the name of the CICS address space). When an execution of the job is completed, this condition is deleted. This prevents cyclic reinvoking of the job and ensures that the job is only invoked again if the rule is triggered again. Upon successful completion of the job, the prerequisite condition or date CTO-cicsname-JRN-REPLY STAT (where cicsname is the name of the CICS address space) must be added by Control-M. This triggers an event rule that replies to the original message, notifying CICS that the journal dataset is available. |
Table 85 CICS Journal Copied—Production Environment Rule Structure
Item |
Description |
---|---|
Title |
CICS Journal Copied—Production Environment |
Name |
CICSP1JC |
Table |
CICS |
Message |
CICSP1JC |
Message Description |
This Event rule replies to CICS message DFH4583/DFHJC4583 after the journal dataset has been successfully copied. |
Basic Scheduling Parameters |
Always schedule this rule. |
Runtime Scheduling Parameters |
IN CTO-cicsname-JRN-REPLY STAT |
Global Variables |
%%REPLY_STRING_cicsname String to be issued as a reply. cicsname is the name of the CICS address space. %%REPLY_NO_cicsname Reply number of message DFH4583/DFHJC4583. cicsname is the name of the CICS address space. |
Rule Logic |
This event rule is triggered upon successful completion of the CICS journal copy job. The rule replies to CICS message DFH4583, indicating that the journal dataset can be used again by CICS. Reply %%REPL_STRING_cicsname is issued to reply number %%REPLY_NO_cicsname. These Global variables are set by rule DFH4583 (in this solution). |
Rule Actions |
|
Activating the Rule |
Once scheduled, the rule is triggered when its IN prerequisite condition is added. The rule then deletes that condition and can be invoked again subsequently. |
Recommended Mode or Category |
During the testing period, activate the rule in LOG mode. Once you are satisfied with the results of the rule, change the mode to PROD to avoid log messages for this rule. The SolveWare category for this rule is 2—some customization is required before implementation. |
Customization |
Create a similar rule for every production CICS environment. To create a new event rule, change the references to the CICS address space name in the rule actions and IN condition. |