Designing Tables

Design of Tables or Lists for Making Selections

In general, it is possible to create one- and multiple-line tables. But: We recommend to avoid multiple-line tables

  • by transferring these to several one-line tables or
  • by providing only one data row, with further data being displayed on a "normal" template by choosing of a table entry.

In the following discussion we are only talking about one-line tables.

For displaying table-like structure there are two techniques which can be used by developers

  • the table control
  • the SAP List Viewer (ALV) components preferable the ALV grid control which replaces the table control more and more

The ALV Grid Control

Figure 1: The ALV grid control with it's adaptable toolbar

The ALV components were developed under consideration and observance of all the guidelines concerning lists and tables. For a description and some examples about the ALV components see the transaction LIBS and the reuse library (transaction SE83). If you use the ALV components you will be on the safe side concerning the guidelines of designing tables.

Selecting Objects in Tables

Terms

  • Objects: Objects of a table are the screen elements that the user can select and edit. Typical objects of a table are individual cells, entire lines or an entire column. "A line" here means an entire logical line that is both physical lines for double-spaced tables.
  • Select/Deselect: To "select" an object means to "activate" an object for further processing. The selected object will be affected by any action the user initiates subsequently. For example, if the user chooses the function Delete the object will be deleted. The term for cancelling a selection is "deselect". Usually the selected object is highlighted, but see for exceptions below!
  • Single vs. Multiple Selection: If only one item is involved, we talk about "single selection". If several items are involved, we talk about "multiple selection".

General Guidelines for Making Selections

Explicit Selection and Deselection

  • With the Keyboard: The user positions the active control indicator on the desired object and presses the Select key.
  • With the Mouse: The user positions the mouse pointer on an object and presses the mouse button.

The selection state of the entire object changes: If the object is not selected, it is selected now and vice versa.

Automatic Selection

Sometimes it is more efficient to select an object by positioning the cursor on it. With character-specific user interfaces, the selection is indicated merely by the cursor position. On graphical user interfaces, the mouse-based automatic selection also has to be linked with the display of the selection state.

  • With the Keyboard: The user positions the cursor on the required object. The object is thereby selected (currently merely by the position of the cursor).
  • With the Mouse: Automatic mouse selection is identical to explicit mouse selection.

The user can now directly execute an action on an object or select further objects, if multiple selection is possible.

Priority of the Principles

Explicit selection is the basic selection method and has priority over automatic selection. It must always be supported for both the keyboard and the mouse. You can replace explicit selection by automatic selection, if appropriate.

Cursor-based automatic selection in a table is only possible, if the user has not explicitly selected an object. If the user positions the mouse pointer on an explicitly selected object and presses the mouse button, the object in question is deselected and not automatically selected.

Indicating Selection

Selected objects have to be visually distinguishable from non-selected objects. In the R/3 System, selected objects currently must have the attribute "highlighted". However, currently selection with a single mouse click is not supported locally; therefore selection may only be indicated by cursor position.

Positioning the Cursor

If only the table is displayed on a screen, or if it is its main element, you should position the cursor automatically on the first object when the screen is first displayed.

If the user has branched from a table to the details of a line and then returns to the table, position the cursor on the object of which the user has last viewed the details.

 

 top top

Source:  SAP R/3 Style Guide