HPlogo MPE/iX Commands Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 8 Command Definitions SP-Z

SPOOLF

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Allows a qualified user to alter, print, or delete output spool file(s). (Native Mode)

Syntax

SPOOLF {[ [IDNAME=] { spoolid (spoolid [,spoolid]. . .) } [;DEV= { ldev devclass devname }] [;PRI=outpri] [;COPIES= numcopies] [;SELEQ= {[select-eq] ^indirect_file }] [;ALTER] [;SPSAVE] [ ;DEFER ;UNDEFER ] [;SHOW]] ] [ [IDNAME=] { fileset (fileset [,fileset]. . .) } [;PRINT] [;DEV= { ldev devclass devname }] [;PRI=outpri] [;COPIES= numcopies] [;SPSAVE] [ ;DEFER ;UNDEFER ] [;SHOW] ] [ [IDNAME=] { spoolid (spoolid [,spoolid]. . .) } [;DELETE] [;SELEQ= { select-eq ^indirect_file }] [;SHOW]]}

Parameters

spoolid

One or more spool file IDs: #Innn for input spool files or #Onnn for output spool files. These IDs are assigned by the spooling subsystem at spool file creation time. The # is optional. So is the O if you are displaying output spool files; that is, if you specify neither [#]O nor [#]I, [#]Onnn is assumed. Do not attempt to specify a qualified file name. You must enter spoolid or fileset.

There is no default.

  • The symbol @ may be used to specify all spool files.

  • The symbol O@ may be used to specify all output spool files.

  • The symbol I@ may be used to specify all input spool files.

  • If @, O@, or I@ is specified, it must be the only value supplied. @, O@, and I@ are mutually exclusive.

  • If you specify duplicate spoolids, a warning message is displayed.

  • If you specify multiple spool files, you must separate them by commas and enclose the set in parentheses.

A console user or a user with SM or OP capability who specifies O@ acts on all output spool files on the system. A user with AM capability who specifies O@ acts on all output spool files created by users in the same account. All other users are limited to files they have created.

fileset

Specifies the set of files to be printed. You must enter either fileset or spoolid. There is no default.

This positional parameter has this form:

filename[/lockword[.groupname[.accountname]]]

You may use wildcards. Files that are not of the type SPOOL are ignored. An error is returned for each input spool file in the fileset.

If the file name or set is not fully qualified, the default is the user's current logon group and account. In batch mode, if any file in the set has a lockword, it must be supplied with the command. Therefore, the file cannot be part of a set that contains wildcards. This restriction does not apply in interactive mode because the system prompts the user for each required lockword. In any case, if the lockword is not correctly provided, the print option on that file fails with a warning message, and the command continues on the rest of the files, if any.

select-eq

The selection equation is used as a filter on the set of spool files selected. Only spool files whose attributes satisfy all filter requirements are listed.

For example, you use the following command to delete all the output spool files to which you have access and that have less than 100 pages from user.acct:

SPOOLF O@;DELETE;SELEQ=[(OWNER=user.acct)AND(PAGES<100)]

Begin and end selection equations with square brackets, as shown in the preceding example.

The following command prints the output spool files to which you have access with a priority greater than 2 and that were created before September 30, 1994.

SPOOLF O@;PRINT;SELEQ=[(PRI>2)AND(DATE<09/30/89)]

Selection equations have the following format. In this display, when the expression is expanded, interpret the symbol ::= as "can be replaced by."

select-eq ::=[equation]

equation ::= { parm { > >= < <= <> = } value (equation) NOT equation equation { AND OR } equation }

In a selection equation, the logical operator AND takes precedence over the logical operator OR. For example, suppose you enter this command:

SPOOLF O@;PRINT;SELEQ=[FILEDES=REPT &
OR OWNER=BOB.ACCTG AND PRI>8]

In this example, [FILEDES=REPT OR OWNER=BOB.ACCTG AND PRI>8] is the same as [FILEDES=REPT OR (OWNER=BOB.ACCTG AND PRI>8)].

value ::= Appropriate values per data type. For example, STATE=READY or PRI>6.

