|
I know 2 solution to this problem. 1: In the window programs, declare the display file as user open. Then open and close the display file manually each time you enter and leave the program. The draw back is the overhead of opening/closing the display file on every call. 2: In the DDS of the display file, add a record format like this: A R EC00D1 A CLRL(*NO) OVERLAY FRCDTA In the RPG, just before the return instruction: c write ec00d1 c return This works here Denis Robitaille Directeur service technique Cascades Inc 819 363 5187 fax 819 363 5177 >>> Pete Hall <pbhall@execpc.com> 09/12 6:32 PM >>> At 12:50 09/11/1999 , Booth Martin wrote: >I am getting unexpected behavior and can't figure out why. I have a >program with a main screen with header information about the application >and as the user makes various choices on the screen various windows are >displayed to respond to his requests. What is disconcerting is that when >the window is displayed the screen in the background is the first screen >used that day. It seems to never have the currnet background. Here's an oldie from the archives that explains how to get around this problem. I can't take any credit for it, other than to say that I have done it, and it works. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> To keep AS400 subprogram display from flashing the old data when reentered: MOVE *OFF PUTOVR -- as the program is entered (not *INZSR) and as another program with a display is called. MOVE PUTOVR *IN91 -- just before the EXFMT, *IN91 is the option indicator on the DSPF next to the PUTOVR keyword. MOVE *ON PUTOVR -- just after the EXFMT. PUTOVR IFEQ *OFF -- just before writes to the display, must be SFLREC OREQ*ZERO before the write to the message subfile. WRITE#CLRSCN (SFLREC is number of SFL records and ENDIF is checked to clear/clean up the old subfile records previously displayed. With the setup as described above you do not have to RSTDSP(*YES) which is a big advantage as it is a memory pig and you do not have to open and close your display files. The key is that if pgm A calls pgm B and then control is returned to pgm A you would normally receive an I/O error due to overlapping input capable fields. There are two ways to correct this: a) use RSTDSP(*YES), which will consume main storage and increase communications line time by forcing the system to save and restore the display for the program. b) use the setup as described above. Difference; on a B30 .2 seconds on a locally attached workstation. Tim Hawkins >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Pete Hall pbhall@execpc.com http://www.execpc.com/~pbhall +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.