Page History
Frequently users request access to the IBM i SFLFOLD (subfile fold) facility which LANSA does not support.
However, by using a simple left-right scrolling facility the technique can be emulated, and often made better.
Imagine that a "list" of information that is 3 screens wide has to be presented to the user.
Scrolling up and down the list is no problem, however, scrolling from left to right can also be achieved like this: def
def_list #list1 fields(whatever) top_entry(#top)
def_
...
list #list2 fields(whatever)
...
top_entry(#top)
def_
...
list #list3 fields(whatever)
...
top_entry(#top)
...
select <whatever>
add_
...
entry #list1
add_
...
entry #list2
add_
...
entry #list3
endselect
...
change #listno 1
...
dountil '#io$key = RA'
...
case #listno
when = 1
display browselist(#list1)
...
userkeys((
...
8 'Right'))
...
when = 2
display browselist(#list2)
...
userkeys((
...
7 'Left')(
...
8 'Right'))
...
when = 3
display browselist(#list3)
...
userkeys((
...
7 'Left'))
endcase
...
case #IO$key
when = 07
change #listno (#listno - 1)
when = 08
change #listno (#listno + 1)
endcase
enduntil
The user can then use function key 7 (scroll left) or function key 8 (scroll right) to scroll left and right across the lists. The use of the same top-entry value for all 3 lists should ensure that the same page of the list is always displayed.