HP 3000 Manuals

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