|
Your *IN58 is being seton during your loop processing while building your subfile. And you EXFMT isn't in the loop either. I'd be willing to bet you launch that program, don't press page down or anything, but just press ENTER and it will end as well. Here's what I'd do with the code: RPG FWFTS210W CF E WORKSTN F SFILE(SFLA:RRNA) FPFAS210 IF E DISK C* .................................................. C *ENTRY PLIST C PARM LOCID 6 C Z-ADD 1 RRN 4 0 C Z-ADD 1 RRNA C READ PFAS210 58 C *IN58 IFEQ *ON C MOVE *ON *INLR C RETURN C END C* Fill the subfile: C *IN58 DOWEQ *OFF C MOVE *BLANKS DESC C MOVEL LOCDES DESC C Z-ADD RRN RRNA C WRITE SFLA C ADD 1 RRN C READ PFAS210 58 C ENDDO C RRNA IFGT 10 C MOVE *ON *IN91 C ENDIF C *IN03 DOWEQ *OFF C EXFMT FMT01 C *IN12 IFEQ *ON C *IN03 OREQ *ON C* MOVE *ON *IN58 C MOVE *ON *IN03 C ENDIF C* If a choice was made, save it to PARM for return: C RRNA IFGT *ZEROS C RRNA CHAIN SFLA 54 C LEAVE C ENDIF C ENDDO C MOVE *ON *INLR C*------------------------------------------------------------------- Ron Power Programmer Information Services City Of St. John's, NL P.O. Box 908 St. John's, NL A1C 5M2 Tel: 709-576-8132 Email: rpower@xxxxxxxxxx Website: http://www.stjohns.ca/ ___________________________________________________________________________ Success is going from failure to failure without a loss of enthusiasm. - Sir Winston Churchill Pete Helgren <Pete@xxxxxxxxxx> Sent by: rpg400-l-bounces@xxxxxxxxxxxx 2005/06/29 01:22 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> To RPG Midrange Discussion <rpg400-l@xxxxxxxxxxxx> cc Subject [Fwd: A question about subfile operations] (Sorry for the second post David, first one when with wrong profile) Prologue: I have been programming in RPG for about 20 years (started with RPG II in 1985). After all the discussion about Uber-programmers and what a "real" programmer is, I am little reluctant to admit that I am not "classically trained" programmer, I have learned "seat of the pants". Perhaps that makes me a "goober-programmer".....Anyway, I have worked primarily with one vendor's product and also off the largess of those folks who have shared examples with me over the years. About a year ago I started down the RPG IV path and haven't looked back. But my lack of "core" RPG competency is starting to show. Here is the problem: I have a program that I call that lists data values in a window where the user can select the value. I think I copied this example from a web site somewhere as an example of how to do this. The problem I am encountering is that when you page down past the end of the subfile records, the program closes. You never see the last page of records. I can't see any logic in the program that says to end, and the one place where last record IS set on and the program returns is not hit when I debug the program. So, I can't quite see why the program ends. What I prefer to have happen is to be able to page up and page down and not end the program until enter is pressed or F3 or F12. It is a very simple program. I am just missing something and I think it is my understanding of how subfile processing works. Thanks, Pete Helgren Code posted below: DDS: A*%%TS SD 20050628 212221 PETE REL-V5R2M0 5722-WDS A*%%EC A DSPSIZ(24 80 *DS3) A* A R SFLA SFL A* A LOCID R O 1 1REFFLD(LOCID *LIBL/PFAS210) A DESC 32A O 1 8 A R FMT01 SFLCTL(SFLA) A CA12(12 'Cancel-12') A CA03(03 'Exit-03') A SFLSIZ(11) A SFLPAG(10) A WINDOW(10 10 10 45 *NOMSGLIN) A ROLLUP A ROLLDOWN A OVERLAY A SFLCSRRRN(&RRNA) A SFLDSP A SFLDSPCTL A 91 SFLEND(*SCRBAR) A MOUBTN(*ULD ENTER) A RRNA 5S 0H A R DUMMY A*%%TS SD 20050628 212221 PETE REL-V5R2M0 5722-WDS A TEXT('PREVENTS PREVIOUS SCREEN FROM- A BEING CLEARED') A ASSUME A 5 9' ' RPG FWFTS210W CF E WORKSTN F SFILE(SFLA:RRNA) FPFAS210 IF E DISK C* .................................................. C *ENTRY PLIST C PARM LOCID 6 C Z-ADD 1 RRN 4 0 C Z-ADD 1 RRNA C READ PFAS210 58 C *IN58 IFEQ *ON C MOVE *ON *INLR C RETURN C END C* Fill the subfile: C *IN58 DOWEQ *OFF C MOVE *BLANKS DESC C MOVEL LOCDES DESC C Z-ADD RRN RRNA C WRITE SFLA C ADD 1 RRN C READ PFAS210 58 C END C RRNA IFGT 10 C MOVE *ON *IN91 C END C EXFMT FMT01 C *IN12 IFEQ *ON C *IN03 OREQ *ON C MOVE *ON *IN58 C endif C* If a choice was made, save it to PARM for return: C RRNA IFGT *ZEROS C RRNA CHAIN SFLA 54 C END C MOVE *ON *INLR C*-------------------------------------------------------------------
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.