viernes, 2 de marzo de 2012

JCL: Eliminar duplicados mediante SORT

     Para eliminar duplicados de un fichero mediante un paso de SORT se haría lo siguiente:

          //SORT01 EXEC PGM=SORT
          //SORTIN    DD DSN=FICH.PRUEBA.ENTRADA,DISP=SHR
          //SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
          //                     DISP=(,CATLG,DELETE),
          //                     SPACE=(CYL,1,1)
          //SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
          //SYSOUT     DD SYSOUT=*
          //SYSIN        DD *
              SORT FIELDS=COPY
              SUM FIELDS=NONE

     Obsérvese que para eliminar los registros duplicados del fichero de entrada FICH.PRUEBA.ENTRADA se utiliza lo siguiente: SUM FIELDS=NONE
     En el fichero de salida FICH.PRUEBA.SALIDA tendremos una copia exacta del fichero FICH.PRUEBA.ENTRADA pero habiendo eliminado los registros duplicados.

     Si queremos eliminar duplicados y además ordenar el fichero resultante debemos sustituir el SORT FIELDS=COPY por lo indicado en la entrada de título JCL: Ordenar un fichero mediante SORT.