El JCL, o lenguaje de control de trabajos, es fundamental para programar en entornos mainframe. En este contexto, aprenderás cómo ejecutar un programa con la ayuda de un JCL que has generado previamente. Para esto, debes iniciar la ventana de comandos y teclear top para desplazarte al inicio del JCL. Es importante conocer las partes esenciales de una sentencia JOB, que incluyen parámetros cruciales como la memoria a utilizar y el tiempo máximo del JOB.
¿Qué se incluye en un JCL?
A lo largo del JCL, verás varios pasos importantes que desglosamos a continuación:
Sentencia JOB: Inicia siempre con esta sentencia, que define la memoria utilizable y otros parámetros.
Paso de compilación: Hace referencia al procedimiento o programa cargado durante la configuración del entorno:
//NombreJob JOB ...,
// PGM=nombre_del_programa
Utilería IFBR14: Configuración para manejar archivos, posibilitando borrar y generar nuevos:
IFBR14, ..., DELETE FILE
Utilería IEBGENER: Condicionalmente, respalda archivos según el resultado de pasos anteriores:
//Uso de condicional: IF STEP02 LE 9 THEN
¿Cómo se agregan datos a un archivo de entrada?
Se realiza accediendo a los archivos generados, usualmente en modo de edición. Aquí se ingresan datos como el nombre del estudiante, el promedio, y un indicador que determina si recibe una beca:
Indicador beca: '1' para becado, '0' para no becado.
Monto beca: Completa los nueve dígitos de este campo si es becado.
Después de submitir (su) el JCL, podrás revisar su ejecución en el spool. En caso de error durante la ejecución, es útil revisar la consola de visualización de trabajos (st repo) para identificar problemas, como espacios incorrectos en las sentencias.
Errores comunes:
Espacios incorrectos: Entre definiciones de datos y parámetros, afectan la carga del JCL.
Archivos de entrada vacíos: Asegúrate de manejar excepciones correctamente para evitar fallos críticos.
¿Cómo verificar la salida de la ejecución?
La salida y correcto funcionamiento de tu JCL se confirma en el reporte generado, donde se verifica la información:
Totales leídos e impresos: Del número de alumnos procesados.
Suma total de becas: Sólo suma para aquellos indicados como becados.
Utiliza esta información para constatar si tu JCL está procesando los archivos correctamente. Ejecutar el JCL con un archivo vacío es una práctica robusta para comprobar que no lanzará errores inesperados al encontrar datos inexistentes, los cuales deben estar gestionados adecuadamente.
¿Qué se debe considerar al modificar un JCL existente?
Es común que necesites ajustar nombres de archivos o condiciones entre ejecuciones. Asegúrate de modificar correctamente los nombres y condiciones en todos los pasos:
Actualizaciones en archivos: Modifica tanto la entrada como la salida referenciada en diferentes pasos.
Condiciones adecuadas: Al trabajar con diferentes archivos, mantén la lógica condicional consistente.
Con estas técnicas y ejemplos, seguirás ampliando tus habilidades en el uso de JCL en mainframes, abriendo un universo de posibilidades en programación. Te animo a seguir explorando el mundo de los mainframes, donde cada sesión es una oportunidad para fortalecer tus conocimientos y habilidades. ¡A por más!
Para eliminar un espacio en blanco en Excel, se debe seleccionar la tabla, presionar la tecla F5, ir a Especial, seleccionar las celdas en blanco, hacer clic derecho y elegir la opción Eliminar. Luego, se puede desplazar las celdas hacia arriba para organizar la base de datos.
estoy en las mismas, segun recuerdo del curso pasado, el profe dio un comando pero no es como lo hace ahora que pareciera que presionase una tecla o macro, yo en lo particular estoy cortando y pegando la linea desplazando los espacios que sobran
Hola, excelente curso. Tengo una duda:
¿Cómo podemos realizar automatizaciones?
Como estas?
Automatizaciones? te refieres a usar un calendarizador para ejecutar los JCL de manera programada?
Existen schedulers como CA7, CONTROL-M, entre otros, sin embargo, al ser programas propietarios, no tienen licencia abierta, aunque sería algo muy bueno como reto generar un calendarizador, (pero si te soy sincero, el que logre hacerlo, ya es una persona con muchisimos conocimientos)
Saludos, dejame saber si te ayudo mi respuesta.
tengo un problema me sale este pero no entiendo donde es xD
Cuando se está trabajando con la versiío Hyperion de Hercules, la UNIT es 3390. De esa manera funciona el proyecto.
Como varios de los que han comentado y, muy seguramente, varios que no quisieron comentar, es muy probable que te encuentres con errores de sintaxis al momento de ejecutar el job al final. En mi caso particular tuve tanto errores en el código de Cobol como en el mismo JCL, facil perdi como 6 horas en arreglar esto jeje.
Primero les puedo decir que los códigos en los archivos de clase si están bien (por si tienen dudas), solo que el JCLPGMU tiene algunas cosas cambiadas en los comentarios comparado con lo visto en los videos.
Por otra parte si están muy desesperados recomiendo ampliamente comparar los codigos del profe con programas que cumplan ese fin como Beyond Compare o el mismo chatgpt, ya que en ocasiones los códigos de error no son para nada claros, si quieren hacerlo de forma manual para practicar el ojo como uno, pueden abrir su código y el de muestra en doble ventana .
Un ultimo detalle, si quieren copiar un código externo a la consola simulada tomen en cuenta que máximo pueden copiar 3 lineas (o al menos ese fue mi caso). y puede que aparezcan lineas en blanco que tendrán que borrar. La verdad es mas rápido simplemente pasar el archivo de texto a la carpeta como nos enseña en el curso.
Mucha suerte a los que sigan buscando su error y que compilen todo con exito
NO LLENA AUTOMATICAMENTE EL NUMERO DE REGISTRO DEL CUAL SE TRATA (MINUTO 6:06)