  | 
		
HP OpenVMS DCL Dictionary
 
 
 
CREATE/NAME_TABLE
 
Creates a new logical name table. The /NAME_TABLE qualifier is required.
 
 
Format
CREATE/NAME_TABLE table-name
  
 
Parameter
table-name
Specifies a string of 1 to 31 characters that identifies the logical 
name table you are creating. The string can include alphanumeric 
characters, the dollar sign ($), and the underscore (_). Table names 
must be in uppercase letters; if you specify a name using lowercase 
letters, it will be converted to all uppercase. The table name is 
entered as a logical name in either the process directory logical name 
table (LNM$PROCESS_DIRECTORY) or the system directory logical name 
table (LNM$SYSTEM_DIRECTORY).
 
 
Description
The CREATE/NAME_TABLE command creates a new logical name table. The 
name of the table is contained within the LNM$PROCESS_DIRECTORY 
directory table if the table is process-private, and within the 
LNM$SYSTEM_DIRECTORY directory table if the table is shareable.
Every new table has a parent table, which determines whether the new 
table is process-private or shareable. To create a process-private 
table, use the /PARENT_TABLE qualifier to specify the name of a 
process-private table (the process directory table). To create a 
shareable table, specify the parent as a shareable table.
 
If you do not explicitly provide a parent table, the CREATE/NAME_TABLE 
command creates a process-private table whose parent is 
LNM$PROCESS_DIRECTORY; that is, the name of the table is entered in the 
process directory.
 
Every table has a size quota. The quota may either constrain the 
potential growth of the table or indicate that the table's size can be 
virtually unlimited. The description of the /QUOTA qualifier explains 
how to specify a quota.
 
To specify an access mode for the table you are creating, use the 
/USER_MODE, the /SUPERVISOR_MODE, or the /EXECUTIVE_MODE qualifier. If 
you specify more than one of these qualifiers, only the last one 
entered is accepted. If you do not specify an access mode, then a 
supervisor-mode table is created.
 
To delete a logical name table, use the DEASSIGN command, specify the 
name of the table you want to delete, and use the /TABLE qualifier to 
specify the directory table where the name of the table was entered.
 
For more information about logical name tables, see the HP OpenVMS System Manager's Manual.
  
 
Qualifiers
/ATTRIBUTES[=(keyword[,...])]
Specifies attributes for the logical name table. If you specify only 
one keyword, you can omit the parentheses. If you do not specify the 
/ATTRIBUTES qualifier, no attributes are set.
You can specify the following keywords for attributes:
 
  
    | 
      CONFINE
     | 
    
      Specifies that the table name and the logical names contained in the 
      table are not copied into a spawned subprocess. This keyword can be 
      used only when creating a private logical name table. If a table is 
      created with the CONFINE attribute, all names subsequently entered into 
      the table are also confined.
     | 
   
  
    | 
      NO_ALIAS
     | 
    
       Specifies that no identical names (either logical names or names of 
       logical name tables) can be created in an outer (less privileged) mode 
       in the current directory. Unless you specify the NO_ALIAS attribute, 
       the table can be "aliased" by an identical name created in an 
       outer access mode. This attribute deletes any previously created 
       identical table names in an outer access mode in the same logical name 
       table directory.
     | 
   
  
    | 
      SUPERSEDE
     | 
    
       Creates a new table that supersedes any previous (existing) table that 
       contains the name, access mode, and directory table that you specify. 
       The new table is created regardless of whether the previous table 
       exists. (If you do not specify the SUPERSEDE attribute, the new table 
       is not created if the previous table exists.) This attribute applies to 
       all types of logical name tables except clusterwide logical name tables.
        Whether or not you specify SUPERSEDE, the following conditions 
      apply:
       
      - You cannot create a new clusterwide logical name table with the 
      same name and access mode as an existing clusterwide logical name table 
      until you delete the existing table.
      
 -  If you specify a new clusterwide logical name table with the same 
      name and access mode as an existing
      local logical name table, the new clusterwide logical name 
      table is created, and the local table and its logical names are deleted.
      
  
               If you specify or accept the default for the qualifier /LOG, you 
               receive a message indicating the result.
      | 
   
 
/EXECUTIVE_MODE
Requires SYSNAM (system logical name) privilege.
Creates an executive-mode logical name table. If you specify executive 
mode, but do not have SYSNAM privilege, a supervisor-mode logical name 
table is created.
 /LOG (default)
