10.5 Left to Right Scrolling / "Subfile" Folding

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.