Numerar registros y añadir contador en un Sort

Numerar registros

Al procesar un fichero, muchas veces surge la necesidad de numerar los registros. Es decir, incluir un en cada registro un número secuencial que identifique la posición del mismo en el fichero. Con DFSORT podemos hacerlo incluyendo el operador SEQNUM al construir un registro mediante BUILD/INREC/OUTREC. SEQNUM permite indicar la longitud y el formato deseados para el contador.

Por ejemplo, podríamos incluir al principio de un fichero 300 posiciones un número secuencial de 5 dígitos (no empaquetado) mediante el siguiente OUTREC:

OUTREC BUILD=(SEQNUM,5,ZD,1,300)

Registro de cola con contador de registros

Otra necesidad habitual es incluir el número total de registros del fichero en un registro de cola, algo que podemos hacer mediante los operadores de informe TRAILER1 y COUNT, que pertenecen al grupo de operadores de informe de DFSORT y se incluyen siempre dentro de un OUTFIL.

Por ejemplo, para incluir un registro de cola con el total de registros un fichero, con 5 dígitos y formato numérico no empaquetado:

OUTFIL FNAMES=SALIDA,
TRAILER1=('Número de registros: ', COUNT=(TO=ZD,LENGTH=5)),
REMOVECC

Incluimos el operador REMOVECC para que no se añadan al fichero los caracteres de control de carro que se incluyen por defecto al usar los operadores de informe.


Deja un comentario