Modules

ZC (terminal control) together with the following:

Module Function
DFHZCGRP Program initiated by task CGRP to set up the start type and to call DFHZGRP during initialization. It then analysis the response from DFHZGRP and decides if CICS® can continue or not.
DFHZGCA Sets the appropriate ZC control blocks to reflect the currently agreed Change Number Of Session (CNOS) values for an LU6.2 connection.
DFHZGCC Performs catalogue and retrieval of CNOS data.

This module is called when CICS needs either to store or to recover CNOS values. During a CICS run, all CNOS values are written to the global catalogue. Under normal circumstances they are not needed. However, if a persistent sessions restart is performed, it is necessary to recover the CNOS values which were in operation at the time of the CICS failure. This is achieved by having a record on the global catalogue which can be read in during PRSS restart and used to restore the sessions to their pre-failure state.

This module will handle the maintenance of the CNOS records during normal CICS operation and the recovery of the records during PRSS recovery.

DFHZGCN Handles the process of LU6.2 Change Number Of Sessions (CNOS) negotiation, acting as either the source or target end of the conversation, and calls DFHZGCA to action the resulting changes.
DFHZGDA The role of DFHZGDA is to take control of APPC conversations which have persisted across a CICS failure, and to ensure that they are terminated cleanly, by issuing a Deallocate(Abend) informing the partner LU that the CICS transaction has abended.

If DFHZGDA is working correctly, the fact that CICS has failed and been restarted should be transparent to the partner LU; all he knows is that the CICS transaction to which he was talking has terminated.

DFHZGDA also performs REJECT_ATTACH processing for synclevel 2 conversation which are started by the partner before Exchange Lognames has been done after a persistent sessions restart.

DFHZGPC Performs recovery of CNOS values for modegroups.

This module is called when CICS is performing a persistent sessions (PRSS) restart. When a PRSS restart is performed, it is necessary to do more than merely recover the session. It is also necessary to recover the CNOS state which the sessions had prior to the CICS failure. DFHZGCC will have maintained a record of the CNOS state on the global catalogue. This record will now be used in this module in an attempt to restore CNOS values.

DFHZGPR The role of DFHZGPR is to update the global catalog whenever it is necessary to add, delete, or test for a record indicating that an APPC connection has a Persistent Resource associated with it.

A Persistent Resource can be defined as some session state, or piece of work upon which the partner LU is dependent, and which will be lost in the event of CICS failing. The only Persistent Resource so far identified is:

  • A shipped AID

Prior to persistent sessions, the failure of the APPC session tells the partner that these resources have been lost, and drives his recovery. With the advent of persistent sessions, it is necessary for a persisting CICS to know that an APPC session had a Persistent Resource associated with it, so that the connection can be unbound (to drive the partners cleanup) and then rebound.

DFHZGRP Initialize VTAM® persistent sessions.

DFHZGRP is a domain subroutine but is called by DFHZCGRP (task CGRP) during initialization.

DFHZGRP is called during ZC initialization or when the VTAM ACB is opened dynamically by CEMT SET VTAM OPEN or EXEC CICS SET VTAM OPEN by DFHEIQVT.

The module does the following:

  1. OPNDST RESTOREs or CLSDST/TERMSESS any session that VTAM has held persisting, depending on start up type and session parameters.
  2. It calls DFHZGPC to re-instate CNOS records during an EMER restart, or calls DFHZGCC to delete CNOS catalogue records.
  3. It initializes the RECEIVE_ANY RPLs and issues the RECEIVE_ANYs.
DFHZGSL Informs VTAM whether sessions are to persist or not.

This module is called when CICS needs to set, unset or change the Persistent Sessions PSTIMER value.

DFHZGUB Issue CLSDST or TERMSESS for individual NIBs in a NIBLIST.

This module is called by DFHZGRP to unbind nibs in a niblist in two ways:

  • Unbind the entire NIBLIST for COLD, WARM, EMER+XRF and dynamic open.
  • Unbind only the NIBs with NIBUSER = 0 for EMER starts.
DFHZXPS DFHZXPS handles Persistent Sessions recovery for APPC sessions. It does not deal with non-APPC sessions which are dealt with by DFHZXRC.

DFHZXPS is called by DFHZACT after OPNDST OPTCD=RESTORE has been issued successfully for a persisting APPC session. Both single and parallel APPC sessions are dealt with but there is no difference in the processing.

The task of DFHZXPS is to examine VTAM session tracking data which was hung off TCTE_PRSS_CV29_PTR by DFHZGRP following a Persistent Sessions restart and if possible to update the TCTTE to allow work to continue on the session.

If it is not possible to determine the state of the session prior to system failure, or the session was not in a state which allows it to be recovered, the session will be unbound.

DFHZXRC DFHZXRC analyses the Session State Vector data that is hung off TCTE_PRSS_CV29_PTR by DFHZGRP during an EMER restart, for each persisting session. The necessary action to cleanup and recover the session is then initiated.
[[ Contents Previous Page | Next Page Index ]]