PerroCobolero

PerroCobolero

ADS

sábado, 8 de septiembre de 2018

JOINKEY - JCL



La orden Joinkey es de las ordenes más potentes y útiles en la creación de código JCL, puesto que es la base en la que se basa cualquier cruce o comparación de registros de dos ficheros.

Lo que hace básicamente esta orden es comparar los dos ficheros que recibe por la clave que se especifica y crear ficheros de salida con:

1) Registros que solo estén en el fichero 1

2) Registros que solo estén en el fichero 2

3) Registros que estén en ambos ficheros.

4) Combinaciones de los puntos anteriores.



Partes Joinkeys (1)

SORTJNK1 y SORTJNF2: Primer y segundo fichero de entrada, respectivamente. De ahora en adelante los llamaremos F1 y F2.


JOINKEYS: Describe cuales son los campos por los que se va a realizar el MATCHING.

Se pueden especificar varios campos en él. El campo puede estar ordenado en orden ascendente A o descendente D.

La opción SORTED indica que el fichero de entrada ya está ordenado por la clave. A pesar de todo, se verifica si el fichero esta ordenado devolviendo un error si no lo está, a no ser que se especifique NOSEQCK que indica que no se verifique el orden del fichero.



JOIN:

Sentencia JOIN
Explicación
Si no se indica JOIN
INNER JOIN (Registros que están en ambos ficheros)
JOIN UNPAIRED,F1
LEFT OUTER JOIN (Registros que están en ambos , y que solo están en F1).
JOIN UNPAIRED,F2
RIGHT OUTER JOIN (Registros que están en ambos , y que solo están en F2).
JOIN UNPAIRED
FULL OUTER JOIN (Registros que están en ambos ,que solo están en F1 y que solo están en F2).
 JOIN UNPAIRED,F1,F2
FULL OUTER JOIN (Registros que están en ambos ,que solo están en F1 y que solo están en F2).
JOIN UNPAIRED,F1,ONLY
Solo registros de F1 no emparejados
JOIN UNPAIRED,F2,ONLY
Solo registros de F2 no emparejados
JOIN UNPAIRED,ONLY
Registros de F1 y F2 no emparejados
JOIN UNPAIRED,F1,F2,ONLY
Registros de F1 y F2 no emparejados



Partes Joinkeys (2)

REFORMAT: Indica que posiciones se van a incluir en el fichero de salida.

La ultima posición ( ? ) se substituirá en la última posición con :

1 si el registro solo tiene información de F1.

2 si el registro solo tiene información de F2.

B si el registro tiene información de F1 y F2.



SORTOUT: Cuando se realiza el JOIN, se genera el fichero SORTOUT.

A partir del mismo y con la sentencia OUTFIL se pueden crear diferentes ficheros de salida según las especificaciones anteriores.

En el ejemplo que veremos se crean 3. Con la opción BUILD se indica las posiciones a tomar en el fichero SORTOUT.

Todas las herramientas anteriormente pueden ser combinadas dentro de un paso de Joinkey, para enriquecer el código y alcanzar la solución que buscamos



EJEMPLO





Fichero_entrada1





Fichero_entrada2



Fichero_intermedio



F1ONLY



F2ONLY



BOTH




3 comentarios:

  1. Que tal tengo una duda por que en los ejemplos el Fichero_entrada1 y el Fichero_entrada2 desde el encabezado tienen el mismo contenido ? no me quedó claro.

    ResponderBorrar
  2. Obviamente es un error. El contenido del fichero 2 es F2ONLY + BOTH

    ResponderBorrar