Copy from TPX profile sessions to Application Characteristics Table (ACT)
search cancel

Copy from TPX profile sessions to Application Characteristics Table (ACT)

book

Article ID: 33317

calendar_today

Updated On:

Products

TPX - Session Management Vman Session Management for z/OS

Issue/Introduction

When applications are not defined in the Application Characteristics Table (ACT), dynamic ACT field values are used.  This can limit some TPX functionality, such as the ability to inquire on the application status in order to display that on the TPX Menu.

One approach to populate the ACT:

  1. Use TPX batch to extract all of the session records from a specified profile.  Use this to generate statements for populating the ACT.
  2. Review and modify the generated statements.
  3. Use a second TPX batch job to create the ACT entries.
  4. Review the resulting ACT.

Some customers do not have any applications defined in the ACT, but have all sessions defined within one or more profiles.  Once they recognize the limitations of this approach, there is a need to create the required ACT entries.

Environment

TPX® Session Management for z/OS

Cause

This purpose of this document is to provide a sample method for extracting sessions from a profile and using that information to populate the ACT. 

Resolution

TPX batch job #1:

Here's a  batch extract that generates SYSIN statements to be used in the second batch job to add an application entry to an ACT named ACTNEW1 for each session in profile PROFABC.
 
This first job generates 2 lines per profile session:
  • an ADD to create the ACT entry (based upon VTAM applid field in profile session)
  • an UPDATE with a default sessid  (all other ACT fields will have default values)
//BATCHADM EXEC tpxproc,VNODE='*BATCH*' 
//EXTFILE  DD    UNIT=SYSDA,SPACE=(CYL,(1,1))                          
//RPTFILE  DD    SYSOUT=*                                              
//*                                                                    
//SYSIN DD *                                                           
C                                                                         
C EXTRACT profile sessid and applid                                       
C CREATE SYSIN for subsequent job to ADD to ACT                           
C                                                                         
EXTRACT GIVING(EXTFILE) PROFILE AND ALL SESSIONS                          
    (PIDXNAME(PROFABC))                                                  
REPORT GIVING(RPTFILE) USING(EXTFILE)                                     
((' ADD    ACTAPPL(ACTNEW1 &PENTAPPL )                       ' )              
 (' UPDATE ACTAPPL(ACTNEW1 &PENTAPPL (ACTSESS (&PENTUSER ) ))' )) 
******************************** BOTTOM OF DATA *******************************
Here is the output from the above example:
TPBL1000 11/13/15.317 17:04:08.45 EXTRACT GIVING(EXTFILE) PROFILE AND ALL SESSIONS                         
TPBL1000 11/13/15.317 17:04:08.45     (PIDXNAME(PROFABC))                                                 
TPBL1009 11/13/15.317 17:04:08.55         18 Records written GIVING (EXTFILE )                             
TPBL1000 11/13/15.317 17:04:08.55 REPORT GIVING(RPTFILE) USING(EXTFILE)                                    
TPBL1000 11/13/15.317 17:04:08.55 ((' ADD    ACTAPPL(ACTNEW1 &PENTAPPL )                   ' )             
TPBL1000 11/13/15.317 17:04:08.55  (' UPDATE ACTAPPL(ACTNEW1 &PENTAPPL (ACTSESS (&PENTUSER ) ))'))
TPBL1009 11/13/15.317 17:04:08.56         18 Records read USING (EXTFILE )                                 
TPBL1009 11/13/15.317 17:04:08.56         37 Records written GIVING (RPTFILE )                             
TPBL1009 11/13/15.317 17:04:08.56          9 records read from SYSIN                                       
TPB030   11/13/15.317 17:04:08.58  TERMINATION REQUEST ACCEPTED                                            
TPBL0102 11/13/15.317 17:04:08.58 BUILD PANEL: ........                                                    
TPBL0705 11/13/15.317 17:04:08.87 CLOSE successful for VSAM DD ADMIN1                                      
TPBL0705 11/13/15.317 17:04:08.91 CLOSE successful for VSAM DD ADMIN2                                      
TPBL0705 11/13/15.317 17:04:08.95 CLOSE successful for VSAM DD MAIL                                        
TPBL0705 11/13/15.317 17:04:08.99 CLOSE successful for VSAM DD NOTES                                       
TPBL0705 11/13/15.317 17:04:09.04 CLOSE successful for VSAM DD VIEW  
                                      
                                        11/13/15 17:04:07 Page 1                                           
