Inside VESOFT #10 (VEAUDIT UDC handling)
by
Shawn Gordon

One of the more overlooked aspects of VEAUDIT is it’s ability to work with UDC files. There are specifically two commands for working with UDCS, they are LISTUDC and ALTUDC. The syntax is a bit funny from the normal VESOFT commands (in my opinion). For those of you who don’t know, you can issue VEAUDIT and SECURITY/3000 commands directly from MPEX by prefacing them with either VEAUDIT or SEC respectively.

First let’s cover the LISTUDC command. The syntax is:

%VEAUDIT LISTUDC userset [;FILE=fileset] [;INVERT]

Some examples of how to use it: 

%VEAUDIT LISTUDC @.@
%VEAUDIT LISTUDC @.PROD+@.DEV
%VEAUDIT LISTUDC @.@-@.VESOFT; FILE=@.PUB.VESOFT

Lists the UDC files which are set for each user in a userset (system, account, and/or user); if you use the ;FILE=fileset option, shows you only those files which match the fileset. If you use the ;INVERT keyword, the output is inverted, and shows the list of all users who have each individual UDC file SETCATALOGed. Here is an example of both types of output when logged on as MANAGER.SYS on my system.

veaudit listudc @.@
@       .@           WARP.PUB.TIMEWARP SYSUDC.PUB.SYS HPPXUDC.PUB.SYS 
NETSEND .VESOFT      LOGONUDC.PUB.VESOFT 
SYSSTART.VESOFT      LOGONUDC.SYSSTART.VESOFT

veaudit listudc @.@;invert

HPPXUDC.PUB.SYS           @.@ 
LOGONUDC.PUB.VESOFT       NETSEND.VESOFT 
LOGONUDC.SYSSTART.VESOFT  SYSSTART.VESOFT 
SYSUDC.PUB.SYS            @.@ 
WARP.PUB.TIMEWARP         @.@

I find the INVERT option to be a bit easier to read through than the standard display format, but I find them both to be a useful tool.

Next is the ALTUDC command, and believe me, this can be a HUGE time saver. The syntax is:

%VEAUDIT ALTUDC userset; FROM=fromfileset; TO=tofileset

Some examples of usage are:


%VEAUDIT ALTUDC @.@; FROM=LOGONUDC.PUB.SECURITY;& 
         TO=LOGONUDC.PUB.VESOFT
%VEAUDIT ALTUDC MGR.PROD; FROM=@UDC1.UDC.PROD; &
         TO=@UDC2.UDC.PROD
%VEAUDIT ALTUDC MANAGER.DEV+MANAGER.TEST; &
         FROM=PHUDC.PUB.COGNOS; TO=PHUDC.CATALOG.ROBELLE

Did you ever want to replace one UDC file with another, but you weren’t sure which users (and/or accounts) the old UDC file was currently set for? The %VEAUDIT ALTUDC command finds all of the users and accounts on your system that the FROM-fileset is currently :SETCATALOGed for and :SETCATALOGs them to the TO-fileset! (If any files in the FROM fileset are :SETCATALOGed at the SYSTEM level, those will be replaced as well.)

In other words, if the user MGR.PROD currently has the following UDC files set:

   USER UDC CATALOG FILE NAMES:
      MGRUDC1.PUB.PROD

   ACCOUNT UDC CATALOG FILE NAMES:
      ACCTUDC1.PUB.PROD

   SYSTEM UDC CATALOG FILE NAMES:
      LOGONUDC.PUB.VESOFT
      STRMUDCX.PUB.VESOFT
      MPEXUDC.PUB.VESOFT
      SYSUDC1.PUB.SYS

and you issue the command

   %VEAUDIT ALTUDC MGR.PROD; FROM=@1.@.@; TO=@2.=.=

MGR.PROD will then have these UDC files set:

   USER UDC CATALOG FILE NAMES:
      MGRUDC2.PUB.PROD

   ACCOUNT UDC CATALOG FILE NAMES:
      ACCTUDC2.PUB.PROD

   SYSTEM UDC CATALOG FILE NAMES:
      LOGONUDC.PUB.VESOFT
      STRMUDCX.PUB.VESOFT
      MPEXUDC.PUB.VESOFT
      SYSUDC2.PUB.SYS

As you may have noticed, the TO-fileset can contain @s and =s; you will want to refer to the documentation on the OBJECTFILE(…) function that is in the Appendix for details.

Like the MPE :SETCATALOG command, %VEAUDIT ALTUDC allows users to modify their own UDCs, AM users to modify any UDCs in their own account, and SM users to modify any UDC catalog on the system.

Finally, here is a bit of trivia that I ran across by accident. It seems that if you rebuild the help facility by issueing the command HELPMAKE, you will have access to the Posix manual from MPEX as well. I thought this was pretty cool.