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 |
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
Each SYSOUT is in AFP mixed mode: opening banner, AFP stream and closing banner.
The following UNIX/Windows command:
... etc ...
Each file contains mixed AFP/text data, with text lines terminated by CRLF (x'0D0A') on Windows or LF (x'0A') on UNIX.
OFFLOAD7, containing seven SYSOUTs.Each SYSOUT is in AFP mixed mode: opening banner, AFP stream and closing banner.
The following UNIX/Windows command:
hspo OFFLOAD7produces 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 OFFLOAD7or
hspo -p -RX25 -A OFFLOAD7 > OFFLOAD7_names.txt
To download and evaluate HSPO on your own platforms, please contact us.