  | 
		
HP OpenVMS DCL Dictionary
 
 
 
DEASSIGN
 
Cancels a logical name assignment that was made with one of the 
following commands: ALLOCATE, ASSIGN, DEFINE, or MOUNT. The DEASSIGN 
command also deletes a logical name table that was created with the 
CREATE/NAME_TABLE command.
 
 
Format
DEASSIGN [logical-name[:]]
  
 
Parameter
logical-name[:]
Specifies the logical name to be deassigned. Logical names can have 
from 1 to 255 characters. If the logical name contains any characters 
other than alphanumerics, dollar signs ($), or underscores (_), enclose 
it in quotation marks (" "). The logical-name 
parameter is required unless you use the /ALL qualifier.
If the logical-name parameter ends with a colon (:), the 
command interpreter ignores the colon. (Note that the ASSIGN and 
ALLOCATE commands remove a trailing colon, if present, from a logical 
name before placing the name in a logical name table.) If the logical 
name contains one or more trailing colons, you must append one 
additional colon to the DEASSIGN logical-name parameter (for example, 
type DEASSIGN FILE:: to deassign the logical name FILE:).
 
To delete a logical name table, specify the table name as the 
logical-name parameter. You must also use the /TABLE qualifier 
to indicate the logical name directory table where the table name is 
entered.
  
 
Description
The DEASSIGN command cancels a logical name assignment that was made 
with one of the following commands: ALLOCATE, ASSIGN, DEFINE, or MOUNT. 
The DEASSIGN command also deletes a logical name table that was created 
with the CREATE/NAME_TABLE command. You can use the /ALL qualifier with 
DEASSIGN to cancel all logical names in a specified table. If you use 
the /ALL qualifier and do not specify a table, then all names in the 
process table (except names created by the command interpreter) are 
deassigned; that is, all names entered at the indicated access mode or 
an outer access mode are deassigned.
To specify the logical name table from which you want to deassign a 
logical name, use the /PROCESS, /JOB, /GROUP, /SYSTEM, or /TABLE 
qualifier. If you enter more than one of these qualifiers, only the 
last one entered is accepted. If entries exist for the specified 
logical name in more than one logical name table, the name is deleted 
from only the last logical name table specified on the command line. If 
you do not specify a logical name table, the default is the 
/TABLE=LNM$PROCESS qualifier.
 
To delete a shareable logical name, you need write (W) access to the 
logical name table. To delete a shareable logical name table, you need 
write (W) access to the parent table and delete (D) access to the 
target logical name table.
 
To specify the access mode of the logical name you want to deassign, 
use the /USER_MODE, /SUPERVISOR_MODE, or /EXECUTIVE_MODE qualifier. If 
you enter more than one of these qualifiers, only the last one is 
accepted. If you do not specify a mode, the DEASSIGN command deletes a 
supervisor-mode name. When you deassign a logical name, any identical 
names created with outer access modes in the same logical name table 
are also deleted.
 
You must have SYSNAM (system logical name) privilege to deassign an 
executive-mode logical name.
 
 If you specify the /EXECUTIVE_MODE qualifier and you do not have SYSNAM 
 privilege, then the DEASSIGN command ignores the qualifier and attempts 
 to deassign a supervisor-mode logical name.
 
All process-private logical names and logical name tables are deleted 
when you log out of the system. User-mode entries within the process 
logical name table are deassigned when any image exits. The logical 
names in the job table, and the job table itself, are deleted when you 
log off the system.
 
Names in all other shareable logical name tables remain there until 
they are explicitly deassigned, regardless of whether they are user-, 
supervisor-, or executive-mode names. You must have write (W) access to 
a shareable logical name table to delete any name in that table.
 
If you delete a logical name table, all the logical names in the table 
are also deleted. Also, any descendant tables are deleted. To delete a 
shareable logical name table, you must have delete (D) access to the 
table.
  
 
Qualifiers
/ALL
Deletes all logical names in the same or an outer (less privileged) 
access mode. If no logical name table is specified, the default is the 
process table, LNM$PROCESS. If you specify the /ALL qualifier, you 
cannot enter a logical-name parameter.
/CLUSTER_SYSTEM
You must be signed in to the SYSTEM account or have SYSNAM 
(system logical name) or SYSPRV (system) privilege to deassign a 
clusterwide logical name.
Deassigns a logical name from the LNM$SYSCLUSTER table.
 /EXECUTIVE_MODE
Requires SYSNAM (system logical name) privilege to deassign 
executive-mode logical names.
Deletes only entries that were created in the specified mode or an 
outer (less privileged) mode. If you do not have SYSNAM privilege for 
executive mode, a supervisor-mode operation is assumed.
 /GROUP
Requires GRPNAM (group logical name) or SYSPRV privilege to 
delete entries from the group logical name table.
Indicates that the specified logical name is in the group logical name 
table. The /GROUP qualifier is synonymous with the /TABLE=LNM$GROUP 
qualifier.
 /JOB
Indicates that the specified logical name is in the jobwide logical 
name table. The /JOB qualifier is synonymous with the /TABLE=LNM$JOB 
qualifier. If you do not explicitly specify a logical name table, the 
default is the /PROCESS qualifier.
You should not deassign jobwide logical name entries that were made by 
the system at login time, for example, SYS$LOGIN, SYS$LOGIN_DEVICE, and 
SYS$SCRATCH. However, if you assign new equivalence names for these 
logical names (that is, create new logical names in outer access 
modes), you can deassign the names you explicitly created.
 /LOG (default)
