F-Script |
Funktion
|
Parameter
|
Beschreibung
|
||||||||||||||
XQRS
|
|
Query-Result-Objekt. Man kann mehrere solche Objekte
gleichzeitig definieren und aktiv halten. Die Unterscheidung
dieser Objekte geschieht über deren Namen. Der Name kann auch
leer gelassen werden. Ein Query-Result-Objekt ohne Name bleibt
so lange aktiv, bis ein neues Query-Result-Objekt erzeugt bzw.
abgefüllt wird, welches ebenfalls keinen Namen
trägt.
Beispiel
# Objekt-Name = PosListe «XQRS(PosListe:Parameter)» # Objekt ohne Name (default) «XQRS(:Parameter)» |
||||||||||||||
|
ok
|
Wurde der Service erfolgreich ausgeführt?
0/1.
|
||||||||||||||
|
cols
|
Anzahl Spalten im Query-Result-Objekt.
|
||||||||||||||
|
rows
|
Anzahl Zeilen im Query-Result-Objekt.
|
||||||||||||||
|
mKey
|
Message-Key
|
||||||||||||||
|
mText
|
Message-Text
|
||||||||||||||
duration
|
Ausführungszeit in
ms.
Beispiel
«XQRS(myService:duration)» |
|||||||||||||||
|
Zusatzinformation: Die erste Spalte und die erste
Zeile im Resultat tragen die Nummer 1.
|
|||||||||||||||
|
col, SpaltenNr
|
Spalten-Name der Spalte mit
SpaltenNr.
|
||||||||||||||
|
SpaltenNr
|
Attribut-Wert in dieser Spalte (Zeile 1)
|
||||||||||||||
|
SpaltenNr , ZeilenNr
|
Attribut-Wert in dieser Spalte auf dieser
Zeile.
|
||||||||||||||
|
SpaltenName
|
Attribut-Wert in dieser Spalte (Zeile 1)
|
||||||||||||||
|
SpaltenName,ZeilenNr
|
Attribut-Wert in dieser Spalte auf dieser
Zeile.
|
||||||||||||||
|
... > VariablenName
|
Attribut-Wert direkt einer Variablen zuweisen. Das ist
vor allem bei Werten wichtig, welche mehr als 255 Zeichen
beinhalten. (Meist
Textblöcke)
Beispiel
«XQRS(myAddrText:AddrText.Text>textBlock)\A» |
||||||||||||||
|
Übergeben von Message-Text in eine
X-Variable.
XQRS(myQuery:mText) |
Beispiel
«XQRS(myQuery:mText>MyVariable)» |
||||||||||||||
|
SpaltenNr/Name,ZeilenNr,...
|
Falls an der entsprechenden Stelle ein Textblock
steht, können bei der Ausgabe dieses Attribut-Wertes nach der
ZeilenNr folgende Parameter verwendet werden:
(Es
handelt sich hier um die üblichen Textblock Parameter)
Bei der Ausgabe mit ...\N» , wird die Anzahl
Zeilen des Textblockes zurückgegeben.
Die Funktion
«READ(ZeilenNr)» steht ebenfalls zur
Verfügung.
|
||||||||||||||
|
redo
|
Der Service wird erneut ausgeführt und das Resultat
hier in diesem Result-Objekt zurückgegeben. Diese Funktion gibt
von sich selbst den Status ok zurück.
|
||||||||||||||
|
redo,
SuchOperation,
StartPositionIstOben,
AnzahlBOs
|
Diese Funktion wird benötigt, wenn weitere Rows geholt
werden, bzw. ein "paging" durchgeführt werden
soll.
Beschreiben möchte ich hier im Speziellen den
Parameter StartPositionIstOben. Damit setzt der
redo bei der ersten Row des vorherigen Resultates auf und
bringt die nächsten Rows ab dort. Dass kann z.B. hilfreich sein,
wenn im Result-Objekt an erster Stelle ein BO steht ab dem man
eine bestimmte Anzahl weiterer BOs auslesen will. (Wobei zu
beachten ist, dass je nach Konstellation einzelne BOs schon beim
ersten Mal gelesen wurden.)
Falls die zusätzlichen
Parameter nicht gebraucht werden, kann man sie leer
lassen.
Die Möglichkeiten bzw. die Logik entspricht dabei
1:1 derjenigen von XRES im Zusammenhang mit GetBo.
|
||||||||||||||
|
redoData
|
Abfragen der Redo-Daten.
Syntax:
«XQRS(<resultName>:redoData)»
|
«XQRY(req«X(RequestName)»:clear)» «XQRY(req«X(RequestName)»:addArg=Main=Addr)» «XQRY(req«X(RequestName)»:addArg=MaxRows=1)» «XQRY(req«X(RequestName)»:addArg=Filter=Addr.Number=2020)» «XQRY(req«X(RequestName)»:addArg=Columns=Addr.Number,Addr.FullName)» «nXQRY(req«X(RequestName)»:execute>res«X(RequestName)»)\A» # ------------------------------------------------------------------------------------------------------ «nz XQRS(res«X(RequestName)»:rows)=0\N»«GOTO(/)»