Vous avez un gros fichier à découper en 3 pour faire un traitement en parallèle des 3 fichiers résultants, mais vous ne connaissez pas la volumétrie du gros fichier pour déterminer le nombre d’enregistrements à mettre dans chacun des 3 fichiers de sortie.

Comment faire ?

DFSORT propose les options SPLIT, SPLITBY et SPLIT1R qui permettent de distribuer les enregistrements comme suit :

  • SPLIT : Le premier enregistrement est écrit dans le premier fichier de sortie, le second enregistrement dans le second fichier de sortie et ainsi de suite jusqu’à ce que tous les fichiers de sortie comportent un enregistrement. Ensuite la distibution recommence au premier fichier de sortie,
  • SPLITBY permet la même chose que SPLIT mais au lieu de distribuer enregistrement par enregistrement, vous pouvez lui indiquer le nombre d’enregistrement qui doivent être distribué à chaque fois,
  • SPLIT1R permet de distribuer un nombre déterminé d’enregistrement dans chaque fichier de sortie et continue à distribuer les enregistrements restants dans le dernier fichier de sortie sans revenir au premier.

Supposons que l’on ait le fichier :

01
02
03
04
05
06
07
08
09
10

Si :

OPTION COPY
OUTFIL FNAMES=(SORTOF01,SORTOF02,SORTOF03),SPLIT

On obtient :
SORTOF01

01
04
07
10

SORTOF02

02
05
08

SORTOF03

03
06
09

Si :

OPTION COPY
OUTFIL FNAMES=(SORTOF01,SORTOF02,SORTOF03),SPLITBY=3

On obtient :
SORTOF01

01
02
03
10

SORTOF02

04
05
06

SORTOF03

07
08
09

Si :

OPTION COPY
OUTFIL FNAMES=(SORTOF01,SORTOF02,SORTOF03),SPLIT1R=2

On obtient :
SORTOF01

01
02

SORTOF02

03
04

SORTOF03

05
06
07
08
09
10

Pratique ?