Invokes the Command Definition Utility, which adds commands to
your process command table or to a specified command table file.
For a complete description of the Command Definition Utility,
see the VSI OpenVMS Command Definition, Librarian, and Message
Utilities Manual.
Format
SET COMMAND [filespec[,...]]
1 – Parameter
[filespec[,...]]
Specifies the name of one or more command definition files. If
you specify more than one name, separate them with commas. The
default file type is .CLD. See the VSI OpenVMS Command Definition,
Librarian, and Message Utilities Manual for more information
about writing a command definition file.
The asterisk (*) and the percent sign (%) wildcard characters
are allowed in the file specification.
2 – Qualifiers
2.1 /DELETE
/DELETE=(verb[,...])
Specifies /DELETE mode to delete verbs from the command table you
are modifying.
You can use the /DELETE qualifier to delete a verb in either
your process command table or in a command table file specified
with the /TABLE qualifier. If you do not use the /TABLE qualifier
to specify an alternate command table, the default is to delete
verbs from your process command table. If you do not use the
/OUTPUT qualifier to specify an output file, the default is to
return the modified command table to your process.
The verb specifies a verb to be deleted. If you specify two
or more verbs, separate them with commas and enclose the list
in parentheses. If you specify only one verb, you can omit the
parentheses.
You cannot use the /LISTING, /OBJECT, or /REPLACE qualifiers in
/DELETE mode.
2.2 /LISTING
/LISTING[=filespec]
/NOLISTING
Controls whether an output listing is created and optionally
provides an output file specification for the listing file.
A listing file contains a listing of the command definitions
along with any error messages. The listing file is similar to a
compiler listing.
If you specify the /LISTING qualifier and omit the file
specification, output is written to the default device and
directory; the listing file will have the same name as the first
command definition file and a file type of .LIS.
You can use the /LISTING qualifier only in /OBJECT or /REPLACE
mode; you cannot create a listing in /DELETE mode. In /OBJECT and
/REPLACE modes, the default is /NOLISTING.
2.3 /OBJECT
/OBJECT[=filespec]
Specifies /OBJECT mode to create an object module from a
command definition file and optionally provides an object file
specification. You cannot use the /OBJECT qualifier to create an
object module from a command definition that contains the IMAGE
keyword.
You can specify only one command definition file when you use SET
COMMAND/OBJECT.
If you specify the /OBJECT qualifier and omit the file
specification, output is written to the default device and
directory; the object file will have the same name as the input
file and a file type .OBJ.
You cannot use the /DELETE, /OUTPUT, /REPLACE, or /TABLE
qualifiers in /OBJECT mode.
NOTE
When compiling very large command definition (CLD) files,
you may encounter the following error:
%CDU-F-INTNODESPACE, Internal error: node space exhausted
The default value of virtual memory allocated by the SET
COMMAND/OBJECT command is 384KB. This value may not be
sufficient to process large CLD files. To increase this
size, use the CDU$TABLE_SPACE logical name to specify a
larger value.
For example:
$ DEFINE CDU$TABLE_SPACE 2048
2.4 /OUTPUT
/OUTPUT[=filespec]
/NOOUTPUT
Controls where the modified command table should be placed. If
you provide an output file specification, the modified command
table is written to the specified file. If you do not provide an
output file specification, the edited command table replaces your
process table. The /NOOUTPUT qualifier indicates that no output
is to be generated.
You can specify an output file specification with the /OUTPUT
qualifier only when you also use the /TABLE=filespec qualifier to
provide the input tables. The default file type is .EXE.
You can use the /OUTPUT qualifier only in /DELETE or /REPLACE
mode; you cannot use the /OUTPUT qualifier in /OBJECT mode.
In /DELETE and /REPLACE mode, the default is /OUTPUT with no file
specification.
2.5 /REPLACE
Specifies /REPLACE mode to add or replace verbs in the command
table you are modifying.
You can use the /REPLACE qualifier to modify either the process
command table or a command table file specified with the /TABLE
qualifier. If you do not use the /TABLE qualifier to specify an
alternate command table, the default is to modify your process
command table. If you do not use the /OUTPUT qualifier to specify
an output file, the default is to return the modified command
table to your process.
You cannot use the /OBJECT or /DELETE qualifiers in /REPLACE
mode.
If you do not explicitly specify /DELETE, /OBJECT, or /REPLACE
mode, the default is /REPLACE.
2.6 /TABLE
/TABLE=[filespec]
Specifies the command table that is to be modified. If you
specify the /TABLE qualifier and omit the file specification,
the current process command table is modified. If you include a
file specification, the specified command table is modified. The
default file type is .EXE.
If you use the /TABLE qualifier to provide an input command table
file, you should also use the /OUTPUT qualifier to provide an
output table file; otherwise, the modified command table will
be written to your process and will replace your process command
table.
You can only use the /TABLE qualifier in /DELETE or /REPLACE
mode; you cannot use the /TABLE qualifier in /OBJECT mode.
In /REPLACE and /DELETE mode, the default is /TABLE with no input
file specification.
3 – Examples
1.$ SET COMMAND SNAG
This command adds the commands in SNAG.CLD to the command table
in the current process.
2.$ SET COMMAND/OBJECT SNAG
This command creates an object file using the commands in
SNAG.CLD. This object file can then be linked with other object
files to process application defined commands.
3.$ SET COMMAND/TABLE=MYTAB/OUTPUT=MYCLI SNAG
This command adds the commands in SNAG.CLD to the command table
MYTAB.EXE and writes the updated table to MYCLI.EXE.
When you use the /TABLE qualifier to specify an input command
table, you should use the /OUTPUT qualifier to specify an
output file; otherwise, your process command table will be
overwritten.
4.$ SET COMMAND/DELETE=HOLD
This command deletes the definition for the verb HOLD from your
process command table. The modified command table is returned
to your process.