Hola a tod@s:
Tengo una pantalla con un subfichero que se refresca automáticamente sin tocar
ninguna tecla. Los registros del subfichero son de dos líneas e inicialmente
aparecen truncadas (DROP). Durante la visualización puedo pulsar una tecla para
ver el registro completo (FOLD). Sin embargo, cuando refresco el subfichero no
permanece en el modo (truncado/ampliado) en el que se encontraba antes del
refresco.
El diseño de pantalla se asemeja a esto:
A R P_SFLMDT
A OVERLAY
A 11 2'F1=Ampliar'
A DSPATR(HI)
A 11 14'F3=Salir'
A DSPATR(HI)
...
A R P_SFLCTL SFLCTL(P_SFL)
A SFLSIZ(0050)
A SFLPAG(0003)
A CA03
A CA07
A 01 INVITE
A OVERLAY
A SFLCSRRRN(&SFLCSRRRN)
A SFLMODE(&SFLMODE)
A N02 ERASE(P_SFL)
A 02 SFLDSP
A 01 SFLDSPCTL
A N01 SFLCLR
A 03 SFLEND
A 05 SFLDROP(CA01)
A SFLMODE 1A H
A SFLRCD 4S 0H SFLRCDNBR(*TOP)
A SFLCSRRRN 5S 0H
A 1 2DATE
A EDTWRD(' - - ')
A COLOR(BLU)
A 1 11TIME
A COLOR(BLU)
...
La visualización y espera del registro de control se hace como sigue:
Write P_SFLMDT;
Write P_SFLCTL;
Read(e) RAD061W;
//EXFMT P_SFLCTL;
// Con EXFMT si obtengo un SLFMODE con el valor correcto
' // Se excedió el tiempo de espera
If %Status() = 1331;
infDsp.key = F10;
Endif;
Si desactivo el "autorefresco" de pantalla sustituyendo la pareja WRITE
P_SFLCTL/READ(E) RAD061W por un EXFMT P_SFLCTL el comportamiento es el
esperado, pero pierdo el "autorefresco".
Creo que el problema está en el "READ RAD061W", pero es necesario para el
refresco. El caso es que no encuentro una solución para tener ambas cosas.
¿Alguna sugerencia?
Un saludo a todos,
Javier Mora
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.