TRANSACCIÓN AUTOEJECUTABLE

Todo lo relacionado al CICS .
elpunk

TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

Buenas a todo@s

Necesito crear una transacción que sea ejecute cada cierto tiempo, para evitar que un usuario tenga que hacer una comprobación. ¿Es posible definir en CICS una transacción autoejecutable? y si es así, ¿cómo puedo hacer? o dónde puedo encontrar información acerca de esto. He buscado en http://pic.dhe.ibm.com/infocenter/cicst ... a6_pdf.pdf pero estoy dando palos de ciego

Muchas gracias
Vicente

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por Vicente »

Hola elpunk:
Sin investigar en CICS, se me ocurre que puedes utilizar tu planificador de trabajos para ejecutar periódicamente el mandato de consola: F miCICS,tran o un job que lo de.

Un saludo
elpunk

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

Vicente escribió:Hola elpunk:
Sin investigar en CICS, se me ocurre que puedes utilizar tu planificador de trabajos para ejecutar periódicamente el mandato de consola: F miCICS,tran o un job que lo de.

Un saludo
Gracias Vicente por la respuesta

Ya lo plantee, un job cíclico que ejecutase la transacción, pero Planificación ha dicho que no, que no nos planifican un trabajo con tan poco espacio de tiempo entre una y otra ejecución. El tiempo de cada ejecución es de 5 minutos
LuisFer

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por LuisFer »

Si tienes MQ podrías montar una cola Trigger que te "disparase" la Tx, solo tendrias que poner un mensaje en dicha Cola con por ejemplo un CRON en Linux o el planificador de tareas de Windows .-...
elpunk

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

LuisFer escribió:Si tienes MQ podrías montar una cola Trigger que te "disparase" la Tx, solo tendrias que poner un mensaje en dicha Cola con por ejemplo un CRON en Linux o el planificador de tareas de Windows .-...

Gracias Luis Fer, estudiaremos esa posibilidad, aunque la idea principal sería la de la transacción CICS autoejecutable.

Muchas gracias
Vicente

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por Vicente »

¿ No te vale ejecutar el mandato de consola: MODIFY miCICS,tran ?
Lo podría hacer con tu planificador de trabajos, o un operador automático.
También podrías hacerlo si tuvieses el producto CA-SYSVIEW.
f_caballero

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por f_caballero »

Hola, puedes hacer que la transacción se planifique en el arranque de CICS (tus administradores de CICS saben cómo) y hacer que el programa la vuelva a arrancar con un tiempo de espera EXEC CICS START TRANSID(----) DELAY (creo que el parámetro es DELAY , revísalo en el manual).

Esto sólo requerirá la definición en lista de arranque, sin más planificadores ni comandos en batch.


Suerte.
josevaldeon

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por josevaldeon »

Una alternativa sería arrancar una STC y que fuera esta la que se encargara de arrancar la transacción cada x minutos.
Esta STC te serviría no solo para esta transacción sino para cualquier otra tarea que debieras ejecutar de forma periodica, sin necesidad de planificar ningun job ni consumir mas iniciadores de JES
Eso si, tienes que montar una buena gestión de errores para que los operadores que controlan la STC sepan que acciones deben tomar en caso de cancelacion
Saludos
elpunk

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

Vicente escribió:¿ No te vale ejecutar el mandato de consola: MODIFY miCICS,tran ?
Lo podría hacer con tu planificador de trabajos, o un operador automático.
También podrías hacerlo si tuvieses el producto CA-SYSVIEW.
Gracias Vicente

Esa opción ya la habíamos contemplado, es decir, habíamos visto la posibilidad de ejecutar un job cada 5 minutos en CTM, pero el grupo de planificación no nos deja crear un cíclico cada 5 mins

Un saludo
elpunk

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

f_caballero escribió:Hola, puedes hacer que la transacción se planifique en el arranque de CICS (tus administradores de CICS saben cómo) y hacer que el programa la vuelva a arrancar con un tiempo de espera EXEC CICS START TRANSID(----) DELAY (creo que el parámetro es DELAY , revísalo en el manual).

Esto sólo requerirá la definición en lista de arranque, sin más planificadores ni comandos en batch.


Suerte.
Muchas gracias f_caballero, por ahí van los tiros. Voy a investigar un poco, pero creo que esa va a ser la mejor opción

Un saludo
elpunk

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

josevaldeon escribió:Una alternativa sería arrancar una STC y que fuera esta la que se encargara de arrancar la transacción cada x minutos.
Esta STC te serviría no solo para esta transacción sino para cualquier otra tarea que debieras ejecutar de forma periodica, sin necesidad de planificar ningun job ni consumir mas iniciadores de JES
Eso si, tienes que montar una buena gestión de errores para que los operadores que controlan la STC sepan que acciones deben tomar en caso de cancelacion
Saludos
Gracias josevaldeon, pero creo que la mejor opción es la dada por f_caballero, es lo que más se ajusta a nuestras necesidades, que sea una transacción autoejecutable y que no haya "algo" que arranque la transacción desde fuera del cics (planificadores, jobs, stc,...)

Un saludo
Vicente

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por Vicente »

josevaldeon escribió:Esa opción ya la habíamos contemplado, es decir, habíamos visto la posibilidad de ejecutar un job cada 5 minutos en CTM, pero el grupo de planificación no nos deja crear un cíclico cada 5 mins
No me refería a ejecutar un job que de el mandato sino que tu planificador de el mandato directamente.
Un saludo
Vicente

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por Vicente »

f_caballero escribió:puedes hacer que la transacción se planifique en el arranque de CICS (tus administradores de CICS saben cómo) y hacer que el programa la vuelva a arrancar con un tiempo de espera EXEC CICS START TRANSID(----) DELAY (creo que el parámetro es DELAY , revísalo en el manual).
Cuidado con caer en un bucle sin fín haga tener un número execesivo de copias de la transacción en ejecución.
Un saludo
elpunk

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por elpunk »

Vicente escribió:
josevaldeon escribió:Esa opción ya la habíamos contemplado, es decir, habíamos visto la posibilidad de ejecutar un job cada 5 minutos en CTM, pero el grupo de planificación no nos deja crear un cíclico cada 5 mins
No me refería a ejecutar un job que de el mandato sino que tu planificador de el mandato directamente.
Un saludo
Gracias Vicente, hablaremos con Planificación a ver qué pueden hacer. También hemos pensado en la posibilidad de una regla de AO.
f_caballero

Re: TRANSACCIÓN AUTOEJECUTABLE

Mensaje por f_caballero »

De todas formas, los administradores del CICS pueden definir la transacción en una clase que sólo permita la existencia de una transacción "en vuelo" y descarte todas aquellas que se puedan quedar esperando a que termine.
Aún así, tu programa "arrancador" debe incluir el control de las posibilidades de error que se puedan plantear, incluso que la transacción no estuviera disponible para ejecutar (podría estar "disabled" por algún motivo).
Siempre he recomendado empezar el programa arrancando la transacción para dentro de un tiempo establecido y, después, atacar el proceso de esta ejecución. Así, si hay abend en esta ejecución la siguiente ya estará planificada y mi sistema no se quedará parado. Por supuesto, esto debe tener en cuenta que un error recurrente puede convertir el proceso en un bucle de start y abend si siempre nos encontramos la misma cosa que atender en cada ejecución.
Responder