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.