Funktion Mit der Table-Anweisung können Sie eine eigene Tabelle (SAP Table Control) hinzufügen. 
Beispiel Table (10,20) (16,84) name="proj" title="Projektübersicht rows=20

Hierdurch wird eine neue Tabelle mit der Überschrift "Projektübersicht" hinzugefügt. Die Spalten der Tabellen werden anschliessend durch Column-Anweisungen definiert.

Format Table (Zeile1,Spalte1) (Zeile2,Spalte2) name="mytable"   title="mytitle"  rows="rowcount" 

Eine neue Tabelle mit Überschrift "mytitle" wird hinzugefügt. Der interne Name ist "mytable". Die Gesamtzahl der Zeilen ist "rowcount". Die Anzahl der angezeigten Zeilen richtet sich nach der über die Koordinaten definierten Grösse.

 Column-Anweisungen werden automatisch der vorangehenden Table-Anweisung zugeordnet, falls nicht explizit dort mit Table= eine andere Tabelle angegeben ist.

Optionen
fixedcolumns= Anzahl der Spalten, die bei horizontalem Scrollen festgehalten werden
-rowselection Eine oder mehrere Zeilen der Tabelle können selektiert werden
-singlerowselection Eine Zeile der Tabelle kann selektiert werden
-columnselection Eine oder mehrere Spalten der Tabelle können selektiert werden
-singlecolumnselection Eine Spalte der Tabelle kann selektiert werden
Zuordnung der Variablen

 

Sowohl der Inhalt der Tabelle (Ein- und Ausgabe) als auch der Zustand (Blättern, Selektion von Zeilen und Spalten, Ändern von Spaltenbreiten oder Spaltenreihenfolge) wird in Variablen abgebildet, deren Namen jeweils mit dem gewählten Tabellennamen, z.B. "mytable", beginnt. Die Namen der Variablen für die Zelleninhalte beginnen mit "mytable.cell.", alle Statusvariablen beginnen mit "mytable.stat."

Inhalt der Tabellenzellen Jede Tabellenzelle wird durch eine Variable V[tabname.cell.columnname.row] repräsentiert. Beispiel: V[projects.cell.description.7] ist die 7. Zeile, Spalte "description" in der Tabelle "projects". Durch

Set V[projects.cell.*]  ""

können Sie den gesamten Inhalte der Tabelle zurücksetzen. Falls der Zustand (Blättern, Zeilenselektion,...) zurückgesetzt werden soll, verwenden Sie

Set V[projects.stat.*]  ""

oder für Inhalt und Zustand:

Set V[projects.*]  ""

 

Blättern Die Blätterfunktionen sind automatisch durch das SAP Table Control implementiert (Blättertasten, SAP-Ikonen, Scrollbar). Bei mehreren gleichzeitig angezeigten Tabellen beziehen sich die Blättertasten (Erste Seite, eine Seite vor/zurück, letzte Seite) auf die Tabelle, in der der Cursor steht, sonst auf die erste angezeigte Tabelle.

Die Variable V[tabname.stat.firstvisiblerow] enthält die Nummer der ersten angezeigten Zeile. Sie kann auch in einem Script verändert werden, um die Anzeige auf eine andere Zeile zu positionieren, zum Beispiel zur Implementierung einer Suchfunktion. Beispiel:

Set V[projects.stat.firstvisiblerow]   12

Dadurch wird die Tabelle ab Zeile 12 angezeigt. Wenn die Variable nicht gesetzt ist, wird der Wert 1 angenommen.

Die Variable V[tabname.stat.lastvisiblerow] enthält die Nummer der letzen angezeigten Zeile. Ihre Änderung in einem Script hat keine Auswirkungen.

 

Horizontales Blättern Horizontales Blättern durch die Spalten ist im SAP Table Control ebenfalls möglich. Die Variable V[tabname.stat.firstvisiblecolumn] enthält die Nummer der ersten angezeigten Spalte. Wenn die Variable nicht gesetzt ist, wird der Wert 1 angenommen.

Falls durch fixedcolumns= eine oder mehrere Spalten fixiert wurden, enthält V[tabname.stat.firstvisiblecolumn] die Nummer der ersten angezeigten Spalte innerhalb der scrollbaren Spalten, also z.B. bei 2 feststehenden Spalten mindestens die Nummer 3.

 

