lunes, 18 de junio de 2012

JCL: Eliminar bloques de filas mediante SORT

     Si de un fichero queremos eliminar las, por ejemplo, 100 primeras filas (dicho fichero tiene N+100 filas) supone que debemos copiar desde la fila 101. Para ello ejecutaremos un paso de SORT como el 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,RLSE),
          //                   DCB=(RECFM=FB,BLKSIZE=6144,LRECL=64)
          //                   UNIT=SYSDA
          //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE)
          //SYSOUT     DD SYSOUT=*
          //SYSIN        DD *
              OPTION SKIPREC = 100
              SORT FIELDS=COPY


O como el 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,RLSE),
          //                   DCB=(RECFM=FB,BLKSIZE=6144,LRECL=64)
          //                   UNIT=SYSDA
          //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE)
          //SYSOUT     DD SYSOUT=*
          //SYSIN        DD *
              SORT FIELDS=COPY
                 SKIPREC = 100

Fíjate en lo marcado en azul, ya que eso es lo que hace que se ignoren las 100 primeras filas y se empiece a copiar a partir de la 101.

No hay comentarios:

Publicar un comentario