Previous Topic: VPE Purge UtilityNext Topic: Node Error Recovery


VPE Purge Process

If a session is aborted and VPE does not regain control and perform a session clean up, you can start a VPUR transaction which initiates a clean up process. Typically, this happens when a 327x terminal disappears and the CICS Node Error Program (DFHZNEP) is automatically enabled to handle the situation.

To start VPUR, the VTAM codes are checked to ensure that the conditions are appropriate. VPUR invokes the VPE module VPEPURGE, and uses the input data from the CICS terminal ID that has been abnormally terminated. Using the TERMID, VPEPURGE finds the VPE Session Anchor Block (VSAB) and deletes all of the storage acquired by GETMAIN in various DSAs and Temporary Storage records that make up the user session. VPEPURGE will also dequeue any enqueues that have been issued for the session.

When VPUR is started, it is only known that the terminal where the CA Ideal task is executing has ceased to exist in the CICS environment. VPUR is invoked with the input data of the four character CICS TERMID. Sometimes the task continues to execute the application, even though the TERMID has ceased to exist in CICS.

If VPUR has been started, VPUR releases the storage that belonged to the task, the task is still executing and tries to use its old session storage, which could by this time be reallocated by CICS to another task, resulting in abends or storage violations.

Because of this potential problem, it is important to determine how VPUR should be implemented to be most effective based on a site's particular environment. For example, if long running tasks are the norm, it may be critical to first determine that the task has ended for a TERMID by querying CICS before invoking VPUR. VPUR could be invoked from the CICS NEP or the CICS terminal autoinstall exit.