Creates a new logical name table. The /NAME_TABLE qualifier is
required.
Format
CREATE/NAME_TABLE table-name
1 – 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).
2 – Qualifiers
2.1 /ATTRIBUTES
/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:
o 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.
o 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.
2.2 /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.
2.3 /LOG
/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.
2.4 /PARENT_TABLE
/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.
2.5 /PROTECTION
/PROTECTION=(ownership[:access][,...])
Applies the specified protection to shareable name tables.
o Specify the ownership parameter as system (S), owner (O),
group (G), or world (W).
o Specify the access parameter as read (R), write (W), create
(C), or delete (D).
For more information on specifying protection codes, see the VSI
OpenVMS Guide to System Security.
The /PROTECTION qualifier affects only shareable logical name
tables; it does not affect process-private logical name tables.
2.6 /QUOTA
/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.
2.7 /SUPERVISOR_MODE
/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.
2.8 /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.
3 – 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.