Funktion |
Mit der
CreateTable-Anweisung
können Sie eine GuiXT Tabellenvariable anlegen. |
Beispiel |
CreateTable
V[customers]
account name city country
Die Variable
V[customers]
wird als Tabellenvariable angelegt. Für jede Zeile
1,2,3... sind die Komponenten
V[customers.account.1] V[customers.name.1] V[customers.city]
V[customers.country.1]
V[customers.account.2] V[customers.name.2] ....
verfügbar.
|
Format |
CreateTable
V[tabname]
field1 field2 field3 ...
|
Erläuterung |
- Bei einem Zugriff mit einer nicht existierenden Komponente,
z.B.
V[customers.xxx.1],
erfolgt eine Syntaxfehlermeldung; bei dem Lesen nicht
existierenden Zeilen wird "" zurückgeliefert. Das Schreiben in
eine noch nicht existierende Zeile legt die betreffende Zeile automatisch
an, wobei alle anderen Komponenten sowie die dazwischenliegenden Zeilen
leer angelegt werden.
- Die Anzahl der
Tabellenzeilen steht in
V[tabname.rowcount],
die Anzahl der Spalten in
V[tabname.colcount].
- Die Anzahl der
Tabellenzeilen
V[tabname.rowcount]
kann auch direkt
Set verändert werden. Wenn Sie z.B.
eine sehr grosse Tabelle füllen, ist es schneller, als erstes die
Gesamtzahl der Tabellenzeilen zu setzen und dann die Werte
einzutragen.
- Auf den Namen
einer Spalte z.B. Spalte 3 kann über
V[customers.colname.3]
zugegriffen werden.
-
Bei
Clear
V[tabname]
werden alle Zeilen gelöscht und
V[tabname.rowcount]auf
0 gesetzt
-
Optional kann für
z.B.
V[customers.account.1]
auch die Notation
V[customers.cell.account.1]
benutzt werden, was zur Kompatibilität mit der bei der Anzeige
einer Tabelle mit
Table
benutzten Notation
unterstützt wird.
- Alle bei der Anzeige einer Tabelle mit
Table
benutzten Statusvariablen
V[tabname.stat. ...1]
behalten
bei CreateTable
ihren Wert.
Bei Bedarf kann man sie mit
Clear
V[tabname.stat*]
initialisieren.
-
Die String-Darstellung
"&V[tabname]"
erzeugt ein mit der JavaScript-Notation von Objekten
kompatibles "JSON"-Format. Beispiel:
Set
V[customers.account.1]
"1000" Set
V[customers.name.1]
"M&S GmbH"
Set
V[customers.account.4]
"2000" Set
V[customers.name.4]
"ABC GmbH"
Für
&V[customers] wird dann folgender String eingesetzt: [{"account": "1000", "name": "M&S GmbH", "city": "", "country": ""},
{"account": "", "name": "", "city": "", "country": ""}, {"account":
"", "name": "", "city": "", "country": ""}, {"account": "2000",
"name": "ABC GmbH", "city": "", "country": ""}]
- Mit der gleichen Notation kann man der Tabelle insgesamt einen Wert
zuweisen
- Für grössere Datenmengen bei der Ausgabe einer Tabelle im
JSON-Format sowie bei der Zuweisung sollten GuiXT Langtextvariablen
und die Anweisungen
CopText
...fromTable= ...
-json
sowie
CopText
...toTable=... JSON
verwendet werden
|
Zusatzoptionen |
include= |
Angabe
einer anderen Strukturvariablen oder Tabellenvariablen,
deren Komponenten übernommen werden. Beispiel:
CreateStructure
V[customer]
account name city country CreateTable
V[tab1]
include=V[customer]
CreateTable
V[tab2]
include=V[customer]
Die
include=
Option kann auch mehrfach verwendet werden.
|
|
Weitere
Anweisung für Tabellenvariablen |
DeleteTable |
Löscht die Tabellenvariable (Inhalte und Struktur) |
Clear |
Löscht die Zeilen der Tabellenvariablen, behält die Struktur |
ReadRow |
Überträgt die Inhalte einer Tabellenzeile in eine
Strukturvariable |
UpdateRow |
Überträgt die Inhalte einer Strukturvariablen in eine
Tabellenzeile |
AppendRow |
Fügt
eine Tabellenzeile hinzu und überträgt die Inhalte einer
Strukturvariablen in diese Zeile |
InsertRow |
Fügt
eine Tabellenzeile an einer gewünschten Position hinzu und überträgt die Inhalte einer
Strukturvariablen in diese Zeile |
DeleteRow |
Löscht
eine Tabellenzeile |
Sort |
Sortiert die Zeilen der Tabellenvariablen |
CopyText |
mit
den Zusätzen
toTable=
und
fromTable=
Kopiert eine Tabellenvariable in eine
Langtextvariable und umgekehrt |
Call |
Bei Aufruf eines Funktionsbausteins über RFC können
Tabellenvariablen bei
export= und
import=
angegeben werden.
Nur die namensgleichen Spalten werden dann aus der Tabelle des
Funktionsbausteins bzw. in diei Tabelle des Funktionsbausteins
übertragen. |
|
Zu beachten |
Maximale
Spaltenanzahl |
In
einer einzelnen
CreateTable
Anweisung sind bis zu 60 Spalten direkt angebbar. Falls Sie mehr
Spalten benötigen, bitte mit
include=
aufteilen. Beispiel mit 80 Spalten:
CreateStructure
V[s1]
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10
CreateStructure
V[s2]
f11 f12 f13 f14 f15 f16 f17 f18 f19 f20
CreateStructure
V[s3]
f21 f22 f23 f24 f25 f26 f27 f28 f29 f30
CreateStructure
V[s4]
f31 f32 f33 f34 f35 f36 f37 f38 f39 f40
CreateStructure
V[s5]
f41 f42 f43 f44 f45 f46 f47 f48 f49 f50
CreateStructure
V[s6]
f51 f52 f53 f54 f55 f56 f57 f58 f59 f60
CreateStructure
V[s7]
f61 f62 f63 f64 f65 f66 f67 f68 f69 f70
CreateStructure
V[s8]
f71 f72 f73 f74 f75 f76 f77 f78 f79 f80
CreateTable
V[mytab]
include=V[s1]
include=V[s2]
include=V[s3]
include=V[s4]
include=V[s5]
include=V[s6]
include=V[s7]
include=V[s8] |
|
Beispiele |
Zahlreiche Beispiele finden Sie in den "Tips,Tricks & Samples" im
Abschnitt "Table variables"
|
Komponente |
GuiXT +
InputAssistant |