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.

Responder a