How to reload all CA TPX profiles with one single command

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

Introduction:

When a profile is changed and saved, the change does not become effective immediately. The command 'RELOAD PROF=profile', executed in TPXOPER, is necessary to reload the specific profile. There are no wildcards available to reload more than one profile at a time.

Question:

How to reload all profiles with one single command?

Answer

Attached are two sample ACLs, PROFALL and PROFGET, that will accomplish this.

Setup:

  1. Add members PROFALL and PROFGET to your custom ACL library in your ACLLIB concatenation.
  2. Enter TPXOPER:
    • RELOAD ACL=PROFALL
    • RELOAD ACL=PROFGET

To reload all profiles at any time:

  1. Enter TPXOPER
  2. Start PROFALL by entering: /S PROFALL<cmdkey>
    • Ensure no space after PROFALL when pressing Cmdkey.
    • Command Key default is PF12.

PROFALL executes PROFGET to obtain the list of all profiles. It then issues a RELOAD command for every profile. At the end, a status message is displayed.

 

Additional Information:

PROFALL.txt

PROFGET.txt

ACL PROFALL

*******************************************************************     00010000
*                           ACL PROFALL                           *     00020012
*                           ===========                           *     00030001
*                                                                 *     00040000
* Disclaimer                                                      *     00050014
* ==========                                                      *     00060010
* This special example is provided by CA technical Support and is *     00070009
* not a supported feature/function of the CA-TPX product or its   *     00080009
* documentation. Customers choose to implement at own discretion. *     00090009
*                                                                 *     00100009
*                                                                 *     00110009
* Purpose of this ACL                                             *     00120001
* ===================                                             *     00130010
* This ACL reloads all Profiles which are defined in TPXADMIN.    *     00140006
* The complete list of Profiles can be seen in the "TPX Profile   *     00150006
* Table List" (access from TPXADMIN by selecting Option 1         *     00160006
* 'TPX User/Group Maintenance', then 2 'Profile Maintenance').    *     00170011
* In the 1st panel of the SMRT the parameter 'Load profiles at    *     00180006
* startup:' determines if all Profiles are preloaded into Storage *     00190006
* during start of TPX or not. This Parameter has to be set to 'Y' *     00200006
* if dynamic Users are used in the TPX.                           *     00210006
* When a Profile is changed and saved the change does not become  *     00220006
* effective immediately. The command 'RELOAD PROF=profile',       *     00230011
* executed in TPXOPER, is necessary to reload the specific        *     00240006
* profile. There are no Wildcards available to reload more than   *     00250006
* one profile at a time.                                          *     00260006
*                                                                 *     00270006
* To reload all Profiles this ACL reads all Profiles (done by     *     00280006
* subroutine PROFGET) and issues the RELOAD-Command for every     *     00290006
* profile one after the other.                                    *     00300006
*                                                                 *     00310008
*                                                                 *     00320008
* Prerequisites                                                   *     00330013
* =============                                                   *     00340013
* - The user that runs the ACL needs to have authority to         *     00350008
*   administer ALL groups that exist in a shop.                   *     00360008
*   If they do not have full authority then the only profiles     *     00370008
*   that will get put into the list, produced by PROFGET, would   *     00380008
*   be those created in the groups for which they do have         *     00390008
*   administrative authority.                                     *     00400008
* - The user also needs to have access to TPXOPER for start this  *     00410008
*   ACL (/S PROFALL)                                              *     00420008
* - The user also needs to have authority to issue the RELOAD     *     00430008
*   command.                                                      *     00440008
*                                                                 *     00450008
*                                                                 *     00460008
* Results of running ACL:                                         *     00470006
* =======================                                         *     00480010
* 1) Successful completion                                        *     00490013
* ------------------------                                        *     00500013
* Successful completion is indicated by these messages in the     *     00510013
* TPXOPER-Session:                                                *     00520010
* +TPX ************** TPX Operator ************ 5.1/SP02 TEN0200+ *     00530006
* |                                                             | *     00540006
* |                                                             | *     00550006
* |                                                             | *     00560006
* |                                                             | *     00570006
* | Profile table is pre-defined for 300 entries.               | *     00580006
* |                                                             | *     00590006
* | Number of profiles found and reloads issued: 12             | *     00600006
* |                                                             | *     00610006
* | Please check TPXlog for the profile names.                  | *     00620006
* |                                                             | *     00630006
* | TPXL1001 is only generated for already resident profiles.   | *     00640006
* | There will be no message for not loaded profiles.           | *     00650006
* |                                                             | *     00660006
* | Command ==>                                                 | *     00670006
* +---------- PF1=Help  PF3=End  PF4=Return  PF6=Repeat --------+ *     00680006
*                                                                 *     00690006
* The TPXlog contains a TPXL1001 Message for every Profile        *     00700006
* already placed in the storage:                                  *     00710006
* TPXL1001 date time OPERATOR - USER=user ==> RELOAD PROF=profile *     00720006
*                                                                 *     00730006
*                                                                 *     00740006
* 2) Unsuccessful completion                                      *     00750013
* --------------------------                                      *     00760013
* If the Array used for storing the names of the profiles is too  *     00770010
* small (the Default is 300 Entries) then this Messages appear on *     00780013
* the TPXOPER-Screen:                                             *     00790010
* +TPX ************** TPX Operator ************ 5.1/SP02 TEN0200+ *     00800006
* |                                                             | *     00810006
* |                                                             | *     00820006
* |                                                             | *     00830006
* |                                                             | *     00840006
* | Profile table is pre-defined for 300 entries.               | *     00850006
* |                                                             | *     00860006
* | Profile table too small - increase size in ACL PROFALL      | *     00870006
* |                                                             | *     00880006
* | Number of reloads issued: 0                                 | *     00890006
* |                                                             | *     00900006
* |                                                             | *     00910006
* |                                                             | *     00920006
* |                                                             | *     00930006
* | Command ==>                                                 | *     00940006
* +---------- PF1=Help  PF3=End  PF4=Return  PF6=Repeat --------+ *     00950006
*                                                                 *     00960006
* In this case the solution is to increase the Array by setting   *     00970011
* Variable A3 in line 14400 to a higher value.                    *     00980010
*                                                                 *     00990001
*                                                                 *     01000010
* Call:                                                           *     01010006
* =====                                                           *     01020010
* - Execute this ACL in TPXOPER by /S PROFALL                     *     01030006
*   (assuming that '/' is the Command Character and PF12 is the   *     01040006
*   Command Key)                                                  *     01050006
*                                                                 *     01060006
*                                                                 *     01070010
* Subroutines:                                                    *     01080006
* ============                                                    *     01090010
* - PROFGET                                                       *     01100006
*   Reading all Profiles and stores them in Variables PROF(1),    *     01110006
*   PROF(2), ...                                                  *     01120006
*                                                                 *     01130002
*                                                                 *     01140010
* Variables used:                                                 *     01150002
* ===============                                                 *     01160010
* - PROF(n)      Array to store the read profile names            *     01170002
* - PROFCNT      Size of Array (= Number of Profiles, max is 9999)*     01180008
* - A1           Counter                                          *     01190002
* - A2           Number of read Profiles                          *     01200002
* - A3           Size of Array (= Number of Profiles)             *     01210002
* - FLAG         Flag for result of Profile Reading in PROFGET    *     01220008
* - NAME         Name of Profile (used for RELOAD-Command)        *     01230002
* - MSG1 to MSG5 Messages displayed in TPXOPER-Panel.             *     01240008
*                                                                 *     01250002
* Variables filled in ACL PROFGET                                 *     01260002
* - COUNT        Number of read Profiles                          *     01270002
* - PROF(n)      Array to store the read profile names            *     01280002
*                                                                 *     01290002
*                                                                 *     01300010
* INPUT:                                                          *     01310002
* ======                                                          *     01320010
* - *NONE*                                                        *     01330002
*                                                                 *     01340002
*                                                                 *     01350010
* OUTPUT:                                                         *     01360002
* =======                                                         *     01370010
* - Display of Results in TPXOPER Session                         *     01380002
*-----------------------------------------------------------------*     01390002
          OPTION     MAXI,10000                                         01400000
*                                                                       01410000
*                               Increase size of Array containing       01420004
*                               the Profile names here|                 01430004
          SET        A3,300     <--- Number of profiles defined         01440006
*                                                                       01450000
          UDEFINE    PROFCNT,4,NUM                                      01460000
          SET        PROFCNT,&A3                                        01470000
          UDELETE    PROF                                               01480000
          UDEFINE    PROF(&A3),8                                        01490000
          UDEFINE    COUNT,4,NUM                                        01500000
          UDEFINE    NAME,8                                             01510000
          UDEFINE    MSG1,70                                            01520000
          UDEFINE    MSG2,70                                            01530000
          UDEFINE    MSG3,70                                            01540000
          UDEFINE    MSG4,70                                            01550000
          UDEFINE    MSG5,70                                            01560000
          UDEFINE    FLAG,8                                             01570008
*                                                                       01580000
   SET MSG2,'Number of profiles found and reloads issued: '             01590000
   SET MSG3,'Please check TPXlog for the profile names.'                01600000
   SET MSG4,'TPXL1001 is only generated for already resident profiles.' 01610000
   SET MSG5,'There will be no message for not loaded profiles.'         01620000
   SET FLAG,'        '                                                  01630008
*                                                                       01640000
*-----------------------------------------------------------------*     01650000
* Check if Session TPXADMIN is active.                            *     01660000
*    If 'YES' then end and restart of TPXADMIN.                   *     01670000
*    If 'NO'  then start of TPXADMIN.                             *     01680000
*-----------------------------------------------------------------*     01690000
ADMCHECK  NOP                                                           01700000
          SCAN       &SESS_INF(TPXADMIN),'ACTIVE'                       01710000
          BRANCH     NE,ADMSTART                                        01720000
          COMMAND    'I TPXADMIN'                                       01730000
          WAIT       2                                                  01740000
*                                                                       01750000
*-----------------------------------------------------------------*     01760000
* Start of TPXADMIN.                                              *     01770000
*-----------------------------------------------------------------*     01780000
ADMSTART  NOP                                                           01790000
          COMMAND    'A TPXADMIN'                                       01800000
          WAIT       4                                                  01810000
*                                                                       01820000
*-----------------------------------------------------------------*     01830000
* Start of ACL PROFGET which reads all Profiles.                  *     01840000
* This ACL waits for PROFGET to complete.                         *     01850000
*-----------------------------------------------------------------*     01860000
PROFGET   NOP                                                           01870000
          ACLPGM     TPXADMIN,PROFGET                                   01880006
          SUSPEND    1                                                  01890000
*                                                                       01900000
*-----------------------------------------------------------------*     01910000
* Was List of Profiles found?                                     *     01920008
*-----------------------------------------------------------------*     01930000
LIST      NOP                                                           01940008
          COMPARE    &FLAG,'FULL'                                       01950008
          BRANCH     EQ,NOTFOUND                                        01960008
*                                                                       01970008
*-----------------------------------------------------------------*     01980008
* Execution of RELOAD for all Profiles read by PROFGET.           *     01990008
*-----------------------------------------------------------------*     02000008
          SET        A2,&COUNT                                          02010000
          COMPARE    A2,0                                               02020000
          BRANCH     EQ,END                                             02030000
          SET        A1,1                                               02040000
LOOP      NOP                                                           02050000
          SET        NAME,&PROF(&A1)                                    02060000
          CLEAR                                                         02070000
          KEY        'RELOAD PROF=&NAME'                                02080000
          ENTER                                                         02090000
          ADD        A1,1                                               02100000
          COMPARE    A1,A2                                              02110000
          BRANCH     LE,LOOP                                            02120000
END       NOP                                                           02130000
          CLEAR                                                         02140008
          ENTER                                                         02150008
 OUTPUT   'Profile table is pre-defined for &PROFCNT entries.',10/2     02160011
 OUTPUTC  '&MSG1',12/2                                                  02170011
 OUTPUTC  '&MSG2. &COUNT',14/2                                          02180011
 OUTPUTC  '&MSG3',16/2                                                  02190011
 OUTPUTC  '&MSG4',18/2                                                  02200011
 OUTPUTC  '&MSG5',19/2                                                  02210011
          PAUSE                                                         02220008
          CLEAR                                                         02230000
          ENTER                                                         02240000
*                                                                       02250008
*-----------------------------------------------------------------*     02260008
* Delete defined variables as they are defined on User-Level.     *     02270008
* This avoids strange results if ACL is restarted from same user. *     02280008
*-----------------------------------------------------------------*     02290008
DELETION  NOP                                                           02300008
          UDELETE    PROF                                               02310000
          UDELETE    PROF(&A3)                                          02320000
          UDELETE    COUNT                                              02330000
          UDELETE    NAME                                               02340000
          UDELETE    MSG1                                               02350000
          UDELETE    MSG2                                               02360000
          UDELETE    MSG3                                               02370000
          UDELETE    MSG4                                               02380000
          UDELETE    MSG5                                               02390000
          STOP                                                          02400000
          END                                                           02410008
*                                                                       02420008
*-----------------------------------------------------------------*     02430008
* End this ACL and show Error Message defined on User-Level.      *     02440008
* This avoids strange results if ACL is restarted from same user. *     02450008
*-----------------------------------------------------------------*     02460008
NOTFOUND  NOP                                                           02470008
          CLEAR                                                         02480008
          ENTER                                                         02490008
       OUTPUT  'No Profile Table found. Please check authority of',12/2 02500008
       OUTPUTC 'this user to access the Profile list in TPXADMIN.',13/2 02510008
          PAUSE                                                         02520008
          BRANCH     ANY,DELETION                                       02530008

ACL PROFGET

*******************************************************************     00010000
*                           ACL PROFGET                           *     00020016
*                           ===========                           *     00030017
*                                                                 *     00040013
* Disclaimer                                                      *     00050013
* ==========                                                      *     00060015
* This special example is provided by CA technical Support and is *     00070013
* not a supported feature/function of the CA-TPX product or its   *     00080013
* documentation. Customers choose to implement at own discretion. *     00090013
*                                                                 *     00100013
*                                                                 *     00110013
* Purpose of this ACL                                             *     00120000
* ===================                                             *     00130015
* This ACL is called by ACL PROFALL. It reads all Profiles from   *     00140000
* TPXADMIN and writes them into Variables PROF(1), PROF(2), ...   *     00150000
*-----------------------------------------------------------------*     00160000
          OPTION     FLOW,ON                                            00170009
          OPTION     MAXI,10000                                         00180000
*                                                                       00190000
*-----------------------------------------------------------------*     00200000
* Call Option '1', then '2' in TPXADMIN to get into the list of   *     00210000
* Profiles.                                                       *     00220000
*-----------------------------------------------------------------*     00230000
NAVIGATE  NOP                                                           00240000
          HOME                                                          00250000
          KEY        '1'                                                00260000
          ENTER                                                         00270000
          KEY        '2'                                                00280000
          ENTER                                                         00290000
*                                                                       00300000
*-----------------------------------------------------------------*     00310000
* Check if List of Profiles is reached. If not, then end.         *     00320008
*-----------------------------------------------------------------*     00330008
          WAIT       3                                                  00340008
          SEARCH     'TPX Profile Table'                                00350008
          BRANCH     NE,NOTFOUND                                        00360009
*                                                                       00370008
*-----------------------------------------------------------------*     00380008
* Reading of the Profiles.                                        *     00390008
* On the screen the first Profile is located at line 7 and column *     00400008
* 4, means at Byte 484 (= 6*80+4).                                *     00410000
* - When reading reaches literal '********' the list is complete. *     00420000
* - When reaching '        ' PF08 needs to be entered and reading *     00430000
*   commences at the top (line 7).                                *     00440000
*-----------------------------------------------------------------*     00450000
LISTE     NOP                                                           00460000
          SET        A1,1       Counter and Index for PROF(...)         00470000
          SET        A3,484                                             00480000
          SET        A2,&PROFCNT                                        00490000
LOOP      NOP                                                           00500000
          COMPARE    A2,A1                                              00510000
          BRANCH     EQ,TABFULL                                         00520000
          SET        PROF(&A1),&SCREEN(&A3,8)                           00530000
          COMPARE    '&PROF(&A1)','********'                            00540000
          BRANCH     EQ,RETOUR                                          00550000
          COMPARE    '&PROF(&A1)','        '                            00560000
          BRANCH     EQ,PF08                                            00570000
          ADD        A1,1       next Index                              00580000
          ADD        A3,80      next Line                               00590000
          BRANCH     ANY,LOOP                                           00600000
*                                                                       00610000
PF08      NOP                                                           00620000
          HOME                                                          00630000
          PF         8                                                  00640000
          SET        A3,484     Byteposition of first Profile name      00650000
          BRANCH     ANY,LOOP                                           00660000
*                                                                       00670000
*-----------------------------------------------------------------*     00680000
* End of list reached. ACL gives work back to PROFALL, ends the   *     00690000
* TPXADMIN-Session and ends itself.                               *     00700000
*-----------------------------------------------------------------*     00710000
RETOUR    NOP                                                           00720000
          SET        PROF(&A1),' '                                      00730000
          SUB        A1,1       Lower Index by 1 as '********' is no    00740000
*                               valid Profile.                          00750000
          SET        COUNT,&A1                                          00760000
          NOTIFY     TPXOPER                                            00770000
          COMMAND    'I TPXADMIN'                                       00780000
          STOP                                                          00790000
*                                                                       00800008
TABFULL   NOP                                                           00810000
    SET  MSG1,'Profile table too small - increase size in ACL PROFALL'  00820004
    SET  MSG2,'Number of reloads issued: '                              00830004
    SET  MSG3,' '                                                       00840004
    SET  MSG4,' '                                                       00850004
    SET  MSG5,' '                                                       00860004
          SET        A1,0                                               00870000
          SET        COUNT,&A1                                          00880000
          NOTIFY     TPXOPER                                            00890000
          COMMAND    'I TPXADMIN'                                       00900000
          STOP                                                          00910000
*                                                                       00920008
NOTFOUND  NOP                                                           00930008
    SET  MSG1,'No Profile Table found. Please check authority of'       00940008
    SET  MSG2,'this user to access the Profile list.'                   00950008
    SET  MSG3,' '                                                       00960008
    SET  MSG4,' '                                                       00970008
    SET  MSG5,' '                                                       00980008
          SET        FLAG,'FULL'                                        00990010
          NOTIFY     TPXOPER                                            01000008
          COMMAND    'I TPXADMIN'                                       01010008
          STOP                                                          01020008
File Attachments:
TEC413467.zip