Ahora bien, ¿qué sucede cuando queremos dejar en un fichero los registros (sin repetidos) del fichero origen y todos los repetidos en otro fichero distinto? Pues es muy sencillo, fíjate en el siguiente paso de jcl:
//SORT0001 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SORTIN DD DSN=XX.XX.XXXXXXXX.XXXXXXXX.ENT,DISP=SHR
//SORTOUT DD DSN=YY.YY.YYYYYYYY.YYYYYYYY.SAL1,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,1,1)
//SORTXSUM DD DSN=YY.YY.YYYYYYYY.YYYYYYYY.SAL2,
// DISP=(,CATLG,DELETE),
// SPACE=(CYL,1,1)
//TOOLIN DD *
SELECT FROM(SORTIN) TO(SORTOUT) -
ON(1,9,ZD) FIRST DISCARD(SORTXSUM)
Como habrás observado he marcado en azul y amarillo ciertas cosas que se diferencian con el típico paso de SORT:
ICETOOL sustituye a SORT
TOOLMSG no existe en el típico paso de sort
DFSMSG no existe en el típico paso de sort
SORTXSUM es un fichero de más que el SORT no suele tener a
menos que no dividamos el fichero origen en dos ficheros
distintos tal y como se explica en el post titulado JCL: Obtener
dos ficheros mediante SORT (pinchar aquí para leer dicho
post)
TOOLIN sustituye a SYSIN
SELECT FROM(SORTIN) TO(SORTOUT) -
ON(1,9,ZD) FIRST DISCARD(SORTXSUM)
SYSIN en el SORT. Con esto conseguimos realizar lo que
planteamos en la pregunta realizada al inicio de este post.
Espero que os haya sido de utilidad.