Previous Topic: RELEASE PROGRAMNext Topic: Node Error Recovery


Timeouts and Disconnections

Coding a timeout parameter for VTAM, CICS, or a security package, can help you to enforce security. For example, it can reduce the chances of an unauthorized user taking over a session at an unattended terminal that is still signed on.

A disconnection can result because of a network problem or if the user simply closes the 3270 emulator window.

Important! Session storage is only deleted after a timeout or disconnection if the VPE Purge Invocation code has been invoked.

If the VPE Purge Invocation Code (VPUR) is not executed after a timeout or disconnection, you can expect the following to remain:

If any of the preceding situations happen, it is because VPE has not been returned control, which allows it to clean up the session. Without invoking the VPE Purge Invocation code, this data can only be released if another
VPE-based transaction uses the same terminal or CICS is recycled.

VPUR

If a CA Ideal session is aborted and VPE does not regain control and perform a session clean up, you can start a VPUR transaction that 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 a CA Ideal 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 a 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 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.