SYMNAMES: Nombres simbólicos en un Sort

En este artículo vamos a introducir el uso de nombres simbólicos (SYMNAMES) en un SORT para hacer referencia a campos y constantes. Se trata de una facilidad que hace más legibles los Sort y facilita su mantenimiento.

Por ejemplo, supongamos que tenemos un fichero con la siguiente estructura:

Campo Pos. Inicio Longitud Formato […]

Uso de variables en un JCL

Para definir una variable en un JCL y asignarle valor se utiliza el comando SET:

// SET PROGRAMA=CARGACLI // SET FICHENT=FF.CLIENTES.ENT // SET FICHSAL=FF.CLIENTES.SAL // SET NUEVO=’DISP=(NEW,CATLG,DELETE)’

Las variables así definidas se pueden usar en cualquiera de los siguientes pasos del JCL añadiendo un ‘&’ a su nombre:

//CLIENTES EXEC PGM=&PROGRAMA //SYSOUT DD SYSOUT=* //ENTRADA […]

Comprobar si un fichero está vacío con ICETOOL

Al diseñar un JCL, muchas veces interesa que ciertos pasos no se ejecuten si un determinado fichero está vacío, algo que podemos comprobar fácilmente mediante el operador COUNT de ICETOOL:

//—————————– //PASO1 EXEC PGM=ICETOOL //IN DD DSN=FICHERO,DISP=SHR //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //TOOLIN DD DATA COUNT FROM(IN) EMPTY /* //—————————– //INICOND IF PASO1.RC=0 […]

Condicionar pasos de un JCL: parámetro COND

En este artículo vamos a examinar la forma “clásica” de condicionar la ejecución de un paso de JCL: el parámetro COND.

Al incluir COND en un paso, podemos comprobar el código de retorno de uno o varios pasos anteriores mediante expresiones relacionales. Si alguna de las expresiones es verdadera, entonces el […]

Condicionar pasos de un JCL: estructura IF/THEN/ELSE/ENDIF

Para condicionar la ejecución de un paso de un JCL al resultado de los pasos anteriores tenemos dos opciones:

La estructura IF/THEN/ELSE/ENDIF El parámetro COND

En este artículo vamos a analizar la primera de ellas, que es la más sencilla y la recomendada por IBM en su manual oficial. Su sintaxis es la siguiente:

//IF […]

Cruce de ficheros con Joinkeys avanzado

En un artículo anterior vimos un ejemplo de Joinkeys en su forma más básica. A continuación vamos a introducir el resto de posibilidades que ofrece esta aplicación que se ejecuta dentro de la utilidad sort del mainframe (tanto DFSORT como su clon Syncsort)

JNF1CNTL Y JNF2CNTL: DD para incluir sentencias de […]

Cruce de ficheros con Joinkeys básico

El cruce de ficheros en un JCL se realiza mediante la utilidad Joinkeys, que se ejecuta a través de DFSORT. Está disponible en z/OS desde 2009. Hasta entonces solo era posible enfrentar ficheros mediante el operador Splice de Icetool.

Veamos un ejemplo muy sencillo de Joinkeys para cruzar dos ficheros y generar un fichero de […]

Cruce de ficheros con ICETOOL (Splice)

Si queremos montar un JCL que cruce ficheros mediante SORT, sin utilizar un programa adicional, tenemos varios opciones. Una de ellas es emplear el operador SPLICE del ICETOOL, disponible desde la actualización de DFSORT de 2003.

Veamos un ejemplo extraído del manual Smart DFSORT Tricks de IBM.

Tenemos dos ficheros con dos listas de nombres:

[…]