¿ Quieres imprimir esta página ? Volver a la página principal de Recursos iSeries AS400 ¿ Necesitas ayuda ? En pruebas
System i5 iSeries AS400 Recursos. Compartiendo generamos conocimiento
Novedades en Recursos iSeries AS400
Noticias tecnológicas

Utilidades iSeries AS400.
Utilidad RUNJOBCMD - Ejecutar mandato en otro trabajo

RUNJOBCMD - Ejecutar mandato en otro trabajo

Esta utilidad se proporciona "tal cual", el autor no se hace responsable de posibles perjuicios debidos a fallos no detectados. Es por ello que se recomienda probar de forma exahustiva esta utilidad, para eso se entrega junto con los fuentes.

En ocasiones, como programadores u operadores del sistema, nos hemos encontrado con la necesidad de conocer y manipular el contenido de la biblioteca QTEMP de otro trabajo, casi siempre porque está en un estado de error. Cuando nos encontramos en este último caso la forma de recuperar el trabajo es alterando el contenido de la QTEMP o cambiando la lista de bibliotecas que puede estar incorrecta.

El mandato RUNJOBCMD permite ejecutar mandatos (remotamente) en otro trabajo del sistema, como si éste fuera el que lo ha ejecutado.
Una vez corregida la causa del error que paró al trabajo se puede recontinuar contestando adecuadamente al mensaje de error. Este mandato se puede usar tanto para trabajos interactivos como en batch.

Se aceptan dos parámetro:
1. El trabajo en donde queremos ejecutar el mandato.
2. El mandato a ejecutar. Hay que tener en cuenta que éste siempre se ejecuta en el trabajo especificado y no bajo la sesión desde donde se llama a RUNJOBCMD. Como resultado, habrá que buscar los posibles listados emitidos bajo el usuario y trabajo indicado.

El mandato está formado por dos partes comunicadas entre si por colas de datos, una de envío de mensajes y otra de recepción. La primera parte es el programa procesador del mandato (RUNJOBCMDC) que se encarga de interrumpir al otro trabajo iniciando una petición de servicio (STRSRVJOB). Entonces se envía el mandato a ejecutar a través de una cola de datos y se reciben los posibles mensajes de error o terminación por otra cola de datos.
La segunda parte es un programa de salida (Exit Program) que se indica en el mandato TRCJOB. Este programa se ejecutará bajo el trabajo al que se está dando servicio. Recupera el mandato a ejecutar de la cola de datos y reenvía los mensajes que se hubieran producido a a través de la otra cola de datos.

El secreto de todo este mandato está en como y cuando se ejecuta el programa de salida. Al principio puede ser confuso su funcionamiento.
Además, es el que condiciona el uso de dos colas de datos distintas, una para cada sentido de la comunicación. Si se usara una sola para el envío de mandato y mensajes, todo sería procesado por el programa de servicio y nunca llegarían al programa que inicia la comunicación.
Solo recordar que el programa de salida se llama por cada entrada de rastreo producida por el mandato TRCJOB, en la primera llamada se recupera el mandato, se ejecuta y se devuelven los mensajes. En las siguientes llamadas al programa se sigue leyendo la cola de mandatos, pero al encontrarla vacía no realiza tarea alguna.

Para una mejor comprensión de la estructura, funcionamiento y comportamiento del programa lo mejor es estudiar el código fuente. Ánimo.

Referencias
===========
Autor
-----
David Ong dsso@hotmail.com
Idea original.

Javier Mora jmora@dialsur.es
Para el desarrollo de esta utilidad se ha aprovechado la estructura principal del truco publicado por David Ong en search400. Se ha mejorado la interfaz del mandato y se ha traducido al castellano.
Se ha intentado documentar lo mejor posible los fuentes para comprender mejor como funcionan los programas. Se han mejorado cuestiones tales como la comunicación entre trabajo llamador y llamado, reenvío de mensajes, gestión de mensajes de error, la terminación del mandato y el tratamiento del mandato a ejecutar (búsqueda y validación).

Las ideas más interesantes para implementar este mandato se obtuvieron de un truco propuesto por David Ong (dsso@hotmail.com) en search400 Tips & Newsletters >> Programmer http://search400.techtarget.com/tip/1,289483,sid3_gci816185,00.html +
10 Abril 2002

Mantenedor del paquete
----------------------
Javier Mora jmora@dialsur.es

Esta utilidad no es perfecta. Se agradecerá cualquier contribución para mejorarla, ya sean errores, nuevas funcionalidades o cualquier comentario. Por favor, enviar un e-mail a la dirección: jmora@dialsur.es poniendo en el asunto:
Comentarios sobre RUNJOBCMD


Fuentes
=======

Miembro Tipo Atributo Texto
---------- ------- -------- ---------------------------------------

Miembro Tipo Atributo Texto
RUNJOBCMD *CMD CMD Ejecutar mandato en otro trabajo.
RUNJOBCMDC *PGM CLP CPP del mandato. Inicia la conversación.
RUNJOBCMDR *PGM CLP Responsable de ejecutar el mandato en el trabajo llamado.

Requisitos y dependencias
=========================
Son necesarios los siguientes mandatos:

* Paquete MOVPGMMSG
MOVPGMMSG Mover mensajes de programa
RSNESCMSG Reenviar mensajes de escape

Instalación
===========
Subir cada uno de los fuentes al iSeries y ejecutar el programa de instalación INSRUNJOBC.

Si se requiere una instalación más personalizada, en las cabeceras de cada uno de los programas y mandatos se recomiendan las opciones de compilación.


Tienes los fuentes de la utilidad aquí (9Kb) Puedes bajarte la utilidad aquí (10 Kb)

Enviada por Javier Mora

Septiembre 2003

Comentarios de usuarios

Nombre:
Mail:
Comentario:
 

 

NUESTRA COMUNIDAD EN
ÚNETE Y.... ¡¡ PARTICIPA !!
Dossiers técnicos iSeries y AS400
- Seguridad
- Alta disponibilidad.
Nuestros links favoritos
- Tendencias tecnologías de la información
Expertos en tecnologías de la información, nos dan su punto de vista sobre las tendencias actuales y futuras
- Los últimos anuncios sobre hardware-software para iSeries AS400 realizados por IBM
- Freeware y shareware para el iSeries AS400
- Utilidades para el iSeries AS400 realizadas por profesionales
- Documentos. Trucos e ideas para resolver tus problemas
- Los manuales y links más interesantes del iSeries AS400

  Links patrocinados
  •  
  •  

[ Soy nuevo |   Profesionales |   AS qué |   Empresas |    Foros |   Recomiéndanos |    Productos ]
 
Recursos iSeries AS400. Es una web de: PUBLICACIONES HELP400, S.L. CIF:B-60-202827 Gran Vía de les Corts Catalanes, núm. 715, Entresuelo – 3ª - Barcelona - Tel.+34.932.310.049