Contadores y totales por campo clave en un Sort

Cuando en un Sort queremos obtener totales o contadores por un campo clave, lo más sencillo es utilizar los parámetros de informe de la instrucción OUTFIL. Los analizamos en un artículo anterior, pero aquí solo vamos a usar los que necesitamos para nuestro propósito. Los contadores o totales pueden ir en un fichero aparte o […]

Fecha del sistema en un JCL

Para incluir la fecha de sistema en un Sort, ya sea al construir los registros (INREC, OUTREC, BUILD) o en una condición (INCLUDE, OMIT, IFTHEN, etc.), tenemos disponibles las siguientes constantes:

Constante Formato DATE1  C’yyyymmdd’ DATE1(c) C’yyyycmmcdd’ DATE1P P’yyyymmdd’ DATE2 C’yyyymm’ DATE2(c) C’yyyycmm’ DATE2P P’yyyymm’ DATE3 C’yyyyddd’ DATE3(c) C’yyyycddd’ DATE3P P’yyyyddd’ DATE4 C’yyyy-mm-dd-hh.mm.ss’ DATE5 C’yyyy-mm-dd-hh.mm.ss.nnnnnn’ […]

JCL: Crear fichero de entrada/salida cuando no exista

En un artículo anterior veíamos la forma de evitar el fallo de un JCL por la inexistencia de un fichero. Se trataba de crear un paso IDCAMS LISTCAT para generar un retorno 0 en caso de encontrar el fichero y 4 en caso contrario. Esto nos permitía condicionar el resto de pasos al código de […]

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, […]

Crear informes con un Sort

En este artículo vamos a introducir las sentencias de control del parámetro OUTFIL del Sort que permiten generar un fichero de salida con formato de informe. Las principales son:

HEADER1 Cabecera general del informe.

HEADER2 Cabecera de página.

HEADER3 Cabecera de sección.

TRAILER1 Pie final del informe

TRAILER2 Pie de página.

TRAILER3 Pie de sección.

[…]

Comprobar si un fichero está vacío con un Sort

En un Sort es posible forzar un código de retorno determinado (0, 4 u 8) si el SORTOUT (fichero de salida) no tiene registros. Se hace mediante la opción NULLOUT = RCn, donde n puede tomar el valor 0, 4 u 8 (el valor por defecto es 0). Gracias a esta utilidad podemos construir un […]

Controlar la existencia de un fichero en un JCL

La existencia de un fichero se puede controlar mediante el comando LISTCAT de la utilidad IDCAMS. Esta devolverá código de retorno 4 si el fichero que se le pasa como parámetro no existe en el catálogo.

Ejemplo:

Tenemos un JOB que recibe un fichero de entrada. En caso de que dicho fichero […]

Conversión de fichero de longitud variable a fija y viceversa

La conversión de un fichero de longitud variable a fija y viceversa en un Sort se hace mediante las opciones VTOF y FTOV del parámetro OUTFIL del Sort.

Recordemos que el parámetro OUTFIL permite generar de 1 a n ficheros de salida. Cada uno de estos puede ser construido de forma independiente mediante […]

Introducción al parámetro DISP de la DD de los JCL

DISP es un parámetro de la instrucción DD (Data Definition) de los JCL. Sirve para indicarle al sistema el estado actual de un fichero y las acciones a realizar sobre el mismo si el paso termina correctamente y en caso de terminación anormal (abend). Su formato es:

DISP=(Estado, Acción normal, Acción anormal).

Valores […]

Descarga de una tabla con DSNTIAUL

La utilidad DB2 DSNTIAUL permite realizar una descarga de tabla a fichero fácilmente. Tiene menos restricciones de seguridad que la utilidad UNLOAD, por lo que es ideal para hacer descargas en entornos DB2 de prueba.

En su forma más sencilla se ejecutaría con un JCL como el siguiente:

//DESCARGA EXEC PGM=IKJEFT01,DYNAMNBR=20 //STEPLIB DD […]