Las utilerías JCL (Job Control Language) son herramientas indispensables en el entorno mainframe. Funcionan de manera similar a las funciones en lenguajes de programación como Java o Python. Estas utilerías permiten definir las entradas y los resultados esperados sin necesidad de detallarlas paso a paso, maximizando la eficiencia de los procesos. En esta sesión, exploraremos las utilerías más utilizadas y su interacción con los JCLs, comenzando con la codificación de IFBR catorce (IEFBR14), una utilería fundamental para la gestión de archivos.
¿Cómo se codifica la utilería IFBR14?
La utilería IFBR14 es esencial para crear o eliminar un archivo en el sistema mainframe. Se utiliza para generar la estructura básica de un archivo nuevo o eliminar uno existente. A continuación, te guiaré en la codificación de esta utilería en tu entorno de desarrollo.
// Nombre del job previamente definido
//PASO01 EXEC PGM=IEFBR14
//BETAM DD DSN='ERC01.TEST.ARC',
// DISP=(,CATLG,DELETE),
// SPACE=(TRK,0),
// UNIT=3350
Definición del paso: El paso se nombra PASO01, que emplea la utilería IEFBR14.
Definición del archivo: Se indica el nombre del archivo con BETAM DD DSN='ERC01.TEST.ARC'. Si el archivo no existe, se crea; si existe, se borra.
Espacio y Unidad: Se define el tamaño del archivo con SPACE=(TRK,0) y especifica el disco virtual con UNIT=3350.
Disposición (DISP): Con DISP=(,CATLG,DELETE), determinamos que si el JCL termina con éxito, el archivo se genera o cataloga, y si falla, se elimina.
¿Qué sucede si hay errores en la codificación?
Si falta o hay errores en la codificación, el sistema lo resaltará en color rosa, indicando que se necesita una corrección. Es importante prestar atención a los detalles y los parámetros para asegurar que el sistema procese el JCL correctamente.
Consejos prácticos para trabajar con utilerías JCL
Revisar siempre la sintaxis: Los errores sintácticos son comunes, así que presta atención a los detalles, como comas y paréntesis.
Entender los parámetros: Conocer lo que representan los subparámetros, como MOD y DELETE, facilitará la manipulación de archivos.
Utilizar comentarios: Añadir comentarios claros puede hacer que tu JCL sea más comprensible para otros programadores o para ti mismo en el futuro.
¡Espero que esta información te sea de utilidad! Continúa explorando y dominando las utilerías JCL, que son herramientas poderosas en el entorno mainframe. Próximamente, veremos cómo codificar la siguiente utilería IEV Jenner, ¡te veo en la próxima clase!
Utilerias = funciones
IEFBR14 sirve para eliminar un archivo existente o crear un eskeleto para tal archivo.
SPACE tiene 2 sub parametros: (tipo de alojamiento , tamaño de archivo)
DISP (Disposition) tiene 3 parametros: (Se deja en 0 para dar a entender que es un archivo nuevo , MOD para que el JES cree el archivo , DELETE para que se borre el archivo si concluyo en error.
UNIT se refiere al espacio de memoria en el disco donde se almacena el archivo .
RESALTADO EN ROSA: esto se da cuendo hay un error de sintaxis y hay que repasar el codigo
Si, así es René, genial aporte 😊
Gracias!
Vendría bien que hicierais algún tipo de glosario o apuntes de consulta, porque los míos son una locura...
Este código es un ejemplo de un archivo JCL (Job Control Language) utilizado en sistemas mainframe. El JCL se utiliza para definir y controlar trabajos (jobs) en un entorno mainframe. En este caso, el código JCL muestra la definición de un trabajo que involucra la ejecución de un programa llamado IEFBR14 y la manipulación de un conjunto de datos.
//PASO01 EXEC PGM=IEFBR14
Esta línea define el primer paso del trabajo (STEP). En este caso, el paso se llama "PASO01" y ejecuta un programa llamado "IEFBR14". IEFBR14 es un programa vacío que no realiza ninguna operación útil, pero en este contexto se utiliza para crear una estructura en el JCL que permite manipular conjuntos de datos.
//VTAMOBJ DD DSN='HERC01.TEST.ARC',
Esta línea define un conjunto de datos llamado "VTAMOBJ".
El conjunto de datos se identifica con un nombre DSN (Data Set Name) que es 'HERC01.TEST.ARC'.
Este conjunto de datos es donde se realizan las operaciones.
SPACE=(TRK,(0)),
Esta parte de la línea especifica el espacio asignado para el conjunto de datos.
En este caso, se le asigna un espacio de 0 pistas (tracks) en una unidad de disco (UNIT=3350).
Esto básicamente indica que el conjunto de datos se crea vacío, sin ocupar espacio inicialmente.
UNIT=3350,
Indica la unidad de disco utilizada para almacenar el conjunto de datos. El 3350 se refiere a un tipo específico de unidad de disco en sistemas mainframe.
DISP=(MOD,DELETE)
Esta parte de la línea especifica cómo se debe gestionar el conjunto de datos después de que se complete el trabajo. "MOD" significa "modificar", lo que indica que el conjunto de datos se modificará (o creará si no existe).
"DELETE" indica que después de que el trabajo se complete, el conjunto de datos se eliminará.
Este código JCL define un trabajo que ejecutará el programa IEFBR14 y creará un conjunto de datos llamado "VTAMOBJ".
El conjunto de datos se crea inicialmente vacío y se especifica que se debe eliminar después de que se complete el trabajo.
Esta estructura de JCL es un ejemplo simple que se utiliza a menudo en sistemas mainframe para tareas administrativas y de gestión de recursos.
Que genial lo del resaltado en rosa con esto podemos tener así sea una pequeña ayuda de si tenemos algo mal en nuestro código o identacion. :)
Como se elimina 'todo lo que esta adelante'?
Min 4:55
En mac no logre montar el emulador por lo que solo tomo apuntes y apezar de que entendi la importancia de JCL, no logro entender el por que de algunas palabras reservadas en el tutorial
¿Sabes por qué?
Tienes el nombre que definiste? Me refiero al nombre del componente.
Esto sucede cuando excedes los 8 caracteres o colocas un digito que no es permitido.
Coloca como definiste este programa, y así podremos saber con exactitud que esta ocurriendo.