parm ::= The parameter (parm) may be one of several attributes of the spool file to be used as filters. The parm choices are described below.

  • parm ::= DEV: LDEV number, device name, or device class name. You may use wildcards for device name and device class name.

  • parm ::= FILEDES: Formal or actual file designator for the spool file. You may use wildcards.

    For example, if you enter the file equation below and print to it, EPOCLONG will be the spool file's FILEDES.

    FILE EPOCLONG;DEV=EPOC;ENV=LPLONG.ENV.SYS
    PRINT MYFILE,*EPOCLONG

    You may also select files based on a null string by entering FILEDES= "" or FILEDES= ''. You must include such a construct if you specifically want to select on such an attribute. Note that "" is not the same as " ". The blank is significant.

  • parm ::= SPOOLID: Spoolfile identifier number in the format #Onnn or #Innn.

    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 spool files; that is 123 is the same as #O123. The valid range of SPOOLIDs is 1 ≤ nnn ≤ 9,999,999. (The commas are for clarity; do not enter any commas in the actual equation.)

  • parm ::= PAGES: Number of pages in spool file (if known). Use a positive integer.

    The PAGES attribute does not apply to input spool files; therefore, any logical condition involving the attribute always returns FALSE when tested against an input spool file.

  • parm ::= FORMID: Form name. You may use wildcards. (The formid is an ASCII string up to 8 characters, the first of which must be a letter.)

    You may also select files based on a null string by entering FILEDES= "" or FILEDES= ''. You must include such a construct if you specifically want to select on such an attribute. Note that "" is not the same as " ". The blank is significant. Also, this attribute does not apply to input spool files; therefore, any logical condition involving the attribute always returns FALSE when tested against an input spool file.

  • parm ::= STATE: READY, ACTIVE, OPEN, CREATE, PRINT, PROBLM, DELPND, SPSAVE, DEFER, XFER.

  • parm ::= JOBNAME: Job or session name under which the spool file was created. The job name can consist of up to 8 alphanumeric characters, the first of which must be a letter.

    For a job input spool file, the JOBNAME shown is allocated to that job, not the job or session that streamed it.

    You may use wildcards.

  • parm ::= DISP: Disposition can be SPSAVE or PURGE. See the NOTE accompanying the PAGES description.

  • parm ::=COPIES: Number of copies. Minimum is 1, maximum is 65,535. (The comma in 65,535 is for clarity; do not enter commas in the actual equation.)

  • parm ::= PRI: Output priority. Minimum is 0, maximum is 14. See the NOTE accompanying the PAGES description.

  • parm ::= JOBNUM: Job or session number under which the spool file was created, for example: #S257, #J329, or Jn (the "#" is optional). 1 ≤ n ≤ 16,383. (The comma is for clarity; do not enter any commas in the actual equation.)

    For a job input spool file, the JOBNUM shown is allocated to the job, not the job or session that streamed it.

    You may use some wildcards; J@ accepts all jobs, S@ accepts all sessions. J'@ and S'@ are also allowed, The apostrophe (') indicates an imported spool file or a spool file recovered during START NORECOVERY.

  • parm ::= RECS: Number of records in the spool file. A positive integer is expected.

  • parm ::= OWNER: The user under which the spool file was created. The format of the owner is user.account. If the account is not specified, the user's current account is assumed. You may use wildcards.

    For a job input spool file, the OWNER is the user logon for the job, not the job or session that streamed it.

  • parm ::= JOBABORT: Select based on whether this is the $STDLIST of a job that aborted when an error was encountered when 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 spool files; therefore, any logical condition involving the attribute always returns FALSE when tested against an input spool file.

  • parm ::= DATE: Creation date in the format mm/dd/yy or mm/dd/year. Note that the year can be in the form of yy, as in 10/10/88, or in the form of year, as in 10/10/1988; both are legal syntax for the date parameter.

indirect_file

Specifies the name of a file containing the selection equation. It must be preceded by a caret (^). The selection equation contained in the file may not exceed 509 characters in length, including the brackets in which it must reside. There is no restriction on the indirect file code. If the record size exceeds 509, only 509 characters per record are read and a warning is issued. Backreferencing to a formal file designator is also allowed for an indirect_file name; that is, ^*filename is also allowed. Any file is accepted as an indirect_file, unless the file system returns an error from FOPEN or FREAD.

There is no limit to the number of records in the indirect_file, only the total character count.

Records are processed as follows:

  • Leading and trailing blanks are stripped.

  • If the last non-blank character is an ampersand (&), it is also stripped; otherwise, one blank is added back to the end of the record as a delimiter.

  • The character count of the record is added to that of the records processed previously. If the total character count exceeds 509, an error is returned. If the total is less than 509, the current record is appended to previous records.

  • This process repeats until either 509 characters have been counted or the end-of-file is detected. Records terminating with or without ampersands may be mixed as desired in the indirect file.

  • If the resulting string is ≤509 characters, it is parsed.

  • If the parser detects a syntax error, or if any non-blank character follows the closing bracket (]) of the select-eq, an error is returned and the select-eq is not processed.

ALTER

The ALTER option alters the characteristics of specified output spool files. Private output spool files may be altered in a limited fashion; only the keywords PRI, DEFER, and UNDEFER are allowed. A system manager (SM) user may also specify DEV=.

NOTE: You cannot alter the attributes of spool files in the SPSAVE state.

If you use the DEFER or DEV keyword on a spool file that is being printed, the spooler process printing the file is interrupted. The spooler process saves the page number of the last complete page that was printed in the spool files's file label extension (FLABX). The next time the file is selected for printing by any spooler, output resumes at the page saved in the FLABX.

Because of the large amount of data buffered in the file system and the device, an output device may continue to print, making it appear as if the DEFER or DEV keyword has not had any effect. In reality, the spooler stops sending data to the device when the command is received but must wait until all buffered data has been printed before releasing the spool file.

Depending on both the content of the data and the amount of buffering, this may require a significant part of a page or even several pages.

PRINT

The PRINT option copies the specified filesets to the HPSPOOL account and links the new output spool files into the spool queues for printing. It is especially useful for generating more copies of a spool file in the SPSAVE state.

