Kbase 12655: Invalid Verb: when trying to run VMS SILENT PROG
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Invalid Verb: when trying to run VMS SILENT PROG
Subject: VMS SILENT PROGRESS ...gives you and error: "invalid verb" Heres why..
Scenarios:
Customer runs Progress: $Progress <>
>From within Progress they try to run the following:
_________________________________________________________________
VMS SILENT PROGRESS or VMS PROGRESS
_________________________________________________________________
They get the following error:
Unrecognized command verb - chech validity and spelling
\PROGRESS\
Now why is this?????
Well, When you run the VMS command from within the Progress
editor, you are creating a VMS subprocess. This subprocess will
take on MOST of traits of the parent process. However, one of
the traits that it does NOT inherit are the commands defined in
the process command table.
For example, when you run the following command, it adds the
Progress commands to the current process command table:
SET COMMAND DLC:PROGRESS.CLD
This would mean that the current process would have access to
more commands than those available in the system DCLTABLES.
This does not mean that a subprocess spawned by this parent
process would have access to the Progress commands. The
subprocess would be using the default command table
(SYS$LIBRARY:DCLTABLES.EXE), which by default does not contain
the Progress commands.
What to do about this!
1. You can add the Progress command files to the system
DCLTABLES:
SET COMMAND/REPLACE/TABLE=SYS$COMMON:[SYSLIB]DCLTABLES.EXE
/OUTPUT=SYS$COMMON:[SYSLIB]DCLTABLES.EXE DLC:PROGRESS.CLD
This will allow ALL processes and subprocesses to have access to
the Progress commands, because they have been added to the
system command table.
2. If you want to be able to invoke Progress from a subprocedure
without having to modify the system command tables, then you
could write a small command procedure that would be run via
the VMS command within Progress. This command procedure would
add the Progress commands to the process command table for that
subprocess and then run Progress:
SubProg.com
$define DLC usr:[rdl62n.dlc]
$set command dlc:progress.cld
$progress
>From Progress, you would run this command procedure with the VMS
command instead of running Progress directly:
$Progress <>
________________________________________________________________
VMS @subprog.com
________________________________________________________________
The second option is useful if you do not want to make the Progress
commands available to all users. You can run the SET COMMAND
DLC:PROGRESS.CLD command in the login.com for a select number of
users and then use the above command procedure to allow those
users to run Progress from their Progress subprocedure.
Progress Software Technical Support Note # 12655