En este tema, aprenderemos sobre los conjuntos de datos temporales en JCL, su propósito, cómo definirlos y cómo utilizarlos en tus trabajos JCL. Los conjuntos de datos temporales son útiles cuando necesitas almacenar datos de manera temporal durante la ejecución de un trabajo y no necesitas conservar esos datos después de que el trabajo haya terminado.
¿Qué es un Conjunto de Datos Temporal?
Un conjunto de datos temporal es un tipo de conjunto de datos que se crea y utiliza durante la ejecución de un trabajo JCL y se elimina automáticamente al finalizar el trabajo. Estos conjuntos de datos son útiles para almacenar datos intermedios que no necesitan ser conservados después de la ejecución del trabajo.
Características de los Conjuntos de Datos Temporales:
- Vida Útil Limitada: Se eliminan automáticamente al finalizar el trabajo.
- Identificación: Se identifican mediante un nombre especial que comienza con dos signos de ampersand (
&&
). - Uso Común: Almacenar datos intermedios, resultados temporales, etc.
Definiendo Conjuntos de Datos Temporales
Para definir un conjunto de datos temporal en JCL, utilizamos la declaración DD
con un nombre que comienza con &&
. A continuación, se muestra la sintaxis básica:
Parámetros Clave:
- DDNAME: Nombre del descriptor de datos.
- DSN: Nombre del conjunto de datos. Para conjuntos de datos temporales, debe comenzar con
&&
. - DISP: Parámetro de disposición. Para conjuntos de datos temporales, se suele usar
(NEW,PASS)
.
Ejemplo Práctico
A continuación, se muestra un ejemplo de cómo definir y utilizar un conjunto de datos temporal en un trabajo JCL:
//JOBNAME JOB (ACCT),'PROGRAMMER',CLASS=A,MSGCLASS=X //STEP1 EXEC PGM=PROG1 //TEMPDS DD DSN=&&TEMPDS,DISP=(NEW,PASS), // SPACE=(CYL,(1,1)),UNIT=SYSDA //OUTDS DD DSN=OUTPUT.DATASET,DISP=(NEW,CATLG), // SPACE=(CYL,(1,1)),UNIT=SYSDA //STEP2 EXEC PGM=PROG2 //INDATA DD DSN=&&TEMPDS,DISP=(OLD,DELETE) //OUTDATA DD DSN=OUTPUT.DATASET,DISP=(OLD,DELETE)
Explicación del Ejemplo:
-
STEP1:
- TEMPDS: Define un conjunto de datos temporal
&&TEMPDS
con disposición(NEW,PASS)
, lo que significa que se crea nuevo y se pasa al siguiente paso. - OUTDS: Define un conjunto de datos de salida
OUTPUT.DATASET
con disposición(NEW,CATLG)
, lo que significa que se crea nuevo y se cataloga al finalizar el trabajo.
- TEMPDS: Define un conjunto de datos temporal
-
STEP2:
- INDATA: Utiliza el conjunto de datos temporal
&&TEMPDS
con disposición(OLD,DELETE)
, lo que significa que se utiliza el conjunto de datos existente y se elimina al finalizar el trabajo. - OUTDATA: Utiliza el conjunto de datos de salida
OUTPUT.DATASET
con disposición(OLD,DELETE)
, lo que significa que se utiliza el conjunto de datos existente y se elimina al finalizar el trabajo.
- INDATA: Utiliza el conjunto de datos temporal
Ejercicio Práctico
Ejercicio:
Escribe un trabajo JCL que:
- Cree un conjunto de datos temporal para almacenar datos intermedios.
- Utilice ese conjunto de datos temporal en un segundo paso para generar un conjunto de datos de salida.
Solución:
//MYJOB JOB (ACCT),'PROGRAMMER',CLASS=A,MSGCLASS=X //STEP1 EXEC PGM=PROG1 //TEMPDS DD DSN=&&TEMPDS,DISP=(NEW,PASS), // SPACE=(CYL,(1,1)),UNIT=SYSDA //STEP2 EXEC PGM=PROG2 //INDATA DD DSN=&&TEMPDS,DISP=(OLD,DELETE) //OUTDATA DD DSN=FINAL.OUTPUT,DISP=(NEW,CATLG), // SPACE=(CYL,(1,1)),UNIT=SYSDA
Explicación de la Solución:
- STEP1: Crea un conjunto de datos temporal
&&TEMPDS
con disposición(NEW,PASS)
. - STEP2: Utiliza el conjunto de datos temporal
&&TEMPDS
con disposición(OLD,DELETE)
y genera un conjunto de datos de salidaFINAL.OUTPUT
con disposición(NEW,CATLG)
.
Conclusión
En esta sección, hemos aprendido sobre los conjuntos de datos temporales en JCL, cómo definirlos y utilizarlos en tus trabajos. Los conjuntos de datos temporales son una herramienta poderosa para manejar datos intermedios de manera eficiente y segura. En el próximo tema, exploraremos cómo referenciar conjuntos de datos en JCL.
Curso de JCL (Lenguaje de Control de Trabajos)
Módulo 1: Introducción a JCL
- ¿Qué es JCL?
- Estructura Básica de un Trabajo JCL
- Visión General de las Declaraciones JCL
- Ejecutando Tu Primer Trabajo JCL
Módulo 2: Declaraciones y Sintaxis de JCL
Módulo 3: Declaraciones de Definición de Datos (DD)
- Definiendo Conjuntos de Datos
- Conjuntos de Datos Temporales
- Referenciando Conjuntos de Datos
- Parámetro de Disposición
Módulo 4: Procedimientos y Parámetros Simbólicos
- Introducción a los Procedimientos
- Creando y Usando Procedimientos
- Parámetros Simbólicos
- Sobrescribiendo Parámetros
Módulo 5: Conceptos Avanzados de JCL
- Procesamiento Condicional
- Declaraciones JCLLIB e INCLUDE
- Grupos de Datos de Generación (GDGs)
- Reinicio y Punto de Control
Módulo 6: Manejo de Errores y Depuración
- Errores Comunes de JCL
- Interpretando Mensajes de Error de JCL
- Técnicas de Depuración
- Usando JES2/JES3 para Solución de Problemas
Módulo 7: Rendimiento y Optimización
- Optimizando Trabajos JCL
- Uso Eficiente de Conjuntos de Datos
- Procesamiento Paralelo
- Mejores Prácticas