This explains how VPE Purge works in deleting Session that have been abandoned due to timeouts, network problems or closed windows.
What is the correct way to clean up CA Ideal sessions that are abandoned due to timeouts or disconnections?
VPE Purge Invocation code is available to clean up CA Ideal sessions that have been abandoned due to timeouts, network problems or closed windows. The transaction VPUR can be invoked for a CICS TERMID to execute module VPE PURGE. Using the TERMID, VPE PURGE finds the VPE Session Anchor Block (VSAB) where the list of a session's storage is maintained.
If the VPE Purge Invocation Code is not executed after a timeout or disconnection, you can expect the following to remain - because control is not returned to VPE to allow it to clean up the session:
User session Temporary Storage records allocated by CA IPC, Datadictionary and CA Ideal.
EDSA acquired for the updateable copy of the application program.
Use counts and enqueues performed on VLS entities
Storage allocated by Datadictionary for each terminal accessing DD.
Other than 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.
When an CA Ideal session is aborted without VPE regaining control to clean up the session, the VPUR transaction may be started to accomplish the clean up process. The typical case is when a 327x terminal disappears and the CICS Node Error Program (DFHZNEP) is automatically invoked to handle the condition. VTAM codes must be checked for appropriate circumstances to start VPUR. VPUR invokes the VPE module VPEPURGE with the input data of the CICS terminal ID that has been abnormally terminated. Using the TERMID, VPEPURGE will find the VPE Session Anchor Block (VSAB) and delete all the storage acquired by GETMAIN in the various DSAs and the Temporary Storage records that make up an CA Ideal session for a user. VPEPURGE will also dequeue any enqueues that have been issued for the session.
VPUR is invoked with input data of the CICS TERMID; therefore, it is only known that the terminal where a VPE-based task was executing has ceased to exist in the CICS environment. It is possible that the task will continue to execute the application, even though the TERMID no longer exists. In this case, if the task attempts to use its old session storage that has been reallocated by CICS to another task, possible abends or storage violations could result. 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 starting the VPUR transaction.
VPUR may be invoked from the CICS Node Error Program (NEP) or the CICS terminal autoinstall exit.
Information regarding VPUR can be found in the CA Ideal Administration Guide under Session Storage Cleanup.