F-Script Funktion: XQRY

XQRY

Mit XQRY kann der Interpreter ein Query identifizieren. Dies erlaubt die Definition der Argumente eines Query-Requests.
Funktion
Parameter
Beschreibung
XQRY
Query-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-Objekt ohne Name bleibt so lange aktiv, bis ein neues Query-Objekt erzeugt wird, welches ebenfalls keinen Namen trägt.
Beispiel:
«XQRY(PosCheck:Parameter)» Objekt-Name = PosCheck
«XQRY(:Parameter)» Objekt ohne Name (default)
clear
Alle Argumente des Query-Objekts entfernen.
Achtung
Achtung
Wird ein XQRY mit demselben Namen mehrfach verwendet, dann müssen vor dem erneuten Setzen von Argumenten zuerst alle vorhandenen Argumente mit clear entfernt werden!
addArg=ArgumentWert
Das nächste Argument setzen.
addArg<VariablenName
Das nächste Argument aus einer Variable setzen.
arg,N=ArgumentWert
Das "n'te" Argument setzen.
arg,N<VariablenName
Das "n'te" Argument aus einer Variable setzen.
arg,N+VariablenName
Das "n'te" Argument aus einer Variable ergänzen.
arg,N
Das "n'te" Argument wird zurückgegeben
args
Anzahl Argumente zurückgeben.
execute
Der Service wird ausgeführt und das Resultat in einem Query-Result-Objekt (ohne Name) zurückgegeben. Diese Funktion gibt von sich selbst den Status ok (siehe XRES) zurück.
execute > Positionen
Wie execute oben. Das Resultat wird jedoch in einem Query-Result-Objekt mit dem angegebenen Namen (hier Positionen) zurückgegeben.
execute, Mandant-Nr,
Anwender-Nr,
UiMls-Spr-Nr,
Data-Spr-Nr,
User-Passwort
Wie execute oben. Jedoch mit zusätzlichen Parametern. Falls diese nicht gebraucht werden, kann man sie einfach leer lassen. Mit Mandant-Nr. ist es möglich, den Service im angegebenen Mandanten auszuführen. Ausserdem kann man den Anwender und die User- resp. Datensprache mitgeben.
Notiz
Notiz
Das mandantenübergreifende Ausführen eines Service ist nur mit einer korrekten Anwender-Nr. und Passwort möglich. Die Angabe von 0 oder leer, funktioniert in diesen Fällen nicht.
Beispiel eines Query-Requests
«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»

               
Folgendes Assembly muss für die Verschlüsselung des User-Passwortes verwendet werden:
\insyde\ServiceBus\Connectors\Opacc.ServiceBus.Connector.Biz.Df.dll
Siehe auch: Grundlagen - Mandantenübergreifend (Service und Result)