Desarrollando en Cobol y Natural sobre Plataforma Mainframe

jueves, 17 de julio de 2014

Utilidad DFSORT para JCL (y 2)

Hace unas semanas comenzamos a ver la forma en que había que implementar la invocación a la utilidad DFSORT para ejecutar su función SORT asociada (ver post Utilidad DFSORT para JCL - 1). Hoy trataremos de completar el estudio iniciado en aquel post.



Recordemos que estuvimos viendo parte de las Cards que había que especificar en el paso DFSORT: SYSOUT, SORTIN, SORTOUT y SORTWK01. A continuación, terminaremos de enumerar las declaraciones necesarias para el funcionamiento del SORT.

5º) Card SYSIN: Son las sentencias de control que se enviarán en la entrada para el programa. Bajo esta sentencia tendremos que indicar la función que debe ser implementada por la utilidad, cosa que se conseguirá incluyendo el comando correspondiente: por ejemplo, SORT para ordenar, COPY para copiar o MERGE para unir.

//SYSIN DD *    

6º) Comando SORT: Con este comando le estamos indicando al programa DFSORT que realice la ordenación de los registros del fichero secuencial de entrada y deposite el resultado ordenado en el fichero de salida.

  SORT FIELDS=(1,7,CH,A)    

El comando SORT va acompañado de 4 parámetros incluidos en la cláusula FIELDS.

- Parámetro 1: La ordenación se realizará en función del campo clave que comienza en la posición del registro indicada en este parámetro.

- Parámetro 2: Aquí indicamos la longitud del campo clave que se empleará para realizar la ordenación. Recordemos que dicho campo comenzaba en la posición del registro indicada en el parámetro 1.

- Parámetro 3: Especifica el tipo de dato (formato) del campo clave seleccionado.

- Parámetro 4: Indica si la ordenación debe ser ascendente (A) o descendente (D).

En nuestro ejemplo, la ordenación del fichero JJ00.FACTURAS.UNSORTED.DATA se realizará de forma ascendente (A) y analizando el contenido, en formato carácter (CH), del campo que comienza en la posicion 1 y acaba en la posición 7 (longitud 7).

Una vez provisionadas todas las cards indicadas, podremos submitir el JCL que incluya este proceso de ordenación. Si seguimos las instrucciones al pie de la letra, el job no debería darnos ningún error. En nuestro ejemplo, el lanzamiento del JCL acabó con la generación del nuevo fichero JJ00.FACTURAS.SORTED.DATA, donde aparecieron los mismos registros que en el fichero original, pero ordenados en función del campo incluido entre las posiciones 1 y 7.

Comentar que esta función de ordenación mediante el programa DFSORT (o ICEMAN) es muy utilizada en la mayoría de las instalaciones actuales. Es practicamente imposible encontrar, hoy en día, una aplicación cuyos JCL no utilicen comandos SORTS para realizar la ordenación de sus ficheros secuenciales de datos.

Pues nada, eso es todo lo que queríamos comentaros sobre la utilidad DFSORT y, en particular, sobre su comando SORT. Ya sabéis que podéis preguntarnos cualquier duda que os surja al respecto.

Saludos.

2 comentarios:

  1. Cual es la diferencia de dfsort y sort

    ResponderEliminar
  2. Hola, Aly,
    Te comento.

    Por un lado, DFSORT hace referencia a la herramienta (el producto) de IBM que sirve para realizar operaciones de sort, merge y copy (entre otras adicionales). Otras empresas también tienen productos similares.

    Por otro lado, SORT hace referencia al comando que hay que ejecutar para realizar la función de ordenación. A veces, SORT también se utiliza para referirnos de forma genérica a las herramientas de ordenación (sin especificar el DFSORT de IBM, el SYNCSORT de Syncsort o el producto de cualquier otra empresa).

    Por cierto, comentar que DFSORT incluye también las utilidades ICEGENER, ICETOOL y OUTFIL.

    Espero que con lo comentado haya quedado clara la diferencia entre un concepto y otro. Si no es así, dímelo e intentaré explicarlo de otra forma.

    Saludos.

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...