En este módulo, profundizaremos en la programación avanzada de trabajos en CL (Control Language). Aprenderás a gestionar trabajos de manera eficiente, programar trabajos recurrentes y utilizar comandos avanzados para optimizar la ejecución de tareas en tu sistema.
Contenidos
Introducción a la Programación de Trabajos
La programación de trabajos en CL permite automatizar tareas y gestionar la ejecución de procesos en el sistema. Los trabajos pueden ser programados para ejecutarse en momentos específicos, en respuesta a eventos o de manera recurrente.
Conceptos Clave
- Trabajo (Job): Una unidad de trabajo que el sistema puede ejecutar.
- Cola de Trabajos (Job Queue): Una lista de trabajos que esperan ser ejecutados.
- Planificador de Trabajos (Job Scheduler): Un componente del sistema que gestiona la ejecución de trabajos.
Comandos Avanzados para la Gestión de Trabajos
Comando SBMJOB
El comando SBMJOB
(Submit Job) se utiliza para enviar un trabajo a una cola de trabajos. Este comando tiene varias opciones avanzadas que permiten una gestión detallada de los trabajos.
CMD
: El comando que se ejecutará en el trabajo.JOB
: El nombre del trabajo.JOBQ
: La cola de trabajos a la que se enviará el trabajo.JOBD
: La descripción del trabajo que define las características del trabajo.
Comando WRKJOB
El comando WRKJOB
(Work with Job) permite trabajar con un trabajo específico, proporcionando información detallada y opciones de gestión.
Comando CHGJOB
El comando CHGJOB
(Change Job) se utiliza para cambiar las características de un trabajo en ejecución.
RUNPTY
: La prioridad de ejecución del trabajo.
Programación de Trabajos Recurrentes
Para programar trabajos recurrentes, se puede utilizar el comando ADDJOBSCDE
(Add Job Schedule Entry), que permite definir trabajos que se ejecutan en intervalos regulares.
FRQ
: La frecuencia con la que se ejecutará el trabajo (*DAILY
,*WEEKLY
,*MONTHLY
).SCDDATE
: La fecha de programación del trabajo.SCDTIME
: La hora de programación del trabajo.
Ejemplo de Trabajo Recurrente
Programar un trabajo que se ejecute todos los lunes a las 12:00 PM:
ADDJOBSCDE JOB(MITRABAJO) CMD(CALL PGM(MIPROGRAMA)) FRQ(*WEEKLY) SCDDATE(*NONE) SCDDAY(*MON) SCDTIME(120000)
Optimización de la Ejecución de Trabajos
Priorización de Trabajos
Utiliza el comando CHGJOB
para ajustar la prioridad de los trabajos y asegurar que los trabajos críticos se ejecuten primero.
Monitoreo de Trabajos
El comando WRKACTJOB
(Work with Active Jobs) permite monitorear los trabajos en ejecución y ajustar sus características en tiempo real.
Ejemplo de Optimización
Ajustar la prioridad de un trabajo en ejecución para que tenga mayor prioridad:
Ejercicios Prácticos
Ejercicio 1: Programar un Trabajo
- Escribe un programa CL simple que muestre un mensaje.
- Utiliza el comando
SBMJOB
para enviar el programa a una cola de trabajos. - Verifica que el trabajo se ha enviado correctamente utilizando
WRKJOB
.
Ejercicio 2: Programar un Trabajo Recurrente
- Escribe un programa CL que realice una tarea específica (por ejemplo, crear un archivo).
- Utiliza el comando
ADDJOBSCDE
para programar el trabajo para que se ejecute diariamente a las 8:00 AM. - Verifica la programación del trabajo utilizando
WRKJOBSCDE
.
Soluciones
Solución Ejercicio 1
-
Programa CL simple:
PGM DCL VAR(&MSG) TYPE(*CHAR) LEN(50) VALUE('Hola, este es un trabajo programado.') SNDPGMMSG MSG(&MSG) ENDPGM
-
Enviar el programa a una cola de trabajos:
SBMJOB CMD(CALL PGM(MIPROGRAMA)) JOB(MITRABAJO) JOBQ(QBATCH)
-
Verificar el trabajo:
WRKJOB JOB(MITRABAJO)
Solución Ejercicio 2
-
Programa CL para crear un archivo:
PGM CRTPF FILE(MILIB/MIFICHERO) RCDLEN(100) ENDPGM
-
Programar el trabajo para que se ejecute diariamente:
ADDJOBSCDE JOB(MITRABAJO) CMD(CALL PGM(MIPROGRAMA)) FRQ(*DAILY) SCDTIME(080000)
-
Verificar la programación del trabajo:
WRKJOBSCDE
Conclusión
En este módulo, hemos explorado la programación avanzada de trabajos en CL. Aprendiste a utilizar comandos avanzados para gestionar trabajos, programar trabajos recurrentes y optimizar la ejecución de tareas en tu sistema. Estos conocimientos te permitirán automatizar y gestionar eficientemente los procesos en tu entorno de trabajo.
En el próximo módulo, profundizaremos en los comandos de configuración del sistema, donde aprenderás a ajustar y optimizar la configuración de tu sistema para mejorar su rendimiento y seguridad.
Curso de CL (Lenguaje de Control)
Módulo 1: Introducción a CL
- ¿Qué es el Lenguaje de Control?
- Configuración de tu Entorno
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa CL
Módulo 2: Comandos Básicos de CL
- Introducción a los Comandos de CL
- Comandos de Gestión de Archivos
- Comandos de Gestión de Trabajos
- Comandos de Gestión del Sistema
Módulo 3: Variables y Expresiones
- Entendiendo las Variables
- Definiendo y Usando Variables
- Expresiones y Operadores
- Manipulación de Cadenas
Módulo 4: Estructuras de Control
Módulo 5: Comandos Avanzados de CL
- Operaciones Avanzadas de Archivos
- Programación Avanzada de Trabajos
- Comandos de Configuración del Sistema
- Seguridad y Permisos