|
I still haven't figured out a clean way to do this, but for now I specified the main program defined display file as UsrOpn, and open it in the *InzSR. Then when I want to show my subfile I do: C Close Str002FM C Open Str002FM which works, but there is a noticeable delay. If anyone has another solution it would be helpful. Regards, Jim Langston Me transmitte sursum, Caledoni! Jim Langston wrote: > > I hope you can help me with this one, I'm confused. > > I have 2 subfiles. My main file which is internally described > in the program. The second one is a subfile and is externally > described. > > The first internally described subfile contains 2 records, the > main screen, which is supposed to overlay either the subfile > record in the other file, or another record in the same file. > > In my program I can display the subfile record, then overlay the > main record and it works well. > > In my program I can display the 2nd internal record, then overlay > the main record, and it works well. > > Here's the problem: If I every show the 2nd internally described > record then I can never display the subfile record. That is, I > want to be able to alternate between the two, and I can't. > > It seems that when the READ statement for the main subfile is reached, > it redisplays the 2nd internally described file record, even though I > am not writing it that cycle. I don't know how to make it disappear, > other than closing the program and reopening the program. > > I have considered trying to close the main display file and reopening > it, but I don't think I'd like the performance hit that would get me. > > Here's some snippets of details: > ---------------------------------------------------- > STR002FM (Internally described file) > A R DUMMY > A ASSUME > A 1 30'DUMMY RECORD' > A R S1 > ... > A SLNO(01) > A CLRL(12) > A OVERLAY > ... > A R S4 > A KEEP > > ---------------------------------------------------- > STR002FN (Externally described subfile) > A R DUMMY > A ASSUME > A 13 10'DUMMY' > A R SFLHEAD > A KEEP > ... > A R SFLCTL SFLCTL(SUBFILE) > A OVERLAY > A KEEP > A 46 SFLDSP > A N45 SFLDSPCTL > A 45 SFLCLR > A 49 SFLEND > ... > > ---------------------------------------------------- > My Program snippet: > FSTR002FM CF F 1920 WorkStn > FSTR002FN CF E WorkStn SFile(SubFile:SF_RecNum) > > D ShowSubFile S Like(*IN01) Inz(*On) > > C Eval *IN46 = *On > > C If ShowSubFile > C Write SflHead > C Write SflCtl > C Else > C Except S4 > C EndIf > > C EXCEPT S1 > > **** >>> This is where S4 gets shown even if it's not on the display when >this is reached (seen in debug) > C READ STR002FM 06 > > C If *INKC > C Eval *INLR = *On > C EndIf > C If *INKU > C Eval ShowSubfile = NOT ShowSubfile > C EndIf > > OSTR002FM E S1 > O K2 'S1' > OSTR002FM E S4 > O K2 'S4' > > Regards, > > Jim Langston > > Me transmitte sursum, Caledoni! +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-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-2025 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.