Noch ein paar Details für dich:

So lange du in einer DSPF und einem Programm arbeitest kannst du das ziemlich selber in die Hand nehmen.

Die Anforderung ist aber:
PGMX mit DSPF ruft MYPGM mit WINDOW auf. MYPGM soll aber nur das WINDOW anzeigen und den darunterliegenden Inhalt nicht zerstören.

Fehlt ASSUME, löscht die AS/400 aber die Anzeige vor der WINDOW-Ausgabe, da ASSUME dem System aber die Annahme mitgibt, die DSPF ist schon geöffnet worden, unterbleibt das Löschen.

Hat eine DSPF RSTDSP(*YES), wird die aktuelle Ansicht beim Open gesichert und beim Close wiederhergestellt.

Mittels ASSUME kann nun das Fenster über den aktuellen Inhalt ausgegeben werden.
Wird das Programm mit *INLR = *ON verlassen, wird die DSPF ja auch geschlossen und beim nächsten Aufruf alles wiederholt.

Häufig wird ein Programm aber mit *INLR=*OFF verlassen um Zustände über mehrere Aufruf zu verwalten.
Die DSPF bleibt also offen.

Wird nun bei RSTDSP(*YES) das WINDOW ausgegeben, stellt die AS/400 die Anzeige mit dem beim Open vorher gesicherten Inhalt wieder her !
Du siehst also plötzlich einen Hintergrund, der mit dem tatsächlich aktuellen Bild nicht übereinstimmt.

Du benötigst also einen RSTDSP(*NO).

USRRSTDSP wird nur benötigt, um innerhalb einer DSPF die überlagerten WINDOWS und den Bildaufbau komplett selber zu steuern.

RMVWDW entfernt alle vorher angezeigt Fenster (ausser den USRRSTDSP) und zeigt dann das aktuelle WINDOW an, funktioniert also nur bei gleichzeitiger Ausgabe eines neuen Fensters.

ERASE entfernt einzelne Formate der aktuellen DSPF, aber keine WINDOW.