Declaración de unión en JCL

Requisito previo: lenguaje de control de trabajos (JCL)
En RDBMS, la cláusula SQL JOIN se usa para unir tablas y realizar varias operaciones en ellas. Para realizar operaciones sobre registros en diferentes archivos planos se utilizan JOINKEYS. Con la ayuda de JOINKEYS en SORT JCL, se pueden ejecutar varias operaciones de combinación en registros coincidentes y no coincidentes en función de campos o claves coincidentes. La unión se puede realizar de varias maneras, como unión interna, unión externa completa, unión externa izquierda, unión externa derecha y combinaciones no emparejadas.

La operación de combinación está controlada por tres declaraciones de control importantes JOINKEYS, JOIN y REFORMAT. SORTJNF1 y SORTJNF2 son las declaraciones DD utilizadas para especificar los archivos que se utilizarán para realizar la operación de combinación.

Declaraciones de control:

  1. JOINKEYS FILES=F1, FIELDS=(1, 10, A) – Especifica los criterios de unión del archivo1.
  2. JOINKEYS FILES=F2, FIELDS=(1, 10, A) – Especifica el criterio de unión del archivo2.
  3. CAMPOS DE REFORMATO=(F1:1, 71, F2:1, 9) – Los campos de REFORMATO le indican a la utilidad de clasificación, qué campos se escribirán en el archivo de salida desde los archivos de entrada especificando la posición inicial y final.

JCL SORT para unir dos archivos y escribir registros de ambos archivos:

  1. Registros coincidentes (unión interna):
    si la declaración de unión no se especifica en la tarjeta de clasificación, los registros emparejados de F1 y F2 se escriben en el archivo de salida.
    //SYSIN DD *
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            REFORMAT FIELDS=(F1:1, 71, F2:1, 9)
    /*
  2. Registros coincidentes y registros no coincidentes del archivo 1: ordene
    la tarjeta para conservar los registros no emparejados del archivo F1 junto con los registros emparejados. Este tipo de combinación se llama UNIÓN EXTERNA IZQUIERDA.
    //SYSIN DD *
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            JOIN UNPAIRED, F1
            REFORMAT FIELDS=(F1:1, 71, F2:1, 9)
    /*
  3. No coincidentes del archivo 1: ordene
    la tarjeta para retener los registros no emparejados del archivo F1, no puede usar el reformateo en F2.
    //SYSIN DD * 
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            JOIN UNPAIRED, F1, ONLY
            REFORMAT FIELDS=(F1:1, 71)
    /*
  4. Registros coincidentes y no coincidentes del archivo 2: ordene
    la tarjeta para conservar los registros no emparejados del archivo F2 junto con los registros emparejados. Este tipo de unión se denomina UNIÓN EXTERNA DERECHA.
    //SYSIN DD *
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            JOIN UNPAIRED, F2
            REFORMAT FIELDS=(F1:1, 71, F2:1, 9)
    /*
  5. No coincidentes del archivo 2: ordene
    la tarjeta para conservar los registros no emparejados del archivo F2, no puede usar el reformateo en F1.
    //SYSIN DD *
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            JOIN UNPAIRED, F2, ONLY
            REFORMAT FIELDS=(F2:1, 9)
    /*
  6. Registros coincidentes y registros no coincidentes de ambos archivos:
    ordene la tarjeta para conservar los registros no emparejados de los archivos F1 y F2 junto con los registros emparejados. Este tipo de unión se denomina FULL OUTER JOIN.
    //SYSIN DD *
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            JOIN UNPAIRED, F1, F2
            REFORMAT FIELDS=(F1:1, 71, F2:1, 9)
    /*
  7. Registros no coincidentes de ambos archivos:
    ordene la tarjeta para conservar solo los registros no emparejados de los archivos F1 y F2.
    //SYSIN DD *
            SORT FIELDS=COPY
            JOINKEYS FILES=F1, FIELDS=(1, 10, A)
            JOINKEYS FILES=F2, FIELDS=(1, 10, A)
            JOIN UNPAIRED, F1, F2, ONLY or JOIN UNPAIRED, ONLY
            REFORMAT FIELDS=(F1:1, 71, F2:1, 9)
    /*

Publicación traducida automáticamente

Artículo escrito por suchitra_m y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *