Native Mode Spooler [ COMMUNICATOR 3000/XL XL RELEASE 2.1 ] MPE/iX Communicators
COMMUNICATOR 3000/XL XL RELEASE 2.1
Native Mode Spooler
by Thomas McNeal
Commercial Systems Division
With this release of MPE XL, the Compatibility Mode (CM) spooler (SPOOL
is an acronym for Simultaneous Peripheral Operation On-Line) is replaced
by a Native Mode spooler. The functions provided by the CM Spooler and
the SPOOK utility is integrated into the MPE XL file system and command
interface. Consequently, SPOOK is removed in this XL release, but will
remain as a supported utility for all MPE V/E and pre-2.1 MPE XL
releases.
Spoolfiles are now permanent, recoverable disk files handled by the
native mode file system. A new account, HPSPOOL, has been created to
handle spoolfiles. Each spooled device is managed by a separate spooler
process; the device may be identified by a logical device number (LDEV),
a device name, or by a device class. A device name is an alphanumeric
string of up to eight characters. A device class is also limited to
eight alphanumeric characters, and defines a set of related devices.
Operations may now be performed on all devices of a device class with a
single command.
SPFXFER, a spoolfile transfer utility, provides tape transport
capabilities between the Native Mode Spooler in this XL release, and the
CM Spooler in previous releases, as well as the MPE V/E Spooler.
NEW MPE XL COMMANDS
Three new commands have been added to the MPE XL Command Interface (CI).
They provide the capability to list spoolfile information, alter
spoolfile characteristics, and to control spooler processes. For a
complete description of both the new and modified commands described in
the following pages, see the MPE XL Command Reference Manual (P/N
32650-60002). The part number for this document is contained in the
appendix.
The LISTSPF Command
The LISTSPF command produces a list of status information for a chosen
subset of both input and output spoolfiles.
Syntax
LISTSPF [[IDNAME=] spoolid | (spoolid [,spoolid] ....) ]
[[;SELEQ=] [ select-eq ] ^indirect_file]
[;DETAIL | ;STATUS]
Operation
The command is provided to enable users to obtain a list of spoolfile
information for a specific subset of spoolfiles. The information
reflects the status at the time the command is entered and always appears
on the standard list device. The selected spoolfiles are sorted for
display by the following keys (listed in descending order of importance):
priority, date and time, and device class. Output spoolfiles are
displayed first, followed by input spoolfiles and the status display.
This command may be issued from a Session, Job, in BREAK, or from a
Program. It is BREAKable. Only files to which the user has access are
displayed.
NOTE The square brackets surrounding the SELEQ parameter are required by
the selection equation syntax. See the following subsection
defining selection equations.
Examples:
Single Line Display
:LISTSPF
SPOOLID JOBNUM FILEDES PRI COPIES DEV STATE RSPFN OWNER
#O123 J12 SP 13 2 PP PRINT F DEV.HPE
#O124 S14 LIST 9 1 12 READY F DEV.HPE
#O128 J144 $STDLIST 8 1 EPOC READY DEV.HPE
#O1233 S1234 OUTLIST 0 1 FASTLP DEFER DEV.HPE
#I564 J164 $STDIN 10 READY DEV.HPE
INPUT SPOOL FILES OUTPUT SPOOL FILES
ACTIVE = 0; CREATE = 0; READY = 2;
OPEN = 0; DEFER = 1; SELECTED = 3;
READY = 1; DELPND = 0; SPSAVE = 0;
PRINT = 1; XFER = 0;
PROBLM = 0;
TOTAL IN FILES = 1; TOTAL OUT FILES = 4;
IN SECTORS = 64; OUT SECTORS = 5964;
OUTFENCE = 6
Two Line Display
:LISTSPF ;DETAIL
SPOOLID JOBNUM FILEDES PRI COPIES DEV STATE RSPFN OWNER
FORMID JOBNAME COPSRM SECTS RECS PAGES DATE TIME
#O123 J12 SP 13 2 PP PRINT F DEV.HPE
TESTJOB 1 250 500 125 07/09/88 8:39
#O124 S14 LIST 9 1 12 READY F DEV.HPE
PAYCHECK TESTJOB 1 250 500 125 12/20/88 8:39
#O128 J144 $STDLIST 8 5 EPOC READY DEV.HPE
LPJOB 3 250 127 ~14 12/20/88 22:19
#O1233 S1234 OUTLIST 0 1 FASTLP DEFER DEV.HPE
TESTJOB 1 250 500 125 12/20/88 8:39
#I564 J164 $STDIN 10 READY DEV.HPE
BATCHJOB 17 12 12/20/88 22:23
INPUT SPOOL FILES OUTPUT SPOOL FILES
ACTIVE = 0; CREATE = 0; READY = 2;
OPEN = 0; DEFER = 1; SELECTED = 3;
READY = 1; DELPND = 0; SPSAVE = 0;
PRINT = 1; XFER = 0;
PROBLM = 0;
TOTAL IN FILES = 1; TOTAL OUT FILES = 4;
IN SECTORS = 64; OUT SECTORS = 5964;
OUTFENCE = 6
Status display
:LISTSPF ;STATUS
INPUT SPOOL FILES OUTPUT SPOOL FILES
ACTIVE = 0; CREATE = 0; READY = 2;
OPEN = 0; DEFER = 1; SELECTED = 3;
READY = 1; DELPND = 0; SPSAVE = 0;
PRINT = 1; XFER = 0;
PROBLM = 0;
TOTAL IN FILES = 1; TOTAL OUT FILES = 4;
IN SECTORS = 64; OUT SECTORS = 5964;
OUTFENCE = 6
The SPOOLER Command
The SPOOLER command controls spooler processes. It allows the user to
start, stop, suspend, and resume spooler processes, and release files
from the spooler process(es).
Syntax
SPOOLER [DEV=] ldev | devclass | devname
[;START |
;STOP [ ;FINISH | ;NOW ] |
;SUSPEND [[ ;FINISH | ;NOW ]
[ ;KEEP | ;NOKEEP ]
[ ;OFFSET= [+/-]<page> ] ] |
;RESUME [ ;OFFSET= [+/-]<page> ] |
;RELEASE [ ;OFFSET= [+/-]<page> ] ]
[;SHOW]
[;OPENQ | SHUTQ ]
Operation
Spooler processes come in two varieties: input spoolers and output
spoolers. An input spooler reads data from its device and uses that to
create an input spoolfile. The data may consist of one or more batch
jobs, data files, or any combination of the two. Input spoolfiles are
private files, meaning they are only accessible to a user running in
privileged mode. They are not printed, but are used strictly as input
for other processes.
An output spooler processes output spoolfiles, which are files that were
created by a user accessing a spooled output device such as a printer or
plotter. A spooled output device processes spoolfiles first in order of
priority and then the time the spoolfile entered the READY state. Only
files that have an output priority greater than the outfence are
considered for output.
This command may be issued from a Session, Job, in BREAK, or from a
Program. It is not BREAKable. It may be executed from the Console or by
a user to which the command has been :ALLOWed or ASSOCIATEd.
The SPOOLF Command
The SPOOLF command allows a qualified user to alter output spoolfile
characteristics, to delete output spoolfiles, or to delete input spooled
DATA files.
Syntax
SPOOLF {[[IDNAME=] spoolid | (spoolid [,spoolid ]...) ]
[;ALTER][[;SELEQ=] [ select-eq ] ^indirect_file ]
[[;DEV=] ldev | devclass | devname ]
[[;PRI=] outpri ]
[[;COPIES=] numcopies ]
[;SPSAVE ]
[;DEFER | ;UNDEFER ]
} |
{ [IDNAME=] fileset | ( fileset [,fileset ]...)
;PRINT [[;DEV=] ldev | devclass | devname ]
[[;PRI=] outpri ]
[[;COPIES=] numcopies ]
[;SPSAVE ]
[;DEFER | ;UNDEFER ]
} |
{[[IDNAME=] spoolid | (spoolid [,spoolid ]...) ]
;DELETE [[;SELEQ=] [ select-eq ] ^indirect_file ]
}
[;SHOW]
Operation
If the output spoolfiles are private, they may be altered in a limited
fashion; only the keywords PRI, DEFER, UNDEFER, and DELETE are allowed.
If the user has System Manager capability, DEV= is also allowed.
This command may be issued from a Session, Job, in BREAK, or from a
Program. It is not BREAKable. It may be executed by a user with OP
capability or by any other user meeting the capability requirements
described in the discussion of security issues contained in the product
description of this document.
Selection Equations
Selection Equations have beed added to two of the three new commands:
LISTSPF and SPOOLF. These equations provide the ability to dynamically
filter spoolfiles already selected by some criteria. This filtering is
based upon the values of specified attributes of the spoolfiles.
Selection equations support parentheses, NOT, AND, and OR (with AND
taking precedence over OR) as logical operators. Relational operators
are also supported: <, <=, =, <>, >=, and >. These operators will allow
greater flexibility for filtering groups of spoolfiles within the context
of the these two commands.
Selection equations have the following format, displayed in a pseudo-BNF
(Backus-Naur Form) grammar. Note that a selection equation must begin
with "[" and end with "]"
<selection equation> ::= [ <equation> ]
<equation> ::= <condition> |
( <equation> ) |
NOT <equation> |
<equation> <logical op> <equation>
<logical op> ::= AND |
OR
<condition> ::= <parameter> <relational op> <value>
<relational op> ::= > | >= | < | <= | <> | =
<value> ::= Appropriate values per data type.
<parameter> ::= An attribute (see the next paragraph) of the
spoolfile to be altered or deleted.
The spoolfile attribute defined for selection equations can have one of
the following values:
DEV Ldev number, device name, or device class name.
Wildcarding is supported for device name and device
class name. Numeric ldev numbers can only be specified
in decimal.
FILEDES Formal file designator for the spoolfile. Wildcards are
supported, using the "@" character. Null character
strings are also supported by using two single or double
quotes in succession (i.e., FILEDES = "").
SPOOLID A Spoolfile identifier number in the format #Onnnn or
#Innnn. The '#' is optional but if it is used, an O or
I must also be used. If it is not used, the 'O' is also
optional for output spoolfiles, i.e., 123 = #O123. The
valid range of spoolids is from 1 to 9999999. For this
option, wildcards are not supported.
PAGES Number of pages in the spoolfile. A positive integer is
expected. For spoolfiles which have not been printed
yet, the page count used in the comparison is an
estimate. NOTE: This attribute does not apply to input
spoolfiles, therefore any logical <condition> involving
the attribute always returns FALSE when tested against
an input spoolfile.
FORMID Form name. Wildcarding is supported. (The formid is an
ASCII string up to 8 characters. The first character
must be a letter). This attribute does not apply to
input spoolfiles (see the note for PAGES).
STATE READY, ACTIVE, OPEN, CREATE, PRINT, PROBLM, DELPND,
SPSAVE, DEFER, XFER.
JOBNAME Job or session name. This is the job name under which
the spoolfile was created. The job name can consist of
up to 8 alphanumeric characters, the first of which must
be a letter. See the NOTE accompanying the FILEDES
description.
For job input spoolfiles the JOBNAME and JOBNUM shown
are those allocated to that job, NOT those of the job or
session which STREAMed it.
Wildcarding is supported.
DISP Disposition, PURGE or SPSAVE. This option selects files
based on whether they will or will not be deleted after
the last copy has been printed. Note that files which
are in the SPSAVE state are also considered as having an
SPSAVE disposition. This attribute does not apply to
input spoolfiles (see the note for PAGES).
COPIES Number of copies (max=65535, min=1). This attribute
does not apply to input spoolfiles (see the note for
PAGES).
PRI Output priority (max=14, min=0). This attribute does
not apply to input spoolfiles (see the note for PAGES).
JOBNUM Job/Session number under which the spoolfile was
created, for example, #S257 or #J329 ("#" optional).
The limits are 1 and 16,383. Limited wildcarding is
supported. J@ accepts all jobs, S@ all sessions. Note
that
SELEQ=[JOBNUM=J'@ or JOBNUM=S'@ or JOBNUM=S@ or JOBNUM=J@]
selects all files. The intersection of the sets of
files selected by each of the ORed conditions is empty,
that is, the sets do not overlap.
RECS Number of records in the spoolfile. A positive integer
is expected.
OWNER The user under which the spoolfile was created. The
format of the OWNER is <user>.<account>. If the account
is not specified, the user's current account is assumed.
Wildcarding is supported.
JOBABORT Select based on whether this is the $STDLIST of a job
which aborted when an error was encountered but no
"CONTINUE" was in effect. Valid values are "TRUE" and
"FALSE". Only "=" and "<>" are allowed as relational
operators. This attribute does not apply to input
spoolfiles (see the note for PAGES).
DATE Creation date in the format mm/dd/yy or mm/dd/year.
Note that the year can be in the form of 'yy' or 'year',
i.e., 10/10/88 or 10/10/1988 are both legal syntax for
the DATE parameter.
Examples:
The spacing of the selection equation and the line continuation
characters (&) are not necessary for correct interpretation of the
selection equation. The spacing and continuation lines are shown here
for easier readability. To display output spoolfiles to be printed on
special forms designated by the FORMID "CHECKS":
LISTSPF IDNAME = @;SELEQ = [ FORMID = CHECKS ]
Display only the small print jobs originating from the MPEM account,
where the size of the print job is defined by the number of copies
requested multiplied by the number of pages per copy:
LISTSPF IDNAME = @; SELEQ = [ ( OWNER = @.MPEM ) AND &
( PAGES <= 20 ) AND &
( COPIES <= 10 ) ]
Alter all output spoolfiles directed to device class epoc to print on
device LDEV0014:
SPOOLF O@;SELEQ = [ DEV = EPOC ]; DEV = LDEV0014
Delete all output spoolfiles owned by the user JON.DOE:
SPOOLF @;SELEQ = [ OWNER = JON.DOE ]; DELETE
Show the attributes of all output spoolfiles requesting 3 part paper:
LISTSPF ;SELEQ = [ FORMID = FORM3PRT ]
Show the attributes of only the output spoolfiles from all users of the
MIS account that are in the READY state:
LISTSPF ;SELEQ = [ ( OWNER = @.MIS ) AND &
( STATE = READY ) ]
MODIFIED MPE XL COMMANDS
Several MPE XL commands have been extended. While remaining backward
compatible, new options have been added to several commands in order to
manage spoolfiles, jobs, and device names and classes.
The BUILD Command
The BUILD command has been rewritten in Native Mode, but remains
compatible with the BUILD command in previous releases. The syntax of
the commmand has been extended to handle spoolfiles.
Syntax
BUILD filereference1
[;REC=[recsize][,[blockfactor][,[ F | U | V ]
[,BINARY | ASCII ]]]]
[;CCTL | ;NOCCTL]
[;TEMP]
[;DEV=[[dsdevice]#][device]]
[;CODE=filecode]
[;DISC=[numrec[,[numextents[,[initalloc]]]]]
[;RIO | ;NORIO]
[;MSG | ;CIR | ;STD | ;KSAMXL | ;SPOOL]
[;ULABEL=numlabels]
[;KEY=filereference2|keyinfo]
[;FIRSTREC=recnum]
[;REUSE | ;NOREUSE]
[;LANG = langid | langname]
Operation
The functionality of the BUILD command has been extended. Eight new
parameters have been added: ;SPOOL, ;KSAMXL, ;KEY, ;LANG, ;LABELS,
;FIRSTREC, ;REUSE, ;NOREUSE. The ;SPOOL option is the only new parameter
that directly affects the spooler.
The SPOOL option is required to build a spoolfile. However, the
spoolfile will not be linked into the spooler queues, and therefore will
not be printed unless the SPOOLF command's PRINT option is invoked upon
it.
The FILE Command
As with the BUILD command, the FILE command syntax has been extended to
handle spoolfiles.
Syntax
FILE formaldesignator =
[ $NULL | $NEWPASS | $OLDPASS |
$STDIN | $STDINX | $STDLIST |
filereference[,filedomain]]
[;DEV=[[envname]#][device][,outpri][,numcopies]]
[;VTERM]
[;ENV=[envfile[:nodespec]]]
[;REC=[recsize][,[blockfactor][,[ F | U | V ][,BINARY | ASCII ]]]]
[;DEN=[density]]
[;DISC=[numrec[,[numextents[,[initalloc]]]]]
[;CODE=filecode]
[;RIO | ;NORIO]
[;MSG | ;CIR | ;STD | ;KSAMXL | ;SPOOL]
[;ULABEL=numlabels]
[;KEY=^filereference2|keyinfo]
[;FIRSTREC=recnum]
[;REUSE | ;NOREUSE]
[;LANG=langid | langname]
[;CCTL | NOCCTL ]
[;ACC= [ IN | OUT | UPDATE | OUTKEEP | APPEND | INOUT ]
[;BUF=[numbuffers] | ;NOBUF ]
[;EXC | ;SHR | ;EAR | ;SEMI ]
[;NOLABEL | ;LABEL=[volid][,[IBM|ANS][,[expdate][,seq]]]]
[;NOMULTI | MULTI | GMULTI ]
[;NOMR | ;MR ]
[;WAIT | ;NOWAIT ]
[;LOCK | ;NOLOCK ]
[;COPY | ;NOCOPY ]
[;FORMS=formsmsg ]
[;FORMID=<formid>]
[;PRIVATE]
[;SPSAVE]
[;DEL]
[;TEMP]
[;SAVE]
Operation
This command allows the user to change specifications for files at run
time, including the devices on which they reside, overriding
specifications supplied via the FOPEN or HPFOPEN intrinsic. It defines
the file attributes to be used when a file is opened. This declaration,
informally known as a file equation, may be used to override programmatic
or system default file specifications. The command remains in effect for
the entire job or session unless revoked by the RESET command or
superseded by another :FILE command.
Four new features were added to support the Native Mode Spooler: ;SPOOL,
;PRIVATE, ;FORMID and ;SPSAVE. The ;SPOOL option defines a non-private,
output spoolfile, and the ;PRIVATE option defines a private, output
spoolfile. If the spoolfile is non-private, the ;SPSAVE option will
declare that the file will be not be purged if it is later attached to a
spooled device queue and printed out. Finally, the ;FORMID option will
associate an (up to) eight character alphanumeric name with the output
spoolfile. This name will identify a special form to be mounted on the
spooled device when the spoolfile is printed out.
The JOB Command
Two new, mutually exclusive parameters, ;PRIVATE and ;SPSAVE, have been
added to the :JOB command to support the Native Mode Spooler.
Syntax
JOB [jobname,]username[/userpass].acctname
[/acctpass][,groupname[/grouppass]]
[;TIME=cpusecs]
[;PRI= BS | CS | DS | ES]
[;INPRI=inputpriority | ;HIPRI]
[;RESTART]
[;OUTCLASS=[device][,outputpriority[,numcopies]]]
[;TERM=termtype]
[;PRIVATE]
[;SPSAVE]
Operation
The ;PRIVATE option forces the job output $STDLIST to be a private file.
The file is only accessible to privileged users on the system. Private
spoolfiles may not be saved or copied, but may be purged, printed, and
altered (within limits). The ;SPSAVE option forces the job output
$STDLIST spoolfile to be created with SPSAVE disposition. This means the
spoolfile is not to be purged after the last copy of it has been printed,
but is instead retained in the OUT.HPSPOOL account.
NOTE If both the SPSAVE option and the PRIVATE option are specified, the
SPSAVE option will be ignored, and the spoolfile will be marked
'private'.
The OPENQ Command
The OPENQ command now allows the device name or the device class as well
as the logical device number when identifying which device to open.
Syntax
OPENQ { [DEV=] ldev | devclass | devname [;SHOW] }
{ @ }
Operation
The OPENQ command has been extended to support the [DEV=], devname, and
SHOW parameters. OPENQ enables spooling for a specified logical device,
device name, or all devices belonging to a device class. It allows users
to generate spoolfile(s) destined for the specified device(s) or
class(es). It does not enable those files to print - that functionality
is controlled by the SPOOLER command.
The '@' parameter will globally reenable all currently open spooling
queues which were previously disabled by 1) Running out of system domain
disk space, 2) Encountering a file limit in the HPSPOOL account, or 3)
Executing the :SHUTQ @ command. If the spooling queues were disabled for
the either of the first two reasons, the problem should be resolved
before reenabling the queues.
Use of the OPENQ command does not affect the operation of any spooler
process. This command may be issued from a Session, Job, in BREAK, or
from a Program. It is not BREAKable. It may be executed from the
Console or by a user to which the command has been :ALLOWed or
ASSOCIATEd.
Examples:
To open the spool queue for logical device 6, enter:
:OPENQ 6
To open the spool queue for device name LDEV6, enter:
:OPENQ LDEV6
To open spool queues for all the devices in device class EPOC, enter:
:OPENQ EPOC
To show the state of queues and other information about the specified
device(s), enter:
:OPENQ 6;SHOW
LDEV DEV SPSTATE QSTATE OWNERSHIP SPOOLID
6 LDEV6 ACTIVE OPENED SPOOLED OUT #O679
The OUTFENCE Command
The OUTFENCE command now allows priority to be assigned to a particular
logical device number, device name, or device class.
Syntax
OUTFENCE outputpriority
[;LDEV=ldev] |
[;DEV=ldev | devclass | devname]
Operation
The OUTFENCE command defines the value (outputpriority) which the
priority of an output spoolfile must exceed in order to be processed.
The ;DEV= parameter has been added to allow users to specify device names
(devname), and to allow users to set the outfence for all devices in a
device class in a single command.
At any point in time, the outfence for a given device is the last
outfence assigned to it as the result of its membership in the set of
devices selected by the OUTFENCE command parameters. For instance, if
LDEV 6 is a member of 2 classes, EPOC and PP80, and commands are issued
in the following order:
OUTFENCE 8;DEV=6
OUTFENCE 4;DEV=EPOC
OUTFENCE 5;DEV=PP80
then the outfence for LDEV 6 will be 5. The first command sets it to 8
since the command selected LDEV 6 specifically. The second command sets
the outfence to 4 since LDEV 6 is a member of the set of devices in the
device class EPOC, and so on.
If neither DEV nor LDEV is specified, the OUTFENCE command sets the
outfence for every device on the system.
This command may be issued from a Session, Job, in BREAK, or from a
Program. It is not BREAKable. It may be executed from the Console or by
a user to which the command has been :ALLOWed or :ASSOCIATEd.
The SHUTQ Command
As with the OPENQ command, the SHUTQ command has been extended to
recognize device names and device classes, as well as logical device
numbers.
Syntax
SHUTQ { [DEV=] ldev | devclass | devname [;SHOW] }
{ @ }
Operation
SHUTQ disables spooling for a specified logical device, device name, or
all devices belonging to a device class. It prevents users from
generating spoolfile(s) destined for the specified device(s) or
class(es). It does not prevent previously generated spoolfiles from
printing - that functionality is controlled by the SPOOLER command.
Executing the SHUTQ command with the @ option globally disables all open
spooler queues.
Use of the SHUTQ command does not affect the operation of any spooler
process. This command may be issued from a Session, Job, in BREAK, or
from a Program. It is not BREAKable. It may be executed from the
Console or by a user to which the command has been :ALLOWed or
ASSOCIATEd.
Examples
To shut the spool queue for logical device 6, enter:
:SHUTQ 6
To shut the spool queue for device LDEV6, enter:
:SHUTQ LDEV6
To shut spool queues for all the devices in device class EPOC, enter:
:SHUTQ EPOC
To show the state of queues and other information about the specified
device(s), enter:
:SHUTQ 6;SHOW
LDEV DEV SPSTATE QSTATE OWNERSHIP SPOOLID
6 LDEV6 ACTIVE CLOSED SPOOLED OUT #O679
THE SPFXFER UTILITY
A spoolfile transfer utility, SPFXFER, provides transport capabilities
between the Native Mode Spooler in this XL release, and the CM Spooler in
previous releases, as well as the MPE V/E Spooler. The SPFXFER utility
can create SPOOK readable tapes, and can read tapes created by SPOOK,
with the exception of those created by MPE V/E releases prior to G.02.B0.
SPFXFER may also be used to transport output spoolfiles between XL
Release 2.1 MPE/XL systems, but the preferred method for this situation
is to use STORE/RESTORE.
SPFXFER has four commands, each of which can be truncated and still be
recognized. The commands are similar to commands seen in the SPOOK
utility, and use the same syntax. They are:
* input: Read one or more spoolfiles previously written to tape SPOOK
or by SPFXFER. The files will be written to the OUT.HPSPOOL group and
account, and will be linked into the output SPFDIR.
* output: Write one or more spoolfiles from the OUT.HPSPOOL group and
account to tape.
* help: List the SPFXFER commands and syntax.
* exit: Leave SPFXFER
The commands provided with SPFXFER are described on the following pages.
Each command token can be truncated at any point, for example, I, IN,
INP, INPU, and INPUT are all valid forms of the INPUT command.
Command Interface
Syntax
INPUT [username[.accountname]];*tapefile
INPUT [dfid[,dfid]...];*tapefile
Operation
The INPUT command reads one or more spoolfiles that were previously
output to tape back onto the system disk. The owner user and account
need not exist in the system directory, nor will this command create
them. The spoolfile(s) are placed in the OUT.HPSPOOL account as linked
spoolfile(s) and are assigned new spoolid(s).
For each spoolfile restored SPFXFER displays its old and new spoolids,
new job/session number (with a "' " to distinguish it from spoolfiles
created directly on this system), the target device/class name, and the
owner. Below is a sample display:
#FILE ===> #FILE #JOB DEV/CL OWNER
#O100 ===> #O500 #S'99 LP JOHN.DOE
#O200 ===> #O501 #S'99 LP JOHN.DOE
Spoolfiles INPUT to the system are assigned the same output priority that
they had when they were OUTPUT to tape.
Parameter Definitions
username The user name of the creator of file(s) to be INPUT,
or @ to restore files of all users.
accountname The account name of the creator of file(s) to be
INPUT, or @ to restore files of all accounts.
dfid The spoolfiles' device file id on the system from
which they were OUTPUT (if known), in the form of
[#O]nnnn
tapefile The tape filename from which files are to be INPUT. A
file equation must exist for the tape device, and
tapefile must be backreferenced with an asterisk
('*') in the form *tapefile.
Syntax
OUTPUT [username[.accountname]];*tapefile[;PURGE]
OUTPUT [spoolid[,spoolid]...];*tapefile[;PURGE]
Operation
The OUTPUT command stores linked output spoolfiles from the OUT.HPSPOOL
account to tape in a SPOOK-compatible format. These can be restored to
an NMS system with the SPFXFER INPUT command or to a CM or MPE V/E system
with the INPUT command of SPOOK. The OUTPUT command does not alter the
output priority of spoolfiles on the system.
On CM and MPE V/E systems the dfid is a 15 bit field, that is, the dfid
has a maximum value of 32767. Therefore the SPOOK tape format provides a
15-bit field for storing the dfid. On NMS systems, the spoolid is a
31-bit field. Hence the maximum value of a spoolid is 2,147,483,647. If
the spoolid of any file being OUTPUT exceeds 32767, it is altered to a
value less than 32767 using an algorithm that is described in detail in
the in-code documentation.
Owing to similar constraints imposed by backward compatibility
requirements for tapes created on CM and MPE V/E systems:
* The job/session number associated with a spoolfile is reduced, if
required, to the MPE V/E maximum of 16,383.
* The number of copies specified for the spoolfile is reduced, if
required, to the MPE V/E maximum of 127.
If altered as specified above, the values of the spoolfile id,
job/session number, and number of copies are used only for spoolfiles
which are OUTPUT to tape. The values of the files on the system remain
unchanged.
For each spoolfile stored, SPFXFER displays the current spoolfile id, the
job/session number of the file's owner, its logical device/class name,
the number of sectors in the file and the owner's name and account.
Below is a sample display:
#FILE #JOB DEV/CL SECTORS OWNER
#O100 #S99 LP 8 JOHN.DOE
#O200 #S99 LP 12 JOHN.DOE
Parameter Definitions
username The user name of the creator of file(s) to be OUTPUT, or
@ to store files of all users.
accountname The account name of the creator of file(s) to be OUTPUT,
or @ to store files of all accounts.
spoolid The spoolids of the spoolfiles to be OUTPUT in the form
of [#O]nnnn. If username.accountname and dfid are both
omitted, all files belonging to the logon user are
OUTPUT.
tapefile The tape filename to which files are to be OUTPUT. A
file equation must exist for the tape device, and
tapefile must be backreferenced with a '*' in the form
*tapefile.
PURGE Indicates that the files should be purged from the
system after they are OUTPUT to tape.
Syntax
HELP
Operation
Lists all SPFXFER commands and their syntax.
Example
> HELP
INPUT [ USER [.ACCOUNT ] ] ; TAPEFILE
INPUT DEVICEFILEID [, DEVICEFILEID ].. ; TAPEFILE
OUTPUT [ USER [.ACCOUNT ] ] ; TAPEFILE [; PURGE]
OUTPUT DEVICEFILEID [, DEVICEFILEID ].. ; TAPEFILE [; PURGE]
HELP
EXIT << TERMINATE >>
>
Syntax
EXIT
Operation
EXIT terminates SPFXFER.
Notes for the SPFXFER INPUT and OUTPUT Commands
* Native Mode spoolfiles do not have user labels, so none are stored on
tape. SPOOK will create user labels when reading an SPFXFER tape
with the INPUT command.
* Users of the INPUT or OUTPUT command must have System Manager (SM) or
System Supervisor (OP) capability. Users with neither capability can
execute only the HELP and EXIT commands.
* Before using the INPUT or OUTPUT command, a file equation should be
set up with these parameters:
:FILE formaldesignator [=filereference]; DEV=device
The ;DEV= parameter must indicate the device class name or the
logical device number of a magnetic tape unit. All other parameters
such as ;REC= and ;ACC= are provided by the INPUT/OUTPUT command
executor.
* If files are being INPUT or OUTPUT to multiple tape reels, the
operator is prompted:
CHANGE REELS ON LDEV nnn? (Y / N)
Entering 'N' or 'n' aborts the operation. Striking any other key
means a YES and the operator mounts the new tape.
For the INPUT command, if a wrong reel is mounted the operator is
prompted
INCORRECT REEL - TRY AGAIN? (Y / N)
This prompt is displayed until
* A correct reel is mounted, or
* The operator enters an 'N' or 'n' in which case the INPUT
operation is aborted.
* If any of the files specified in the command string cannot be INPUT
or OUTPUT for any reason, SPFXFER builds an error stack and displays
status similar to that shown in the following example:
#FILE SPFXFER ERRNUM FILESYS ERRNUM
#O100 - 10781 0
#O150 - 10779 46
MPE/iX Communicators