HH&S product

HSPO HH&S SPool Offload

Using HH&S SPool Offload to process MVS/JES2 spools.

Object:

HSPO (HH&S SPool Offload) is a UNIX/Windows utility that processes MVS/JES2 spool offload files, extracts their SYSOUT data and separates it into homogeneous logical streams—text records or pure AFP streams—for subsequent processing by an ACIF print subsystem.

HSPO can be called from a batch script or by an application through a system call. Its parameter is the name of the file containing the transferred spool offload.

HSPO extracts spool offload SYSOUT to data files.

Supported platforms

Linux, Windows and AIX systems:

  • Linux
  • Windows
  • AIX

HSPO can also be ported to systems with a C compiler, including Solaris and HP-UX.

Usage:

hspo [-h] [-v] [-vv] [-tdir] [-p] [-n] [-a [-k]] [-s] [-Rsep [-A]] [-V] input_offload_file_name

Options:

-h, --help display options list
-v, --verbose display processing results, step by step
-vv, --very-verbose displays additional diagnostic detail
-tdir, --target-directory=dir writes to target directory dir
-p, --print-names display files list on standard output
-n, --no-blank-page removes blank pages
-a, --asa converts machine carriage-control codes (CCW, Channel Command Word) to ASA carriage-control codes in text records
-k, --keep-temp keeps temporary files containing the original CCW codes when --asa is used; by default, these temporary files are deleted
-s, --split splits each SYSOUT into separate text and AFP files
-Rsep, --Record-separator=sep replaces the separator after each text record with sep: CRLF by default on Windows, LF by default on UNIX, or a user-defined hexadecimal value Xhh
-A, --AFP-separator adds the selected record separator after each AFP record; by default, no separator is added
-V, --variable-length uses IBM variable-record format: prefixes each record with its length as a two-byte big-endian value and removes all CR/LF separators
For each job and each SYSOUT in the spool offload, HSPO creates one or more files named as follows:

XXXXXXXXX-p-c-FFFF-JJJJJJJJ-iiii-ssss.YYYYYYYY (mixed mode)

XXXXXXXXX-p-c-FFFF-JJJJJJJJ-iiii-ssss_nnnn.YYYYYYYY (split mode)

with :
XXXXXXXX input file name
p input priority
c number of copies (1, 2, ...)
FFFF form name
JJJJJJJJ MVS jobname
iiii MVS jobid
ssss position of the SYSOUT in the spool offload (0001, 0002 ...)
nnnn in split mode, position of the homogeneous stream within this SYSOUT (001, 002, ...)
YYYYYYYY PAGEDEF name extracted from the //... OUTPUT ... JCL statement

Example 1:

Consider a spool offload file named OFFLOAD7, containing seven SYSOUTs.
Each SYSOUT is in AFP mixed mode: opening banner, AFP stream and closing banner.

The following UNIX/Windows command:
hspo OFFLOAD7
produces the following files:

OFFLOAD7-ERDPRTT-4090-0001.GDCRD        (1st SYSOUT)
OFFLOAD7-ERDPRTT-4092-0002.GDCRD        (2nd SYSOUT)
OFFLOAD7-ERDPRTT-4092-0003.GDCRD        (3rd SYSOUT)
       ... etc ...
OFFLOAD7-ERDPRTT-4099-0007.GDCRD        (7th SYSOUT)


Each file contains mixed AFP/text data, with text lines terminated by CRLF (x'0D0A') on Windows or LF (x'0A') on UNIX.


Example 2:

Using the same input file, the separator after each text or AFP record is set to hexadecimal 25, and the list of files created is written to standard output:
hspo --print-names --Record-separator=X25 --AFP-separator OFFLOAD7
            or
hspo -p -RX25 -A OFFLOAD7 > OFFLOAD7_names.txt

To download and evaluate HSPO on your own platforms, please contact us.