I like to use the *MORE value on the SFLEND keyword, but I ran into a problem when building a subfile one page at a time. When I roll up and a new page is built, the screen always says Bottom. To prevent this, you can use a resulting indicator from the READ statement to condition both the SFLEND and ROLLUP keywords (see 10). When the indicator is OFF, it will say More, and when it's ON, it will say Bottom.
I like to use the *MORE value on the SFLEND keyword, but I ran into a problem when building a subfile one page at a time. When I roll up and a new page is built, the screen always says Bottom. To prevent this, you can use a resulting indicator from the READ statement to condition both the SFLEND and ROLLUP keywords (see Figure 10). When the indicator is OFF, it will say More, and when it's ON, it will say Bottom.
You can get a false More when you reach the end of file at the same time you reach the last record in a subfile page, however. Avoid this by reading (but not writing to the subfile) the next database record for your rollup routine. This will serve as a look ahead, and your user will not get a false More.
- Todd Fisher
TechTalk: Subfile Paging
Figure 10: Subfile Paging Sample Code
Display file: *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 A N99 ROLLUP(66) A 99 SFLEND(*MORE) RPG program: *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 C READ QDBXREF 99
LATEST COMMENTS
MC Press Online