Más de un registro de salida por cada registro de entrada en un Sort

En la definición de los registros de salida de un sort con BUILD se puede incluir una barra (carácter “/”) para insertar un registro en blanco. Los campos y/o literales que se incluyan a continuación formarán parte del nuevo registro.

Por defecto se inserta un único registro. Si añadimos un número delante de la barra, se insertarán n registros en blanco.

Este separador solo puede incluirse dentro de un BUILD o OUTREC que forme parte de un OUTFIL.

Ejemplo:

//PASSORT EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=FICH.ENTRADA,DISP=SHR
//
//SALIDA1 DD DSN=FICH.SALIDA1,
// DISP=(,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// RECFM=FB
//SALIDA2 DD DSN=FICH.SALIDA2,
// DISP=(,CATLG,DELETE),
// SPACE=(TRK,(10,10),RLSE),
// RECFM=FB
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FNAMES=SALIDA1,BUILD=(1,10,/,11,10)
OUTFIL FNAMES=SALIDA2,BUILD=(1,10,11,10,2/)

En SALIDA1, por cada registro del fichero de entrada generamos dos registros en el fichero de salida con campos de entrada diferentes.

En SALIDA 2, por cada registro del fichero de entrada generamos un registro con campos del fichero de entrada y dos registros en blanco.


1 comentario sobre Más de un registro de salida por cada registro de entrada en un Sort

  • Esther

    Hola. ¿Me podríais ayudar a hacer lo contrario, un único registro de salida por todos los registros de entrada?
    Ejemplo:
    Entrada
    AAAA
    BBBB
    CCCC
    Salida
    AAAABBBBCCCC

    Muchas gracias. Un saludo, Esther.

Deja un comentario