puede ser que parezca complicado, pero no lo es, además, proporciona la facilidad de tener el control del trabajo y poderlo finalizar en el momento que se desee, pero, para gustos colores.
El 1 de diciembre de 2015, 5:46, Jesus Busquets <[email protected]> escribió: > Creo que lo de usar una cola de datos, si no se le va a enviar nada por > ella, es una solución un poco demasiado complicada para el problema que > originó la pregunta. Probablemente , el utilizar DLYJOB en un trabajo sin > fin le fuera suficiente. Tendría, en todo caso, mirarse el tema de arrancar > un trabajo automático en un subsistema, si lo quiere tener en marcha sin > necesidad de lanzarlo cada vez. > > > Saludos > > > > El 30/11/2015 a las 18:19, Bernabé Estrada escribió: > > la llamada es a una api del AS, similar a cuando se llama al QCMDEXEC. > Se crea una cola de datos, le ponemos una longitud pequeña, porque no nos > va a servir nada mas que para el delay. > CRTDTAQ DTAQ(BIBLIOTECA/COLA) MAXLEN(3) > > Ahora, dentro de nuestro programa que queremos que tenga el delay, hacemos > la llamada a la API y con los parametros de la cola que acabamos de crear y > el tiempo que queremos que espere. > > C 1 DO 50 > C exsr Miproceso > C** Espera > C Call 'QRCVDTAQ' > C Parm COLA ColaInput 10 > C Parm BIBLIOTECA BiblInput 10 > C Parm 3 LongInput 5 0 > C Parm *BLANKS DataInput 3 > C Parm TiempoSegundosTimeInput 5 0 > C If DataInput = 'FIN' > C leave > C Endif > C** Fin espera > C ENDDO > > Como bien te comentaban anteriormente, se puede utilizar para hacer que el > proceso termine controladamente, si le mandamos algun valor en la cola de > datos, entonces, en el campo Datainput recuperamos el valor y lo podemos > comparar. Por ejemplo, si viene el valor FIN, que termine. Si esta en > blanco, espera el tiempo que lleve la varialbe TiempoSegundos antes de > continuar el proceso. Si algo se ingresa en la cola, es leido > inmediatamente, por supuesto, todo esto va dentro de un ciclo, por ejemplo, > podes ponerle una hora de fin, o podes ponerle un numero de veces > determinado, etc. etc. > > Saludos. > > > El 30 de noviembre de 2015, 10:32, Joss DJ <[email protected]> > escribió: > >> Estimados buen día. >> >> Gracias a todos por su ayuda, sin embargo me surgen unas dudas; cuando >> mencionan que se tiene que crear una cola de datos a que se refieren, tengo >> que crearla¿? >> >> Noto también que le hacen un llamado a un programa, esto es después de >> crear la cola de datos o como funciona¿? >> >> Gracias por su apoyo! >> >> Saludos Cordiales, >> José JD. >> >> ------------------------------ >> Subject: Re: Llamado de programa con delay >> To: [email protected] >> From: [email protected] >> Date: Fri, 27 Nov 2015 15:48:37 +0100 >> >> >> Si, claro, este sistema suele ser mejor cuando se trata de un proceso que >> tiene que atender determinados eventos y actuar en consecuencia sin >> necesidad de que espere a que se cumpla el tiempo de espera: cuando recibe >> un evento por la cola lo procesa de inmediato, y si no, da una vuelta igual >> al bucle cuando finaliza el tiempo de espera. >> >> También puede servir para el ejemplo anterior: si se quiere que un >> proceso que se ejecuta cada cierto tiempo pueda finalizarse de forma >> controlada, puede hacerse que reciba un mensaje en la cola que le hace >> salirse, y así el bucle puede hacerse permanente hasta que llega este >> mensaje. >> >> Las colas de datos, la verdad es que son un mecanismo muy sólido para >> hacer colaborar procesos... >> >> Saludos. >> >> El 27/11/2015 a las 14:56, Bernabé Estrada escribió: >> >> También se puede crear una cola de datos y leerla con un tiempo de espera >> que puede ser paramétrico: >> C Call 'QRCVDTAQ' >> C Parm Cola_Input ColaInput 10 >> C Parm Biblioteca BiblInput 10 >> C Parm tamaño_cola LongInput 5 0 >> C Parm *BLANKS DataIn_S 10 >> C Parm TiemposegundosTimeInput 5 0 >> >> Con esto hay un delay del proceso sin que consuma ningún recurso. >> >> Saludos. >> >> El 27 de noviembre de 2015, 1:47, Juan Carlos Paredes Castañón < >> <[email protected]>[email protected]> escribió: >> >> Yo haría un proceso batch en el que crees un bucle que ejecute el >> programa, haga un DLYJOB DLY(30) y vuelva arriba. Algo así: >> >> DCL VAR(&FIN) TYPE(*LGL) >> DOWHILE COND(&FIN = '0') >> CALL PGM(PROGRAMA) PARM(&FIN) >> DLYJOB DLY(30) >> ENDDO >> RETURN >> >> En la variable &FIN, desde el programa, le devuelves un '0' mientras >> quieras que siga ejecutándose y un '1' cuando quieras que se salga. >> Un saludo. >> Juan Carlos. >> El 27/11/2015 05:14, Joss DJ escribió: >> >> Hola Foro, >> >> Reciban un cordial saludo y aprovecho para solicitar de nueva cuenta su >> ayuda, alguno de ustedes me podría ilustrar como mandar llamar un >> programa cada determinado tiempo¿? Es decir, necesito hacer el llamado a un >> programa cada 30 segundos para actualizar cierta información en el sistema. >> >> De antemano gracias por el apoyo recibido. >> >> Saludos Cordiales, >> José DJ. >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. >> >> -- >> url: http://www.paredes.info >> mail: [email protected] >> >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. >> >> >> >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. >> >> >> -- >> Jesus Busquets Dir. T.I. [email protected] >> *Grespania, S.A.* <http://www.grespania.com> >> [image: Facebook] <https://www.facebook.com/grespaniaceramica>[image: >> Pinterest] <http://www.pinterest.com/Grespania/>[image: Youtube] >> <https://www.youtube.com/channel/UC5PnB8F2fZvMGqZ8au8X7Ig> >> Este mensaje se dirige exclusivamente a su destinatario y puede contener >> información privilegiada o confidencial. Si no es Vd. el destinatario >> indicado, queda notificado de que la utilización, divulgación y/o copia sin >> autorización está prohibida en virtud de la legislación vigente. Si ha >> recibido este mensaje por error, le rogamos que nos lo comunique >> inmediatamente por esta misma vía y proceda a su destrucción. >> >> >> ____________________________________________________ �nete a Recursos >> AS400, nuestra Comunidad ( <http://bit.ly/db68dd>http://bit.ly/db68dd ) >> Forum.Help400 � Publicaciones Help400, S.L. >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( <http://bit.ly/db68dd> >> http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. >> > > > > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. > > > -- > Jesus Busquets Dir. T.I. > > <[email protected]?subject=jbusquets%40grespania.com> > [email protected] > > *Grespania, S.A.* <http://www.grespania.com> > > [image: Facebook] <https://www.facebook.com/grespaniaceramica>[image: > Pinterest] <http://www.pinterest.com/Grespania/>[image: Youtube] > <https://www.youtube.com/channel/UC5PnB8F2fZvMGqZ8au8X7Ig> > > Este mensaje se dirige exclusivamente a su destinatario y puede contener > información privilegiada o confidencial. Si no es Vd. el destinatario > indicado, queda notificado de que la utilización, divulgación y/o copia sin > autorización está prohibida en virtud de la legislación vigente. Si ha > recibido este mensaje por error, le rogamos que nos lo comunique > inmediatamente por esta misma vía y proceda a su destrucción. > > > > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. >
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

