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> > 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. >
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

