Extended recovery (XRF) for terminals

XRF-capable, or class 1, terminals are SNA terminals connected to both active and alternate CICS® systems through a boundary network node communications controller, using NCP and VTAM® with XRF capability.

Three TYPETERM attributes relate specifically to the use of XRF for terminals:

RECOVNOTIFY
This applies only to class 1 terminals. You use it to specify how the terminal user is notified when an XRF takeover has occurred. You can specify either a simple message to be displayed, or a transaction that can do more than that. In either case, all the terminals for which you specify MESSAGE get the same message, and all the terminals for which you specify TRANSACTION get the same transaction.

There are two messages, DFHXRC1 and DFHXRC2, that you may edit in mapset DFHXMSG. Alternatively you can change the name of the map passed to the node error program. You specify the transaction using the RMTRAN system initialization operand, which defaults to the 'good morning' transaction specified in GMTRAN system initialization operand.

MESSAGE is more efficient than TRANSACTION, and minimizes the takeover time.

RECOVOPTION
specifies how CICS is to recover the terminal session and return the terminal to service, after an XRF takeover. The NONE option leaves the terminal with no XRF support: the logon status of the terminal is not tracked by the alternate system and the terminal session is not automatically recovered after a takeover. The system default allows CICS to optimize the recovery of the terminal. However, there are circumstances in which you must specify one of the other options.
For XRF-capable, or class 1, terminals there are five options: NONE and four others. If, at takeover, a terminal is executing a transaction in the active CICS, the transaction is backed out, but the session remains busy. SYSDEFAULT allows CICS to clean up this busy session in the most efficient way. CICS uses one of three methods, in this order of preference:
  1. Send an end-bracket (EB) indicator to close the in-bracket state.
  2. Send a CLEAR request to reset all session states.
  3. Send an UNBIND request to release the session.

If the terminal cannot handle an unexpected EB, specify CLEARCONV: CICS sends a CLEAR or an UNBIND request. This might apply if the terminal is programmable (intelligent).

If the terminal cannot handle an unexpected EB indicator or a CLEAR request, specify RELEASESESS: CICS sends an UNBIND request to release the session.

If the terminal must know at all times to which system it is connected, specify UNCONDREL: CICS sends an UNBIND request to release the session, whether it is busy or not. This might apply if the terminal is programmable (intelligent).

If, for any reason, an UNBIND request is sent, a new session is initiated by CICS, if the terminal is capable of performing a SIMLOGON.

For other terminals (class 2 and class 3), there is effectively a choice between NONE (no XRF support) and any one of the other options. Any option other than NONE causes the alternate system to track the logon status of the terminal and, if the terminal was logged on, to initiate a logon, and to re-establish a session, if possible.

RSTSIGNOFF
You can specify whether terminal users are signed off automatically in the event of a persistent sessions restart or an XRF takeover. For example, if a terminal becomes unresponsive because of a session failure, the terminal user may take the opportunity to leave the terminal for a break. If the terminal becomes active while unattended, it could be used by a malicious user. In a secure area, where access is restricted to known individuals, this may not be an issue, and the terminal user could remain signed on. However, in an open area, accessible to large numbers of people, it may be advisable to sign the terminal off.
You can specify this behaviour at three levels:
At the system level
Specify RSTSIGNOFF=FORCE as a system initialization parameter, to ensure that all users are signed off in the event of a persistent sessions restart or XRF takeover, regardless of what is specified at the other levels
At the terminal level
Specify RSTSIGNOFF(FORCE) in the TYPETERM definition, to ensure that all users of a group of terminals are signed off, regardless of what is specified at the other levels
At the individual user level
Specify XRFSOFF(FORCE) in the CICS segment of the RACF profile for a user, to ensure that an individual user is signed off, regardless of what is specified at the other levels.
To ensure that the terminal user remains signed on, you must specify all of the following:
  • RSTSIGNOFF=NOFORCE as a system initialization parameter
  • Start of changeRSTSIGNOFF(NOFORCE) in the TYPETERM definitionEnd of change
  • XRFSOFF(NOFORCE) in the CICS segment of the RACF profile for the user