Configuring Restricted Operating Modes
Related topic
In addition to its standard operating mode, Code Debug CICS can be activated in three restricted modes of operation:
- Diagnosis Mode
- Utilities Mode
- Diagnosis/Utilities Mode.
These modes allow a site to tailor its Code Debug implementation to suit the processing integrity and response time requirements of its various CICS regions. In this way a customer can eliminate unnecessary processing overhead while preventing any potentially disruptive user activity.
To display a complete list of commands available for the current mode, type HELP MODE and press Enter. Available Code Debug CICS Functions by Operating Mode provides a matrix of the Code Debug functions available in each of the three modes.
This role involves Code Debug CICS Installer.
Task 15.1 Configure Restricted Operating Modes
Select and configure the desired restricted operating mode based on the following sections.
Diagnosis Mode
In Diagnosis Mode, Code Debug CICS is fully enabled, and primary functions such as monitor and trace are available. Users are prevented, however, from doing anything that could alter the execution path of a program. This is accomplished in the following ways:
- Storage values on the Memory Display screens (2.2 and 9.2) and the DSECTs screens (2.D and 9.D) cannot be updated.
- Register values and resume offsets cannot be updated.
- Commands such as GOTO, VERIFY, and SKIP that reroute program flow cannot be used.
Diagnosis Mode gives users access to all of Code Debug’s problem diagnosis and storage protection capabilities, without the risk of data integrity violations in fully secured environments such as quality control or production regions.
The global parameter CAN_UPDATE_DATA_IN_DIAGNOSIS_MODE can specify three separate values, (XPED_USER,XPRT_USER,XPSP_USER), that correspond to the Code Debug CICS startup transactions XPED, XPRT, and XPSP. If a value is omitted, entering the corresponding transaction will start Code Debug in Diagnosis Mode. Access to Code Debug CICS update capabilities can be limited to system programmers by setting CAN_UPDATE_DATA_IN_DIAGNOSIS_MODE to (XPSP_USER) and using an external security manager such as RACF to restrict access to the XPSP and XSIT transactions.
To prevent delays in response-time-critical regions, BMC recommends that entries made on the Trap Summary screen (1.6 or 9.6) be as specific as possible. The USERID, NETNAME, TERM, TRAN, PROGRAM, CLIENT IP, SERVER IP, and PORT columns should contain few, if any, wildcard characters. Users should not set global traps made up of all wildcard characters in every column.
The mode indicator MODE:DIAG is displayed in the upper left-hand corner of all Code Debug screens when the product is running in Diagnosis Mode.
Utilities Mode
In Utilities Mode, only the file utility, task storage display, storage display facility, and source listing utility are functional. Code Debug’s CICS exits are disabled.
Utilities Mode gives users access to Code Debug CICS utilities in response-time-critical environments, such as production CICS regions, without incurring the overhead of Code Debug’s exits and sacrificing only Code Debug’s debugging capabilities. Storage can be viewed and modified on the Memory Display screens (2.2 and 9.2), the Task Storage Display screen (2.S), and the DSECTs screens (2.D and 9.D). Files and databases can also be viewed and modified with Code Debug’s file utility, and program listings can be viewed on the Source Listing screen (2.L). Trap, trace, and monitor functions, however, are unavailable in Utilities Mode.
Utilities Mode is designated by setting the global parameter ENABLE_UTILITIES_MODE to YES (the default in DBUGGBLP). Code Debug will then run in Utilities Mode for the entire region, and the Code Debug IVP will issue the following warning message when the product is initialized:
Code Debug CICS IS SET TO INITIALIZE IN UTILITIES ONLY
MODE. TRAP, TRACE, AND PROTECT WILL NOT BE AVAILABLE.The ENABLE_UTILITIES_MODE global parameter can be overridden by shutting down Code Debug with the XPOF transaction and restarting it with an XPSP# transaction. Only the XPSP transaction will accept the # override parameter. Sites utilizing Code Debug’s global parameter override facility can also override the ENABLE_UTILITIES_MODE parameter by modifying their input data set and running the XSIT transaction.
The mode indicator MODE:UTIL is displayed in the upper left-hand corner of all Code Debug screens when the product is running in Utilities Mode.
Diagnosis/Utilities Mode
The most restrictive operating mode is a combination of Diagnosis and Utilities modes. Diagnosis/Utilities Mode lets a site implement Code Debug CICS in production with all the restrictions of Utilities Mode, while also restricting update capabilities as in Diagnosis Mode. A user in Diagnosis/Utilities Mode cannot activate trap, trace, or monitor and cannot update storage. This mode does provide access to Code Debug’s file utility and source listing utility. The user can also view storage on the Memory Display screen (2.2 or 9.2), the Task Storage Display screen (2.S), and the DSECTs screen (2.D or 9.D).
Diagnosis/Utilities mode is designated by setting the global parameter CAN_UPDATE_DATA_IN_DIAGNOSIS_MODE to omit the value corresponding to the desired Code Debug transactions and setting the ENABLE_UTILITIES_MODE global parameter to YES.
The mode indicator MODE:DIAG/UTIL is displayed in the upper left-hand corner of all Code Debug screens when the product is running in Diagnosis/Utilities Mode.
Available Functions
The following table provides a matrix of the Code Debug functions available in each of the three restricted operating modes. The bullets in each mode column indicate the corresponding functions available while operating in that mode.
Available Xpednditer/CICS Functions by Operating Mode
Code Debug Function | Standard Mode | Diagnosis Mode | Utilities Mode | Diagnosis/Utilities Mode |
---|---|---|---|---|
Update program register values | • | |||
Update program resume offsets | • | |||
Reroute program flow with SKIP and GOTO commands | • | |||
File utility (subject to normal global table restrictions) | • | • | • | • |
Source listing utility | • | • | • | • |
Task Storage Display screen (2.S) | • | • | • | • |
View storage on Memory Display screens (2.2 and 9.2) | • | • | • | • |
Update storage on Memory Display screens (2.2 and 9.2) | • | • | ||
View storage on DSECTs screens (2.D and 9.D) | • | • | • | • |
Update storage on DSECTs screens (2.D and 9.D) | • | • | ||
View variables in keep window | • | • | ||
Update variables in keep window | • | |||
View variables on Program Storage screen (2.3) | • | • | ||
Update variables on Program Storage screen (2.3) | • | |||
Modify Assembler instructions with VERIFY command | • | • | ||
Trap | • | • | ||
Trace | • | • | ||
Protect | • | • |