Éclatement par volume
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).