VMS Help  —  SET  COMMAND
    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.
Close Help