F-Script |
![]() |
NotizZur Verwendung in F-Scipt Blöcken siehe hier: XRES
|
Funktion
|
Parameter
|
Beschreibung
|
||||||||||||||
XRES
|
|
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 Result-Objekt ohne Name bleibt so
lange aktiv, bis ein neues Result-Objekt erzeugt bzw. abgefüllt
wird, welches ebenfalls keinen Namen
trägt.
Beispiel
# Objekt-Name = PosResultat «XRES(PosResultat:Parameter)» # Objekt ohne Name (default) «XRES(:Parameter)» |
||||||||||||||
|
ok
|
Wurde der Service erfolgreich ausgeführt?
0/1.
|
||||||||||||||
|
roType
|
Typ des Result-Objektes.
|
||||||||||||||
|
boType
|
BO-Typ wenn das Result-Objekt von einem Service
stammt. Sonst leer.
|
||||||||||||||
|
cols
|
Anzahl Spalten im Result-Objekt.
|
||||||||||||||
|
rows
|
Anzahl Zeilen im Result-Objekt.
|
||||||||||||||
|
mKey
|
Message-Key
|
||||||||||||||
|
mText
|
Message-Text
|
||||||||||||||
mTextFull
|
Gesamter Inhalt von MsgText.
(Alle Segmente,
nicht nur der eigentliche Text.)
|
|||||||||||||||
mTextLogMsg
|
Log-Message.
Eine Log-Message wird (in der
Regel) vom Service auch noch im jeweiligen Logfile
eingetragen.
|
|||||||||||||||
mTextUiMsg
|
UI-Message.
Eine UI-Message wird (schon durch
den Service selber) dem Anwender angezeigt.
|
|||||||||||||||
duration
|
Ausführungszeit in
ms.
Beispiel
«XRES(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
«XRES(myAddrText:AddrText.Text>textBlock)\A» |
||||||||||||||
|
Übergeben von Message-Text in eine
X-Variable.
XRES(myService:mText) XRES(myService:mTextFull) XRES(myService:mTextLogMsg) XRES(myService:mTextUiMsg) |
Beispiel
«XRES(myService: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 ist nur für den Service GetBo
gültig. Sie wird benötigt, wenn weitere BOs geholt werdenwerden,
bzw. ein "paging" durchgeführt werden soll.
Beschreiben
möchte ich hier im Speziellen den Parameter
StartPositionIstOben. Damit setzt der redo beim
ersten BO des vorherigen Resultates auf und bringt die nächsten
BOs 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.
|
||||||||||||||
|
redoData
|
Abfragen der Redo-Daten.
Syntax:
«XRES(<resultName>:redoData)»
|
||||||||||||||
|
MSG
|
SYS(MSG...) -Meldungen aus einem aufgerufenen F-Script
übernehmen.
Ausgangslage: Aus einem F-Script heraus wird
via System_RunScript ein weiteres F-Script ausgeführt. Das
aufgerufene F-Script liefert mittels SYS(MSG <Typ>
<Meldung>) Meldungen/Fehler.
Mit dem Befehl
«XRES(resultat:>MSG)» können Sie diese Meldungen in
das aufrufende F-Script übernehmen. Die Meldungen/Fehler aus dem
aufgerufenen F-Script werden dann zusammen mit denjenigen aus
dem aufrufenden F-Script ausgegeben.
|
«X(RequestName=GetBoAddr)» «XSER(req«X(RequestName)»:Biz.GetBo)» «XSER(req«X(RequestName)»:addArg=Addr)» «XSER(req«X(RequestName)»:addArg=1000)» «XSER(req«X(RequestName)»:addArg=ne)» «XSER(req«X(RequestName)»:addArg=1)» «XSER(req«X(RequestName)»:addArg=10)» «XSER(req«X(RequestName)»:addArg=)» «XSER(req«X(RequestName)»:addArg=)» «XSER(req«X(RequestName)»:addArg=Addr.Number,Addr.FullName)» «XSER(req«X(RequestName)»:addArg=)» «nXSER(req«X(RequestName)»:execute>res«X(RequestName)»)\A» # ------------------------------------------------------------------------------------------------------ «X(Log.Message =)» «nz XRES(res«X(RequestName)»:mText)\I»«.ST-BIZSERVICES.FS(/BIZ.Common.LogMessage)» «nz XRES(res«X(RequestName)»:mText)\I»«SYS(MSG ERROR «XRES(res«X(RequestName)»:mText)»)» «SYS(STOP)»