The Spoolfile Interface Facility (SPIFF) (contd.) [ Native Mode Spooler Reference Manual ] MPE/iX 5.0 Documentation
Native Mode Spooler Reference Manual
The Spoolfile Interface Facility (SPIFF) (contd.)
SPIFF commands (contd.)
DEBUG
Invokes the MPE/iX DEBUG facility if the SPIFF user has privileged mode
(PM) capability.
Syntax
> D[EBUG]
Operation Notes
The DEBUG command (abbreviated D) allows a user with privileged mode
capability to enter the MPE/iX DEBUG facility. This is seldom necessary
in normal use.
CAUTION The normal checks and limitations that apply to standard MPE/iX
users are bypassed in privileged mode. It is possible for a
privileged mode user of DEBUG to destroy file integrity,
including the MPE/iX operating system software itself.
Additional Discussion
Refer to the detailed discussion of the DEBUG facility in the System
Debug Reference Manual (32650-90013). Consult this document before
attempting to use the DEBUG command.
EXIT
Terminates SPIFF, returning control to its parent process.
Syntax
> E[XIT]
Operation Notes
The EXIT command (abbreviated E) terminates the SPIFF process. Any
current spool file is closed before SPIFF terminates. Control is
returned to SPIFF's parent process. This is usually a command
interpreter, but may be another application if that application supports
creation of a child process. In particular, SPIFF may be run from within
another copy of SPIFF, using the RUN command. EXITing the second copy of
SPIFF returns control to the first instance of SPIFF.
The EXIT command and the QUIT command operate identically.
NOTE It is not possible to suspend operation of a child SPIFF process,
give control to a parent SPIFF process, and return to the child
SPIFF process, as the SPOOK5 program permitted you to do. Each
exit of a child process terminates that process and closes all open
files associated with that process. Each child process starts
afresh when created. As a result, the KILL command is not
supported by SPIFF.
FIND
Locates a specified pattern in a specified range of the current spool
file.
Syntax
[@]
> F[IND] [+] ["string"] [,range]
[^]
where range is
[[recnumber[{+} offset]] [, count ]]
[[ [{-} ]] [/ recnumber[{+} offset]]]
[[ ] [ [{-} ]]]
[[* [{+} offset] ] [ ]]
[[ [{-} ] ] [/ * [{+} offset] ]]
[[ ] [ [{-} ] ]]
[[FIRST [{+} offset] ] [ ]]
[[ [{-} ] ] [/ FIRST [{+} offset] ]]
[[ ] [ [{-} ] ]]
[[LAST [{+} offset] ] [ ]]
[[ [{-} ] ] [/ LAST [{+} offset] ]]
[ [ [{-} ] ]]
[ ]
[ALL ]
Semantics
The FIND command operates only on the currently TEXTed spool file. It is
an error if used when there is no current spool file.
Range expressions are limited to:
(first line number of file) <= expression <= (last line number of file).
Lines are numbered from 0 to N-1. No error is generated for exceeding
these limits; SPIFF simply limits the expression. For example, FIRST-2
evaluates to FIRST.
Specifying a first position range expression that evaluates to a greater
line number than that of the second position range expression is an
error.
NOTE The expression, not its components, is tested. A range of
LAST/FIRST is always an error, but a range of LAST-20/FIRST+40 is
valid for any file consisting of no more than 61 lines (numbered 0
to 60).
Parameters
@ By default, FIND locates only those occurrences of "string"
that begin at the first character of a line. Specification
of @ causes FIND to locate occurrences of "string" without
regard to their position in the line.
You can use the MODE @ =... command to enable or disable
the @ option. With the option enabled, it is not necessary
to specify the @ as part of the FIND command; however,
specifying it is not an error and has no effect on command
operation.
+ By default, the FIND operation stops at the first
occurrence of the pattern in the specified (or defaulted)
line range. Specification of + causes FIND to locate all
occurrences of the pattern in the range.
You can use the MODE + =... command to enable or disable
the + option. With the option enabled, it is not necessary
to specify the + as part of the FIND command; however,
specifying it is not an error and has no effect on command
operation.
__________________________________________________________
NOTE Do not confuse this use of + with that of the
addition (positive offset) operator in a range
expression.
__________________________________________________________
^ By default, FIND is case sensitive. If you specify "error"
as the search pattern, lines containing Error or ERROR will
not be detected. Specifying ^ (caret) makes FIND case
insensitive.
You can use the MODE ^ =... command to enable or disable
the ^ option. With the option enabled, it is not necessary
to specify the ^ as part of the FIND command; however,
specifying it is not an error and has no effect on command
operation.
"string" The pattern to be located by FIND. The double quotes are
required around the pattern. If you omit this parameter,
FIND locates the first line in the specified or defaulted
line range.
range The subset of records of the spool file(s) to search. The
default range is from the current record to the last one,
that is */LAST.
Any line number specified that is outside the range of
lines in the spool file will be handled as though FIRST or
LAST was specified, as appropriate. If the range consists
of two expressions, the first expression must evaluate to a
number no larger than the second.
ALL Specifies that all of the records in the spool file(s)
should be searched. No other range element is allowed if
this keyword is used.
FIRST The first record in the spool file.
LAST The last record in the spool file.
* The current record in the spool file.
recnumber An absolute record or line number of text in the spool
file. Records are numbered starting with 0.
offset A relative number of records before (-) or after (+) the
specified record.
count A numeric value, the number of lines to be searched,
including the starting record.
Operation Notes
The FIND command searches a range of records in the currently TEXTed
spool file for a specified pattern string, displaying the first one
found. A command option allows displaying all matches found in the
range.
With no options specified, the FIND command searches for and displays the
first case sensitive match of the specified string if the match begins in
column 1 of the record. Any of the three options broaden the searching
capabilities of the command. The options may be specified singly or in
any combination. Thus @+^+@++@^ and ++++ are both valid. Refer to the
"Syntax" description above.
Any or all of the three options may be enabled or disabled by using the
appropriate option of the MODE command. If an option is enabled using
MODE, it need not be specified in the FIND command. Enabling an option
already enabled by the MODE command is not an error and has no effect on
command operation.
The current record pointer is left at the record following the one that
matches the specified pattern, unless the + option is specified or unless
no match is found in the specified range. For either of these
situations, the current record pointers is left at end-of-range + 1 (or
at LAST, whichever is less).
Examples
EXAMPLES OF range:
*/*+20
*-20/*
ALL
FIRST/LAST
*/LAST
LAST-100/LAST
FIRST,20
100/200
5
EXAMPLES OF COMMANDS:
Command Action
FIND +^@ "error", ALL'' Locates all records in the spool file
containing the pattern "error", whether
in upper or lower case (or a mixture
thereof), anywhere in the line.
FIND ^@ "error", FIRST/100'' Restricts the search to the first
occurrence of that same pattern, this
time somewhere in the first 101 records.
FIND @ "error", */LAST'' Locates the first occurrence of the
pattern whose case, upper or lower,
exactly matches that specified, this time
somewhere between the current record and
the last.
HELP
Displays information about SPIFF and its commands.
Syntax
[FEATURES ]
[SUMMARY ]
> H[ELP] [[ [ALL ]]]
[[command [PARMS ]]]
[[ [OPERATION]]]
[[ [EXAMPLE ]]]
Parameters
none If you invoke HELP with no parameters, the Help Facility
will be interactive until you enter E or EXIT. Refer to
the "Operation Notes" section.
To enter the MPE/iX help facility, use :HELP. Be sure to
insert a colon before the HELP command.
FEATURES Displays a short description of new SPIFF features along
with differences between SPIFF and SPOOK5.
SUMMARY Displays all available commands and their syntax. This
is the closest match to SPOOK5's HELP or XPLAIN
commands.
command A SPIFF or MPE/iX command. You may specify a command
file to which you have read access or a UDC, as long as
neither one contains OPTION NOHELP.
ALL Displays all help text for the command. This consists
of all three sections, PARMS, OPERATION and EXAMPLE.
PARMS Displays the PARMS section of the command's help text.
OPERATION Displays the OPERATION section of the command's help
text.
EXAMPLE Displays the EXAMPLE section of the command's help text.
Operation Notes
The HELP command (abbreviated H) invokes SPIFF's help facility. The
facility has an interactive mode and a direct access mode. Both are
described below. Either mode has a scrolling facility, that is, if a
display requires more than 23 lines, you are prompted whether or not to
continue the display.
* Interactive access mode
If HELP is entered with no parameters, as in
HELP
it enters the interactive mode, displays a table of contents and
double greater-than (>>) prompt, and awaits your input. Entering
any topic in the table of contents produces a description of that
topic. Entering any command name (except EXIT) produces the
syntax for that command and a list of the keywords. Entering a
keyword such as PARMS produces a listing of all the items for that
keyword (all parameters in this case). You can append the keyword
to the command name and get only the help text for that keyword of
that command.
_________________________________________________________________
NOTE Because E[XIT] exits the interactive mode, the only way to
obtain a description of SPIFF's EXIT command is by entering
H[ELP] EXIT.
_________________________________________________________________
* Direct access mode
If HELP is entered with one or more parameters, it enters direct
access mode. It displays the text specified by your parameter(s),
then returns you to the SPIFF prompt. Depending on the
parameter(s), you can display summary help text for all commands,
a detailed description of a specified SPIFF or MPE/iX command, or
a brief description of SPIFF features.
The Help response to keyboard input depends on what is happening at the
time:
* At a scrolling continuation prompt--(xx/yy) Continue?--or while
the output is in the process of being displayed, you are actually
within the MPE/iX PRINT command. If the response is such that the
PRINT command is terminated, you are returned to the appropriate
SPIFF prompt (>> or >), depending on how you began the text
display. Refer to the discussion of the PRINT command in the
MPE/iX Commands Reference Manual (32650-90003) to determine its
response to keyboard input.
In addition to the responses described there, a CTRLY response
also terminates the PRINT command and returns you to an SPIFF
prompt.
* At an interactive mode prompt (>>), entering E[XIT] or :
terminates interactive mode, returning you to the SPIFF command
prompt. CTRLY has no effect. Pressing Return (Enter on some
keyboards) causes SPIFF to display information up to the next
keyword or command, or until 23 lines have been displayed,
whichever comes first.
SPIFF HELP vs. MPE/iX HELP
Entering H[ELP] puts you in the interactive mode of SPIFF Help. Entering
:HELP puts you in the interactive mode of of the MPE/iX help facility.
Entering H[ELP] followed by one or more parameters causes SPIFF to search
its help file (SPHLP000.PUB.SYS) first. If it finds an entry for the
first parameter, it displays appropriate text and returns to the SPIFF
prompt. If it cannot find an entry corresponding to the first parameter,
it passes the parameter list to the MPE/iX help facility. If an entry is
found there, again, the appropriate text is displayed and you are
returned to the SPIFF prompt. If the parameter is neither a SPIFF or an
MPE/iX command, you get the MPE/iX message:
Can't find anything under this command or in table of contents.
If you enter :HELP followed by one or more parameters, SPIFF goes
directly to the MPE/iX help facility (direct access mode) without
checking SPIFF's HELP first.
NOTE The full form of the :HELP command is required. The :H
abbreviation will not work, because it is not a valid MPE/iX
command.
INPUT
Inputs one or more spool files from a tape created by SPOOK5 or SPFXFER.
Syntax
> I[NPUT] {spoolfileid [,spoolfileid [,...]]}; *tapefile
{username[.acctname] }
Parameters
spoolfileid An existing spoolid to which the user has access. To be
taken as a spoolid (instead of a username), this parameter
must begin with a number or with a pound sign (#). The
full syntax is [#O]nnnnn, where the n's represent digits.
If the # is used, the O must also be used. If the O is
used without the #, the parameter is interpreted as a user
name and will probably cause an error.
username The name of a user on the system or @. This parameter,
when used with the optional acctname, specifies the set of
spool files to be input. The SPIFF user must have access
to files generated by username. Refer to "Security" .
acctname The name of an account on the system or @. The parameter,
when used with the username, specifies the set of spool
files to be input. Default: the logon account is assumed.
The SPIFF user must have access to files generated by users
in acctname. Refer to "Security" .
tapefile The backreferenced name of a file equation that specifies a
tape device or class.
Operation Notes
Syntax checking is performed by SPIFF, but the command is executed by
running SPFXFER.PUB.SYS as a child process. Any errors generated by
SPFXFER are reported.
SPIFF supports the INPUT command by invoking SPFXFER.PUB.SYS as a child
process, passing the SPIFF command line to it in an internal temporary
$STDIN file. This has several consequences:
* The tape interface format recognized by SPOOK5 and by SPFXFER
requires a particular combination of values for the REC= parameter
of a file equation. Do not specify a REC= parameter in your file
equation. The wrong combination of values may cause SPFXFER to
return an error without transferring your file(s). It is a good
idea to limit your file equation to the form:
FILE MYTAPE;DEV=TAPE
* SPFXFER does not support full wildcarding for either the username
or the acctname parameters. The only wildcard permitted for
either parameter is @.
* SPFXFER displays a prompt before reading the command from the
temporary file. You cannot and need not respond to the prompt.
If control does not return to you immediately, either SPFXFER is
currently reading in the spool files as requested, or (more
likely) SPFXFER is waiting for a console reply--indicating that
the desired tape has been mounted, enabling it to access the tape
drive specified by *tapefile
* SPFXFER requires a space between the I[NPUT] command and the
source file specification. If you omit the space, as in > I@.@,
SPFXFER reports an error.
Example
Assume that spoolid #O6490 exists on a tape device defined by FILE
MYTAPE:
INPUT 6490; *MYTAPE
Invoking SPFXFER.PUB.SYS. Ignore prompts until further notice. (SPMSG 185)
SPFXFER A.03.00 (C) HEWLETT-PACKARD CO., 1989
> Do not respond to this prompt
#FILE ====> #FILE #JOB DEV/CL OWNER
#O6490 ====> #O23195 #J'2 LP MYUSER.MYACCT
>
SPIFF has regained control from SPFXFER. (SPMSG 186)
LIST
Lists a line range of the currently TEXTed spool file to $STDLIST.
Syntax
> L[IST] [range]
where range is
[[recnumber[{+} offset]] [, count ]]
[[ [{-} ]] [/ recnumber[{+} offset]]]
[[ ] [ [{-} ]]]
[[* [{+} offset] ] [ ]]
[[ [{-} ] ] [/ * [{+} offset] ]]
[[ ] [ [{-} ] ]]
[[FIRST [{+} offset] ] [ ]]
[[ [{-} ] ] [/ FIRST [{+} offset] ]]
[[ ] [ [{-} ] ]]
[[LAST [{+} offset] ] [ ]]
[[ [{-} ] ] [/ LAST [{+} offset] ]]
[ [ [{-} ] ]]
[ ]
[ALL ]
Semantics
The LIST command operates only on the currently TEXTed spool file. It is
an error if used when there is no current spool file.
Range expressions are limited to:
(first line number of file) <= expression <= (last line number of file).
Lines are numbered from 0 to N-1. No error is generated for exceeding
these limits; SPIFF simply limits the expression. For example, FIRST-2
evaluates to FIRST.
Specifying a first position range expression that evaluates to a greater
line number than that of the second position range expression is an
error.
NOTE The expression, not its components, is tested. A range of
LAST/FIRST is always an error, but a range of LAST-20/FIRST+40 is
valid for any file consisting of no more than 61 lines (numbered 0
to 60).
Parameters
range The range of lines of the spool file to list. By default
(when the range parameter is omitted), only the current
record is listed; this is equivalent to LIST *. Any line
number specified that is outside the range of lines in the
spool file will be handled as though FIRST or LAST was
specified, as appropriate. If your range consists of two
expressions, the first expression must evaluate to a number
no larger than the second.
ALL Specifies that all of the records in the spool file should
be listed. No other range element is allowed if this
keyword is used.
FIRST The first record in the spool file.
LAST The last record in the spool file.
* The current record in the spool file.
recnumber An absolute record or line number of text in the spool
file. Records are numbered starting with 0.
offset A relative number of records before (-) or after (+) the
specified record.
count A numeric value, the number of lines to be listed,
including the starting record.
Operation Notes
The LIST command (abbreviated L) lists a range of records of the current
spool file to $STDLIST. Omitting the range parameter is the same as
specifying LIST *. In either case, the current record pointer is left at
the record following the last record in range, or at LAST, whichever is
less.
It is an error to use the LIST command if you do not have a current spool
file.
NOTE The ouput of the LIST command does not pause at nominal screen
intervals the way that the output from HELP does. To list short
intervals of the spool file, enter a command such as > LIST */*+10
as many times as you need to view the portion(s) of the file that
you wish to see.
Examples
EXAMPLES OF range:
*/*+20
*-20/*
ALL
FIRST/LAST
*/LAST
LAST-100/LAST
FIRST,20
100/200
5
EXAMPLE OF A COMMAND:
LIST FIRST/10
0
1
2 :JOB MYJOB,MYUSER.MYACCT.
3 PRIORITY = DS; INPRI = 8; TIME = UNLIMITED SECONDS.
4 JOB NUMBER = #J624.
5 THU, DEC 19, 1991, 10:24 AM.
6 HP3000 RELEASE: B.30.00 USER VERSION: B.30.00
7 MPE XL HP31900 B.08.14 Copyright Hewlett-Packard 1987.
8 All Rights Reserved.
9 STREAMED BY MYUSER.MYACCT (#S385) ON LDEV# 43
10 STREAM DATE: THU, DEC 19, 1991, 10:24 AM
MODE
Controls the width and format of the displayed output of the LIST and
FIND commands.
Syntax
> M[ODE] {option [,option [,...]]}
where {option} is
{ {[+] nnn}}
{W[IDTH] = {[-] }}
{ { }}
{ {OFF }}
{ }
{C[ONTROLS] = {ON } }
{ {OFF} }
{ }
{@ = {ON } }
{ {OFF} }
{ }
{+ = {ON } }
{ {OFF} }
{ }
{^ = {ON } }
{ {OFF} }
{ }
{D[OTS] = {ON } }
{ {OFF} }
Parameters
nnn An integer indicating the maximum number of characters to
be displayed per record by LIST and FIND. A positive value
indicates display width in MPE/iX halfwords (one halfword =
2 bytes), while a negative value indicates width in bytes.
The range of nnn is -32767 to +32767; however, operating
system limits are reached well before these limits.
WIDTH WIDTH=OFF (default) causes SPIFF to display records in
their entirety, except as limited by the width of the
$STDLIST output device.
WIDTH=[+/-]nnn limits the display width of records
displayed by the LIST and FIND commands. A negative number
indicates a width in bytes, and a positive number indicates
a width in 16-bit words (2 * nn bytes).
WIDTH=[+/-] nnn defines the maximum width of the displayed
record. The record includes a space for at least three
digits of line number and a separating blank. Beyond line
999, additional digits are added to the line number as
required, and the data is moved a corresponding number of
bytes to the right, truncating the same number of
additional bytes from the right end of the record.
With WIDTH=80 in effect, for example, as many as 76
characters of data per record are displayed for records
between 0 and 999. For records 1000/9999, as many as 75
characters of data per record are displayed.
Only the display width is affected. The FIND command can
successfully match a pattern even if the pattern lies
partly or entirely beyond that part of the record that is
displayed.
The + and - are optional. If either is used, there must be
no space between it and the number that follows.
CONTROLS CONTROLS=OFF (default) disables formatted display of I/O
control information.
CONTROLS=ON enables formatted display of I/O control
information. When CONTROLS=ON is in effect, the display is
the same as that used by the PRINTSPF utility.
@ @=OFF (default) causes the FIND command to match its
specified pattern only if the matching pattern begins at
the first character of a record.
@=ON allows FIND to match its pattern anywhere in a record.
+ +=OFF (default) causes the FIND command to stop at the
first matched pattern in its specified (or defaulted) line
range.
+=ON causses FIND to locate all matching patterns in the
range.
^ ^=OFF (default) causes the FIND command to match its
pattern only if the individual bytes in the candidate
record match those of the pattern in a case-sensitive
fashion. For example, "A" matches "A", but not "a".
^=ON results in a case-insensitive search.
DOTS DOTS=ON (default) results in a translation of all
non-printing characters (such as CtrlN and ESC) to dots
before being displayed by the LIST or FIND command.
DOTS=OFF disables such translation. Characters are sent to
the display device exactly as they occur in the file.
CAUTION Many display devices and communication links respond to escape
sequences and other non-printing characters. Similar sequences
may occur randomly in binary data. You should not set DOTS=OFF
if your communication link may be adversely affected. You
should set your terminal to "Display Functions" before
displaying any unknown data. This mode is intended primarily
for checking or debugging output data.
Operation Notes
The MODE command (abbreviated M) controls the width and format of LIST
and FIND spool file record displays. Settings assigned with this command
remain in effect until changed by another MODE command.
MODE allows you to concatenate as many options as you wish, as long as
each is separated from the next by a comma. In case of duplication or
conflict, the rightmost option is used.
Examples
Assume that the spool file used in the example for the LIST command is
also the currently TEXTed spool file here. Here is the same fragment of
display output:
LIST FIRST/10
0
1
2 :JOB MYJOB,MYUSER.MYACCT.
3 PRIORITY = DS; INPRI = 8; TIME = UNLIMITED SECONDS.
4 JOB NUMBER = #J624.
5 THU, DEC 19, 1991, 10:24 AM.
6 HP3000 RELEASE: B.30.00 USER VERSION: B.30.00
7 MPE XL HP31900 B.08.14 Copyright Hewlett-Packard 1987.
8 All Rights Reserved.
9 STREAMED BY MYUSER.MYACCT (#S385) ON LDEV# 43
10 STREAM DATE: THU, DEC 19, 1991, 10:24 AM
> FIND + "STREAM", ALL
9 STREAMED BY MYUSER.MYACCT (#S385) ON LDEV# 43
The "STREAM" in line 10 is not matched because no @ is in effect.
> MODE @=ON, += ON
> FIND + "STREAM", ALL
9 STREAMED BY MYUSER.MYACCT (#S385) ON LDEV# 43
10 STREAM DATE: THU, DEC 19, 1991, 10:24 AM
The + is redundant here, but is not an error.
> FIND "copyright", ALL
The "Copyright" in line 7 is not matched because this is a case-sensitive
search. With the appropriate MODE setting:
> MODE ^=ON
> FIND "copyright", ALL
7 MPE XL HP31900 B.08.14 Copyright Hewlett-Packard 1987.
> MODE WIDTH=-40
> LIST 0/10
0
1
2 :JOB MYJOB,MYUSER.MYACCT.
3 PRIORITY = DS; INPRI = 8; TIME = UNL
4 JOB NUMBER = #J624.
5 THU, DEC 19, 1991, 10:24 AM.
6 HP3000 RELEASE: B.30.00 USER VERS
7 MPE XL HP31900 B.08.14 Copyright H
8 All Rights Reserved.
9 STREAMED BY MYUSER.MYACCT (#S385) ON
10 STREAM DATE: THU, DEC 19, 1991,
MODE WIDTH=-60,CONTROLS=ON
LIST 0/10
0 OP P1=$0000 P2=$0000
1 WR P1=$0001 P2=$0000 CC=%061
2 WR P1=$0001 P2=$0000 CC=%000 BUF/# 25= :JOB MYJOB,MYUSE
3 WR P1=$0001 P2=$0000 CC=%000 BUF/# 51= PRIORITY = DS; I
4 WR P1=$0001 P2=$0000 CC=%000 BUF/# 19= JOB NUMBER = #J6
5 WR P1=$0001 P2=$0000 CC=%000 BUF/# 28= THU, DEC 19, 199
6 WR P1=$0001 P2=$0000 CC=%000 BUF/# 48= HP3000 RELEASE:
7 WR P1=$0001 P2=$0000 CC=%000 BUF/# 56= MPE XL HP31900
8 WR P1=$0001 P2=$0000 CC=%000 BUF/# 20= All Rights Reser
9 WR P1=$0001 P2=$0000 CC=%000 BUF/# 40= STREAMED BY MYUS
10 WR P1=$0001 P2=$0000 CC=%000 BUF/# 45= STREAM DATE:
MPE/iX 5.0 Documentation