![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I would like to use "Set Command" to make a .CLD file a global command for all users. The only way I have been able to get it to work is by inserting it in the login.com for each user. How do I make it global? The Answer is : The method to do this is quite simple, and, most of the time it is perfectly safe. However, you need to use some caution as mistakes can cause fairly severe trouble either immediately or in the future. Please read and understand the warnings and notes before attempting to update DCLTABLES. These commands will update the system wide DCLTABLES: $ SET COMMAND /TABLE=SYS$COMMON:[SYSLIB]DCLTABLES - /OUTPUT=SYS$COMMON:[SYSLIB]DCLTABLES yourcld.CLD $ INSTALL REPLACE SYS$SHARE:DCLTABLES WARNING 1: Before attempting the above commands (on OpenVMS versions prior to V6.2), execute the following commands: $ DIR/SIZE=ALL SYS$SHARE:DCLTABLES.EXE Ensure that DCLTABLES is in SYS$COMMON:[SYSLIB]. If there is a copy in SYS$SYSROOT:[SYSLIB], please contact your local customer support centre for assistance. $ WRITE SYS$OUTPUT F$GETSYI("CONTIG_GBLPAGES") Ensure the figure is larger than the size of DCLTABLES.EXE $ WRITE SYS$OUTPUT F$GETSYI("FREE_GBLSECTS") Ensure there are sufficient global sections free. DCLTABLES will use 1. Failure to ensure adequate resources prior to the INSTALL command will result in blocking all logins to the system and will require a reboot to fix. On OpenVMS V6.2 and later, the INSTALL utility verifies sufficient room for the new DCLTABLES before removing the old DCLTABLES image. WARNING 2: Please make sure you enter the file name in the SET COMMAND command as SYS$COMMON:[SYSLIB]DCLTABLES (*precisely* as shown above). Failure to do so WILL cause problems with future installations and upgrades. Note 1: Only new processes will see the new commands automatically Note 2: Existing processes can use the command: $ SET COMMAND/TABLE=SYS$SHARE:DCLTABLES to make the new commands available without logging out and in again Note 3: Each time this procedure is executed, a delete pending global section will be created. They will remain until all processes using that copy of DCLTABLES are terminated. GBLPAGES and GBLSECTIONS will not be freed until the global sections complete deletion. Note 4: Do NOT purge DCLTABLES.EXE from SYS$SHARE until you KNOW that all processes using that copy of DCLTABLES have terminated. Since there is not simple way of determining this, the best approach is to wait until after the next system reboot. Deleting DCLTABLES while still in use will result in a "lost" file remaining on the disk, as the file will be retained in a "marked for delete" status. To recover from this (wasteful but otherwise harmless) condition, use the ANALYZE/DISK/REPAIR utility.
|