http://www.teknodatips.com.ar Teknoda - Notas técnicas – Tips de AS400 – iseries – System i Tip Nro. 37 (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) “Notas técnicas de AS/400" se envía con frecuencia variable y absolutamente sin cargo como un servicio a nuestros clientes AS/400. Contiene notas/recursos/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. Conteste este mail con asunto “REMOVER” si no desea recibir más esta publicación. Si desea suscribir otra dirección de e-mail para que comience a recibir los “Tips”, envíe un mensaje desde esa dirección a [email protected], aclarando nombre, empresa, cargo y pais del suscriptor. Cómo planificar trabajos batch con/sin Operations Navigator – P ar t e I Tema: Utilidad: Nivel: Versión: Administración. Alternativas para sometimiento de trabajos planificados, desde pantalla verde o desde Operations Navigator. Intermedio. Todas Lista de Tips publicados hasta la fecha: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Modificación de los parámetros por default que rigen en los comandos del OS/400 Restricción de comandos pesados a modalidad batch Cómo generar un entorno de prueba para año 2000 Cómo salvar y restaurar spool Cómo agregar pantallas de confirmación/validación para comandos delicados Defragmentación del espacio en disco no utilizado : STRDSKRGZ, ENDDSKRGZ Manipulación de bases de datos desde programas CL, a través de Query/400 Generación de spool AS/400 en formato PDF (Adobe Acrobat Reader) para almacenar en CD´s Cómo proteger columnas de un archivo físico o lógico Cómo cambiar la pantalla de signon Cómo automatizar transferencias de archivos con TCP/IP desde AS/400 Control de accesos sobre archivos de spool Aproveche lo que ya tiene: FILE SERVING con NETSERVER/400 EMULACION 5250 vía Internet con lo que ya tiene instalado Editor alternativo: Comando EDTF (Edit File) Auditoría sobre objetos en AS/400 Cómo personalizar los comandos del menú de petición del sistema Acceso a archivos multimiembros en un entorno cliente/servidor o SQL Cómo agregar opciones de usuario al producto PDM 1 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Auditoría sobre usuarios en AS/400 Cómo obtener línea de comandos en pantallas que no la tienen. Cómo enviar por e-mail objetos de QSYS.LIB Cómo transferir archivos de spool a la PC usando Operations Navigator Qué es el IFS y cómo accederlo Curiosidades de la programación CL – Parte I Cómo gestionar y controlar la seguridad a través del menú SECTOOLS – Parte I Vuelco de spool a archivos de base de datos en forma automática, usando COLAS DE DATOS Recursos y curiosidades de la programación CL - Parte II Cómo cargar datos a tablas DB2/400 desde otros entornos con el comando CPYFRMIMPF Cómo gestionar y controlar la seguridad a través del menú SECTOOLS – Parte II Acción automática ante crecimiento de la ocupación de disco Sometimiento de comandos remotos con SBMRMTCMD Novedades para el arranque de TCP/IP en V5R1 Cómo controlar la ocupación de disco: comandos RTVDSKINF y PRTDSKINF En la Web: Nuevo buscador de comandos CL Cómo automatizar respuestas a mensajes de consulta utilizando la lista de respuestas del sistema Introducción OS/400 dispone de distintas herramientas que permiten planificar en el tiempo el sometimiento de trabajos batch: los comandos pertenecientes al OS/400 SBMJOB y WRKJOBSCDE y el producto bajo licencia Job Scheduler/400. Cada una de estas facilidades poseen diferentes características y potencialidades. El presente tip, cubrirá todos los aspectos relacionados con el uso de los mandatos SBMJOB y WRKJOBSCDE. En próximos tips, se documentará el uso del programa bajo licencia Job Scheduler/400. Es importante aclarar, que la planificación de trabajos afecta solamente el sometimiento automático de jobs de tipo batch, NO la ejecución efectiva de los mismos. La ejecución, como siempre, será dependiente de las condiciones en las que se encuentre el sistema, (colas de trabajo liberadas, subsistemas arrancados, trabajos ya presentes en la cola de trabajos, máximo de activos entre otros). Opción 1: Diferida pero no repetida. El comando SBMJOB es utilizado para someter dentro de una cola de trabajos aquellas peticiones de ejecución de mandatos que deben correr en entornos batch. Entre sus parámetros adicionales, dos de ellos están relacionados con sometimientos planificados: Fecha planificada (palabra clave SCDDATE): fecha planificada de ejecución del trabajo batch que se somete. Este parámetro acepta cualquier fecha como constante y también los valores especiales MONTHEND, MONTHSTR o cualquiera de los días de la semana (*MON, *TUE, *WED, *THU, *FRI, *SAT, *SUN). Hora planificada (palabra clave SCDTIME): hora planificada de ejecución del trabajo batch que se somete. Acepta horas expresadas como constantes. Cuando estos parámetros se usan con sus valores defaults (*CURRENT), el trabajo es sometido a la cola de trabajos especificada en estado RLS (released) y está disponible para ser ejecutado inmediatamente (al menos que el parámetro HOLD se haya establecido en *YES). Si en cambio, la fecha y hora corresponden a un momento futuro, el trabajo es almacenado en la JOBQ en estado SCD (scheduled). Cuando llegue su fecha y hora de sometimiento, pasará a estado RLS o HLD (hold) según lo especificado en el parámetro HOLD. El uso de SBMJOB con planificación permite que el usuario someta un trabajo batch para ser ejecutado por única vez según su fecha y hora de planificación. Esta planificación no es repetitiva en el tiempo. 2 La siguiente pantalla muestra los parámetros Fecha planificada y Hora planificada del mandato SBMJOB (tercer pantalla de parámetros del comando): Someter trabajo (SBMJOB) Teclee elecciones, pulse Intro. Lista bibliotecas del sistema . Biblioteca actual . . . . . . . Lista inicial de bibliotecas . . + para más valores Anotación de mensajes: Nivel . . . . . . . . . . . . Gravedad . . . . . . . . . . . Texto . . . . . . . . . . . . Anotar mandatos programa CL . . Respuesta a mensajes consulta . Retener en cola de trabajos . . Fecha planificada . . . . . . . Hora planificada . . . . . . . . Fecha del trabajo . . . . . . . Conmutadores de trabajo . . . . Permitir visual con WRKSBMJOB . *CURRENT *CURRENT *CURRENT *CURRENT, *SYSVAL Nombre, *CURRENT, *USRPRF... Nombre, *CURRENT, *JOBD... *JOBD *JOBD *JOBD *JOBD *JOBD *JOBD 28/04/03 22:00:00 *JOBD *JOBD *YES F3=Salir F4=Solicitud F5=Renovar F13=Cómo utilizar esta pantalla 0-4, *JOBD 0-99, *JOBD *JOBD, *MSG, *SECLVL, *NOLIST *JOBD, *NO, *YES *JOBD, *RQD, *DFT, *SYSRPYL *JOBD, *NO, *YES Fecha, *CURRENT, *MONTHSTR... Hora, *CURRENT Fecha, *JOBD, *SYSVAL Valor tipo carácter, *JOBD *YES, *NO Más... F12=Cancelar F24=Más teclas Una vez que el trabajo fue sometido, se lo puede visualizar dentro de la cola de trabajos. La siguiente pantalla muestra el contenido de la cola QBATCH: Trabajar con Cola de Trabajos Cola: QBATCH Biblioteca: QGPL Teclee opciones, pulse Intro. 2=Cambiar 3=Retener 4=Finalizar Opc Estado: 5=Trabajar con Trabajo Usuario Número QDFTJOBD TEKNODA 059138 RLS/SBS 6=Liberar Priorid. 5 Estado SCD Final Parámetros para opción 2, 3 o mandato ===> F3=Salir F4=Solicitud F6=Someter trabajo F12=Cancelar F22=Trabajar con entradas de programación de trabajos F21=Subsistema F24=Más teclas Para visualizar la fecha y hora de planificación correspondiente a un trabajo batch en estado SCD, utilizar opción 5 (Trabajar con) y luego opción 1 (Visualizar atributos de estado de un trabajo). Aparece la siguiente pantalla: 3 Trabajo: Visualizar atributos de estado del trabajo Sistema: QDFTJOBD Usuario: TEKNODA Número: 059138 Estado trabajo . . . . . . . . Perfil de usuario actual . . . Identidad de usuario de trabajo Establecido por . . . . . . . Introducido en sistema: Fecha . . . . . . . . . . . . Hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : : : : TEKNODA SCD TEKNODA *DEFAULT . . . . . . : . . . . . . : 07/03/03 10:51:36 Planificado: Fecha . . . . . . . . . . . . . . . . . . : Hora . . . . . . . . . . . . . . . . . . : 28/04/03 22:00:00 Más... Pulse Intro para continuar. F3=Salir F5=Renovar F12=Cancelar F16=Menú trabajo Es importante recordar que el mandato SBMJOB cumple perfectamente su objetivo de planificar la ejecución de un trabajo batch, pero esta planificación no es repetitiva. Si posteriormente se necesitara someter nuevamente el trabajo batch previo, se deberá reescribir el mandato con todos los parámetros necesarios. El mandato WRKJOBSCDE cubre la posibilidad de planificación repetitiva. Opción 2: Diferida con repetición. El comando WRKJOBSCDE permite mantener en el sistema una lista de trabajos que serán sometidos cuando llegue su fecha y hora acordada. Esta forma de planificación, proporcionada por OS/400 (no es un producto bajo licencia), puede ser accedida desde “pantalla verde” con el mandato anteriormente mencionado o desde iSeries Navigator desde la opción Ejecutar mandato presente en el menú contextual de la conexión. Este menú se obtiene al presionar botón derecho del mouse sobre la conexión. 4 a - Accediendo con WRKJOBSCDE desde “pantalla verde” Para incorporar nuevas entradas planificadas, presionar F6 desde la pantalla del mandato WRKJOBSCDE o directamente el mandato ADDJOBSCDE en línea de comandos y luego F4. La siguiente pantalla aparecerá: Añadir entr planif trabajos (ADDJOBSCDE) Teclee elecciones, pulse Intro. 1 2 3 4 5 6 7 Nombre de trabajo . Mandato a ejecutar . Frecuencia . . . . . Fecha planificada o Día planificado . . + para Hora planificada . . . . . . . . . . . . más . . Omitir fecha . . . . . Acción de recuperación Descripción de trabajo Biblioteca . . . . . Cola de trabajos . . . Biblioteca . . . . . Usuario . . . . . . . Cola de mensajes . . . Biblioteca . . . . . Texto descriptivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . valores . . . . . . . . . . . . . . > > > > > > > LIMPIEZA Nombre, *JOBD CLROUTQ OUTQ(QGPL/USUARIOS) *WEEKLY *ONCE, *WEEKLY, *MONTHLY *NONE Fecha, *CURRENT, MONTHSTR... *MON *NONE, *ALL, *MON, *TUE... *THU '22:00:00' Hora, *CURRENT Parámetros adicionales . . . > '31/03/03' . . . > *SBMHLD . . . *USRPRF . . . . . . *JOBD . . . . . . *CURRENT . . . *USRPRF . . . . . . *BLANK Fecha, *NONE *SBMRLS, *SBMHLD, *NOSBM Nombre, *USRPRF Nombre, *LIBL, *CURLIB Nombre, *JOBD Nombre, *LIBL, *CURLIB Nombre, *JOBD, *CURRENT Nombre, *USRPRF, *NONE Nombre, *LIBL, *CURLIB Final La planificación anterior somete un trabajo de nombre LIMPIEZA, que ejecuta el mandato CLROUTQ los días lunes y jueves omitiendo la corrida del 31 de marzo de 2003, y especificando que cuando el sistema no esté disponible para un sometimiento, el mandato se someta igual pero retenido. Observar los parámetros señalados con números en rojo a la izquierda: 1. Nombre de trabajo (palabra clave JOB): nombre de la entrada planificada y del trabajo que se está incorporando. Recordar que forma parte del nombre completo del job: número / usuario / nombre. 2. Mandato a ejecutar (palabra clave CMD) : comando que se ejecutará bajo esta entrada planificada. Se comporta como una línea de comandos, los mandatos pueden promptearse. 3. Frecuencia (palabra clave FRQ): frecuencia del sometimiento: mensuales (*MONTHLY), semanales (*WEEKLY) o únicos (*ONCE). En el caso de los sometimientos únicos, la entrada queda almacenada en la lista, para que después pueda someterse utilizando la opción 10 (Someter inmediatamente) de WRKJOBSCDE. 4. Fecha planificada (palabra clave SCDDATE) o Día planificado (palabra clave SCDDAY): parámetros excluyentes. En el primero de los parámetros se puede ingresar una fecha como constante o valores especiales (*CURRENT, *MONTHSTR, *MONTHEND). Cuando se desea utilizar el segundo parámetro, debido a que son excluyentes, debe ingresarse aquí el valor *NONE. Para Día planificado, existe posibilidad de ingresar *ALL (incluye todos los días de la semana) o días seleccionados (*MON, *TUE, *WED, *THU, *FRI, *SAT o *SUN). 5. Hora planificada (palabra clave SCDTIME): hora de sometimiento. 6. Omitir fecha (palabra clave OMITDATE): para seleccionar fechas en las cuales no deberían efectuarse sometimientos. 5 7. Acción de recuperación (palabra clave RCYACN): para determinar la acción que el sistema va a tomar si en el momento del sometimiento estaba en estado restringido o apagado. Los siguientes valores son aceptados para este último parámetro: *SBMRLS (se someterá en estado liberado), *SBMHLD (idem anterior pero retenido) o *NOSBM (no se someterá). Esta forma de planificar trabajos permite que sea el sistema el encargado de someter el job cuando llegue el momento exacto, liberando al usuario de esta tarea. Por este motivo, es importante definir el valor correcto que deben tener los parámetros anteriormente comentados. b - Accediendo desde iSeries Navigator Desde iSeries Navigator, el menú contextual de la conexión ofrece la opción “Ejecutar mandato”. Cuando se lo selecciona, aparece la siguiente ventana (el comando que aquí aparece fue agregado posteriormente): Es importante observar, que el mandato aquí incorporado puede ser “prompteado” gráficamente utilizando F4 o el botón Solicitud: 6 El botón “Mandatos anteriores” permite, no sólo visualizar, sino también incorporar mandatos anteriormente ejecutados. El botón “Planificar” representa el acceso a las funciones de planificación para el comando a ejecutar. Se visualiza la siguiente ventana: Allí se puede seleccionar la frecuencia con la cual se ejecutará el mandato, a partir de qué fecha y en qué horario. Cuando se presiona el botón “Aceptar”, la entrada planificada se incorpora en la lista de tareas de WRKJOBSCDE con un nombre seleccionado por el sistema. Es importante considerar que la ejecución de las entradas planificadas incorporadas de esta manera son totalmente dependientes de que el servidor TCP/IP “Management Central” esté activo. Las entradas también pueden ser visualizadas desde iSeries Navigator, expandiendo la componente Management Central, luego Tareas planificadas y Mandatos. Ubicándose sobre cualquiera de los mandatos allí presentes, y utilizando el menú de contexto, pueden modificarse los atributos de planificación de los trabajos, o someterlos nuevamente, incluyendo el o los sistemas donde se desea ejecutarlos. 7 Para tener en cuenta Para las planificaciones realizadas a través de SBMJOB, es posible realizar modificaciones a la fecha y hora de ejecución con el mandato CHGJOB. La planificación de trabajos a través de SBMJOB es sencilla de efectuar, pero necesita del “tipeo” del comando para cada vez que se necesite. Existen variadas funciones del sistema que ofrecen la posibilidad de planificar eventos en el tiempo, por ejemplo: funciones de seguridad del menú SECTOOLS, planificación de rutinas de backup desde el menú BACKUP y otras. Todas ellas, generan entradas que pueden ser posteriormente visualizadas a través del comando WRKJOBSCDE. Para salvar las entradas planificadas que se visualizan con el mandato WRKJOBSCDE, realizar un backup del objeto QDFTJOBSCD de la biblioteca QUSRSYS de tipo *JOBSCD. Puede luego ser restaurado en otro sistema. Los trabajos sometidos a través del mandato SBMJOB heredan la lista de bibliotecas y el contenido de la *LDA del trabajo sometedor. Management Central es un servidor de TCP/IP que posibilita la gestión de varias AS/400 desde una AS/400 que juega el papel de sistema central. Entre la amplia gama de funciones provistas, está incluida la de someter tareas sobre varios equipos simultáneamente, por ejemplo, la ejecución de comandos. http://www.teknodatips.com.ar Copyright Abril 2003 - Teknoda S.A. - AS/400 y OS/400 son marcas registradas de IBM. Dudas o consultas a [email protected] 8