/NOLOG
Controls whether an informational message is generated when the 
SUPERSEDE attribute is specified, or when the table already exists but 
the SUPERSEDE attribute is not specified. The default is the /LOG 
qualifier; that is, the informational message is displayed.
/PARENT_TABLE=table
Requires either create (C) access to the parent table and write 
(W) access to the system directory or the SYSPRV privilege.
Specifies the name of the parent table. The parent table determines 
whether a table is private or shareable; it also determines the size 
quota of the table. If you do not specify a parent table, the default 
table is LNM$PROCESS_DIRECTORY. A shareable table has 
LNM$SYSTEM_DIRECTORY as its parent table. The parent table must have 
the same access mode or a higher level access mode than the one you are 
creating.
 /PROTECTION=(ownership[:access][,...])
Applies the specified protection to shareable name tables.
  - Specify the ownership parameter as system (S), owner (O), 
  group (G), or world (W).
  
 - Specify the access parameter as read (R), write (W), 
  create (C), or delete (D).
  
For more information on specifying protection codes, see the 
HP OpenVMS Guide to System Security.
 
The /PROTECTION qualifier affects only shareable logical name tables; 
it does not affect process-private logical name tables.
 /QUOTA=number-of-bytes
Specifies the size limit of the logical name table. The size of each 
logical name entered in the new table is deducted from this size limit. 
The new table's quota is statically subtracted from the parent table's 
quota holder. The parent table's quota holder is the first logical name 
table encountered when working upward in the table hierarchy that has 
an explicit quota and is therefore its own quota holder. If the /QUOTA 
qualifier is not specified or the size limit is 0, the parent table's 
quota holder becomes the new table's quota holder and space is 
dynamically withdrawn from it whenever a logical name is entered in 
this new table. If the table has no quota holder and you specify 
/QUOTA=0, the table has unlimited quota.
/SUPERVISOR_MODE (default)
Creates a supervisor-mode logical name table. If you do not specify a 
mode, a supervisor-mode logical name table is created.
/USER_MODE
Creates a user-mode logical name table. If you do not explicitly 
specify a mode, a supervisor-mode logical name table is created.
 
  Note 
User-mode logical names are automatically deleted when invoking and 
exiting a command procedure. 
     | 
   
 
 
 
Examples
 
  
    | #1 | 
   
    
       
      
$ CREATE/NAME_TABLE TEST_TAB
$ SHOW LOGICAL TEST_TAB
%SHOW-S-NOTRAN, no translation for logical name TEST_TAB
$ SHOW LOGICAL/TABLE=LNM$PROCESS_DIRECTORY TEST_TAB
      
      
     | 
   
 
In this example, the CREATE/NAME_TABLE command creates a new table 
called TEST_TAB. By default, the name of the table is entered in the 
process directory. The first SHOW LOGICAL command does not find the 
name TEST_TAB because it does not, by default, search the process 
directory table. You must use the /TABLE qualifier to request that the 
process directory be searched.
  
  
    | #2 | 
   
    
       
      
$ CREATE/NAME_TABLE/ATTRIBUTES=CONFINE EXTRA
$ DEFINE/TABLE=EXTRA MYDISK DISK4:
$ DEFINE/TABLE=LNM$PROCESS_DIRECTORY LNM$FILE_DEV -
_$ EXTRA, LNM$PROCESS, LNM$JOB, LNM$GROUP, LNM$SYSTEM
$ TYPE MYDISK:[COHEN]EXAMPLE1.LIS
      
      
     | 
   
 
This example creates a new logical name table called EXTRA that is 
created with the CONFINE attribute. Therefore, the EXTRA table and the 
names it contains will not be copied to subprocesses.
 
Next, the logical name MYDISK is placed into the table EXTRA. To use 
the name MYDISK in file specifications, you must make sure that the 
table EXTRA is searched when RMS parses file specifications. To do 
this, you can define a process-private version of the logical name 
LNM$FILE_DEV to include the name EXTRA as one of its equivalence 
strings. (The system uses LNM$FILE_DEV to determine the tables to 
search during logical name translation for device or file 
specifications, and will use the process-private version of the logical 
name before using the default system version.) After you define 
LNM$FILE_DEV, the system searches the following tables during logical 
name translation: EXTRA, your process table, your job table, your group 
table, and the system table. Now, you can use the name MYDISK in a file 
specification and the equivalence string DISK4 will be substituted.
  
  
 |