TPX batch - example - How to copy ACT entries into a TPX profile

Document ID : KB000091821
Last Modified Date : 20/04/2018
Show Technical Document Details
Introduction:
Application Characteristics Table (ACT): 
  • The characteristics for the applications that your users will be accessing are defined in the ACT. 
  • The values that you specify in the ACT determine the way the product and users interact with the applications.
  • The ACT entries are VTAM APPLIDs.
  • The ACT is the system level for applications in the user:profile:system level hierarchy.

Sessions:
  • Sessions can be defined at the profile and/or user level in TPX.
  • There are some fields that are available within a session definition that are not available at the system level within the ACT, such as menu order or session data.
  • The profile session entries are Session IDs.  
  • Another field within the session definition is the applid and this will link to the ACT applid entry to access system level defaults.
Background:
It is possible to only define applications within the ACT and set the SMRT Default Dynamic User Profile to #DEFAULT.  #DEFAULT simulates a TPX profile by using the applications defined within the ACT as the sessions to display on the TPX menu.
One of the limitations of this approach is that there are additional fields which are only available at the user or profile level, such as menu order or session data.
This article describes one method for using TPX batch to extract from your ACT and populate a TPX profile.
Environment:
CA TPX for z/OS
Instructions:
Brief outline of the process:
1) Create a new profile, manually or using TPX batch
2) Extract from ACT then
  • a) generate a report of your ACT and review that to identify what will be used to populate the profile.
  • b) generate SYSIN statements for a further TPX batch step that will create the profile session records
3) Review the generated statements and revise as desired (modifying menu order, delete statements for TPXDEMO, TPXVWUTL, etc)
4) Use TPX batch to process the generated statements
5) Use TPX batch to report on the new profile
6) Update SMRT System Features - set Default Dynamic User Profile to use this new profile


1) Create a new profile, manually or using TPX batch
-This example creates and populates a profile called FROMACT.  Use whatever profile name you prefer.
-To do this online, go to TPXADMIN, User Maintenance - Profile Maintenance and create the new profile with command: S FROMACT
-For TPX batch:  (Note: TPXPROCNAME is the name of your TPX started task PROC.)
//BATCH1   EXEC  TPXPROCNAME,VNODE='*BATCH*'   
//EXTFILE  DD    UNIT=SYSDA,SPACE=(CYL,(1,1))
//RPTFILE  DD    SYSOUT=*
//*
//SYSIN DD *
C
C STEP 1: DELETE AND ADD PROFILE
C
DEL PROFILE (FROMACT)
ADD PROFILE (FROMACT)
(By using delete then add, you can start with a clean slate as you go thru this iterative process if you don't like the initial results.)


2) Extract from ACT then
  • a) generate a report of your ACT and review that to identify what will be used to populate the profile.
  • b) generate SYSIN statements for a further TPX batch step that will create the profile session records
//*****************************************************************
//* PREDEL step is useful if you are rerunning the next step       *
//*****************************************************************
//PREDEL  EXEC  PGM=IDCAMS
//SYSPRINT  DD  SYSOUT=*
//SYSIN  DD  *
 DELETE 'userid.TPX.NXTSYSIN'
 SET MAXCC=0
