Grundlagen

Arbeiten mit Services

Anhand des nachfolgenden F-Script-Beispiels wird das Arbeiten mit Services näher erklärt.
# Service GetBo definieren. Name des Service-Objektes im Script = MyAddr1
«XSER(MyAddr1:GetBo)»

# Argumente für den Service festlegen.
# Hier werden mit * alle Attribute geholt.
«XSER(MyAddr1:args=Addr,1055,e,1,,,,*,)»

# Service ausführen. Das BO welches geholt wird, wird im Result-Objekt MyAddrRes1 gespeichert.
# Das Result-Objekt wird auf diese Weise automatisch erzeugt.
«XSER(MyAddr1:execute>MyAddrRes1)\A»

# Auf die Attribute des Objektes kann mit der normalen Syntax zugegriffen werden.
«Out(«XRES(MyAddrRes1:Addr.LastName)\A»)»

# Dem Service wird nun eine andere Adress Nr. zugewiesen.
# Danach wird er erneut ausgeführt.
«XSER(MyAddr1:args=Addr,1007,e,1,,,,*,)»
# Service ausführen. Das BO welches geholt wird, wird im Result-Objekt MyAddrRes2 gespeichert
«XSER(MyAddr1:execute>MyAddrRes2)\A»

# Auf die Attribute des Objektes kann mit der normalen Syntax zugegriffen werden.
«Out(«XRES(MyAddrRes2:Addr.LastName)\A»)»
«Out(«XRES(MyAddrRes2:Addr.City)\A»)»
Es ist wichtig, dass die Argumente eines Service in der korrekten Reihenfolge angeordnet werden. Diese Reihenfolge sehen Sie in der OpaccOXAS LiveDocumentation. Um Services welche man in ein F-Script integrieren will einfach testen zu können, bietet es sich an, die LiveDocumentation parallel zum F-Script Editor offen zu halten.
Gestartet wird die LiveDocumentation aus dem Verzeichnis \insyde\ui\OXAS.LiveDoc\ über OXAS.LiveDoc.hta oder OXAS.LiveDoc.htm

Beispiel

Beispiel eines Service in der LiveDocumentation
LiveDocumentation.jpg
Derselbe Service in F-Script
/headerreport
«XSER(getAddr:GetBo)»
«XSER(getAddr:addArg=Addr)»
«XSER(getAddr:addArg=Aarpol)»
«XSER(getAddr:addArg=ne)»
«XSER(getAddr:addArg=2)»
«XSER(getAddr:addArg=3)»
«XSER(getAddr:addArg=)»
«XSER(getAddr:addArg=)»
«XSER(getAddr:addArg=Addr.LastName,Addr.City)»
# Virtuelles Attribut hinzufügen
«XSER(getAddr:addArg=myAttr=Addr.Number+" - "+Addr.Zip+" "+Addr.City)»
# Service ausführen
«XSER(getAddr:execute>getAddrRes)»
/