Susana,

Prueba a añadir estas líneas en los archivos de pantalla de las ventanas
como un nuevo registro:

0005.00      A          R DUMMY


0006.00      A                                      ASSUME


0007.00      A                                  1  2' '


 

Lo del nombre “DUMMY” obviamente no es obligatorio; pero un chistoso lo puso
hace años y hemos mantenido la tradición.

Saludos,

Xavier Estrems

 

De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de FORO 
Enviado el: jueves, 10 de julio de 2008 13:35
Para: 'forum.help400'
Asunto: RE: Ventanas solapadas

 

Hola Juanra.  (por cierto, creo que has sido bendecido con la salud eterna
¿no? o lo que es lo mismo  ¿ahora eres autónomo no? , pues nada bienvenido)

 

Bien, vamos por partes,  creo que no me explique bien:

 

1.- Están compiladas con RSTDSP(*YES) aunque con *NO actuan de igual manera.


 

2.- El problema es que cuando saca la 2ª ventana (3er programa) borra las
dos anteriores (en mi primer correo mande las imágenes) y solo consigo
evitarlo NO HACIENDO SETON LR en el programa 2º , Pero si hago esto, a
partir de la segunda vez que se visualiza la ventana del PGM 2 los datos que
se ven por detrás (los de la 1ª pantalla) SON LOS DEL PRIMER CICLO DE
EJECUCION, si, si, aunque parezca mentira. Como ves, son 4 sentencias, os
las envio y os invito a que lo comprobéis. Es realmente curioso. (Esta claro
que mientras ejecuto pgm2 y pgm3 el pgm1 esta parado y no puede refrescar
los datos, pero la segunda vez que paso por PGM1,2 y 3 la hora y/o los datos
que se ven por detrás de la ventana NO CORRESPONDEN A ESTE CICLO  SINO AL
PRIMER CICLO Y puedo seguir pasando por las 3 que los datos pertenecen
siempre ala primera vez que mostró P1. ¿no se si mas claro o mas oscuro?

 

3.- Con el WRITE tampoco funciona:

 

EXFMT P1

CALL PGM2

WRITE P1

CALL PGM3 -à Cuando este programa muestra su ventana se han perdido las 2
anteriores (CON Y SIN WRITE) (CON Y SIN RSTDSP *YES) (CON Y SIN ASSUME)

 

Jose: ASSUME no me lo admite en un registro de Ventana, me da error de
compilación, poniendolo en otro registro y utilizando el Keep tampoco
consigo nada

 

Pedro: Lo tuyo lo tengo que estudiar mas despacio. 

 

Gracias a todos por vuestra atención 

 

Aunque son 3 sentencias os adjunto los ficheros con los PGM para el que
quiera verlo en detalle.

 

Saludos.

 

Susana 

 

  _____  

De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Juan Ramón
Garcia
Enviado el: jueves, 10 de julio de 2008 11:52
Para: forum.help400
Asunto: Re: Ventanas solapadas

 

Hola Susana:

 

No he contestado antes porque ya te habian facilitado la respuesta correcta,
efectivamente hay que compilar con RSTDSP(*YES) pero eso lo que realmente
hace es lo que te ocurre, guarda una imagen en memoria de la pantalla que
tenía antes y la mantiene mientras vas solapando ventanas.

Ten en cuenta que el primer programa queda en espera cuando llamas al
segundo por lo que la hora no puede actualizarse.

Tengo muchos programas hechos de esta forma, la solucion que encontre fue al
volver al primer programa, desde otros que visualizan ventanas, forzar un
WRITE de la pantalla para "refrescar" la informacion antes de volver a
llamar a otro programa que solape una ventana.

Es chapucero pero funciona.

 

Un saludo.

 

Juanra

ChapuciSaurio

 

----- Original Message ----- 

From: FORO  <mailto:[EMAIL PROTECTED]> 

To: 'forum.help400' <mailto:[email protected]>  

Sent: Thursday, July 10, 2008 11:31 AM

Subject: RE: Ventanas solapadas

 

Gracias a todos por contestar.

Marti, Jose, Rafa: Ya están compiladas con RSTDSP *YES , Aunque si las
compilas con *NO, tampoco se aprecia ninguna diferencia.

 

Manuel: Con tu propuesta es curioso lo que ocurre,  el primer ciclo de
ejecución FUNCIONA PERFECTAMENTE, pero si os fijaís en la codificación de
los 3 programas, son sencillamente un bucle DO, pues bien, en el segundo
ciclo, NO SE VISUALIZAN LAS PANTALLAS DEL PGMB Y PGMC, he estado mirando con
el debug y el problema es que NO FINALIZA EL PROGRAMA, es decir: hace el
RETURN pero no la sentencia SETON LR por lo que el programa no finaliza, y
la siguiente vez que es invocado, encuentra el KC encendido y no entra en el
bucle DO   he tenido que hacer un RCLRSC para que funcionar de nuevo. De
hecho la curiosidad no termina hay, si modifico el PGMB para que no este
condicionado de esa manera 

 

*************** Principio de datos *****************

      FPGM02FM CF  E                    WORKSTN      

      C                     EXFMTFMT01               

      C   KC              MOVEL*ON       *INLR     

      C                     RETRN                    

 ****************** Fin de datos ********************

 

 

SI QUE SE VE… pero ¡ESTO NO OS LO VAIS A CREER! 

 

La imagen que se ve detrás del PGMB es el recuerdo de la primera vez que
mostró la pantalla LO SE POR LA HORA QUE SACO EN LA ESQUINA SUPERIOR DERECHA
DE CADA PANTLLA, es como si se lo guardara en memoria NO SE, ES MUY RARO. Si
esto lo llevo a explotación,  lo que se ve siempre en la pantalla del PGMA
son los datos del primer registro que visualicé, Si es un mantenimiento de
clientes, al sacar la pantalla del PGMB SIEMPRE SE VEN EN EL PGMA los datos
del primer cliente al que llame??????¿¿¿¿¿¿¿¿¿¿¿¿¿

 

En fin, algún gallego en el foro con Meigas conocidas.

 

¿Cómo es posible que una chorrada tan gorda me este dando tantos dolores de
cabeza?

 

Un  Saludo

Susana

JaquecoSauria 

 

P.D. Jorge: me olvidaba de ti, con el OVERLAY tampoco consigo nada, por lo
menos aparentemente. Tambien gracias a ti

__________________________________________________
Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
&amp;#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a