Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

PARAMETERS

QUALIFIERS

EXAMPLES

/MERGE

/QUEUE

/EXECUTIVE_MODE

/GROUP

/JOB

/LOG

/NAME_ATTRIBUTES

/PROCESS

/SUPERVISOR_MODE

/SYSTEM

/TABLE

/TRANSLATION_ATTRIBUTES

/USER_MODE

PARAMETERS

Example

PARAMETERS

Examples

HELP ASSIGN — VMS 5.5

   Creates a logical name and assigns an equivalence string, or a
   list of strings, to the specified logical name. If you specify
   an existing logical name, the new equivalence name replaces the
   existing equivalence name.

   The ASSIGN command performs different functions with certain
   qualifiers as follows:

   Removes all jobs from one queue and merges them into another
   existing queue (see /MERGE).

   Assigns, or redirects, a logical queue to a single execution queue
   (see /QUEUE).

   Format

     ASSIGN  equivalence-name[,...] logical-name[:]

Additional information available:

PARAMETERSQUALIFIERSEXAMPLES

/MERGE/QUEUE

PARAMETERS

equivalence-name[,...]
   Specifies a character string of 1 to 255 characters. Defines the
   equivalence name, usually a file specification, device name, or
   other logical name, to be associated with the logical name in
   the specified logical name table. If the string contains other
   than uppercase alphanumeric, dollar sign ($),  or underscore
   (_)  characters, enclose it in quotation marks (" "). Use two
   consecutive quotation marks ("")  to denote an actual quotation
   mark within the string. Specifying more than one equivalence name
   for a logical name creates a search list.

   When you specify an equivalence name that will be used as a file
   specification, you must include the punctuation marks (colons
   (:),  brackets ([]),  and periods (.)) that would be required if
   the equivalence name were used directly as a file specification.
   Therefore, if you specify a device name as an equivalence name,
   terminate the device name with a colon.

   The ASSIGN command allows you to assign the same logical name to
   more than one equivalence name. When you specify more than one
   equivalence name for a logical name, you create a search list. For
   more information on search lists, see the VMS DCL Concepts Manual.

logical-name[:]
   Specifies the logical name string, which is a character string
   containing up to 255 characters. You choose a logical name to
   represent the equivalence name in the specified logical name
   table.

   If the string contains other than uppercase alphanumeric, dollar
   sign, or underscore characters, enclose it in quotation marks.
   Use two consecutive quotation marks to denote an actual quotation
   mark. If you terminate the logical-name parameter with a colon,
   the system removes the colon before placing the name in a logical
   name table. (This differs from the DEFINE command, which saves
   the colon.) If the logical name is to be entered into the process
   directory (LNM$PROCESS_DIRECTORY) or system directory (LNM$SYSTEM_
   DIRECTORY) logical name tables, then the name may only have from
   1 to 31 alphanumeric characters (including the dollar sign and
   underscore). By default, the logical name is placed in the process
   logical name table.

   If the logical name contains any characters other than
   alphanumeric characters, the dollar sign, or the underscore,
   enclose the name in quotation marks. If the logical name contains
   quotation marks, enclose the name in quotation marks and use two
   consecutive quotation marks in the places where you want one set
   of quotation marks to occur. Note that if you enclose a name in
   quotation marks, the case of alphabetic characters is preserved.

QUALIFIERS

Additional information available:

/EXECUTIVE_MODE/GROUP/JOB/LOG/NAME_ATTRIBUTES
/PROCESS/SUPERVISOR_MODE/SYSTEM/TABLE/TRANSLATION_ATTRIBUTES
/USER_MODE

/EXECUTIVE_MODE

   Requires SYSNAM (system logical name) privilege.

   Creates an executive-mode logical name. If you specify executive
   mode, but do not have SYSNAM privilege, a supervisor-mode logical
   name is created. The mode of the logical name must be the same
   as or external to (less privileged than) the mode of the table in
   which you are placing the name.

/GROUP

   Requires SYSPRV (system privilege) or GRPNAM (group logical name)
   privilege.

   Places the logical name in the group logical name table. Other
   users who have the same group number in their user identification
   codes (UICs) can access the logical name. The /GROUP qualifier is
   synonymous with the /TABLE=LNM$GROUP qualifier.