ADD    ACTAPPL(ACTNEW1          )                                                                          
UPDATE ACTAPPL(ACTNEW1          (ACTSESS (         ) ))                                           
ADD    ACTAPPL(ACTNEW1 AAAAAAA )                                                                           
UPDATE ACTAPPL(ACTNEW1 AAAAAAA (ACTSESS (AAAAAAA ) ))                                             
ADD    ACTAPPL(ACTNEW1 A01ITSO )                                                                           
UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01 ) ))                                                
ADD    ACTAPPL(ACTNEW1 CA01A )                                                                             
UPDATE ACTAPPL(ACTNEW1 CA01A (ACTSESS (CA01A ) ))                                                 
ADD    ACTAPPL(ACTNEW1 CA01B )                                                                             
UPDATE ACTAPPL(ACTNEW1 CA01B (ACTSESS (CA01B ) ))                                                 
ADD    ACTAPPL(ACTNEW1 CA01B )                                                                             
UPDATE ACTAPPL(ACTNEW1 CA01B (ACTSESS (CA01BB ) ))                                                
ADD    ACTAPPL(ACTNEW1 A01ITSO )                                                                           
UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01E ) ))                                               
ADD    ACTAPPL(ACTNEW1 A01ITSO )                                                                           
UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01G ) ))                                               
ADD    ACTAPPL(ACTNEW1 OBSOLETE )                                                                          
UPDATE ACTAPPL(ACTNEW1 OBSOLETE (ACTSESS (OBSOLETE ) ))                                           
ADD    ACTAPPL(ACTNEW1 TPXADMIN )                                                                          
UPDATE ACTAPPL(ACTNEW1 TPXADMIN (ACTSESS (TPXADMIN ) ))                                           
ADD    ACTAPPL(ACTNEW1 TPXDEMO )                                                                           
UPDATE ACTAPPL(ACTNEW1 TPXDEMO (ACTSESS (TPXDEMO ) ))                                             
ADD    ACTAPPL(ACTNEW1 TPXDEMO )                                                                           
UPDATE ACTAPPL(ACTNEW1 TPXDEMO (ACTSESS (TPXDEMOE ) ))                                            
ADD    ACTAPPL(ACTNEW1 TPXDEMO )                                                                           
UPDATE ACTAPPL(ACTNEW1 TPXDEMO (ACTSESS (TPXDEMOG ) ))                                            
ADD    ACTAPPL(ACTNEW1 TPXMAIL )                                                                           
UPDATE ACTAPPL(ACTNEW1 TPXMAIL (ACTSESS (TPXMAIL ) ))                                             
ADD    ACTAPPL(ACTNEW1 TPXNOTES )                                                                          
UPDATE ACTAPPL(ACTNEW1 TPXNOTES (ACTSESS (TPXNOTES ) ))                                           
ADD    ACTAPPL(ACTNEW1 TPXOPER )                                                                           
UPDATE ACTAPPL(ACTNEW1 TPXOPER (ACTSESS (TPXOPER ) ))                                             
ADD    ACTAPPL(ACTNEW1 TPXVIEW )                                                                           
UPDATE ACTAPPL(ACTNEW1 TPXVIEW (ACTSESS (TPXVIEW ) ))

Modify the generated output:

You can now copy all of the generated statements into another TPX batch job SYSIN.  Alternatively, you can write RPTFILE in the first job to a data set rather than SYSOUT.  Then you can edit the data set and pass it as SYSIN to the second batch TPX job.

  • Remove the first ADD/UPDATE pair with blank values.  
    • Since the EXTRACT is for PROFILE AND ALL SESSIONS, the blank values are from the profile record extracted.  The valid ones are from the subsequent profile session records.  (There is no method to simply extract profile session records without the parent profile record.)
  • Also remove the default TPX applications, such as TPXADMIN, if you do not want to see error messages for these since they exist by default in any ACT.

TPX batch job #2:

//BATCHADM EXEC tpxproc,VNODE='*BATCH*' 
//EXTFILE  DD    UNIT=SYSDA,SPACE=(CYL,(1,1))                          
//RPTFILE  DD    SYSOUT=*                                              
//*                                                                    
//SYSIN DD *                                                       
C                                                                  
C Run SYSIN created by first job ...copied from report output        
C                                                                  
ADD    ACTAPPL(ACTNEW1 AAAAAAA )                                   
UPDATE ACTAPPL(ACTNEW1 AAAAAAA (ACTSESS (AAAAAAA ) ))     
ADD    ACTAPPL(ACTNEW1 A01ITSO )                                   
UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01 ) ))        
ADD    ACTAPPL(ACTNEW1 CA01A )                                     
UPDATE ACTAPPL(ACTNEW1 CA01A (ACTSESS (CA01A ) ))         
ADD    ACTAPPL(ACTNEW1 CA01B )                                     
UPDATE ACTAPPL(ACTNEW1 CA01B (ACTSESS (CA01B ) ))         
ADD    ACTAPPL(ACTNEW1 CA01B )                                     
UPDATE ACTAPPL(ACTNEW1 CA01B (ACTSESS (CA01BB ) ))        
ADD    ACTAPPL(ACTNEW1 A01ITSO )                                   
UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01E ) ))       
ADD    ACTAPPL(ACTNEW1 A01ITSO )                                   
UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01G ) ))       
ADD    ACTAPPL(ACTNEW1 OBSOLETE )                                  
UPDATE ACTAPPL(ACTNEW1 OBSOLETE (ACTSESS (OBSOLETE ) ))   
******************************** Bottom of Data *******************
  • Note that the original profile had 2 sessions (sessids CA01B & CA01BB) pointing to the same VTAM applid (CA01B), which is valid.
  • Similar for A01ITSO & CA01E & CA01G all using applid A01ITSO.
  • Since the ACT is by VTAM applid, there can be only one entry for each so the batch job rejects any additional attempts, which is valid.  Here is that output:

TPBL1000 11/13/15.317 17:06:44.12 C                                                               
TPBL1000 11/13/15.317 17:06:44.12 C Run SYSIN created by first job ...copied from report output   
TPBL1000 11/13/15.317 17:06:44.12 C                                                               
TPBL1000 11/13/15.317 17:06:44.12 ADD    ACTAPPL(ACTNEW1 AAAAAAA )                                
TPBL1033 11/13/15.317 17:06:44.13 AACTNEW1 AAAAAAA    ADDed                                       
TPBL1000 11/13/15.317 17:06:44.14 UPDATE ACTAPPL(ACTNEW1 AAAAAAA (ACTSESS (AAAAAAA ) ))  
TPBL1033 11/13/15.317 17:06:44.16 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.16 ADD    ACTAPPL(ACTNEW1 A01ITSO )                                
TPBL1033 11/13/15.317 17:06:44.17 AACTNEW1 A01ITSO    ADDed                                       
TPBL1000 11/13/15.317 17:06:44.19 UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01 ) ))     
TPBL1033 11/13/15.317 17:06:44.24 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.24 ADD    ACTAPPL(ACTNEW1 CA01A )                                  
TPBL1033 11/13/15.317 17:06:44.25 AACTNEW1 CA01A      ADDed                                       
TPBL1000 11/13/15.317 17:06:44.26 UPDATE ACTAPPL(ACTNEW1 CA01A (ACTSESS (CA01A ) ))      
TPBL1033 11/13/15.317 17:06:44.28 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.28 ADD    ACTAPPL(ACTNEW1 CA01B )                                  
TPBL1033 11/13/15.317 17:06:44.29 AACTNEW1 CA01B      ADDed                                       
TPBL1000 11/13/15.317 17:06:44.30 UPDATE ACTAPPL(ACTNEW1 CA01B (ACTSESS (CA01B ) ))      
TPBL1033 11/13/15.317 17:06:44.32 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.32 ADD    ACTAPPL(ACTNEW1 CA01B )                                  
TPBL1032 11/13/15.317 17:06:44.32 ADD failed for AACTNEW1 CA01B   , already exists                
TPBL1000 11/13/15.317 17:06:44.32 UPDATE ACTAPPL(ACTNEW1 CA01B (ACTSESS (CA01BB ) ))     
TPBL1033 11/13/15.317 17:06:44.34 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.34 ADD    ACTAPPL(ACTNEW1 A01ITSO )                                
TPBL1032 11/13/15.317 17:06:44.35 ADD failed for AACTNEW1 A01ITSO , already exists                
TPBL1000 11/13/15.317 17:06:44.35 UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01E ) ))    
TPBL1033 11/13/15.317 17:06:44.37 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.37 ADD    ACTAPPL(ACTNEW1 A01ITSO )                                
TPBL1032 11/13/15.317 17:06:44.37 ADD failed for AACTNEW1 A01ITSO , already exists                
TPBL1000 11/13/15.317 17:06:44.37 UPDATE ACTAPPL(ACTNEW1 A01ITSO (ACTSESS (CA01G ) ))    
TPBL1033 11/13/15.317 17:06:44.38 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.38 ADD    ACTAPPL(ACTNEW1 OBSOLETE )                               
TPBL1033 11/13/15.317 17:06:44.39 AACTNEW1 OBSOLETE   ADDed                                       
TPBL1000 11/13/15.317 17:06:44.40 UPDATE ACTAPPL(ACTNEW1 OBSOLETE (ACTSESS (OBSOLETE ) ))
TPBL1033 11/13/15.317 17:06:44.43 AACTNEW1          UPDATed                                       
TPBL1009 11/13/15.317 17:06:44.43         19 records read from SYSIN                              
TPB030   11/13/15.317 17:06:44.46  TERMINATION REQUEST ACCEPTED
Note: If ACTNEW1 did not already exist, TPX would create it with the first ADD statement.
 

Review the updated ACT:

Here is the resulting ACT, viewed with TPXADMIN:
TPX Application Characteristics Table Entry List             
                                                           Panelid  - TEN0092 
Command  ===>                                              Userid   - 
                                                           Termid   - 
 Application Characteristics Table: ACTNEW1                Date     - 
                                                           Time     - 
           Default                                      Default               
 Applid    Sessid    Application description          Session key             
 AAAAAAA   AAAAAAA                                       PF __                
 A01ITSO   CA01G                                         PF __                
 CA01A     CA01A                                         PF __                
 CA01B     CA01BB                                        PF __                
 OBSOLETE  OBSOLETE                                      PF __                
 TPXADMIN           TPX Administration                   PF __                
 TPXDEMO            TPX Dummy Session                    PF __                
 TPXMAIL            TPX Mailbox                          PF __                
 TPXNOTES           TPX Notepad                          PF __                
 TPXOPER            TPX Operator                         PF __                
 TPXVIEW            TPX View                             PF __                
 TPXVWUTL           TPX View Utility                     PF __                
 TPXWINDW           TPX Windows                          PF __                
******************************* BOTTOM OF DATA *******************************
If you do not like the results, you can always delete the ACT online and try again.  

Additional Information