HSPO (HH&S SPool Offload) is a UNIX/Windows utility that processes SPOOL OFFLOAD coming from MVS/JES2, and slices them into logical files (sysout) (text lines, pure AFP stream) in order to send them to an ACIF printing subsystem.

HSPO program is called from a batch script, or from an application system call, with one parameter: the spool offload filename.

HSPO extracts spool offload SYSOUT to data files.

Supported plateforms:

UNIX, Linux, Windows (we port to any OS having a C compiler)
  • AIX 5, 6
  • SUN Solaris 8, 9, 10, 11
  • Linux x86
  • z/Linux S/390
  • Windows XP, 7, 2003, 2008, 2012


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


-h, --help display options list
-v, --verbose display processing results, step by step
-vv, --very-verbose very verbose (usefull for debug)
-tdir, --target-directory=dir writes to target directory dir
-p, --print-names display files list on standard output
-n, --no-blank-page suppress empty pages
-a, --asa transforms CCW machine codes (Channel Command Word) into ASA codes ASA in text records
-k, --keep-temp keep temporary files with original CCW machine codes when --asa option is used (default: suppress temporary files)
-s, --split split each sysout into separate text files and AFP files
-Rsep, --Record-separator=sep change record separator after each text record using sep = CRLF(Windows), LF (UNIX), or user defined value Xhh (hh: hexa value)
-A, --AFP-separator insert AFP record separator using text record separator
default: no separator
-V, --variable-length "IBM variable" format : prefix each record with record length (2 bytes, big endian), suppress all CR/LF

For each job (spool offload) and for each Sysout, one or several files are created, named as follow:

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
iiii MVS jobid
ssss Sysout rank in offload (0001, 0002 ...)
nnnn in split mode, Sysout homogeneous stream rank (001, 002, ...)
YYYYYYYY PAGEDEF name, as from JCL card '//... OUTPUT ...'

Example 1:

Let's say the incoming Spool Offload is named 'OFFLOAD7', it contains 7 Sysout.
Each Sysout is of type 'AFP mixed' (head banner + AFP + tail banner).

Following UNIX/Windows command:
will produce 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 will contain Mixed AFP/text data, with records terminated by CRLF' (x'0D0A') on Windows or LF (x'0A') on UNIX.

Example 2:

Same input file, but text/AFP record separator is forced to Hexa 25, and file list is displayed on processing:
hspo --print-names --Record-separator=X25 --AFP-separator OFFLOAD7
hspo -p -RX25 -A OFFLOAD7 > OFFLOAD7_names.txt

Please try Online free demo (file size limited for online demo).

If you wish to download for free a trial version, please contact us.