How to remove an obsolete application from TPX.

Document ID : KB000010071
Last Modified Date : 14/02/2018
Show Technical Document Details
Introduction:

If you are removing an application from z/OS you might want to clear TPX from all occurrences of that application, too. Secifically that Application can occur in User Session Lists and in Profiles. Here is how you can get an overview of how often that application exist and how to remove it; both by using TPXBATCH Jobs.

 

Instructions:

When you remove an application definition from TPX you first delet it from the ACT-table. When this is done, that application still does exist in an unknown number of User-Session Lists and Profiles.

Here is what you can do.

1. You can check for all occurrences of that application in User Session lists using the following TPXBATCH Job. It searches all user records for the Application ID which is stored in variable UENTAPPL. The example below searches for Application ID CICS18.

 

//jobcard

//*-------------------------------------------------

//* LIST ALL USERS HAVING A SPECIFIC SESSION DEFINED

//*-------------------------------------------------

//BATCH1 EXEC tpx,VNODE='*BATCH*'

//EXT DD UNIT=SYSDA,SPACE=(CYL,(1,1)),DISP=(MOD)

//RPT DD SYSOUT=*

//SYSIN DD *

EXTRACT GIVING(EXT) USER AND MATCHING SESSIONS (UENTAPPL(CICS18))  

SET RTITLE1 ' USERID   UENTUSER UENTAPPL'  

SET RTITLE2 ' -------- -------- --------'  

REPORT GIVING(RPT) USING(EXT)                  

     ((' &UIDXNAME' '&UENTUSER' '&UENTAPPL'))

//

 

The result of this Job is a list of all userids, their Session ID which refer to Application ID CICS18.

 

USERID   UENTUSER UENTAPPL

-------- -------- --------

BMEYER

         TSO1     CICS18

SYBKL

         T1       CICS18

SYSADMIN

         TSO5     CICS18

 

If you want to delete all these User Entries then change the SYSIN of the Batchjob to this:

 

//SYSIN DD *

EXTRACT GIVING(EXT) USER AND MATCHING SESSIONS (UENTAPPL(CICS18))  

DELETE USERSESSION USING(EXT)

//

 

2. Check for all occurrences of that application defined in Profiles. With a slightly changed TPXBATCH job you can check for all occurrences of that application in Profile Session lists. It searches all profiles for Application ID CICS18which is stored in variable PENTAPPL.

 

//jobcard

//*-----------------------------------------------

//* LIST ALL PROFILE CONTAINING A SPECIFIC SESSION

//*-----------------------------------------------

//BATCH1 EXEC tpx,VNODE='*BATCH*'

//EXT DD UNIT=SYSDA,SPACE=(CYL,(1,1)),DISP=(MOD)

//RPT DD SYSOUT=*

//SYSIN DD *

EXTRACT GIVING(EXT) PROFILE AND MATCHING SESSIONS (PENTAPPL(CICS18))

SET RTITLE1 ' PROFILE  PENTAPPL'

SET RTITLE2 ' -------- --------'

REPORT GIVING(RPT) USING(EXT)       

     ((' &PIDXNAME' '&PENTAPPL'))                    

//

 

The result of this second TPXBATCH Job is a list of all profiles which contain the desired Application ID:

 

PROFILE  PENTAPPL

-------- --------

ADMIN01

         CICS18

SYSPROF

         CICS18

 

If you want to delete all these Entries in the several Profiles then change the SYSIN of the Batchjob to this:

//SYSIN DD *

EXTRACT GIVING(EXT) PROFILE AND MATCHING SESSIONS (PENTAPPL(CICS18))

DELETE PROFILESESSION USING(EXT) 

//