Document revision date: 30 March 2001

## OpenVMS DCL Dictionary

Previous | Contents | Index

The last INITIALIZE/QUEUE command sets up a terminal queue on TXA5. A job queued with a form that has a stock type other than the stock type of form LETTER remains pending in the queue until a form with the same stock type is mounted on the queue, or until the entry is deleted from the queue or moved to another queue. LETTER has been established at this site to indicate special letterhead paper. The block size limit is 50, indicating that this queue is reserved for jobs smaller than 51 blocks.

## INQUIRE

> Reads a value from SYS$COMMAND (usually the terminal in interactive mode or the next line in the main command procedure) and assigns it to a symbol.

### Format

> INQUIRE symbol-name [prompt-string]

### Parameters

> #### symbol-name

> Specifies a symbol consisting of 1 to 255 alphanumeric characters.

> #### prompt-string

> Specifies the prompt to be displayed at the terminal when the INQUIRE command is executed. String values are automatically converted to uppercase. Also, any leading and trailing spaces and tabs are removed, and multiple spaces and tabs between characters are compressed to a single space.

> Enclose the prompt in quotation marks (" ") if it contains lowercase characters, punctuation, multiple blanks or tabs, or an at sign (@). To denote an actual quotation mark in a prompt-string, enclose the entire string in quotation marks and use quotation marks (" ") within the string.

> When the system displays the prompt string at the terminal, it generally places a colon (:) and a space at the end of the string. (See the /PUNCTUATION qualifier.)

> If you do not specify a prompt string, the command interpreter uses the symbol name to prompt for a value.

### Description

> The INQUIRE command displays the prompting message to and reads the response from the input stream established when your process was created. This means that when the INQUIRE command is executed in a command procedure executed interactively, the prompting message is always displayed on the terminal, regardless of the level of nesting of command procedures. Note that input to the INQUIRE command in command procedures will be placed in the RECALL buffer.

> When you enter a response to the prompt string, the value is assigned as a character string to the specified symbol. Lowercase characters are automatically converted to uppercase, leading and trailing spaces and tabs are removed, and multiple spaces and tabs between characters are compressed to a single space. To prohibit conversion to uppercase and retain space and tab characters, place quotation marks around the string.

> To use symbols or lexical functions when you enter a response to the prompt string, use single quotation marks (` ') to request symbol substitution.

> Note that you can also use the READ command to obtain data interactively from the terminal. The READ command accepts data exactly as the user types it; characters are not automatically converted to uppercase and spaces are not compressed. However, symbols and lexical functions will not be translated even if you use apostrophes to request symbol substitution.

> When an INQUIRE command is entered in a batch job, the command reads the response from the next line in the command procedure; if procedures are nested, it reads the response from the first level command procedure. If the next line in the batch job command procedure begins with a dollar sign ($), the line is interpreted as a command, not as a response to the INQUIRE command. The INQUIRE command then assigns a null string to the specified symbol, and the batch job continues processing with the command on the line following the INQUIRE command.

### Qualifiers

> #### /GLOBAL

> Specifies that the symbol be placed in the global symbol table. If you do not specify the /GLOBAL qualifier, the symbol is placed in the local symbol table.

> #### /LOCAL (default)

> Specifies that the symbol be placed in the local symbol table for the current command procedure.

> #### /PUNCTUATION (default)

> #### /NOPUNCTUATION

> Inserts a colon and a space after the prompt when it is displayed on the terminal. To suppress the colon and space, specify the /NOPUNCTUATION qualifier.

###

#### Examples

#1
    $ INQUIRE CHECK "Enter Y[ES] to continue"
    $ IF .NOT. CHECK THEN EXIT

> The INQUIRE command displays the following prompting message at the terminal:

>     Enter Y[ES] to continue:

> The INQUIRE command prompts for a value, which is assigned to the symbol CHECK. The IF command tests the value assigned to the symbol CHECK. If the value assigned to CHECK is true (that is, an odd numeric value, a character string that begins with a T, t, Y, or y, or an odd numeric character string), the procedure continues executing.

> If the value assigned to CHECK is false (that is, an even numeric value, a character string that begins with any letter except T, t, Y, or y, or an even numeric character string), the procedure exits.

#2
    $ INQUIRE COUNT
    $ IF COUNT .GT. 10 THEN GOTO SKIP
      .
      .
      .
    $ SKIP:

> The INQUIRE command prompts for a count with the following message:

>     COUNT:

> Then the command procedure uses the value of the symbol COUNT to determine whether to execute the next sequence of commands or to transfer control to the line labeled SKIP.

#3
    $ IF P1 .EQS. "" THEN INQUIRE P1 "FILE NAME"
    $ FORTRAN 'P1'

> The IF command checks whether a parameter was passed to the command procedure by checking if the symbol P1 is null; if it is, it means that no parameter was specified, and the INQUIRE command is issued to prompt for the parameter. If P1 was specified, the INQUIRE command is not executed, and the Fortran command compiles the name of the file specified as a parameter.

## INSTALL

> Invokes the Install utility, which enhances the performance of selected executable and shareable images by making them "known" to the system and assigning them appropriate attributes.

> For more information about the Install utility, refer to the OpenVMS System Management Utilities Reference Manual or online help.

### Format

> INSTALL [subcommand] [filespec]

## JAVA

> The JAVA command invokes an interpreter that executes Java bytecodes. It executes Java class files created by a Java compiler, such as JAVAC.

> This reference page describes the JAVA command only.

> If the JDK documentation was installed on your OpenVMS system, you can view documentation on the JDK tools (commands) and other Java reference material by pointing your browser to the following location:

>     SYS$COMMON:[SYSHLP.JAVA]INDEX.HTML

### Format

> JAVA "classname" args

### Parameters

> #### "classname"

> The name of the class to be executed, enclosed in quotation marks. The classname parameter must be fully qualified by including its package in the name, for example:

>     $ JAVA "java.lang.String"

> In this example, JAVA interprets the directory path to be [JAVA.LANG], and the file name of the class to be STRING.CLASS.

> #### args

> Arguments that are passed to the `main` method of the class.

### Description

> Java expects the binary representation of the class to be in a file called file-name.CLASS, which is generated by compiling the corresponding source file with the JAVAC compiler. All Java class files end with the file name extension .CLASS, which the compiler automatically adds when the class is compiled. The class to be executed must contain a `main` method defined as follows:

>     class Aclass {
>         public static void main(String argv[]){
>             . . .
>         }
>     }

> The Java interpreter executes the `main` method and then exits, unless `main` creates one or more threads. If any threads are created by `main` , then the JAVA command does not exit until the last thread exits.

> When you define your own classes, you need to specify their location. Use the logicals CLASSPATH (for a UNIX style directory path) or JAVA$CLASSPATH (for an OpenVMS style directory path) to do this.

> The CLASSPATH logical consists of a colon-separated list of directories that specifies the path. For example:

>     .:/home/xyz/classes:/usr/local/java/classes

> Also, unlike on UNIX systems, you must also explicitly specify the system classes on CLASSPATH. For example:

>        $ define/nolog CLASSPATH "/sys$common/java/lib/JDK116_CLASSES.ZIP:."

> The JAVA$CLASSPATH logical lets you define a classpath using OpenVMS filespecs.

> The following two sample statements accomplish the same result:

>        $ DEF JAVA$CLASSPATH USER1$:[SMITH.KIT]JDK115_CLASSES.ZIP,[]

>        $ DEF CLASSPATH "/user1$/smith/kit/jdk115_class.zip:."

> Note that:

> - JAVA$CLASSPATH is a comma-separated list not enclosed in quotation marks.
> - JAVA$CLASSPATH overrides CLASSPATH if CLASSPATH is defined.

> Note All Java files that are to be read by any of the Java tools or that serve as input class libraries (listed in CLASSPATH) must be in Stream_LF format. To determine the record format of your file, do the following:
>         $ DIR/FULL MyFile.java
> And observe the line:
>         Record format
> By default, a file initially created on an OpenVMS system, with a text editor for example, will have variable-length record format. Although, for example, a *.JAVA file with variable-length record format compiles correctly if it is error-free, the compiler does not produce proper diagnostic outputs if a compilation error occurs. To get a file into Stream_LF record format, do the following:
>        $ CONVERT/FDL=SYS$INPUT input_file-name output_file-name
>        FILE
>            ALLOCATION              4
>            BEST_TRY_CONTIGUOUS     yes
>            EXTENSION               0
>            ORGANIZATION            sequential
>        RECORD
>            BLOCK_SPAN              yes
>            CARRIAGE_CONTROL        carriage_return
>            FORMAT                  stream_LF
>            SIZE                    0
> If you use a non-Stream_LF formatted file in a CLASSPATH, errors like this result:
>         Unable to initialize threads: cannot find class java/lang/Thread

> Ordinarily, you compile source files with JAVAC, then run the program using JAVA; however, JAVA can be used to compile and run programs when the /CHECKSOURCE qualifier is used. As each class file is loaded, its modification date is compared to the modification date of the class source file. If the source was modified more recently, it is recompiled and the new class file is loaded. JAVA repeats this procedure until all the classes are correctly compiled and loaded.

> The interpreter can determine whether a class is legitimate through the mechanism of verification. Verification ensures that prior to their execution, class files do not violate any language constraints.

You can specify the qualifiers for this command as one of the following:

- OpenVMS DCL style qualifiers
- Tru64 UNIX style switches

To use the DCL style:

        $ DEFINE JAVA$USE_DCL 1
        $ @SYS$MANAGER:JAVA$SETUP

To use the Tru64 UNIX style:

        $ DEASSIGN JAVA$USE_DCL
        $ @SYS$MANAGER:JAVA$SETUP

Both styles are documented.

### Qualifiers

> #### /CHECKSOURCE

> #### -cs

> #### -checksource

> When a compiled class is loaded, this option causes the modification time of the class bytecode file to be compared to that of the class source file. If the source was modified more recently, it is recompiled and the new class file is loaded.

> #### /CLASSPATH=path

> #### -classpath path

> Specifies the path that the JAVA command uses to look up classes. Overrides the default or the CLASSPATH environment variable if it is set. Directories are separated by colons. Whether you use /CLASSPATH or -classpath, the general format for path is:

>     .:{your_path}

> For example:

>     .:/home/xyz/classes:/usr/local/java/classes

> #### /JIT

> #### /NOJIT

> #### -jit

> #### -nojit

> The Just-in-Time compiler (JIT) runs by default when you enter the Java command. To run the Java command with the interpreter instead of the JIT, use:

>     $ JAVA /NOJIT ...

> The Java debugger runs the interpreter by default. To run the Java debugger with the JIT compiler, the /JIT qualifier must be explicitly specified.

> The JIT runs by default when you run appletviewer. To run appletviewer with the interpreter, use:

>     $ APPLETVIEWER /PARAMETERS="-nojit"

> #### /MAXHEAP=x

> #### -mx x

> Sets the maximum size of the memory allocation pool (the garbage collected heap) to x. The default is 6 megabytes of memory. The value of x must be greater than or equal to 1000 bytes.

> By default, x is measured in bytes. You can specify x in either kilobytes or megabytes by appending the letter k for kilobytes or the letter m for megabytes.

> #### /INITHEAP=x

> #### -ms x

> Sets the startup size of the memory allocation pool (the garbage collected heap) to x. The default is 6 megabytes of memory. The value of x must be greater than or equal to 1000 bytes.

> By default, x is measured in bytes. You can specify x in either kilobytes or megabytes by appending the letter k for kilobytes or the letter m for megabytes.

> #### /NOASYNCGC

> #### -noasyncgc

> Turns off asynchronous garbage collection. When activated, no garbage collection takes place unless it is explicitly called or the program runs out of memory. Normally, garbage collection runs as an asynchronous thread in parallel with other threads.

> #### /NOCLASSGC

> #### -noclassgc

> Turns off garbage collection of Java classes. By default, the Java interpreter reclaims space for unused Java classes during garbage collection.

> #### /PROFILE[=file-name]

> #### -prof[: file-name]

> This option works only with JAVA_G.

> It starts the Java Runtime with Java profiling enabled.

> If no file name is specified, the profile results are placed in the file `[]JAVA.PROF` .

> Otherwise, the profile results are placed in the specified file.

> #### /LOGLEVEL

> #### -l

> Sets the logging level (JAVA_G only).

> #### /VERSION

> #### -version

> Prints the build version information.

> #### /HELP

> #### -help

> Prints a usage message.

> #### /MAXCSTACK=x

> #### -ss x

> Each Java thread has two stacks: one for Java code and one for C code. The /MAXCSTACK option sets the maximum stack size that can be used by C code in a thread to x. Every thread spawned during the execution of the program passed to JAVA has x as its C stack size. The default units for x are bytes. The value of x must be greater than or equal to 1000 bytes.

> You can modify the meaning of x by appending either the letter k for kilobytes or the letter m for megabytes. The default stack size is 128 kilobytes (/MAXCSTACK=128k).

> #### /MAXJSTACK=x

> #### -oss x

> Each Java thread has two stacks: one for Java code and one for C code. The /MAXJSTACK option sets the maximum stack size that can be used by Java code in a thread to x. Every thread spawned during the execution of the program passed to JAVA has x as its Java stack size. The default units for x are bytes. The value of x must be greater than or equal to 1000 bytes.

> You can modify the meaning of x by appending either the letter k for kilobytes or the letter m for megabytes. The default stack size is 400 kilobytes (/MAXJSTACK=400k).

> #### /TRACE

> #### -t

> Prints a trace of the instructions executed (JAVA_G only).

> #### /COMMAND_LINE=file-name

> #### -V file-name

> Takes command-line options and arguments from the indicated file; causes other command-line options and arguments to be ignored.

> This qualifier is supported on OpenVMS systems only.

> #### /VERBOSE

> #### -v

> #### -verbose

> Causes JAVA to print a message to stdout each time a class file is loaded.

> #### /VERBOSEGC

> #### -verbosegc

> Causes the garbage collector to print out messages whenever it frees memory.

> #### /VERIFY

> #### /NOVERIFY

> #### -verify

> #### -noverify

> Performs byte-code verification on the class file. Be aware however, that JAVA/VERIFY does not perform a full verification in all situations. Any code path that is not actually executed by the interpreter is not verified. Therefore, JAVA/VERIFY cannot be relied on to certify class files unless all code paths in the class file are actually run.

> The /NOVERIFY qualifier (-noverify option) turns verification off.

> #### /VERIFYREMOTE

> #### -verifyremote

> Runs the verifier on all code that is loaded into the system through a classloader. The default is /VERIFYREMOTE.

> #### /SYSTEM_PROPERTY="propertyName=newValue"

> #### -D propertyName=newValue

> Redefines a property value. The propertyName is the name of the property whose value you want to change and newValue is the value to change it to. For example, the following command line sets the value of the property awt.button.color to "green".

>     % java -Dawt.button.color=green ...

> The JAVA command accepts any number of /SYSTEM_PROPERTY qualifiers on the command line.

### Example

>     $ JAVA /CLASSPATH=(USER1$:[mydir1],[.mydir2],[.mydir3]myzip.zip,[])-
>                       /INITHEAP="10m"/MAXHEAP="20m"-
>                       /SYSTEM_PROPERTY="XXX=ZZZ"  "MyTestProgram"

> This example executes the Java runtime interpreter on the file MyTestProgram.class.

> The search path USER1$:[mydir1],[.mydir2],[.mydir3]myzip.zip,[] is used to override the current setting of the CLASSPATH logical.

> For the duration of this execution, the system property XXX is set to ZZZ. The interpreter is run with an initial heap size of 10 megabytes.

> Notice that the name of the class file "MyTestProgram" must be in quotation marks to preserve the case of the spelling. Without the quotation marks, OpenVMS changes the entire string to uppercase, and the class name will not match what is in the source file.

## JOB

> Identifies the beginning of a batch job submitted through a card reader. Each batch job submitted through the system card reader must be preceded by a JOB card.

> JOB cannot be abbreviated.

### Format

> JOB user-name

### Parameter

> #### user-name

> Identifies the user name under which the job is to be run. Specify the user name as you would during the login procedure.

### Description

> The JOB card identifies the user submitting the job and is followed by a PASSWORD card giving the password. (Although the PASSWORD card is required, you do not have to use a password on the card if the account has a null password.)

> The user name and password are validated by the system authorization file in the same manner as they are validated in the login procedure. The process that executes the batch job is assigned the disk and directory defaults and privileges associated with the user account. If a LOGIN.COM file exists for the specified user name, it is executed at the start of the job.

> The end of a batch job is signaled by the EOJ command, by an EOF card (12-11-0-1-6-7-8-9 overpunch), or by another JOB card.

### Qualifiers

> #### /AFTER=time

> Holds the job until the specified time. If the specified time has already passed, the job is queued for immediate processing.

> The time can be specified as either absolute time or a combination of absolute and delta times. For complete information on specifying time values, refer to the OpenVMS User's Manual or the online help topic DCL_Tips (subtopic Date_Time).

> #### /CHARACTERISTICS=(characteristic[,...])

> Specifies one or more characteristics required for processing the job. If you specify only one characteristic, you can omit the parentheses. Codes for characteristics are installation-defined. Use the SHOW QUEUE/CHARACTERISTICS command to see which characteristics are available on your system.

> All the characteristics specified for the job must also be specified for the queue that will execute the job. If not, the job remains pending in the queue until the queue characteristics are changed or the entry is deleted with the DELETE/ENTRY command. Users need not specify every characteristic of a queue with the JOB command as long as the ones they specify are a subset of the characteristics set for that queue. The job also runs if no characteristics are specified.

> #### /CLI=filename

> Specifies a different command language interpreter (CLI) with which to process the job. The filename parameter specifies that the CLI be SYS$SYSTEM:filename.EXE. The default CLI is that defined in the user authorization file (UAF).

> #### /CPUTIME=n

> Specifies a CPU time limit for the batch job. Time can be specified as delta time, 0, NONE, or INFINITE. (For information on specifying time values, refer to the OpenVMS User's Manual or the online help topic DCL_Tips (subtopic Date_Time).)

> When you need less CPU time than authorized, use the /CPUTIME qualifier to override the base queue value established by the system manager or the value authorized in your UAF. Specify 0 or INFINITE to request an infinite amount of time. Specify NONE when you want the CPU time to default to your UAF value or the limit specified on the queue. Note that you cannot request more time than permitted by the base queue limits or your UAF.

> #### /DELETE (default)

> #### /NODELETE

> Controls whether the batch input file is deleted after the job is processed. If you specify the /NODELETE qualifier, the file is saved in the user's default directory under the default name INPBATCH.COM. If you specify the /NAME qualifier, the file name of the batch input file is the same as the job name you supply with the /NAME qualifier.

> #### /HOLD

> #### /NOHOLD (default)

> Controls whether or not the job is to be made available for immediate processing.

> If you specify the /HOLD qualifier, the job is not released for processing until you specifically release it with the /NOHOLD or the /RELEASE qualifier of the SET QUEUE/ENTRY command.

> #### /KEEP

> #### /NOKEEP (default)

> Controls whether the log file is deleted after it is printed. The /NOKEEP qualifier is the default unless you specify the /NOPRINTER qualifier.

> #### /LOG_FILE=filespec

> #### /NOLOG_FILE

> Controls whether a log file with the specified name is created for the job or whether a log file is created.

> When you use the /LOG_FILE qualifier, the system writes the log file to the file you specify. If you use the /NOLOG_FILE qualifier, no log file is created. If you specify neither form of the qualifier, the log file is written to a file in your default directory that has the same file name as the first command file in the job and a file type of .LOG. Using neither the /LOG_FILE nor the /NOLOG_FILE qualifier is the default.

> You can use the /LOG_FILE qualifier to specify that the log file be written to a different device. Logical names that occur in the file specification are translated at the time the job is submitted. The process executing the batch job must have access to the device on which the log file will reside.

> If you omit the /LOG_FILE qualifier and specify the /NAME qualifier, the log file is written to a file having the same file name as that specified by the /NAME qualifier and the file type .LOG.

> #### /NAME=job-name

> Specifies a string to be used as the job name and as the file name for both the batch job log file and the command file. The job name must be 1 to 39 alphanumeric characters and must be a valid file name. The default log file name is INPBATCH.LOG; the default command file name is INPBATCH.COM.

> #### /NOTIFY

> #### /NONOTIFY (default)

> Controls whether a message is broadcast to any terminal at which you are logged in, notifying you when your job completes or aborts.

> #### /PARAMETERS=(parameter[,...])

> Specifies 1 to 8 optional parameters that can be passed to the command procedure. The parameters define values to be equated to the symbols P1 to P8 in the batch job. The symbols are local to the specified command procedure.

> If you specify only one parameter, you can omit the parentheses.

> The commas (,) delimit individual parameters. If the parameter contains any spaces, special characters or delimiters, or lowercase characters, enclose it in quotation marks (" "). Individual parameters cannot exceed 255 characters.

> #### /PRINTER=queue-name

> #### /NOPRINTER

> Controls whether the job log file is queued to the specified queue for printing when the job is complete. The default print queue for the log file is SYS$PRINT.

> If you specify the /NOPRINTER qualifier, the /KEEP qualifier is assumed.

> #### /PRIORITY=n

> Requires OPER (operator) or ALTPRI (alter priority) privilege to raise the priority above the value of the system parameter MAXQUEPRI.

> Specifies the job scheduling priority for the specified job. The value of n is an integer from 0 to 255, where 0 is the lowest priority and 255 is the highest.

> The default value for the /PRIORITY qualifier is the value of the system parameter DEFQUEPRI. No privilege is needed to set the priority lower than the MAXQUEPRI value.

> Previous | Next | Contents | Index

> | privacy and legal statement |
> 9996PRO_025.HTML