Funktion
|
Parameter
|
Beschreibung
|
XCNT
|
|
Information über den Kontext in welchem das Script
läuft.
|
|
busActive
|
Ist der Zugang zum BUS möglich? 0/1
|
|
boTypes
|
Alle BO-Typen durch Komma getrennt oder
leer.
|
|
<BoType>
|
BoId des abgefragten BO-Typ oder leer.
# Beispiel: «XCNT(Addr)\A» # Liefert die Adress Nr. (BoId) des BO-Typ Addr (Adresse), # sofern dieser BO-Typ im Kontext aktiv ist. Weitere Infos siehe
hier:
|
|
Informationen zum F-Script basierend auf den
Subroutinen /GetInfoScriptArg und /GetInfoScriptCol
|
|
|
arg:ScriptName
|
Name des aktiven F-Script.
|
|
arg:PrinterNo
|
Nummer des Druckers bzw. Nummer der Druckersteuerung
deren Einstellungen verwendet werden.
|
|
arg:OutputTypeCd
|
Ausgabetyp:
|
|
arg:OutputDevice
|
Name des Ausgabe-Device (Drucker oder
Dateiname).
|
|
arg:NumberOfCopies
|
Anzahl Exemplare.
|
|
arg:PrintCollate
arg:PrintCollate=n
|
Collation-Einstellung
Abfragen bzw. Setzen der
Collation-Einstellung. Mögliche Werte:
|
|
arg:PrintFromPage
arg:PrintFromPage=n
|
Seite von
Abfragen bzw. Setzen der Seite
von.
|
|
arg:PrintToPage
arg:PrintToPage=n
|
Seite bis
Abfragen bzw. Setzen der Seite
bis.
|
|
arg:PrintAsPdf
|
Ausgabe als PDF.
|
|
arg:DuplexModeCd
arg:DuplexModeCd=n
|
Duplex-Modus
Abfragen bzw. Setzen des
Duplex-Modus. Über den Duplex-Modus wird die beidseitige
Druckausgabe bestimmt.
|
|
arg:ImageDpi
arg:ImageDpi=n
|
Bild-DPI
Abfragen bzw. Setzen der Auflösung
(DPI) für die Ausgabe von Bildern. Möglicher Wertebereich: 1 -
9999.
0 = Default (72 DPI). Der Defaultwert 0 wird
berücksichtigt, sobald bei der Bild-Qualität ein Wert > 0
erfasst ist.
|
|
arg:ImageQuality
arg:ImageQuality=n
|
Bild-Qualität
Abfragen bzw. Setzen der
Bild-Qualität (in %) für die Ausgabe von Bildern. Möglicher
Wertebereich: 1 - 100.
0 = Default (50%). Der Defaultwert
0 wird berücksichtigt, sobald bei Bild-DPI ein Wert > 0
erfasst ist.
|
|
arg:BackgroundPdfModeCd
arg:BackgroundPdfModeCd=n
|
Abfragen bzw. Setzen des Hintergrund-PDF
Modus.
|
|
arg:BackgroundPdfFirstPage
arg:BackgroundPdfLastPage
arg:BackgroundPdfOtherPages
|
Abfragen der aktuellen Hintergrund-PDF
Einstellungen.
|
|
arg:BackgroundPdfFirstPage=...
arg:BackgroundPdfLastPage=...
arg:BackgroundPdfOtherPages=...
|
Setzen/Übersteuern der Hintergrund-PDF
Einstellungen.
# Beispiel «XCNT(arg:BackgroundPdfFirstPage=IP\BRIEFPAPIER.PDF)» |
|
arg:LangNo
|
Sprachnummer
|
|
arg:BoType
|
BO-Typ gemäss des System_RunScript Aufrufs (z.B.
AsstDoc).
|
|
arg:BoId
|
BoId gemäss des System_RunScript Aufrufs.
|
|
arg:BoOrganizerCd
|
Business-Object-Organizer
|
Freie Argumente und Attribute (basierend auf den
Subroutinen /GetInfoScriptArg und /GetInfoScriptCol)
|
||
|
freeArgCount
|
Anzahl der Argumente basierend auf der Subroutine
/GetInfoScriptArg
|
|
freeArg:<n>
|
Argument über dessen Nummer abfragen.
Liefert
den vom Anwender eingegebenen Wert bzw. den im Script
definierten Defaultwert zurück.
|
|
freeArg:<Name>
|
Argument über dessen Name abfragen.
Liefert den
vom Anwender eingegebenen Wert bzw. den im Script definierten
Defaultwert zurück.
|
|
freeArg:myArg>myVar
|
Direkte Übergabe eines Arguments in eine
X-Variable.
Diese Funktionalität ist insbesondere beim
Handling von Textblöcken mit mehr als 4096 Zeichen
hilfreich.
Beispiele
«nXCNT(freeArg:MyArg1>MyXVar)» «nXCNT(freeArg:1>MyXVar)» |
|
colCount
|
Anzahl Attribute (Spalten) basierend auf der
Subroutine /GetInfoScriptCol
|
|
colName:<n>
|
Name des Attributs über dessen Nummer
abfragen.
|
|
colNo:<Name>
|
Nummer des Attributs über dessen Name
abfragen.
|
|
colType:<n>
|
Datentyp des Attributs über dessen Nummer
abfragen.
|
|
colType:<Name>
|
Datentyp des Attributs über dessen Name
abfragen.
|
|
colActive:<n>
|
Status (aktiv/passiv) des Attributs über dessen Nummer
abfragen.
|
|
colActive:<Name>
|
Status (aktiv/passiv) des Attributs über dessen Name
abfragen.
|
|
scriptExecution=0|1
|
Setzen des F-Script Execution Mode.
0 - Setzt
die F-Script Ausführung für die Laufzeit des F-Scrpts auf 0 -
Legacy.
1 - Setzt die F-Script Ausführung für die
Laufzeit des F-Scripts auf 1 - Restricted.
Siehe
Interpretieren
von F-Script Befehlszeichen in Textblöcken für
Details.
|
|
scriptStopOnError
scriptStopOnError=0|1
|
Abfragen der aktuellen Einstellung.
0 - Setzt
zur Laufzeit des F-Scripts den Abbruch im Fehlerfall auf
false/nein. Die Einstellung gilt auch für allfällig aufgerufene
Sub-Scripts.
1 - Setzt zur Laufzeit des F-Scripts den
Abbruch im Fehlerfall auf true/ja. Die Einstellung gilt auch für
allfällig aufgerufene Sub-Scripts.
|
|
consumer:WindowsUser
consumer:WindowsDomain
consumer:Computer
consumer:Process
|
Informationen zu Windows-Benutzer, -Domäne,
Computername und Prozess.
|
Funktion
|
Parameter
|
Beschreibung
|
||
XSER
|
|
Service-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 Service-Objekt ohne Name bleibt so
lange aktiv, bis ein neues Service-Objekt erzeugt wird, welches
ebenfalls keinen Namen
trägt.
Beispiel:
«XSER(PosLesen:Parameter)»
Objekt-Name = PosLesen
«XSER(:Parameter)» Objekt
ohne Name (default)
|
||
|
ServiceName,Arg1,Arg2,...
|
Ein Service-Objekt wird "auf einen Schlag" definiert.
d.h. Der Name des Service-Objektes und alle notwendigen
Argumente des Service werden in einer Zeile beim definieren des
Service-Objektes mitgegeben.
|
||
|
ServiceName
|
Der Name des Service-Objektes wird
gesetzt.
|
||
|
args = Arg1,Arg2,...
|
Alle Argumente des Service-Objektes auf ein Mal
setzen.
|
||
|
arg,N = ArgumentWert
|
Das "n'te" Argument setzen.
|
||
|
arg,N < VariablenName
|
Das "n'te" Argument mit dem Inhalt der Variable
setzen.
(Variable: siehe Funktion X)
|
||
|
arg,N + VariablenName
|
Das "n'te" Argument mit dem Inhalt der Variable
ergänzen.
(Variable: siehe Funktion X)
|
||
|
addArg = ArgumentWert
|
Das nächste Argument setzen. Muss benutzt werden, wenn
das Argument selber Kommas enthält.
|
||
|
addArgs = Arg1,Arg2,...
|
Die nächsten Argumente setzen.
|
||
|
name
|
Der Name des Service-Objektes wird
zurückgegeben.
|
||
|
args
|
Alle Argumente werden, mit Komma getrennt,
zurückgegeben.
|
||
|
arg,N
|
Das "n'te" Argument wird zurückgegeben.
|
||
|
execute
|
Der Service wird ausgeführt und das Resultat in einem
Result-Objekt (ohne Name) zurückgegeben. Diese Funktion gibt von
sich selbst den Status ok (siehe XRES)
zurück.
Beispiel
«nXSER(requestName:execute)\A» |
||
|
execute,
Mandant-Nr,
Anwender-Nr,
UiMls-Spr-Nr,
Data-Spr-Nr,
Verschlüsseltes
Passwort
|
Wie execute oben. Jedoch mit zusätzlichen Parametern.
Falls einzelne Parameter nicht gebraucht werden, kann man sie
einfach leer lassen.
Beispiel
«nXSER(requestName:execute,69,123456,51,1,024LHhbmAWOiFMOYCmIo1GpXA==7Jfl5DtvD9hu7Qh/YNOUSg==)\A» |
||
XSER mit expliziter Impersonation.
|
execute,
Mandant-Nr,
Impersonator>ImpersonateAs,
UiMls-Spr-Nr,
Data-Spr-Nr,
Verschlüsseltes
Passwort von Impersonator
|
Wie execute oben. Jedoch mit expliziter
Impersonation.
Beispiel
... # Beispiel für explizite Impersonation in einem F-Script via XSER: # - Benutzer 73 (Impersonator) muss Administrator sein (Administrator-Stufe >0). # - Benutzer 77 (ImpersonateAs) muss Impersonation erlauben. «nXSER(reqGetBo:execute,1,73>77,51,1,passwordOfUser73>resGetBo)\A» ... |
||
|
execute > resultName
|
Wie execute oben. Das Resultat wird jedoch in
einem Result-Objekt mit dem angegebenen Namen (hier im Beispiel:
resultName)
zurückgegeben.
Beispiele
«nXSER(requestName:execute>resultName)\A» «nXSER(requestName:execute,69,123456,51,1,024LHhbmAWOiFMOYCmIo1GpXA==7Jfl5DtvD9hu7Qh/YNOUSg==>resultName)\A» |
||
|
execute > XFAS
|
Wie execute oben. Das Resultat wird dabei einem
eigenen Result-Objekt (XFAS) übergeben.
Auf diese Weise
können Sie das gesamte Resultat an den Aufrufer (z.B.
System_RunScript oder WebService) zurückgeben, ohne dass dabei
durch die einzelnen Zeilen des Resultats iteriert werden
muss.
Beispiele
«nXSER(requestName:execute>XFAS)\A» «nXSER(requestName:execute,69,123456,51,1,024LHhbmAWOiFMOYCmIo1GpXA==7Jfl5DtvD9hu7Qh/YNOUSg==>XFAS)\A» |
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.
|
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.
|
||
|
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.
|
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)»
|
Funktion
|
Parameter
|
Beschreibung
|
||||||||||||||
X
|
|
X als Befehl resp. Funktion dient dazu Variablen oder
Werte zwischenzuspeichern. Man kann hinter das X einen
beliebigen Namen setzen, was die Identifikation der Variablen im
Sourcecode sehr vereinfacht.
|
||||||||||||||
|
VariablenName = Wert
|
Die Variable wird definiert und gleichzeitig wird ihr
ein Wert
zugewiesen.
Beispiel
«X(LetzteAdrNr=1267)»
|
||||||||||||||
|
VarName < VarName
|
Der Inhalt einer Variable wird einer anderen Variable
zugewiesen.
Beispiel
«X(newText<textToSave)»
|
||||||||||||||
|
«(assign(<variable>,
<Expression>))\E»
|
Der Inhalt einer Variable wird einer anderen Variable
zugewiesen. Der Befehl assign verhindert dabei das
Expandieren der Variable welche zugewiesen werden
soll.
Mit diesem Befehl ist es möglich, mit X-Variablen zu
arbeiten die mehr als 4096 Zeichen
enthalten.
Beispiel:
# --------------------------------------------------- # Initialisieren der Variablen «X(Summe=)» «X(Wert1=123)» «X(Wert2=456)» # --------------------------------------------------- # Verketten von X-Variablen (String) «(assign(Summe, Wert1 + Wert2))\E» # Ausgabe: Resultat der String-Verkettung: «X(Summe)» # --------------------------------------------------- # Addition von X-Varialblen (integer «(assign(Summe, integer(Wert1) + integer(Wert1)))\E» # --------------------------------------------------- # Ausgabe: Resultat der Addition: «X(Summe)\N» |
||||||||||||||
|
VarName + VarName
|
Eine Variable wird um den Inhalt einer anderen
Variable
ergänzt.
Beispiel
«X(newText+moreText)»
|
||||||||||||||
|
VarName, TextParameter
|
Falls in der Variable ein Textblock steht, können bei
der Ausgabe dieser Variable 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.
Beispiel
«X(myAddrText,W80)»
|
||||||||||||||
|
VariablenName
|
Die Variable wird abgefragt und der darin abgelegte
Wert wird
zurückgegeben.
Beispiel
«X(LetzteAdrNr)»
|
||||||||||||||
|
|
|||||||||||||||
|
«READ(<Kanal>:MEM>XVarName)»
|
Daten welche mit dem READ-Befehl gelesen werden,
können direkt einer X-Variable zugewiesen werden. Dabei sind
auch Zuweisungen von mehr als 4096 Zeichen
möglich.
Beispiele
# Puffer auslesen: «READ(<Kanal>:MEM>XVarName)» # Puffer auslesen bis zum nächsten Trennzeichen: «READ(<Kanal>:MEM>XVarName -<Trennzeichen>)» # Anzahl Zeichen ab Position aus Puffer lesen: «READ(<Kanal>:MEM>XVarName <Anzahl Zeichen>,<Position>)» «nz ADR-ACTIVE(2020)\I» «nm1KUNDEN-BEM(1)\N» «REPEAT» «nNO(1)» «READ(«NO(1,0)»>TextBlock)» «X(TextBlock)» «nz NO(1,0)<«MEM(1)\N»\N»«LOOP» |
«X(MyVar=Dies ist ein "F-Script")» # Inhalt der Variable ausgeben (wie bisher) «X(MyVar)» # Expression auf die Variable anwenden (neu): «(length(MyVar))\E»
![]() |
WichtigBeachten Sie, dass die Anwendung dieser Funktionalität
ist nur möglich ist, solange das Resultat weniger als 4096 Zeichen
umfasst.
Wird ohne Expand gearbeitet, d.h. nur mit dem
Variablennamen, dann kann auch mit Resultaten (Strings) gearbeitet werden
die mehr als 4096 Zeichen umfassen.
|
Funktion
|
Parameter
|
Beschreibung
|
X(<LIB)
|
|
|
|
«X(<LIB:meinelibrary.lb)»
|
Automatisches Erzeugen von X-Variablen basierend auf
einer F-Script Library.
|
![]() |
WichtigEnthalten die
Library-Einträge F-Script-Befehle, werden diese erst bei der Verwendung
der X-Variable ausgewertet!
Beispiel
VerMA|Verantwortlich: «VORNAME(«ADRNR»)» «NAME(«ADRNR»)» Da
die Adresse erst zur Laufzeit der Verwendung der X-Variable ausgewertet
wird, ist sicherzustellen, dass zu diesem Zeitpunkt auch die richtige
Adresse aktiv ist.
Beispiel: Aktive Adresse = 1000 Vorname der Adresse 1000: Heinz Nachname der Adresse 1000: Huber «X(VerMA)» ergibt: Heinz Huber |
Funktion
|
Parameter
|
Beschreibung
|
||
XARR
|
|
Definieren von Arrays mit beliebigen
Namen.
|
||
|
varName
|
Anzahl Elemente eines Array. Gibt 0 zurück, wenn der
Array nicht definiert ist.
Syntax:
«XARR(myArray)»
|
||
|
varName=
|
Erstellen eines neuen leeren Array bzw. bestehenden
Array zurücksetzen/leeren.
Syntax:
«XARR(myArray=)»
|
||
|
varName<ArrayName
|
Array basierend auf einem anderen Array
erstellen/überschreiben. Der Befehl gibt die Anzahl Elemente des
neuen Array zurück.
Syntax:
«XARR(myArrayNew<myArrayOld)»
|
||
|
varName+value
|
Hinzufügen eines Elements zu einem bestehenden Array.
Der Befehl gibt die neue Anzahl Elemente des Array
zurück.
Syntax: «XARR(myArray+Hallo Welt)»
|
||
|
varName+<xVarName
|
Hinzufügen eines Elements zu einem bestehenden Array.
Dabei ist das Element welches hinzugefügt werden soll in einer
X-Variable gespeichert. Der Befehl gibt die neue Anzahl Elemente
des Array zurück.
Syntax:
«X(myStringVar=Hallo Welt)» «XARR(myArray+<myStringVar)» |
||
|
varName[oneBasedIndex]
|
Auslesen eines bestimmten
Array-Elements.
Syntax: «XARR(myArray[3])»
|
||
|
varName[oneBasedIndex]>xVarName
|
Speichern eines bestimmten Array-Elements in einer
X-Variablen.
Syntax: «XARR(myArray[4]>myVar)»
«X(myVar)»
|
||
|
varName[oneBasedIndex]=value
|
Setzen eines bestimmten Array-Elements. Der Befehl
gibt die neue Anzahl Elemente des Array zurück.
Syntax:
«XARR(yArray[5]=Hallo Welt)»
|
||
|
varName[oneBasedIndex]<xVarName
|
Setzen eines bestimmten Array-Elements. Dabei ist das
Element welches gesetzt werden soll in einer X-Variable
gespeichert. Der Befehl gibt die neue Anzahl Elemente des Array
zurück.
Syntax: «X(myVar=Hallo Welt)»
«XARR(myArray[6]<myVar)
|
||
|
varName[oneBasedIndex]+value
|
Ergänzen eines bestimmten Array-Elements. Der Befehl
gibt die Anzahl Elemente des Array zurück.
Syntax:
«XARR(myArray[5]+Hallo Mars)»
|
||
|
varName[oneBasedIndex]-
|
Löschen eines bestimmten Array-Elements. Der Befehl
gibt die Anzahl Elemente des Array zurück.
Syntax:
«XARR(myArray[5]-)»
|
# Array initialisieren (löschen) «nXARR(personen=)» # ------------------------------------------------------------------------------------------------------ # X-ARRAY initialisieren und Elemente hinzufügen «nXARR(entwickler=)» «nXARR(entwickler+Ueli Amstutz,)» «nXARR(entwickler+Hans Muster,)» # X-ARRAY entwickler in X-ARRAY personen speichern «nXARR(personen<entwickler)» # ------------------------------------------------------------------------------------------------------ # Element hinzufügen: «nXARR(personen+Roman Vonwil,Scripter/Tester)» # ------------------------------------------------------------------------------------------------------ # Element aus X-Variable hinzufügen: «nX(person=Martin Schild,Quality Manager/Tester)» «nXARR(personen+<person)» # ------------------------------------------------------------------------------------------------------ # Wert des 1. Elements ergänzen: «nXARR(personen[1]+Entwickler OXAS)» # ------------------------------------------------------------------------------------------------------ # Wert des 5. Elements setzen: «nXARR(personen[5]=Stefan Egli,Entwickler BOF)» # ------------------------------------------------------------------------------------------------------ # Das 2. Element löschen (Hans Muster) «nXARR(personen[2]-)» # ------------------------------------------------------------------------------------------------------ # Ausgabe des X-ARRAY «nNO(1,NULL)» «REPEAT(1)» «nNO(1)» # ------------------------------------------------------------------------------------------------------ # Erstellen der XFAS-Cells «XFAS(cells=«XARR(personen[«NO(1,0)»])»)» «nz NO(1,0)<«XARR(personen)\N»\N»«LOOP(1)»
«XARR(meinArray[«nXARR(meinArray)»])»
«XARR(varName=WERT)»