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.

Responder a