Éclatement par volume

De MappingDoc

Voici des explications sur la rupture sur Volume :

Le tri sur volume permet de trier et d'éclater un spool en fonction du nombre de pages composant chaque rupture. Par exemple, si vous avez un spool de facturation contenant plusieurs factures, vous pouvez éclater votre spool en créant en sortie un spool avec toutes les factures d'1 page, 1 autre avec toutes les factures de 2 pages....

Pour réaliser ce tri, il faut utiliser successivement les commandes MAPSORTPAG et MAPQUALSPL de la manière suivante :

  • MAPSORTPAG avec le paramètre CREATE à *NO. La position de la clé de tri étant la position du numéro de facture.
  • MAPQUALSPL avec le paramètre CONTROLE à V et le paramètre SORTPAGE à O.(La lettre O pour Oui)


Exemples si la position du numéro de facture est ligne 12, colonne 10 sur une longueur de 10 caractères:

MAPSORTPAG
MAPSORTPAG SPLF(FACTURES) SPLNUM(1) JOB(QPADEV0003) JOBNUM(156041) USER(SRICOUX) KEYLINE(4) KEYCOL(1) KEYLGN(10) CREATE(*NO)
MAPQUALSPL
MAPQUALSPL SPLFNAME(VAL_GAS) CONTROLE(V) SORTPAGE('O')


Le paramètre USRDTA du spool contiendra comme valeur le nombre de pages par document.

Exemple:

Opt Fichier Utilisat Unité ou file Référence Etat Total pages
VAL_GAS SRICOUX SRICOUX 0000000001 RDY 8
VAL_GAS SRICOUX SRICOUX 0000000002 RDY 2
VAL_GAS SRICOUX SRICOUX 0000000003 RDY 3

Ici, on obtient 3 spools. 1 spool de 8 pages contenant les factures de 1 page (8 factures). 1 spool pour les factures de 2 pages (1 facture) et 1 spool de 3 pages pour 1 facture de 3 pages.
Il ne vous reste plus qu'à isoler les spools ayant comme référence 0000000008 et au delà.

Note: Le fichier spool d'origine fait 13 pages et l'on obtient bien 13 pages en sortie (8 + 2 + 3).