/NOLOG
/NOLOG overrides the default /LOG to suppress output of a fatal error 
that would be returned if the specified logical name were not found. 
When you specify /NOLOG, $STATUS is set to Success instead of to Fatal 
and no error message is output.
/PROCESS (default)
Indicates that the specified logical name is in the process logical 
name table. The /PROCESS qualifier is synonymous with the 
/TABLE=LNM$PROCESS qualifier.
You cannot deassign logical name table entries that were made by the 
command interpreter, for example, SYS$INPUT, SYS$OUTPUT, and SYS$ERROR. 
However, if you assign new equivalence names for these logical names 
(that is, create new logical names in outer access modes), you can 
deassign the names you explicitly created.
 /SUPERVISOR_MODE (default)
Deletes entries in the specified logical name table that were created 
in supervisor mode. If you specify the /SUPERVISOR_MODE qualifier, the 
DEASSIGN command also deassigns user-mode entries with the same name.
/SYSTEM
Indicates that the specified logical name is in the system logical name 
table. The /SYSTEM qualifier is synonymous with the /TABLE=LNM$SYSTEM 
qualifier.
/TABLE=name
Specifies the table from which the logical name is to be deleted. 
Defaults to LNM$PROCESS. The table can be the process, group, job, or 
system table, one of the directory tables, or the name of a 
user-created table. (The process, job, group, and system logical name 
tables should be referred to by the logical names LNM$PROCESS, LNM$JOB, 
LNM$GROUP, and LNM$SYSTEM, respectively.)
The /TABLE qualifier also can be used to delete a logical name table. 
To delete a process-private table, enter the following command:
 
 
  
    
       
      
$ DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY table-name
 
 |   
To delete a shareable table, enter the following command:
 
 
  
    
       
      
$ DEASSIGN/TABLE=LNM$SYSTEM_DIRECTORY table-name
 
 |   
To delete a shareable logical name table, you must have delete (D) 
access to the table or write (W) access to the directory table in which 
the name of the shareable table is cataloged.
 
If you do not explicitly specify the /TABLE qualifier, the default is 
the /TABLE=LNM$PROCESS qualifier.
 /USER_MODE
Deletes entries in the process logical name table that were created in 
user mode. If you specify the /USER_MODE qualifier, the DEASSIGN 
command can deassign only user-mode entries. Also, user-mode logical 
names are automatically deleted when invoking and exiting a command 
procedure.
 
 
Examples
 
The DEASSIGN command in this example deassigns the process logical name 
MEMO.
  
The DEASSIGN command in this example deassigns all process logical 
names that were created in user and supervisor mode. This command does 
not, however, delete the names that were placed in the process logical 
name table in executive mode by the command interpreter (for example, 
SYS$INPUT, SYS$OUTPUT, SYS$ERROR, SYS$DISK, and SYS$COMMAND).
  
  
    | #3 | 
   
    
       
      
$ DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY TAX
      
      
     | 
   
 
The DEASSIGN command in this example deletes the logical name table 
TAX, and any descendant tables. When you delete a logical name table, 
you must specify either the /TABLE=LNM$PROCESS_DIRECTORY or the 
/TABLE=LNM$SYSTEM_DIRECTORY qualifier, because the names of all tables 
are contained in these directories.
  
  
    | #4 | 
   
    
       
      
$ ASSIGN USER_DISK:   COPY
$ SHOW LOGICAL COPY
   "COPY" = "USER_DISK:" (LNM$PROCESS_TABLE)
$ DEASSIGN COPY
 
      
      
     | 
   
 
The ASSIGN command in this example equates the logical name COPY with 
the device USER_DISK and places the names in the process logical name 
table. The DEASSIGN command deletes the logical name.
  
  
    | #5 | 
   
    
       
      
$ DEFINE SWITCH:  TEMP
$ DEASSIGN SWITCH::
      
      
     | 
   
 
The DEFINE command in this example places the logical name SWITCH: in 
the process logical name table. The trailing colon is retained as part 
of the logical name. Two colons are required on the DEASSIGN command to 
delete this logical name because the DEASSIGN command removes one 
trailing colon, and the other colon is needed to match the characters 
in the logical name.
  
  
    | #6 | 
   
    
       
      
$ ASSIGN/TABLE=LNM$GROUP DKA1: GROUP_DISK
$ DEASSIGN/PROCESS/GROUP GROUP_DISK
      
      
     | 
   
 
The ASSIGN command in this example places the logical name GROUP_DISK 
in the group logical name table. The DEASSIGN command specifies 
conflicting qualifiers; because the /GROUP qualifier is last, the name 
is successfully deassigned.
 
  
  
    | #7 | 
   
    
       
      
$ ASSIGN DALLAS::USER_DISK:   DATA
   .
   .
   .
$ DEASSIGN DATA
      
      
     | 
   
 
The ASSIGN command in this example associates the logical name DATA 
with the device specification USER_DISK on remote node DALLAS. 
Subsequent references to the logical name DATA result in references to 
the disk on the remote node. The DEASSIGN command cancels the logical 
name assignment.
  
  
 |