|
Obscure
Commands Inside VESOFT
covers tips and techniques you can use with VESOFTs products,
especially MPEX. As always, I am totally open to getting input from
you users of MPEX, Security/3000 or VEAudit/3000 it helps me
learn, too. Send me your tricks, and well get a 3000 for
2000 cap out to you as our thanks. SETVAR KOUNT=0 This is actually pretty slow, and includes a fair bit of typing. I found out about an undocumented function the other day that makes this task a lot easier. CALC FCOUNT(@.@.ACCOUNT) This works very
quickly and displays the file account of the file set. Here is a
documented command that I stumbled across the other day, PAUSEJOB,
and its companion command, SHOWPAUSED. %PAUSEJOB
5:30PM, #J123 The %PAUSEJOB command allows you to SUSPEND (via the :BREAKJOB command) a particular job or jobset (using VESOFT usersets), and have MPEX automatically RESUME the job at a specified future time or when a given expression becomes true. The syntax for %PAUSEJOB is quite similar to %ALARM. In fact, you must have the ALARM task running under the BACKG job in order for %PAUSEJOB to be able to RESUME the job later. For this reason, if you issue a %PAUSEJOB command and the BACKG job is not already running, MPEX will attempt to start it for you. You may tell %PAUSEJOB to RESUME the suspended job: at a
particular future time (e.g. 5:30 PM); If you specify a jobset (rather than a single job), %PAUSEJOB will list all of the jobs that will be affected and ask: OK to process these jobs (y/n)? If you dont
want to be asked, use the ;NOVERIFY keyword. If you dont even
want %PAUSEJOB to list the jobs that it processes, use the ;QUIET
keyword (which implies ;NOVERIFY). By default, the ALARM background task wakes up once per minute to see if any of the %PAUSEJOB conditions have been met. If you set a %PAUSEJOB alarm based on an expression that will use a lot of system resources to evaluate, you may want to check that particular alarm less frequently. When you enter a %PAUSEJOB command, simply append the ;CHECKEVERY= keyword to tell the ALARM background task how many intervals to skip between tests. For example: %PAUSEJOB JSCOUNT(COMPILE,@.@&EXEC)=0, #J115; CHECKEVERY=10 This means :BREAKJOB #J115, and when there are no more jobs executing that logged on with a jobname of COMPILE, :RESUMEJOB #J115. Since the default pause time is one minute, this will wait 10 minutes between tests. If you have the pause time of %ALARM set to a value other than 1 minute, then this will vary. If it is set to two minutes, then this expression would wait 20 minutes between tests. Next time we will
cover some other obscure commands, but in future columns Im
going to demonstrate some oddball applications that you can write in
just a few lines of MPEX command file code. Copyright The 3000 NewsWire. All rights reserved. |