Re: [as400-l] Pantalla en modo de refresco automático

Me respondo a mí mismo: lo he resuelto añadiendo el mensaje de estatus:

event refresh
    Do while 1=1
       
        &Variable que sale en la pantalla= 'Loquesea'
        msg('Esperando un rato....'  ,status)
        call ('programa de espera unos segundos')

    EndDo
EndEvent

Si artech hiciera que el comando sleep funcionara en RPG, ni siquiera haría falta llamar a un programa externo (que hace eso mismo, puesto que el iSeries tiene la función CL que lo hace de forma nativa)... igual se podría crear una extensión para esto, o algo así...




El 16/01/2012 18:27, Jesus Busquets escribió:

Tengo el siguiente requerimiento: una pantalla tiene que ir mostrando información cada cierto  tiempo, por medio de un bucle en el programa. Este bucle ya contiene la instrucción que hace esperar el programa hasta que se produce un evento (en concreto, se vale de las colas de datos para esperar que llegue el evento siguiente, hasta llegar a una condición en que se sale del bucle y también del programa).   Pero no consigo encontrar donde poner el bucle infinito para que me me llegue a mostrar la pantalla, es decir, si hago, por ejemplo:

event refresh
    Do while 1=1
       
        &Variable que sale en la pantalla= 'Loquesea'
        call ('programa de espera unos segundos')

    EndDo
EndEvent

Se queda dando vueltas, pero no muestra la pantalla.

Lo curioso es que en una pureba sí que funcionó así (bueno, el programa real, no este ejemplo simplificado)  , y al día siguiente "sin tocar nada", ya no funcionaba. Evidentemente, algo cambió, pero no era en el código del programa,  y, evidentemente también, hay alguna forma de hacerlo funcionar, pero no consigo encontrarlo.

Pensándolo bien... esto que busco es en realidad algo que ya debe haberse planteado con anterioridad, puesto que si se pudiera hacer, se tendría la posibilidad de generar una barra de progreso...y creo que eso, en rpg no lo he visto.


--

Jesús Busquets

GRESPANIA, S.A.

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.



--

Jesús Busquets

GRESPANIA, S.A.

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.


0 Response to "Re: [as400-l] Pantalla en modo de refresco automático"

Publicar un comentario