/JOB

   Places the logical name in the jobwide logical name table. All
   processes within the same job tree as the process creating the
   logical name can access the logical name. The /JOB qualifier is
   synonymous with the /TABLE=LNM$JOB qualifier.

/LOG

      /LOG (default)
      /NOLOG

   Displays a message when a new logical name supersedes an existing
   name.

/NAME_ATTRIBUTES

      /NAME_ATTRIBUTES[=(keyword[,...])]

   Specifies the attributes for a logical name. By default, no
   attributes are set. You can specify the following keywords for
   attributes:

   CONFINE    Does not copy the logical name into a spawned
              subprocess; this keyword is relevant only for logical
              names in a private table.

   NO_ALIAS   Prohibits creation of logical names with the same name
              in an outer (less privileged) access mode within the
              specified table. If another logical name with the same
              name and an outer access mode already exists in this
              table, the name is deleted.

   If you specify only one keyword, you can omit the parentheses.
   Only the attributes you specify are set.

/PROCESS

      /PROCESS (default)

   Places the logical name in the process logical name table. The
   /PROCESS qualifier is synonymous with the /TABLE=LNM$PROCESS
   qualifier .

/SUPERVISOR_MODE

      /SUPERVISOR_MODE (default)

   Creates a supervisor-mode logical name in the specified table.

/SYSTEM

   Requires SYSNAM (system logical name) or SYSPRV (system privilege)
   privilege.

   Places the logical name in the system logical name table. All
   system users can access the logical name. The /SYSTEM qualifier is
   synonymous with the /TABLE=LNM$SYSTEM qualifier.

/TABLE

      /TABLE=name

   Requires write (W) access to the table if the table is shareable.

   Specifies the logical name table in which the logical name is to
   be entered. You can use the /TABLE qualifier to specify a user-
   defined logical name table (created with the CREATE/NAME_TABLE
   command); to specify the process, job, group, or system logical
   name tables; or to specify the process or system logical name
   directory tables.

   If you specify the table name using a logical name that has more
   than one translation, the logical name is placed in the first
   table found. For example, if you specify ASSIGN/TABLE=LNM$FILE_DEV
   and LNM$FILE_DEV is equated to LNM$PROCESS, LNM$JOB, LNM$GROUP,
   and LNM$SYSTEM, then the logical name is placed in LNM$PROCESS.

   If you do not explicitly specify the /TABLE qualifier, the default
   is the /TABLE=LNM$PROCESS qualifier.

/TRANSLATION_ATTRIBUTES

      /TRANSLATION_ATTRIBUTES[=(keyword[,...])]

   Equivalence-name qualifier.

   Specifies attributes of the equivalence-name parameter. Possible
   keywords are as follows:

   CONCEALED   Indicates that the equivalence string is the name of a
               concealed device.

               When a concealed device name is defined, the system
               displays the logical name, rather than the equivalence
               string, in messages that refer to the device. If
               you specified the CONCEALED attribute, then the
               equivalence string must be a physical device name.

   TERMINAL    Indicates that the equivalence string should not
               be translated iteratively; logical name translation
               should terminate with the current equivalence string.

   If you specify only one keyword, you can omit the parentheses.
   Only the attributes you specify are set.

   Note that different equivalence strings of the same logical name
   can have different translation attributes specified.

/USER_MODE

   Creates a user-mode logical name in the specified table.

   If you specify a user-mode logical name in the process logical
   name table, that logical name is used for the execution of a
   single image only; user-mode entries are deleted from the logical
   name table when any image executing in the process exits; that
   is, after any DCL command that executes an image or user program
   completes execution.

EXAMPLES

   1.  $ ASSIGN $DISK1:[ACCOUNTS.MEMOS] MEMOSD

     The ASSIGN command in this example equates the partial file
     specification $DISK1:[ACCOUNTS.MEMOS] to the logical name
     MEMOSD.

   2.  $ ASSIGN/USER_MODE $DISK1:[ACCOUNTS.MEMOS]WATER.TXT TM1

     The ASSIGN command in this example equates the logical name TM1
     to a file specification. After the next image runs, the logical
     name is deassigned automatically.


   3.  $ ASSIGN XXX1:[CHARLES]  CHARLIE
       $ PRINT  CHARLIE:TEST.DAT
       Job 274 entered on queue SYS$PRINT

     The ASSIGN command in this example associates the logical name
     CHARLIE with the directory name [CHARLES] on the disk XXX1.
     Subsequent references to the logical name CHARLIE result in the
     correspondence between the logical name CHARLIE and the disk
     and directory specified. The PRINT command queues a copy of the
     file XXX1:[CHARLES]TEST.DAT to the system printer.

   4.  $ ASSIGN YYY2:  TEMP:
       $ SHOW LOGICAL TEMP
          "TEMP" = "YYY2:" (LNM$PROCESS_TABLE)
       $ DEASSIGN TEMP

     The ASSIGN command in this example equates the logical name
     TEMP to the device YYY2. TEMP is created in supervisor mode
     and placed in the process logical name table. The SHOW LOGICAL
     command verifies that the logical name assignment was made.
     Note that the logical name TEMP was terminated with a colon in
     the ASSIGN command, but that the command interpreter deleted
     the colon before placing the name in the logical name table.
     Thus, you can specify TEMP without a colon in the subsequent
     DEASSIGN command. You should omit the colon in the SHOW LOGICAL
     command (for example, SHOW LOGICAL TEMP).


   5.  $ MOUNT TTT1: MASTER TAPE
       $ ASSIGN TAPE:NAMES.DAT PAYROLL
       $ RUN PAYROLL
          .
          .
          .

     The MOUNT command in this example establishes the logical name
     TAPE for the device TTT1, which has the volume labeled MASTER
     mounted on it. The ASSIGN command equates the logical name
     PAYROLL with the file named NAMES.DAT on the logical device
     TAPE. Thus, an OPEN request in a program referring to the
     logical name PAYROLL results in the correspondence between the
     logical name PAYROLL and the file NAMES.DAT on the tape whose
     volume label is MASTER.

   6.  $ CREATE/NAME_TABLE TABLE1
       $ ASSIGN/TABLE=LNM$PROCESS_DIRECTORY TABLE1,-
       _$ LNM$PROCESS,LNM$JOB,LNM$GROUP,LNM$SYSTEM LNM$FILE_DEV
       $ ASSIGN/TABLE=TABLE1 -
       _$ /TRANSLATION_ATTRIBUTES=CONCEALED  DBA1:  WORK_DISK

     The CREATE/NAME_TABLE command in this example creates the
     process private logical name table TABLE1.

     The first ASSIGN command ensures that TABLE1 is searched
     first in any logical name translation of a file specification
     or device name (because TABLE1 is the first item in the
     equivalence string for the logical name LNM$FILE_DEV, which
     determines the default search sequence of logical name tables
     whenever a device or file specification is translated).

     The second ASSIGN command assigns the logical name WORK_DISK
     to the physical device DBA1, and places the name in TABLE1.
     The logical name has the concealed attribute. Therefore, the
     logical name WORK_DISK will be displayed in system messages.


   7.  $ ASSIGN/TABLE=LNM$PROCESS/TABLE=LNM$GROUP  DBA0:  SYSFILES
       $ SHOW LOGICAL  SYSFILES
         "SYSFILES" = "DBA0:" (LNM$GROUP_000240)

     The ASSIGN command in this example contains conflicting
     qualifiers. When you specify conflicting qualifiers, the ASSIGN
     command uses the last qualifier specified. The response from
     the SHOW LOGICAL command indicates that the name was placed in
     the group logical name table.


   8.  $ ASSIGN/TABLE=LNM$GROUP 'F$TRNLNM("SYS$COMMAND")' TERMINAL
       %DCL-I-SUPERSEDE, previous value of TERMINAL has been superseded

     The ASSIGN command in this example uses the lexical function
     F$TRNLNM to translate the logical name SYS$COMMAND and use the
     result as the equivalence name for the logical name TERMINAL.
     The message from the ASSIGN command indicates that an entry for
     the logical name TERMINAL already existed in the group logical
     name table, and that the new entry has replaced the previous
     one.

     If this command is used in a LOGIN.COM file, the entry for
     TERMINAL will be redefined at the beginning of each terminal
     session. The current process and any subprocesses it creates
     can execute images that use the logical name TERMINAL to write
     messages to the current terminal device.

   9.  $ ASSIGN DALLAS::DMA1:  DATA

     The ASSIGN command in this example associates the logical
     name DATA with the device specification DMA1 on remote node
     DALLAS. Subsequent references to the logical name DATA result
     in references to the disk on the remote node.


   10. $ CREATE AVERAGE.COM
       $ ASSIGN/USER_MODE SYS$COMMAND:  SYS$INPUT
       $ EDIT/EDT AVERAGE.FOR
       $ FORTRAN AVERAGE
       $ LINK AVERAGE
       $ RUN AVERAGE
       87
       80
       90
       9999
       $ EXIT
<Ctrl/Z>

       $ @AVERAGE.COM

     The CREATE command in this example creates the command
     procedure AVERAGE.COM. Then the command procedure is executed.

     The command procedure uses the ASSIGN command with the /USER_
     MODE qualifier to change temporarily the value of SYS$INPUT.
     When the EDT editor is invoked, it accepts input from the
     terminal. This allows you to create or modify the program
     AVERAGE.FOR interactively.

     When you exit from EDT, SYS$INPUT is reassigned to its original
     value (the input stream provided by the command procedure).
     Thus, when the program AVERAGE.FOR is ready to accept input, it
     looks for that input in the command procedure.

/MERGE

   Removes all jobs from one queue and merges them into another
   existing queue. This command does not affect jobs that are
   executing.

   Requires OPER (operator) privilege or execute (E) access to both
   queues.

   Format

     ASSIGN/MERGE  target-queue[:] source-queue[:]

Additional information available:

PARAMETERS

Example

PARAMETERS

target-queue[:]
   Specifies the name of the queue into which the jobs are being
   merged.

source-queue[:]
   Specifies the name of the queue from which the jobs are being
   removed.

Example

   $ STOP/QUEUE/NEXT LPB0
   $ STOP/QUEUE/REQUEUE=LPA0 LPB0
   $ ASSIGN/MERGE LPA0 LPB0

     In this example, the STOP/QUEUE/NEXT command prevents another
     job from executing on queue LPB0. The STOP/QUEUE/REQUEUE
     command requeues the current job running on LPB0 to the target
     queue LPA0. The ASSIGN/MERGE command removes the remaining jobs
     from the LPB0 printer queue and places them in the LPA0 printer
     queue.

/QUEUE

   Assigns, or redirects, a logical queue to a single execution
   queue. The ASSIGN/QUEUE command can be used only with printer
   or terminal queues.

   Requires OPER (operator) privilege or execute (E) access to both
   queues.

   Format

     ASSIGN/QUEUE  queue-name[:] logical-queue-name[:]

Additional information available:

PARAMETERS

Examples

PARAMETERS

queue-name[:]
   Specifies the name of the execution queue. The queue cannot be a
   logical queue, a generic queue, or a batch queue.

logical-queue-name[:]
   Specifies the name of the logical queue.

Examples

   1.  $ INITIALIZE/QUEUE/DEFAULT=FLAG=ONE/START LPA0
       $ INITIALIZE/QUEUE TEST_QUEUE
       $ ASSIGN/QUEUE LPA0 TEST_QUEUE
       $ START/QUEUE TEST_QUEUE

     This example first initializes and starts the printer queue
     LPA0. The LPA0 queue is set to have a flag page precede each
     job. The second INITIALIZE/QUEUE command creates the logical
     queue TEST_QUEUE. The ASSIGN/QUEUE command assigns the logical
     queue TEST_QUEUE to the printer queue LPA0. The START/QUEUE
     command starts the logical queue.

   2.  $ INITIALIZE/QUEUE/START LPB0

     The ASSIGN/QUEUE command is not needed in this example because
     a logical queue is not being initialized. A printer queue is
     being initialized; LPB0 is the name of a line printer. After
     you enter the INITIALIZE/QUEUE/START command, jobs can be
     queued to LPB0 for printing.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026