/*
//*****************************************************************
//BATCH2   EXEC  TPXPROCNAME,VNODE='*BATCH*'   
//EXTFILE  DD    UNIT=SYSDA,SPACE=(CYL,(1,1))
//RPTFILE  DD    SYSOUT=*
//*XTSYSIN DD    SYSOUT=*   <<<Can use this first to see what is generated
//NXTSYSIN DD UNIT=SYSDA,SPACE=(CYL,(1,1)),DISP=(NEW,CATLG),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),
//            DSN=userid.TPX.NXTSYSIN
//*
//SYSIN DD *
C
C CREATE AND POPULATE A PROFILE FROM ALL APPLICATIONS IN ACT.
C
C STEP 2: EXTRACT FROM ACT
C         LIST ACT
C         CREATE ADDPROFILESESSION STATEMENTS FOR NEXT BATCH SYSIN
C
C NOTE: YOU CAN ADD PROFILESESSION USING ACTNAME OR ACTSESS
C       ACTNAME IS THE VTAM APPLID & ENTRY NAME IN ACT
C       ACTSESS IS THE DEFAULT SESSION ID
C    ***IF ACT LISTING DOES NOT SHOW VALUE FOR ACTSESS FOR ALL ENTRIES
C       THEN GENERATE THE NXTSYSIN BATCH STATEMENTS USING ACTNAME.
C       -OR- GENERATE THE ADD PROFILESESSION STATEMENT FOR BOTH       
C            ACTNAME AND ACTSESS, THEN DELETE ONE OF THEM IN NXTSYSIN 
C
C   *** YOU CAN EDIT NXTSYSIN AS DESIRED BEFORE EXECUTING IN LATER STEP
C   *** YOU CAN DELETE STATEMENTS FOR TPXDEMO, TPXVWUTL, ETC
C
C
EXTRACT GIVING(EXTFILE) ACT (VACTTBL(your_act))  
SET RTITLE1 ' ACTNAME   ACTLABEL             ACTSESS   VACTTBL'
SET RTITLE2 ' ========  ===================  ========= ========'
REPORT GIVING(RPTFILE) USING (EXTFILE)
      ((' &ACTNAME' '  &ACTLABEL          ' '  &ACTSESS' '  &VACTTBL'))
C
C
SET RLINEMAX '0'
REPORT GIVING(NXTSYSIN) USING (EXTFILE)
  ((' ADD PROFILESESSION (FROMACT ' '&ACTNAME' ') '           )
   (' UPDATE PROFILESESSION (FROMACT ' '&ACTNAME'             )
   ('          (PENTAPPL (' ' &ACTNAME ' ') PENTROW(100) ) )' ))

Sample report from ACTPRD:
ACTNAME   ACTLABEL             ACTSESS   VACTTBL 
========  ===================  ========= ========
A31ITSO                                  ACTPRD      
CA31                                     ACTPRD  
CA31A      ACT Label for Appl  CA31ASES  ACTPRD  
CA31B      ACT Label for Appl  CA31BSES  ACTPRD       
TPXADMIN  TPX Administration             ACTPRD  
TPXDEMO   TPX Dummy Session              ACTPRD  
TPXMAIL   TPX Mailbox                    ACTPRD  
TPXNOTES  TPX Notepad                    ACTPRD  
TPXOPER   TPX Operator                   ACTPRD  
TPXVIEW   TPX View                       ACTPRD  
TPXVWUTL  TPX View Utility               ACTPRD  
TPXWINDW  TPX Windows                    ACTPRD
Sample generated NXTSYSIN:
ADD PROFILESESSION (FROMACT AAAAAAA )           
UPDATE PROFILESESSION (FROMACT AAAAAAA          
         (PENTAPPL ( AAAAAAA  ) PENTROW(100) ) )
ADD PROFILESESSION (FROMACT A31ITSO )           
UPDATE PROFILESESSION (FROMACT A31ITSO          
         (PENTAPPL ( A31ITSO  ) PENTROW(100) ) )
...


3) Review the generated statements and revise as desired (modifying menu order, delete statements for TPXDEMO, TPXVWUTL, etc)

Because the ACT report shows that not all entries have session ids defined, create profile FROMACT using ACT applid as both the profile sessionid and profile applid.
See the tip under Additional Information if you want to use a mix of ACT session id and applid as the profile session id.  The file attachment contains sample JCL based on the scenario described for the tip.


4) Use TPX batch to process the generated statements
//BATCH3   EXEC  TPXPROCNAME,VNODE='*BATCH*'   
//EXTFILE  DD    UNIT=SYSDA,SPACE=(CYL,(1,1))
//RPTFILE  DD    SYSOUT=*
//SYSIN    DD    DISP=SHR,DSN=userid.TPX.NXTSYSIN


5) Use TPX batch to report on the new profile
//BATCH4   EXEC TPXPROCNAME,VNODE='*BATCH*'   
//EXTFILE  DD    UNIT=SYSDA,SPACE=(CYL,(1,1))
//RPTFILE  DD    SYSOUT=*
//SYSIN DD *
C
C  -ALL SESSIONS FROM THE NEW PROFILE
C
EXTRACT GIVING(EXTFILE) PROFILE AND ALL SESSIONS (PIDXNAME(FROMACT))
SET RTITLE1 ' PROFILE   APPLID   MENU ORDER  '
SET RTITLE2 ' ========  =======  ========='
REPORT GIVING(RPTFILE) USING (EXTFILE)
      ((' &PIDXNAME ' ' &PENTAPPL ' '  &PENTROW' ))

Here is the resulting report on profile FROMACT:
PROFILE    SESSID     APPLID     MENU ORDER
PIDXNAME   PENTUSER   PENTAPPL   PENTROW   
========   ========   ========   ==========
FROMACT                                    
           A31ITSO    A31ITSO     100      
           CA31       CA31        100      
           CA31A      CA31A       100      
           CA31B      CA31B       100           
           TPXADMIN   TPXADMIN    


6) Update SMRT System Features
  • Change Default Dynamic User Profile to use this new profile instead of #DEFAULT.
Additional Information:
If you have defined sessions within a profile and not within an ACT, then refer to this document to assist with copying from a profile to an ACT:
TPX batch - example -How to copy from CA TPX profile sessions to ACT (Application Characteristics Table)
Document ID : KB000033317
https://comm.support.ca.com/kb/tpx-batch-example-how-to-copy-from-ca-tpx-profile-sessions-to-act-application-characteristics-table/kb000033317

Tip: If you have a combination of wanting to use ACT applid for some profile sessions and ACT Default session ID for others, then you can have your batch job generate both ADD and UPDATE PROFILESESSION statements, then edit NXTSYSIN to delete whichever version you wish to discard:
REPORT GIVING(NXTSYSIN) USING (EXTFILE)
  ((' ADD PROFILESESSION (FROMACT ' '&ACTNAME' ') '           )
   (' ADD PROFILESESSION (FROMACT ' '&ACTSESS' ') '           )
   (' UPDATE PROFILESESSION (FROMACT ' '&ACTNAME'             )
   (' UPDATE PROFILESESSION (FROMACT ' '&ACTSESS'             )
   ('          (PENTAPPL (' ' &ACTNAME ' ') PENTROW(100) ) )' ))

ADD PROFILESESSION (FROMACT A31ITSO )              
ADD PROFILESESSION (FROMACT         )              
UPDATE PROFILESESSION (FROMACT A31ITSO             
UPDATE PROFILESESSION (FROMACT                     
         (PENTAPPL ( A31ITSO  ) PENTROW(200) ) )   
ADD PROFILESESSION (FROMACT CA31    )              
ADD PROFILESESSION (FROMACT CA31    )              
UPDATE PROFILESESSION (FROMACT CA31                
UPDATE PROFILESESSION (FROMACT CA31                
         (PENTAPPL ( CA31     ) PENTROW(100) ) )   
ADD PROFILESESSION (FROMACT CA31A   )              
ADD PROFILESESSION (FROMACT CA31ASES)              
UPDATE PROFILESESSION (FROMACT CA31A               
UPDATE PROFILESESSION (FROMACT CA31ASES            
         (PENTAPPL ( CA31A    ) PENTROW(100) ) )   
ADD PROFILESESSION (FROMACT CA31B   )              
ADD PROFILESESSION (FROMACT CA31BSES)              
UPDATE PROFILESESSION (FROMACT CA31B               
UPDATE PROFILESESSION (FROMACT CA31BSES            
         (PENTAPPL ( CA31B    ) PENTROW(100) ) )   
...                                                
ADD PROFILESESSION (FROMACT TPXADMIN)              
ADD PROFILESESSION (FROMACT         )              
UPDATE PROFILESESSION (FROMACT TPXADMIN            
UPDATE PROFILESESSION (FROMACT                     
         (PENTAPPL ( TPXADMIN ) PENTROW(100) ) )   
ADD PROFILESESSION (FROMACT TPXDEMO )              
ADD PROFILESESSION (FROMACT         )              
UPDATE PROFILESESSION (FROMACT TPXDEMO             
UPDATE PROFILESESSION (FROMACT                     
         (PENTAPPL ( TPXDEMO  ) PENTROW(100) ) )   
...                                                


PROFILE    SESSID     APPLID     MENU ORDER
PIDXNAME   PENTUSER   PENTAPPL   PENTROW   
========   ========   ========   ==========
FROMACT                                    
           A31ITSO    A31ITSO     200      
           CA31       CA31        100      
           CA31ASES   CA31A       100      
           CA31BSES   CA31B       100      
           TPXADMIN   TPXADMIN             
File Attachments:
BFROMACT.txt