Introducing the SETCOUNTER Command [ COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00) ] MPE/iX Communicators
COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00)
Introducing the SETCOUNTER Command
by Larry Byler
Commercial Systems Division
Introduction
The SETCOUNTER command manages and displays the operating range of four
MPE counters:
* Job numbers
* Session numbers
* Output spoolids
* Input spoolids
Job and session numbers have an absolute range of 1-16383. Input and
output spoolids can range from 1-9999999. The SETCOUNTER command allows
qualified users to specify any subset of their absolute range without
restarting the system. Once specified, MPE assigns values for that
counter within that subrange unless all such values are being used; that
is, duplicates are avoided.
This is a summary description. Complete details may be found in the
MPE/iX Commands Reference Manual (Volumes I and II) (32650-90003).
Syntax
[INSP ]
SETCOUNTER [COUNTER=] [OUTSP ] [; BASE = num] [; MAX = num] [;SHOW]
[JOBNUM ]
[SESSNUM]
Command Operation
The SETCOUNTER command with a specified target counter (INSP, OUTSP,
etc.) modifies the limits of that counter. The target counter is only
optional if the ;SHOW option is used by itself to display BASE, Next
(Next is set by BASE), and MAX values for all counters without changing
any of them. For any other form of the command, the target counter is a
required parameter.
MAX sets the upper limit of the specified counter. It can range from
BASE+1 to the absolute maximum value for that counter (16383 for JOBNUM
or SESSNUM, 9999999 for INSP and OUTSP). You can also set the special
value MAX = 0. This tells MPE to use the absolute maximum value of the
counter without your having to remember what that value is.
If you specify both a non-zero MAX and a BASE in the same command, MAX is
tested for validity against the BASE you specify. If you specify only a
non-zero MAX, it is tested against the current BASE in effect for that
counter.
BASE sets the lower limit of the specified counter. It can range from 1
to MAX-1 (for MAX <> 0). If MAX = 0, BASE can assume any value from 1 to
<absolute maximum for counter> - 1.
If you specify both a BASE and a MAX, BASE is tested for a valid value
against the MAX you specify. If you specify only a BASE, it is tested
against the current MAX in effect for that counter.
By setting a BASE, you also set the next (Next) value MPE tries to assign
to that counter.
System Operation
When a new value is needed for a given counter, for example, a new job
number, MPE first tries to acquire that value from within the BASE..MAX
range. If all values in that range are in use, MPE then exceeds MAX in
its search for an available value. If this search gets as far as the
absolute maximum value for the counter without success, the search rolls
over to 1 (not BASE) and continues. MPE displays a console message
whenever the search rolls over from MAX to BASE or from <absolute
maximum> to 1.
This method is guaranteed to produce a usable value as long as the
possible number of simultaneous jobs, sessions, input spoolids, or output
spoolids is less than the absolute range for that counter.
Backward Compatibility.
When the system is started, the BASE and MAX of all four counters are set
to 1 and 0 respectively. If this is not changed later, the system
operates as it did before the SETCOUNTER command was available. You can
include one or more SETCOUNTER commands in your SYSSTART.PUB.SYS file to
set any desired operating values.
Any input or output spool files which are recovered during system startup
retain their original spoolid value, regardless of any change in
operating range due to a SETCOUNTER command.
Use
The SETCOUNTER command may be issued from a session, job, program, or in
Break. Any display specified by the ;SHOW option is breakable, but
command operation is not. Any user may execute this command with only
the SHOW option to display current values of BASE, Next, and MAX for the
specified counter (or all counters if none is specified). When changing
either value, this command may be executed only:
* At a console session
* By a user with SM capability
* By any user who has been allowed the use of the SETCOUNTER command
with the ALLOW command
Examples
To display the current BASE, Next, MAX, and maximum possible values of
the output spoolid counter:
:SETCOUNTER OUTSP; SHOW
_______________________________________________________________________________
| |
| |
| Absolute |
| Counter BASE Next MAX maximum |
| -------------- ---------- ---------- ---------- ---------- |
| Output spoolid 1 1872 32767 9999999 |
| |
| : |
| |
| |
_______________________________________________________________________________
To display these values for all four counters:
:SETCOUNTER ; SHOW
_______________________________________________________________________________
| |
| |
| Absolute |
| Counter BASE Next MAX maximum |
| -------------- ---------- ---------- ---------- ---------- |
| Input spoolid 1 172 16383 9999999 |
| Output spoolid 1 1872 32767 9999999 |
| Job number 1 172 0 16383 |
| Session number 1 2753 0 16383 |
| |
| : |
| |
_______________________________________________________________________________
To limit input spoolids to the same range as their corresponding jobs,
enter:
:SETCOUNTER INSP; MAX=16383
:
MPE/iX Communicators