On 31/10/2007, at 6:53 AM, Chris Chambers wrote:

I've read the manual on this one and was hoping for some erudite discussion
from people who have also had the similar problem or know for sure that it
cannot be achieved.

I'm talking specifically about the positioning of the cursor when the user
is paging thru the subfile and control has not been passed back to the
program. SFLRCDNBR is in the subfile control record and this is only changed
when the user hands back control to the program by hitting enter.

Aaahh! Now I understand. You are complaining about the circumstance where the subfile contains more than one page of data, the user moves the cursor off the first displayed subfile record, then pages back or forward to a page that already exists in the subfile, and then discovers that the cursor remains where it was before the page operation. You would like to see the cursor returned to the first displayed subfile record (presuming there is an input-capable field in that record). Yes?


How can we take advantage of the helpful features of the subfile (scrolling
without troubling the program) and yet ensure that the subfile itself can
always position the cursor at the 1st row on the screen (or can't it ?)

As far as I know you can't accomplish this. The cursor position is returned to the operating system as part of the page operation. Because the subfile already contains records for the requested page the OS does not return control to your program (you knew that) and simply builds the data stream, including the previous cursor position, and sends it to the display device.

There are three ways to solve the problem, all of which require extra work on the part of the programmer:
1) Use SFLPAG=SFLSIZ processing and set the cursor position manually
2) Use a UIM list which automatically provides the cursor handling you desire
3) Use the DSM APIs and handle all the screen processing yourself

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2021 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.