Efectivamente, Javier, ya te dije que hablaba de memoria. Ahora que estoy en la empresa lo he comprobado y no era exactamente así. Lo que yo hago para esto es lo siguiente:
1.- En el archivo de pantalla: A SFLMODE(&MODE) A N11 SFLDROP(CF11) A 11 SFLFOLD(CF11) A MODE 1A H Y en el programa RPG, inmediatamente antes de presentar el control del subarchivo: if mode = '0'; *in11 = *on; else; *in11 = *off; endif; Espero que esto ayude. Saludos. Juan Carlos. El 18/12/2014 09:47, Javier Mora escribió: > Es cierto que el problema me surge cuando recargo el subfichero (su refresco). El tipo de subfichero que estoy utilizando en este caso es completo (hay pocos registros que visualizar). > > Te confirmo que SFLMODE no puede condicionarse con indicadores. > > Con todas las pruebas que he hecho, llego a la conclusión que con el READ(E) RAD061W (que es el nombre del fichero y no el del registro) no se están leyendo los campos de E/S del registro de control, pero no está actualizando los campos de salida (como son los ocultos tipo H). > > El caso es, que si utilizo READ(E) P_SFLCTL ya no me funciona el autorrefresco. > > Gracias por tu interés. > > Javier > > DE: [email protected] [mailto:[email protected]] EN NOMBRE DE Juan Carlos Paredes Castañón > ENVIADO EL: miércoles, 17 de diciembre de 2014 22:48 > PARA: forum.help400 > ASUNTO: Re: Subfichero que se autorefresca y SFLMODE > > Te hablo de memoria, porque ahora estoy en casa y no tengo acceso al iSeries para confirmártelo. El problema es el mismo que se produce cuando dejas que sea el propio sistema el que gestione la carga del subarchivo. Una vez que pulsas la tecla de doblar, sólo se mantiene en los registros ya cargados. Una vez que carga nuevos registros, el registro vuelve a estar truncado. En las DDS (o en el SDA) indicas si el registro, inicialmente, está doblado o truncado. Si condicionas el SFLMODE por el mismo indicador que activas al pulsar la tecla que lo dobla o lo trunca, creo que funciona. No obstante, mañana lo compruebo (lo tengo implementado en alguna pantalla, sin refresco automático, pero con gestión de la carga por parte del sistema) y te lo confirmo. > > Un saludo. > > Juan Carlos > > El 17/12/2014 19:40, Javier Mora escribió: > >> 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 [1] ) >> >> Forum.Help400 (c) Publicaciones Help400, S.L. > > -- > > url: http://www.paredes.info > > mail: [email protected] > > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd [1] ) > Forum.Help400 (c) Publicaciones Help400, S.L. -- url: http://www.paredes.info mail: [email protected] Links: ------ [1] http://bit.ly/db68dd
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

