SPIFF Spool File Interface Facility [ COMMUNICATOR 3000 MPE/iX Release 5.0 (Core Software Release X.50.20) ] MPE/iX Communicators
COMMUNICATOR 3000 MPE/iX Release 5.0 (Core Software Release X.50.20)
SPIFF Spool File Interface Facility
by Larry Byler
Commercial Systems Division
Introduction
The Native Mode Spool File Interface Facility (SPIFF) is a replacement
for the MPE CM Spook program. It supports many (but not all) of the
commands of the Spook program. Several existing features have been
enhanced, and new features have been added. Wherever this has been done,
the default is the closest approximation to Spook behavior.
For example, Spook's FIND command would match a string only if it
occurred at the beginning of a record unless the FIND @ form of the
command was used. FIND @ would match the string anywhere in the record.
SPIFF can be configured such that FIND (without the @) will match a
string anywhere in a record (or will display all such matches within a
line range, another enhancement). However, the default behavior is the
same as for Spook.
Major Differences Between SPIFF and Spook
* SPIFF opens $STDINX by default instead of $STDIN. Any command that
begins with a colon, ":", (except :EOD) no longer causes an
end-of-file program termination. Instead, it is considered an MPE
command and is passed to the MPE/iX Command Interpreter (CI) for
execution.
* Spook commands are recognized by any leftmost subset of
characters. For example, F, FI, FIN, and FIND all execute the
FIND command. SPIFF recognizes only the first letter or the full
form of the command (F or FIND in the above example), except for
APPEND and STORE. The abbreviations for these two commands require
two letters (AP, ST) to distinguish them from the ALTER (A) and
SHOW (S) abbreviations, respectively.
* SPIFF uses Native Mode Spooler (NMS) display routines. For
example, the SHOW command executes through a LISTSPF display.
SHOW;@ executes as LISTSPF;DETAIL.
* The NMS does not support a LOCKED state for spool files. As a
result, texting in a file, or outputting it to tape does not
change the file's state. If you TEXT in a file in the READY
state, then issue the SHOW * command, the file state continues to
be displayed as READY.
* If you used Spook at the console you gained no additional spool
file access rights just because you were using the console. For
example, if you have neither SM nor AM capability you could only
access the files you had created. However, the SPIFF console user
can access any spool file on the system, no matter what their user
capabilities may be. This is consistent with the spool file
access rights of CI commands.
* When using the COPY or APPEND command, the target file must be a
local spooled device file. An ordinary disk file, a spooled
device file on a remote node, or a non-spooled device file is not
supported, and results in an error if specified.
* The Spook KILL command, used to terminate child Spook processes,
is not supported, as SPIFF now supports process creation with the
CI RUN command.
New Features and Enhancements
* Case-insensitive FIND (F ^ "string"). May be set as the default
using the MODE command.
* Column-insensitive FIND without F@. FIND my be set as the default
using the MODE command.
* FIND and display all occurrences of a string in the specified
range. For example:
> FIND + "ERROR"
the range defaults to ALL, as in Spook. May be set as the default
using the MODE command.
* Unprintable characters, such as <escape> and <shift-in> are
converted to dots by default (for compatibility with Spook). This
can be overridden with the MODE command. Note that such
characters can cause an unpredictable display operation if sent to
an output device in their raw form.
* New STORE and BROWSE commands are available to interface with the
MPE STORE facility and the HPBROWSE utility (if they have been
purchased), respectively.
* You can now TEXT in an output spool file in the CREATE state.
Once it is the current spool file, you can execute the APPEND,
COPY, FIND, and LIST commands on it. The BROWSE, INPUT, OUTPUT,
and STORE commands are not allowed, as they require exclusive
access to the file. The PURGE command is not allowed on a file in
the CREATE state.
* Spook used the PRINT and READ intrinsics, thus confining the user
to $STDIN without recourse to the flexibility of file equations.
By contrast, SPIFF opens formal file designator SPIFFIN as $STDINX
and formal file designator SPIFFOUT as $STDLIST by default.
Either or both of these can be modified with a FILE equation.
* You may specify one command in the INFO string (for example,
;INFO="SHOW @.@"). SPIFF executes the specified command before
displaying the first command prompt.
You may specify a filename of SPIFF commands, using the form
INFO="^<filename>". SPIFF will FREAD and execute one command at a
time from this file before displaying the first command prompt.
The file can contain any number of SPIFF commands, but each
command must be a separate record.
* The ALTER, APPEND, COPY, PURGE, and SHOW commands now support
expanded fileset selection. You may specify the currently texted
file (*), one or many explicit spoolids (a list separated by
commas), a user.acct (assuming you have access to files in
user.acct), or by a Native Mode Spooler selection equation. Here
is a selection equation example:
SHOW [PRI >= !HPOUTFENCE]
_________________________________________________________________
NOTE To prevent accidentally purging the wrong spool files, the
PURGE command uses a confirmation dialog by default whenever
either the user.acct or selection equation option is
specified. You may elect to skip this dialog when running
SPIFF in a session. It is automatically skipped whenever
SPIFF is run non-interactively (in batch mode or with
redirected SPIFFIN or SPIFFOUT files).
_________________________________________________________________
* The HELP command operation has been changed to resemble that of
the MPE CI Help subsystem. Entering HELP (or its abbreviation, H)
with no parameters displays an introductory screen and places you
in an interactive mode until you exit the Help subsystem. The
X[PLAIN] command operation has not been changed.
MPE/iX Communicators