TPX batch - example -How to copy from CA TPX profile sessions to ACT (Application Characteristics Table)

Document ID : KB000033317
Last Modified Date : 18/04/2018
Show Technical Document Details
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.

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. 

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.
 
Background:
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.
Instructions:

1) 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 A31ITSO )                                                                           
UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31 ) ))                                                
ADD    ACTAPPL(ACTNEW1 CA31A )                                                                             
UPDATE ACTAPPL(ACTNEW1 CA31A (ACTSESS (CA31A ) ))                                                 
ADD    ACTAPPL(ACTNEW1 CA31B )                                                                             
UPDATE ACTAPPL(ACTNEW1 CA31B (ACTSESS (CA31B ) ))                                                 
ADD    ACTAPPL(ACTNEW1 CA31B )                                                                             
UPDATE ACTAPPL(ACTNEW1 CA31B (ACTSESS (CA31BB ) ))                                                
ADD    ACTAPPL(ACTNEW1 A31ITSO )                                                                           
UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31E ) ))                                               
ADD    ACTAPPL(ACTNEW1 A31ITSO )                                                                           
UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31G ) ))                                               
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 ) ))
 
 
2) 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.
 
 
3) 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 A31ITSO )                                   
UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31 ) ))        
ADD    ACTAPPL(ACTNEW1 CA31A )                                     
UPDATE ACTAPPL(ACTNEW1 CA31A (ACTSESS (CA31A ) ))         
ADD    ACTAPPL(ACTNEW1 CA31B )                                     
UPDATE ACTAPPL(ACTNEW1 CA31B (ACTSESS (CA31B ) ))         
ADD    ACTAPPL(ACTNEW1 CA31B )                                     
UPDATE ACTAPPL(ACTNEW1 CA31B (ACTSESS (CA31BB ) ))        
ADD    ACTAPPL(ACTNEW1 A31ITSO )                                   
UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31E ) ))       
ADD    ACTAPPL(ACTNEW1 A31ITSO )                                   
UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31G ) ))       
ADD    ACTAPPL(ACTNEW1 OBSOLETE )                                  
UPDATE ACTAPPL(ACTNEW1 OBSOLETE (ACTSESS (OBSOLETE ) ))   
******************************** Bottom of Data *******************
 
  • Note that the original profile had 2 sessions (sessids CA31B & CA31BB) pointing to the same VTAM applid (CA31B), which is valid.
  • Similar for A31ITSO & CA31E & CA31G all using applid A31ITSO.
  • 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 A31ITSO )                                
TPBL1033 11/13/15.317 17:06:44.17 AACTNEW1 A31ITSO    ADDed                                       
TPBL1000 11/13/15.317 17:06:44.19 UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31 ) ))     
TPBL1033 11/13/15.317 17:06:44.24 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.24 ADD    ACTAPPL(ACTNEW1 CA31A )                                  
TPBL1033 11/13/15.317 17:06:44.25 AACTNEW1 CA31A      ADDed                                       
TPBL1000 11/13/15.317 17:06:44.26 UPDATE ACTAPPL(ACTNEW1 CA31A (ACTSESS (CA31A ) ))      
TPBL1033 11/13/15.317 17:06:44.28 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.28 ADD    ACTAPPL(ACTNEW1 CA31B )                                  
TPBL1033 11/13/15.317 17:06:44.29 AACTNEW1 CA31B      ADDed                                       
TPBL1000 11/13/15.317 17:06:44.30 UPDATE ACTAPPL(ACTNEW1 CA31B (ACTSESS (CA31B ) ))      
TPBL1033 11/13/15.317 17:06:44.32 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.32 ADD    ACTAPPL(ACTNEW1 CA31B )                                  
TPBL1032 11/13/15.317 17:06:44.32 ADD failed for AACTNEW1 CA31B   , already exists                
TPBL1000 11/13/15.317 17:06:44.32 UPDATE ACTAPPL(ACTNEW1 CA31B (ACTSESS (CA31BB ) ))     
TPBL1033 11/13/15.317 17:06:44.34 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.34 ADD    ACTAPPL(ACTNEW1 A31ITSO )                                
TPBL1032 11/13/15.317 17:06:44.35 ADD failed for AACTNEW1 A31ITSO , already exists                
TPBL1000 11/13/15.317 17:06:44.35 UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31E ) ))    
TPBL1033 11/13/15.317 17:06:44.37 AACTNEW1          UPDATed                                       
TPBL1000 11/13/15.317 17:06:44.37 ADD    ACTAPPL(ACTNEW1 A31ITSO )                                
TPBL1032 11/13/15.317 17:06:44.37 ADD failed for AACTNEW1 A31ITSO , already exists                
TPBL1000 11/13/15.317 17:06:44.37 UPDATE ACTAPPL(ACTNEW1 A31ITSO (ACTSESS (CA31G ) ))    
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.
 
 
4) 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 __                
 A31ITSO   CA31G                                         PF __                
 CA31A     CA31A                                         PF __                
 CA31B     CA31BB                                        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: