Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS DCL Dictionary


Previous Contents Index

If the tape drive cannot read the volume, the mount fails and an error message is returned. Use the /BLANK_TAPE qualifier to override the checking of information on a volume label.

/LOG

/NOLOG

Requires OPER (operator) privilege.

Closes the current operator's log file and opens a new one if OPCOM is running. The /NOLOG qualifier closes the current log file, but does not open a new log file. The current terminal must be enabled as an operator terminal. The operator can then examine the contents of the previous log file.

/NODE[=(node-name[,...])]

Sends a message to the local cluster node only. The optional parameter list allows you to specify which nodes will receive the message. Default sends messages to all cluster nodes.

/NOTIFY (default)

/NONOTIFY

Sends a message describing success back to the originating terminal.

/PENDING=identification-number

Requires OPER privilege.

Sends a message to the user specified by the identification number and prevents the user from entering other commands until the operator fulfills or aborts the request. The current terminal must be enabled as an operator terminal.

/SHUTDOWN

Sends a message beginning "SHUTDOWN..."; if used with the /BELL qualifier, rings three bells at terminals receiving the message.

/STATUS

Requires OPER (operator) privilege.

Reports the current operator status and all outstanding user requests for the terminal from which this command was entered. The current terminal must be enabled as an operator terminal.

/TEMPORARY

Designates the terminal at which the command is entered to be an operator's terminal for the current interactive session only. This qualifier is meaningful only when used with the /ENABLE qualifier.

/TERMINAL=(terminal-name[,...])

Requires OPER (operator) privilege.

Broadcasts the message to specified terminals, where the terminal-name parameter is the device name of the terminal. Incompatible with the /ALL and /USERNAME qualifiers.

/TO=identification-number

Requires OPER (operator) privilege.

Sends a message to the user or file system specified by the identification number and completes the request. The current terminal must be enabled as an operator terminal.

Note that you can also use a variation of the REPLY/TO command in response to a MOUNT/ASSIST command where you redirect the mount operation to another device. Whenever you must substitute a device, load the user's volume on the alternate device and prepare the device for connection before entering the REPLY command. Use the following syntax:

REPLY/TO=identification-number "SUBSTITUTE  device-name"

You can abbreviate the word SUBSTITUTE to S and can use uppercase or lowercase characters. After a space, use the remainder of the message-text space to name the substituted device.

/URGENT

Sends a message beginning "URGENT..."; if used with the /BELL qualifier, rings two bells at terminals receiving the message.

/USERNAME[=(username[,...])]

Requires OPER (operator) privilege.

Broadcasts a message to all terminals at which users are logged in to the system (or OpenVMS Cluster), or only to the terminals of the specified users. Incompatible with the /ALL and /TERMINAL qualifiers.

/WAIT

Sends a message synchronously and then waits. The default is to send a message to OPCOM, which does the actual I/O. On a cluster, the message is sent to the local node.

Examples

#1

$ REPLY/ALL/BELL "SYSTEM GOING DOWN FOR BACK-UP. PLEASE LOG OFF."
 
      

The REPLY command in this example broadcasts a message to all terminals on the system. When the message appears at the user's terminal, it is prefixed with the terminal name, the user name of the sender, and (when DECnet for OpenVMS is installed) the node name. The bell sounds at the terminal as the message is displayed.

#2

$ REPLY/ENABLE=DISKS
%OPCOM, 24-DEC-1998, 10:17:09.02, operator enabled, operator OPA0
$
%OPCOM, 24-DEC-1998 10:17:10.30, operator status for operator OPA0
DISKS
 
      

The REPLY/ENABLE command in this example designates the terminal OPA0 as an operator terminal that can receive messages pertaining to mounting and dismounting disks. The OPCOM message confirms that terminal OPA0 is established as an operator's terminal.

#3

%OPCOM, 24-DEC-1998 10:19:33.21, request 5, from user SYSTEM
OPA0, Please mount OPGUIDE on DBA3:
$ REPLY/PENDING=5 "YOU'LL HAVE TO WAIT... -
_$ THERE ARE SEVERAL REQUESTS BEFORE YOURS"
   .
   .
   .
$ REPLY/TO=5
24-DEC-1998 10:20:25.50, request 5 completed by operator OPA0
 
      

In this example the OPCOM message indicates that a user wants the operator to place the disk volume labeled OPGUIDE on the disk drive DBA3 and prepare the device for connection. The REPLY/PENDING command indicates that the operator can perform the task but not immediately; the /PENDING qualifier prevents the user from entering other commands until the operator fulfills or aborts the request. After mounting the disk on the drive the operator sends a message indicating that the request has been fulfilled. When no message is specified, OPCOM sends a standard message indicating that the task has been performed.

#4

%%%%%%%%%%  OPCOM, 24-DEC-1998 10:20:50.39  %%%%%%%%%%%
request 5 from user ROBINSON
Please mount volume GRAPHIC_FILES in device _DUA11:
Shelf 4 - slot B
$ REPLY/TO=5 "SUBSTITUTE  DUA4"
 
      

The REPLY/TO command with the SUBSTITUTE syntax in this example is used in response to a MOUNT/ASSIST command entered by user ROBINSON. The MOUNT device is switched to DUA4, and the logical name specified by the user in the MOUNT command is defined with an equivalence name of DUA4 rather than the drive originally specified.

#5

$ REPLY/STATUS
%OPCOM, 24-DEC-1998 10:20:50.39, operator status for operator OPA0
DISKS
 
      

The REPLY/STATUS command in this example requests that the operator terminal status for terminal OPA0 be displayed. The response from OPCOM indicates that terminal OPA0 is enabled to receive messages from disk devices.

#6

$ REPLY/BELL/TERMINAL=TTC1: "YOUR FILE HAS COMPLETED PRINTING. BOB S."
 
      

The REPLY command in this example sends a message to the user logged in at terminal TTC1. When the message displays, a bell rings at that terminal.

#7

$ REPLY/ENABLE
%OPCOM, 24-DEC-1998 10:22:19.75, operator status for operator OPA0
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER,
LICENSE, OPER11, OPER12
 
   .
   .
   .
$ REPLY/DISABLE=(PRINTER, TAPES)
%OPCOM, 24-DEC-1998 10:22:26.07, operator disabled, operator OPA0
 
      

The REPLY/ENABLE command in this example designates terminal OPA0 to receive messages from all facilities. Later, the REPLY/DISABLE command selectively disables OPA0 from receiving messages pertaining to print devices and tapes.


REQUEST

Displays a message at a system operator's terminal and optionally requests a reply. All messages are logged at the operator's console and in the operator's log file, if that file is initialized.

To use this command, you must start the operator communication process (OPCOM) at boot time by specifying the DCL command @SYS$SYSTEM:STARTUP OPCOM in the site-specific startup command file, SYS$MANAGER:SYSTARTUP.COM.


Format

REQUEST message-text


Parameter

message-text

Specifies the text of the message to be displayed. The string can be up to 128 characters. If the string contains spaces, special characters, or lowercase characters, enclose it in quotation marks (" ").

Description

When you use the REQUEST command to send a message to an operator, the message is displayed at the operator terminals specified with the /TO qualifier.

If you specify the /REPLY qualifier, the message is assigned an identification number, so the operator can respond to the message. The system displays the following message:


%OPCOM-S-OPRNOTIF, operator notified, waiting...hh:mm:ss

When the operator responds to your request, the system displays a message such as the following:


%OPCOM-S-OPREPLY, message text entered by operator

If you request a reply, you cannot enter any commands until the operator responds. If you press Ctrl/C, the system displays the following message:


REQUEST - Enter message or cancel with ^Z
REQUEST - Message?

At this time, you can either enter another message, or press Ctrl/Z to cancel the request. If you enter another message, that message is sent to the operator, and you must continue to wait for a reply.

All messages are logged at the central operator's console and in the system operator's log file, if that file is initialized.


Qualifiers

/REPLY

Requests a reply to the message and issues a unique identification number to which the operator sends the response. The system displays a message that the operator has been notified; you cannot enter any commands until the operator responds. If you press Ctrl/C before the operator responds, you can then enter another message to the operator, or press Ctrl/Z to cancel the request.

/TO=(operator[,...])

Specifies one or more operators to whom you want to send the message. Possible keywords are as follows:
CARDS Sends the message to operators designated to respond to card reader requests.
CENTRAL Sends the message to the central system operator.
CLUSTER Sends the message to operators designated to respond to cluster-related requests.
DEVICES Sends the message to operators who mount and dismount disks.
DISKS Sends the message to operators who mount and dismount disk volumes.
NETWORK Sends the message to the network operator.
OPER1 to OPER12 Sends the message to operators identified as OPER1 to OPER12.
PRINTER Sends the message to operators designated to handle print requests.
SECURITY Sends the message to operators designated to respond to security-related requests.
TAPES Sends the message to operators designated to mount and dismount tape volumes.

Examples

#1

$ PRINT/COPIES=2/QUEUE=LQ_PRINT  REPORT.OUT/FORM=LETTER
  Job REPRT (queue LQA1, entry 401) pending
$ REQUEST/REPLY/TO=PRINTER -
_$"Have queued job 401 as FORM=LETTER;  can you print it?"
%OPCOM-S-OPRNOTIF, operator notified, waiting...10:42:16.10
%OPCOM-S-OPREPLY, AFTER 11:00
 14-DEC-1998 10:25:32.40, request 3 completed by operator OPA0
      

In this example the PRINT command requests that multiple copies of a file be printed using a special paper (/FORM=LETTER). After queueing the job to the printer, the REQUEST command sends a message to the system operator.

The operator sends a reply after completing the request.

#2

$ REQUEST/REPLY  "Are you there?"
%OPCOM-S-OPRNOTIF, operator notified, waiting...14:54:30.33
[Ctrl/C]
REQUEST-Enter message or cancel request with ^Z
REQUEST-Message?[Ctrl/Z]
%OPCOM-S-OPRNOTIF, operator notified, waiting... 14:59:01.38
%OPCOM-F-RQSTCAN, request was canceled
      

In this example the REQUEST command issues a message and requests a response. When no operator replies to the question, Ctrl/C is used to interrupt the request; then Ctrl/Z is used to cancel it.


RETURN

Terminates a GOSUB subroutine procedure and returns control to the command following the calling GOSUB command.

Format

RETURN [status-code]


Parameter

status-code

Defines a longword (integer) value or expression equivalent to an integer value that gives the exit status of the subroutine by defining a numeric value for the reserved global symbol $STATUS. The value can be tested by the next outer command level. The low-order 3 bits of the longword integer value change the value of the reserved global symbol $SEVERITY. If you specify a status code, DCL interprets the code as a condition code. Note that even numeric values produce warning, error, and fatal error messages, and that odd numeric values produce either no message or a success or informational message.

If you do not specify a status code, the current value of $STATUS is saved. When control returns to the outer command level, $STATUS contains the status of the most recently executed command or program.


Description

The RETURN command terminates the GOSUB subroutine and returns control back to the command following the calling GOSUB command.

When a DCL command, user program, or command procedure completes execution, the command interpreter saves the condition code value in the global symbol $STATUS. The system maintains this value in hexadecimal. If a RETURN command does not explicitly set a value for $STATUS, the command interpreter uses the current value of $STATUS to determine the error status.

The low-order 3 bits of the status value contained in $STATUS represent the severity of the condition. The reserved global symbol $SEVERITY contains this portion of the condition code. Severity values range from 0 to 4, as shown in the following table:
Value Severity
0 Warning
1 Success
2 Error
3 Information
4 Severe (fatal) error

Note that the success and information codes have odd numeric values, and that warning and error codes have even numeric values.


Example


$ SHOW TIME 
  14-DEC-1998 14:25:42 
$ GOSUB SYMBOL 
$ EXIT 
$ SYMBOL: 
$     SHOW SYMBOL RED 
      RED = "SET DEFAULT [JONES.DCL]" 
$     RETURN 1 
      

The GOSUB command transfers control to the subroutine labeled SYMBOL. After the subroutine is executed, the RETURN command transfers control back to the command following the calling GOSUB statement, giving $STATUS and $SEVERITY a value of 1. The procedure then exits.


RUN (Image)

Executes an image within the context of your process. You can abbreviate the RUN command to a single letter, R.

If you specify an image name in the command line with an explicit version number (or a semicolon), the image runs with current process privileges. If you do not specify an explicit version number (or semicolon), the image runs with any privileges with which it was installed. If you have DECnet software installed and want to execute an image over the network, you must have read (R) access to the file.


Format

RUN filespec


Parameter

filespec

Specifies an executable image to be executed. The file type defaults to .EXE. The asterisk (*) and the percent sign (%) wildcard characters are not allowed.

Qualifier

/DEBUG

/NODEBUG

Executes the image under control of the debugger. The default is the /DEBUG qualifier if the image is linked with the /DEBUG qualifier and the /NODEBUG qualifier if the image is linked without the /DEBUG qualifier. The /DEBUG qualifier is invalid if the image is linked with the /NOTRACEBACK qualifier. The /NODEBUG qualifier overrides the effect of the LINK/DEBUG command. If the image was linked with the /TRACEBACK qualifier, traceback reporting is performed when an error occurs.

If the image was not linked with the debugger, you can specify the /DEBUG qualifier to request the debugger at execution time. However, if the /NOTRACEBACK qualifier was specified when the image was linked, the /DEBUG qualifier is invalid.

For a complete description of the OpenVMS Debugger, refer to the OpenVMS Debugger Manual.

To get help on debugger commands from the DCL level, type the following command:


$ HELP/LIBRARY=SYS$HELP:DBG$HELP DEBUG


Examples

#1

$ RUN LIBRA
 
      

The image LIBRA.EXE starts executing in the process. If the image LIBRA has been installed with amplified privileges, it runs with those privileges because you have not explicitly specified a version number or a semicolon. Alternatively, the image LIBRA.EXE still runs with its amplified privileges, if you enter the RUN command as follows:


$ RUN LIBRA.EXE

#2

$ MACRO/ENABLE=DEBUG ORION
$ LINK/DEBUG ORION
$ RUN ORION
 
     VAX DEBUG Version 5.4
 
%DEBUG-I-INITIAL, language is MACRO, module set to 'ORION'
DBG>
   .
   .
   .
$ RUN/NODEBUG ORION
      

A program is compiled, linked, and run with the debugger. Subsequently, a RUN/NODEBUG command requests that the debugger, which is present in the image, not issue a prompt. If an error occurs while the image executes, the debugger can perform traceback and report on the error.

#3

$ RUN AQUARIUS.EXE;1
      

The image AQUARIUS.EXE starts executing in the process. If the image AQUARIUS.EXE has been installed with amplified privileges, it does not run with those privileges because you have specified a version number. Instead, the image runs with current process privileges only. When you specify a version number (or even just a semicolon), the image activator does not search its list of special images that have been installed with privileges. The process AQUARIUS still runs with only normal process privileges if you enter the RUN command as follows:


$ RUN AQUARIUS.EXE;

In this case, however, the highest version of the image AQUARIUS runs.


RUN (Process)

Creates a subprocess or a detached process to run an image and deletes the process when the image completes execution. A subprocess is created if any of the qualifiers except the /UIC or the /DETACHED qualifier is specified. A detached process is created if the /UIC or the /DETACHED qualifier is specified and you have the IMPERSONATE user privilege.

Format

RUN filespec


Parameter

filespec

Specifies the file name of an executable image to be executed in a separate process. The default file type is .EXE. The asterisk (*) and the percent sign (%) wildcard characters are not allowed in the file specification.

Description

The RUN command creates a process to execute the specified image. If you specify the /UIC or the /DETACHED qualifier, the RUN command creates a detached process. Otherwise, the RUN command creates a subprocess.

When you specify any qualifiers with the RUN command, the RUN command creates a process and displays the process identification (PID) code in SYS$OUTPUT. The newly created process executes the image named in the file specification. When the image has finished executing, the system deletes the process that was running that image.

By default, the RUN command creates a subprocess with the same user identification code (UIC), current disk and directory defaults, privileges, and priority as the current process.

If the detached process terminates unexpectedly and you want to find out why, you can use the Accounting utility to display the final exit status of the process. For more information, see the OpenVMS System Management Utilities Reference Manual.

Both the /DETACHED and the /UIC qualifiers request the RUN command to create a detached process. You must have the user privilege IMPERSONATE or CMKRNL to create a detached process with a different UIC. When you create a detached process, the resource quotas are established as follows:

However, if you have the IMPERSONATE or CMKRNL privilege, you can specify any quotas for the detached process.

Input, Output, and Error Streams

Use the following qualifiers to assign equivalence names for the logical names SYS$INPUT, SYS$OUTPUT, and SYS$ERROR for the process:

The equivalence names you specify for these process-permanent files are interpreted within the context of the process you are creating. For example, file type defaults, and logical name use and translation are image- and language-dependent.

Defining Process Attributes

Use the following qualifiers to override the default attributes for a process:

Assigning Resource Quotas

When you enter a RUN command to create a process, you can define quotas to restrict the amount of various system resources available to the process. The following resource quota is deductible when you create a subprocess; that is, the value you specify is subtracted from your current quota and given to the subprocess:
Qualifier Quota
/TIME_LIMIT CPUTIME

The quota amount is returned to your current process when the subprocess is deleted.

The system defines minimum values for each specifiable quota. If you specify a quota that is below the minimum, or if you specify a deductible quota that reduces your current quota below the minimum, the RUN command cannot create the process. To determine your current quotas, enter the SHOW PROCESS/QUOTAS command.

You can also specify limits for nondeductible quotas. Nondeductible quotas are established and maintained separately for each process and subprocess. The following qualifiers specify nondeductible quotas:
Qualifier Quota
/AST_LIMIT ASTLM
/EXTENT WSEXTENT
/IO_BUFFERED BIOLM
/IO_DIRECT DIOLM
/MAXIMUM_WORKING_SET WSQUOTA
/WORKING_SET WSDEFAULT

A third type of quota treatment is pooling. Pooled quotas are established when a detached process is created. They are shared by that process and all its descendent subprocesses. Charges against pooled quota values are subtracted from the current available totals as they are used and are added back to the total when they are not being used. The following qualifiers specify pooled quotas:
Qualifier Quota
/BUFFER_LIMIT BYTLM
/ENQUEUE_LIMIT ENQLM
/FILE_LIMIT FILLM
/PAGE_FILE PGFLQUOTA
/QUEUE_LIMIT TQELM
/SUBPROCESS_LIMIT PRCLM


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
9996PRO_043.HTML