Dies ist leider nur durch einen kleinen Trick durchführbar:

Pgm-1 ruft Pgm-2 auf.
Bei F-Taste mit Funktionscode zurück nach Pgm-1, dass nun Pgm-3 aufruft.
Bei Rückkehr von Pgm-3, Write des Bildschirmes aus Pgm-1 und wieder Aufruf von Pgm-2 mit Ausgabe des Window.

Bei "Windows" ist es nun mal so, dass immer der aktuelle Inhalt überschrieben wird, woher soll das Programm auch wissen, was da vorher stand ?


Ansonsten gibts da ein paar Api's, siehe unter
http://publib.boulder.ibm.com/iserie.../QsnSavScr.htm
http://publib.boulder.ibm.com/iserie.../QsnRstScr.htm

Möglicherweise funktioniert es auch, wenn du die DSPF des Windows mit RSTDSP(*YES) umwandelst und Pgm-2 grundsätzlich mit "eval *INLR = *on" verläßt.
Dies beendet das Programm, die Displayfile wird geschlossen !
Beim nächsten Open und EXFMT in Pgm-2 wird natürlich der Screen gesichert und nach Rückkehr aus PGM-3 wiederhergestellt.

PS:

*INRT ist ausschließlich bei Zyklus-Programmierung (IP=Input Primary usw.) nötig, wenn man VOR *INLR zurückkehrt.

*INLR bedeutet:
wenn Aus => Dateien und Variablen bleiben im letzten Status, bei erneutem Aufruf kein Open und *INZSR
Wenn An => Programm wird deaktiviert, alle Dateien geschlossen, bei erneutem Aufruf wie 1. Aufruf mit *INZSR