If the target device or class information exists in the file label extension, that device or class is used as the default. The DEV= option may be used to override this default. If there is no target device in the file label extension or the device specified is not valid, the DEV= parameter must be specified or an error message results. The default values of PRI (8) and COPIES (1) may also be overridden by user-specified parameters.

You must have nonshareable (ND) capability to use the SPOOLF...;PRINT command. Private files cannot be printed using the PRINT option.

DELETE

The DELETE option purges all specified private or nonprivate spool files to which the user has access from the system.

If a spool file is not in use (opened by a user, or being printed or stored), it is purged immediately. If it is in use, it is placed in DELPND state. Any spooler process printing it is notified, and printing stops at that point. Each of these files is deleted when its last user closes it, except in the case of STORE, as described below.

NOTE: Because of the large amount of data buffered in the file system and the device, an output device may continue to print, making it appear as if the DELETE option has not had any effect. In reality, the spooler stops sending data to the device when the command is received but must wait until all buffered data has been printed before stopping.

Depending on both the content of the data and the amount of buffering, this may require a significant part of a page or even several pages.

ldev

Specifies the logical device number of the spool file's new destination device.

If the spool file is in the PRINT state, it is returned to the READY state. It may immediately enter the PRINT state on ldev if all requirements are met.

Printing of a spool file is interrupted only if the newly specified target ldev, devclass, or devname is different than the previous target ldev, devclass, or devname.

devclass

Specifies the new destination device class name for the spool file. If the spool file is in the PRINT state, it is returned to the READY state. It may immediately enter the PRINT state on a device in devclass if all requirements are met.

The devclass parameter must begin with a letter and consist of eight or fewer alphanumeric characters. Note that MPE/iX does not allow the same name to be configured as a device class name and a device name. See the NOTE accompanying ldev.

devname

Specifies the device name of the spool file's new destination device. If the spool file is in the PRINT state, it is returned to the READY state. It may immediately enter the PRINT state on devname if all requirements are met. Note that this occurs even if devname is the same as the device currently printing the file.

The devname parameter must begin with a letter and consist of eight or fewer alphanumeric characters. Note that MPE/iX does not allow the same name to be configured as a device class name and a device name. See the NOTE accompanying ldev.

outpri

Specifies the output priority of the designated spool files, where 0 is the lowest and 14 is the highest. Only an OP user or the console can specify an outpri of 14; other users are limited to 13.

The default is 8 with the PRINT option and no change for the ALTER option.

numcopies

Specifies the number of copies of the designated spool files to be printed. The allowable range is 1 through 65,535. (The comma is for clarity; do not enter any commas in the actual command.)

The default is 1 for the PRINT option and no change for the ALTER option.

SPSAVE

The SPSAVE option specifies that the selected spool files are not to be deleted after their last copy has printed. Instead they are retained in the HPSPOOL account in the SPSAVE state until deleted manually. Among other advantages, this option allows documents to be copied to user file space, to be reprinted without being reformatted, and so on.

Private spool files may not be saved.

When a file enters the SPSAVE state, its priority is set to 8 and its number of copies is set to 1. This is so that it will have the proper defaults should it be printed later.

DEFER

The DEFER option changes the spool file's state to DEFER. If it is currently in the PRINT state, its spooler is notified and printing stops at that point. (See the note about buffer retention under the DELETE option.) The spool file's priority remains unchanged. If this option is used with the PRINT option, the spool file is copied to OUT.HPSPOOL and linked to the spooling system, but the state of the spool file is DEFER. The spool file is not printed until a subsequent SPOOLF...;UNDEFER is entered.

NOTE: If the DEFER option is used on any file in the CREATE state (opened for original creation), the spool file only enters the DEFER state after it is completed (closed for the last time).
UNDEFER

The UNDEFER option changes a spool file's state from DEFER to READY and causes a spooler to start printing it if the spool file is qualified for an idle printer to print. The spool file's priority remains unchanged.

SHOW

The SHOW option allows a user to display the results of the SPOOLF command. All other parameters are processed before the SHOW. Here is an example:

:SPOOLF O@;SELEQ=[DEV=16];ALTER;PRI=8;SHOW

SPOOLID JOBNUM FILEDES PRI COPIES DEV STATE RSPFN OWNER
#O414 J5 $STDLIST 8 1 00000016 READY ALIX.MKT
#O416 J7 HOTSTUFF 8 2 00000016 READY JACK.SALES

Operation Notes

Input spool file attributes cannot be altered, but input spooled DATA files can be deleted. Private spool files 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.

The SPOOLF...;ALTER command can be used on problem state spool files to alter the device attribute so that the spool file becomes ready again. Most of the time, the spool file is in the problem state because the target device of the spool file is invalid.

Use

This command may be issued from a session, job, or program, or in BREAK. SPOOLF ...;SHOW is breakable. However, you cannot stop the actions by pressing BREAK. The files you can access with the SPOOLF command depend on your capabilities.

Example

Related Information

Commands

SPOOLER, LISTSPF, LISTFILE, ALTSPOOLFILE, DELETESPOOLFILE

Manuals

Native Mode Spooler Reference Manual

Feedback to webmaster