Reihenfolge der Spalten Die anfängliche Reihenfolge der Spalten ist durch die Reihenfolge der column-Anweisungen vorgegeben. Der Benutzer kann dann die Reihenfolge der Spalten verändern. Sie kann auch im Script dynamisch gesetzt werden. Die Variablen dazu heissen V[tabname.stat.columnnumber.columnname],  z.B. 
V[projects.stat.columnnumber.description].

 

Spaltenbreite Die anfängliche Breite der Spalten ist durch die width=  Angabe der column-Anweisungen vorgegeben. Der Benutzer kann dann die Breite der Spalten verändern. Sie kann auch im Script dynamisch gesetzt werden. Die Variablen dazu heissen V[tabname.stat.columnwidth.columname],  z.B. 
V[projects.stat.columnwidth.description].

 

Zeilenselektion Bei einer selektierten Zeile ist die Variable V[tabname.stat.rowselection.row] auf "X" gesetzt. Beispiel:

if  V[projects.stat.rowselection.1=X]

fragt ab, ob die Zeile 1 selektiert wurde. Die Selektion einer Zeile kann auch durch ein Script gesetzt werden.

 

Zeilen auf readonly setzen Um bei einzelnen Zeilen gezielt die Eingabebereitschaft wegzunehmen, setzen Sie die Variable
V[tabname.stat.rowreadonly.row] auf "X". Beispiel:

Set  V[projects.stat.rowreadonly.&V[i]] "X"

 

Spaltenselektion Bei einer selektierten Spalte ist die Variable V[tabname.stat.columnselection.columnname] auf "X" gesetzt. Beispiel:

if  V[projects.stat.columnselection.description=X]

fragt ab, ob die Spalte "description" selektiert wurde. Die Selektion einer Spalte kann auch durch ein Script gesetzt werden.

 

Drucktasten in Tabellenspalten Durch die column-Anweisung kann können in einer Tabellenspalte  Drucktasten dargestellt werden, die ein InputScript starten. Folgende Variablen sind dann gesetzt:

V[_tabrow]     Nummer der ausgewählten Zeile in der Tabellenanzeige, beginnend mit 1 für die erste gerade angezeigte Zeile

V[_tabrowabs] Absolute  Zeilennummer innerhalb der Tabelle

 

Suchhilfe (F4) in Tabellenspalten In der column-Anweisung können Sie den Tabellenspalten eine SAP-Suchhilfe zuordnen.

 

Cursorposition abfragen Mit folgenden Variablen kann die Cursorposition innerhalb der Tabelle abgefragt werden:

V[_cursortabname]     Titel der Tabelle (title=)

V[_cursortabtechname]     Technischer Name der Tabelle (name=)

V[_cursorcolname]     Spaltenüberschrift

V[_cursorcoltechname]     Technischer Name der Spalte

V[_tabcol]     Spaltennummer

V[_tabrow]  Zeilennummer in der Tabellenanzeige, beginnend mit 1 für die erste gerade angezeigte Zeile

V[_tabrowabs] Absolute  Zeilennummer innerhalb der Tabelle

V[_cursorrow]     Zeile, in der die Tabellenanzeige beginnt ("Zeile1" in Table-Anweisung)

V[_cursorcol]     Spalte, in der die Tabellenanzeige beginnt ("Spalte1" in Table-Anweisung)

 

Setzen des Cursors in eine Tabellenzelle Durch SetCursor cell[tabname,columnname,row], zum Beispiel

SetCursor  cell[project,Description,3]

Dabei ist die Zeilennummer die visuelle Zeilennummer in der Anzeige. Für columnname können Sie die Spaltenüberschrift oder den technischen Namen der Spalte verwenden.

Wenn Sie auf eine absolute Zeilennummer positionieren möchten, z.B. V[posrow], in Spalte "descr", geht das z.B. wie folgt:

if V[posrow<&V[xtab.stat.firstvisiblerow]] or V[posrow>&V[xtab.stat.lastvisiblerow]]
  Set V[xtab.stat.firstvisiblerow] &V[posrow]
  SetCursor cell[xtab,descr,1]
else
  Set V[relposrow] &V[posrow] - &V[xtab.stat.firstvisiblerow]
  Set V[relposrow] &V[relposrow] + 1
  SetCursor cell[xtab,descr,&V[relposrow]]
endif

 

Komponente GuiXT + InputAssistant