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_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.

  • No labels