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.

Responder a