Objet :

HSPO (HHnS SPool Offload) est un utilitaire UNIX/Windows permettant de traiter les fichiers de SPOOL OFFLOAD en provenance de MVS/JES2, et de les décomposer en flots logiques homogènes (lignes de texte, ou flot AFP pur) en vue de leur traitement par un sous-système d'impression ACIF.

Le programme HSPO est appelé dans un batch de traitement, ou appelé via un system call à partir d'une application, avec comme paramètre le nom du fichier contenant le Spool Offload transmis.

HSPO extrait les SYSOUT du spool offload sous forme de fichiers.

Plateformes disponibles :

Systèmes UNIX, Linux, Windows (Nous portons sur tout système ayant un compilateur C)
  • AIX 5, 6
  • SUN Solaris 8, 9, 10, 11
  • Linux x86
  • z/Linux S/390
  • Windows XP, 7, 2003, 2008, 2012

Usage :

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

Options :

-h, --help affiche la listes des options
-v, --verbose indique les résultats de la décomposition, au fur et à mesure
-vv, --very-verbose plus de détails
-tdir, --target-directory=dir écrit sur répertoire cible dir
-p, --print-names affichage sur standard output de la liste des fichiers créés
-n, --no-blank-page suppression des pages vides
-a, --asa transforme les codes machines CCW (Channel Command Word) en codes ASA dans les enregistrements textes
-k, --keep-temp conserve les fichiers temporaires avec codes CCW quand l'option --asa est utilisée. (par défaut : supprime les fichiers temporaires)
-s, --split découpage de chaque sysout en fichiers distincts textes et AFP
-Rsep, --Record-separator=sep remplace le séparateur d'enregistrement de chaque enregistrement texte par <sep>,
avec sep = CRLF(défaut pour Windows), LF (défaut pour Unix), ou valeur choisie par l'utilisateur Xhh (hh : valeur hexa)
-A, --AFP-separator ajoute un séparateur d'enregistrement après chaque enregistrement AFP
par défaut: pas de rajout de séparateur
-V, --variable-length format "IBM variable" : prefixe chaque enregistrement avec la longueur d'enregistrement (2 bytes, big endian) et supprime tout CR/LF.

Pour chaque Job et pour chaque Sysout, on obtient un ou plusieurs fichiers, nommés de la manière suivante : XXXXXXXXX-p-c-FFFF-JJJJJJJJ-iiii-ssss.YYYYYYYY (mixed mode)

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

avec :
XXXXXXXX nom du fichier en entrée
p priorité en entrée
c nombre de copies (1, 2, ...)
FFFF nom de la forme (form name)
JJJJJJJJ Jobname MVS
iiii Jobid MVS
ssss rang de la Sysout dans l'Offload (0001, 0002 ...)
nnnn en mode split, rang du flot homogène dans cette Sysout (001, 002, ...)
YYYYYYYY nom du PAGEDEF, extrait de la carte '//... OUTPUT ...'

Exemple 1 :

Soit à traiter un Spool Offload de nom  'OFFLOAD7', avec un total de 7 Sysout.
Chaque Sysout est de type 'AFP mixed mode'  (bannière debut + flot AFP + bannière fin).

La commande :
hspo OFFLOAD7
donnera les fichiers suivants :

OFFLOAD7-ERDPRTT-4090-0001.GDCRD        (1ere Sysout)
OFFLOAD7-ERDPRTT-4092-0002.GDCRD        (2eme Sysout)
OFFLOAD7-ERDPRTT-4092-0003.GDCRD        (3eme Sysout)
       ... etc ...
OFFLOAD7-ERDPRTT-4099-0007.GDCRD        (7eme Sysout)


Chaque fichier contient un flot mixte AFP/texte, avec les lignes de texte terminées par un CRLF' (x'0D0A') pour Windows ou un LF (x'0A') pour Unix.

Exemple 2 :

Le même fichier en entrée, mais on désire terminer chaque record, texte ou AFP, par un caractère '25'hexa, et on veut obtenir la liste des fichiers créés :
hspo --print-names --Record-separator=X25 --AFP-separator OFFLOAD7
            ou
hspo -p -RX25 -A OFFLOAD7 > OFFLOAD7_names.txt

Vous pouvez essayer librement la démo en ligne (taille des offload limitée pour démo en ligne).

Pour télécharger et évaluer librement HSPO sur vos propres plateformes, n'hésitez pas à nous contacter.