Si no estoy equivocado, KEEP hace que se mantengan los datos de pantalla cuando el programa deja de estar activo. Aunque debo admitir que nosotros no tenemos ningún caso como el que planteas, yo probaría a poner KEEP en los formatos de pantalla de los tres programas (creo que con ponerlo en un formato por programa ya vale).

Viendo la mecánica de funcionamiento, no tengo claro que esto te sirva, al menos para la pantalla de B, si éste acaba por LR. Que B acabara con return sería una opción. Si no quieres tener que hacer el RCLSTG ni hacer una última llamada a B para que acabe por LR, puedes hacer que A trabaje en un grupo de activación nuevo (H dftactgrp(*no)  y H actgrp(*new)) y que B y C trabajen en el grupo de activación de A (H dftactgrp(*no)  y H actgrp(*caller)). De esta manera, al finalizar A desaparece el grupo de activación y se cierra todo sin tener que hacer nada más.
      
Saludos.

Fernando Pérez 

Cerámica Saloni. Dpto. Auditoría y Organización



FORO escribió:

Jordi: Si no encuentro algo mejor esa puede ser la solución, ya el problema es solo sería de estética aunque al hacerlo asi se borra la 1ª ventana

 

Fernando ¿Dónde pongo KEEP?

 

Juanra: Siendo autónomo no todo son desventajas: Seguramente nadie tiene tan poco tráfico desde casa al trabajo, y la indumentaria puede ser de lo mas informal (pantalón corto y camiseta y descalza) je,je. Y además le he pedido jornada intensiva al jefe  ¡ Y ME LA HA DADO !.

 

Bueno, al lío. Totalmente de acuerdo con los parámetros de compilación, también vengo del 36 ¡Y del 34! Incluso más, también exactamente igual hago con los RETRN Y SETON LR y en los mismos casos. (Es en este caso cuando te muestra la pantalla pero desactualizada –la 1ª imagen del primer ciclo de ejecucion).  Todos esos ASSUMES, KEEP’s etc. Han sido pruebas que he ido haciendo. .. a partir de aquí escribo en mayúsculas para resaltar lo importante y centrar el problema que veo que nos estamos dispersando:

 

SI EL PROGRAMA (A) LLAMA AL PROGRAMA (B) Y (B) LLAMA A  (C) A (D9 à FUNCIONA PERFECTAMENTE BIEN SIEMPRE (yo tambien tengo cienes y cienes de ellos)

-----------------------         ------------------           ----------------------

PGMA            |       |  PGM B          |      | PGM C          |

                      | à   |                      | à  |                      |          esto funciona perfectamente

CALL PGMB   |       |  CALL PGMC  |      |                      |

----------------------       ------------------------       ----------------------

**************************************************************************************************************************************************************************

EL PROBLEMA ES CUANDO EL PROGRAMA (A) LLAMA SECUENCIALMENTE A LOS OTROS DOS PROGRAMAS (B) Y  (C)

*********SIENDO (B) Y (C) PROGRAMAS DE VENTANA********

***********************************************************************************************************************************************************************

 

---------------------            

PGM A          |            

                     |            --------------

CALL PGMB  | -à      | PGM B |      

                     |           --------------- 

CALL PGMC  | à       | PGM C |            cuando muestra esta ventana BORRA LA VENTANA DE B Y LA PANTALLA DE A

---------------------            --------------

 

 

 

GRACIAS GRACIAS GRACIAS A TODOS

 

 

 

 

 

 

 

 

 


De: forum.help400[EMAIL PROTECTED] [mailto:forum.help400[EMAIL PROTECTED]] En nombre de liberman_.es Mane
Enviado el: viernes, 11 de julio de 2008 4:25
Para: forum.help400
Asunto: RE: Ventanas solapadas

 

Cuando compilas, luego hazle un CHGDSPF y le das el refresco.
 
Espero les sirva.





From: [EMAIL PROTECTED]
To: forum.help400@listas.combios.es
Date: Thu, 10 Jul 2008 11:51:32 +0200
Subject: 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

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

 


Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar siempre a la última MSN Newsletters

__________ Información de NOD32, revisión 3257 (20080710) __________

Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com


__________________________________________________ Forum.HELP400 es un servicio más de NEWS/400. © 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
begin:vcard
fn;quoted-printable:Fernando P=C3=A9rez
n;quoted-printable:P=C3=A9rez;Fernando
org;quoted-printable:;Auditor=C3=ADa y Organizaci=C3=B3n
email;internet:[EMAIL PROTECTED]
tel;work:Ext. 627
x-mozilla-html:TRUE
version:2.1
end:vcard

__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© 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