F-Script |
![]() |
NotizMit der F-Script- und BlockScript-Extension stehen die
Aps.Functions (Expressions) im Editor VS Code als Snippets zur
Verfügung.
|
![]() |
NotizBeachten Sie, dass bei der
direkten Verwendung von F-Script Befehlen mit alphanumerischem Inhalt
(z.B. «NAME» oder «VORNAME»), diese Attribute jeweils in " " gesetzt
werden müssen. Beispiel: «(length("«NAME»"))\E».
Bei F-Script
Befehlen welche ein Datum oder eine Zahl zurückgeben, ist dies nicht
nötig.
|
Code | Name | Info | ||
abs
|
abs(integer/number)
|
Gibt den absoluten Wert einer Zahl zurück. Negative
Zahlen werden in positive Zahlen umgewandelt.
Beispiele
F-Script:
«(abs(-5.72))\E» «X(Number=-123456.50)» «(abs(Number))\E» Beispiel BlockScript:
var resultValue:= abs(-123456.50) |
||
append
|
append(string1,string2)
|
Verbindet zwei Strings miteinander.
Beispiele
F-Script:
«X(ValueA=Zahlungsziel: )» «X(ValueB=30 Tage netto)» # «(append(ValueA,ValueB))\E» «X(ValueA=Hello World! )» «X(ValueB=This is Mars calling...)» «(append(ValueA,ValueB))\E» Beispiel
BlockScript:
var resultValue:= append('Hello World! ','This is Mars calling...') |
||
ascii |
ascii(string)
|
Gibt den Code-Wert des ersten Zeichens eines Strings
zurück.
Beispiel: Es sollen alle Adressen ausgeben werden,
bei denen der Ort mit 'A' anfängt. Um das zu erreichen, können Sie
dem Service GetBo folgenden Filter mitgeben: ascii(Addr.City) =
65.
Beispiel
F-Script:
«X(Charater=@)» «(ascii(Charater))\E» Beispiel
BlockScript:
var resultValue:= ascii('@') |
||
asDate
|
asDate(string)
|
Wandelt den übergebenen Wert (string) in ein Datum um,
sofern dies möglich ist. Ist eine Umwandlung nicht möglich, wird
nichts zurückgegeben. Repräsentiert der String kein korrektes
Datum, wird nichts zurückgegeben.
Beispiel
F-Script:
«X(Value=01.01.2018)» «(asDate(Value))\E» Beispiel BlockScript:
var resultValue:= asDate('01.01.2018') |
||
asInteger
|
asInteger(val)
|
Wandelt den übergebenen Wert (val) in einen Integer um,
sofern dies möglich ist. Ist eine Umwandlung nicht möglich, wird 0
zurückgegeben. Repräsentiert der String keine Zahl, wird 0
zurückgegeben.
Beispiel F-Script:
«X(Value=123456)» «(asInteger(Value))\E» Beispiel
BlockScript:
var resultValue:= asInteger('123456') |
||
asNumber
|
asNumber(val)
|
Wandelt den übergebenen Wert (val) in eine Zahl (Number)
um, sofern dies möglich ist. Ist eine Umwandlung nicht möglich,
wird 0.0 zurückgegeben. Repräsentiert der String keine Zahl, wird
0.0 zurückgegeben.
Beispiel F-Script:
«X(Value=123456.50)» «(asNumber(Value))\E» Beispiel
BlockScript:
var resultValue:= asNumber('123456.50') |
||
center(string,length)
|
Gibt Attribute oder fixe Werte zentriert aus.
Die
Ausgabe erfolgt in der vorgegebenen Länge. Dabei wird der
auszugebende String innerhalb der gewünschten Ausgabelänge
zentriert.
Beispiel F-Script:
«X(ValueA=Hello World!)» ***«(center(ValueA,20))\E»*** Beispiel
BlockScript:
var resultValue:= center('Hello World!',20) |
|||
character(byte)
|
Wandelt einen Code-Wert in ein Zeichen
um.
Beispiel: Der Ausdruck character(241) liefert das
Zeichen ±.
Beispiel F-Script:
«X(ByteNumber=64)» «(character(ByteNumber))\E» Beispiel
BlockScript:
var resultValue:= character(64) |
|||
computeMd5
|
computeMd5(string)
|
Liefert MD5-Hash für den übergebenen Input-String resp.
dessen Bytes in UTF-8-Codierung.
Beispiel
F-Script:
«nX(MemberNo=1234567)» «nX(UserName=TestUser_01)» «nX(Password=PW4$DirectLogin)» «nX(Date=21112016)» # Signature: md5([Mitgliedsnummer]_base64([Benutzername])_[Passwort]_[Datum]) «nX(Signature=)» «(assign(Signature, computeMd5(MemberNo + "_" + encodeBase64(UserName) + "_" + Password + "_" + Date)))\E» # AuthenticatonCode: urlEncode(base64([Mitgliedsnummer]_base64([Benutzername])_[Signatur])) «nX(AuthenticatonCode=)» «(assign(AuthenticatonCode, escapeUriData(encodeBase64(MemberNo + "_" + encodeBase64(UserName) + "_" + Signature))))\E» Beispiel
BlockScript:
var resultValue:= computeMd5('Hello World!') |
||
computeSha256
|
computeSha256(string)
|
Liefert SHA-256-Hash für den übergebenen Input-String
resp. dessen Bytes in UTF-8-Codierung.
Beispiel
F-Script:
«X(Value=Hello World!)» «(computeSha256(Value))\E» Beispiel
BlockScript:
var resultValue:= computeSha256('Hello World!') |
||
computeSha512
|
computeSha512(string)
|
Liefert SHA-512-Hash für den übergebenen Input-String
resp. dessen Bytes in UTF-8-Codierung.
Beispiel
F-Script:
«X(Value=Hello World!)» «(computeSha512(Value))\E» Beispiel
BlockScript:
var resultValue:= computeSha512('Hello World!') |
||
date
|
date(dd.mm.yyyy)
|
Wandelt einen String in ein Datum um.
Beispiel: Es
sollen alle Adressen ausgegeben werden, die im Jahr 2014 erstellt
wurden. Um das zu erreichen, können Sie dem Service GetBo
folgenden Filter mitgeben: Addr.Created >= date(01.01.2014)
and Addr.Created <= date(31.12.2014).
Beispiel
F-Script:
«X(Value=01.01.2018)» «(date(Value))\E» Beispiel BlockScript:
var resultValue:= date('01.01.2018') |
||
dateInTz
|
dateInTz("targetTimezoneCd" [,timestamp]
[,"sourceTimezoneCd"])
|
Zeitstempel in eine andere Zeitzone umrechnen. Es wird
nur das Datum zurückgegeben. Wird kein Zeitstempel mitgegeben,
wird der aktuelle Zeitpunkt verwendet. Wird keine Quell-Zeitzone
mitgegeben, wird Western Europe Standard Time (Schweizer
Zeit; Code-Value WESTp01_DS) verwendet.
|
||
timeInTz
|
timeInTz("targetTimezoneCd" [,timestamp]
[,"sourceTimezoneCd"])
|
Zeitstempel in eine andere Zeitzone umrechnen. Es wird
nur die Zeit zurückgegeben. Wird kein Zeitstempel mitgegeben, wird
der aktuelle Zeitpunkt verwendet. Wird keine Quell-Zeitzone
mitgegeben, wird Western Europe Standard Time (Schweizer
Zeit; Code-Value WESTp01_DS) verwendet.
|
||
timestampInTz
|
timestampInTz("targetTimezoneCd" [,timestamp]
[,"sourceTimezoneCd"])
|
Zeitstempel in andere Zeitzone umrechnen. Wird kein
Zeitstempel mitgegeben, wird der aktuelle Zeitpunkt verwendet.
Wird keine Quell-Zeitzone mitgegeben, wird Western Europe
Standard Time (Schweizer Zeit; Code-Value
WESTp01_DS) verwendet.
|
||
dateStrInTz
|
dateStrInTz("targetTimezoneCd" [,timestamp]
[,"sourceTimezoneCd"] [,"format"])
|
Analog dateInTz() plus Formatierung als String.
Formate gemäss dateToStr(). Wird kein Format übergeben,
wird das Default-Format "dd.MM.yyyy" angewendet.
|
||
timeStrInTz
|
timeStrInTz("targetTimezoneCd" [,timestamp]
[,"sourceTimezoneCd"] [,"format"])
|
Analog timeInTz() plus Formatierung als String.
Formate gemäss timeToStr() (siehe hierzu APS-5039). Wird
kein Format übergeben, wird das Default-Format "HH:mm:ss"
angewendet.
|
||
timestampStrInTz
|
timestampStrInTz("targetTimezoneCd" [,timestamp]
[,"sourceTimezoneCd"] [,"format"])
|
Analog timestampInTz() plus Formatierung als
String. Formate gemäss timestampToStr() (siehe hierzu
APS-5039). Wird kein Format übergeben, wird das Default-Format
"dd.MM.yyyy HH:mm:ss" angewendet.
|
||
|
||||
today
|
today()
|
Aktuelles Datum.
Beispiel
F-Script:
«(today())\E» Beispiel
BlockScript:
var resultValue:= today() |
||
now
|
now()
|
Aktueller Zeitstempel.
Beispiel
F-Script:
«(now())\E» Beispiel
BlockScript:
var resultValue:= now() |
||
time
|
time(value)
|
Zeit aufgrund eines übergebenen
Wertes.
Beispiel F-Script:
«(time())\E» Beispiel
BlockScript:
var resultValue:= time() |
||
timestamp
|
timestamp(value)
|
Zeitstempel aufgrund eines übergebenen
Wertes.
|
||
asTime
|
asTime(value)
|
Cast tolerant. Liefert 00:00:00 wenn keine Zeit erkannt
werden kann.
Beispiel F-Script:
«X(Value=4.45)» «(asTime(Value))\E» Beispiel BlockScript:
var resultValue:= asTime('4.45') |
||
asTimestamp
|
asTimestamp(value)
|
Cast tolerant. Liefert 01.01.0001 00:00:00 wenn kein
Zeitstempel erkannt werden kann.
|
||
isTime
|
isTime(value)
|
Prüfung ob Cast möglich ist.
Beispiel
F-Script:
«X(Value=04.45)» «(isTime(Value))\E» Beispiel BlockScript:
var resultValue:= isTime('04.45') |
||
isTimestamp
|
isTimestamp(value)
|
Prüfung ob Cast möglich ist.
Beispiel
F-Script:
«X(Value=01.01.2020 04:45:21)» «(isTimestamp(Value))\E» Beispiel
BlockScript:
var resultValue:= isTimestamp('01.01.2020 04:45:21') |
||
dateToStr
|
dateToStr(value [,"format"])
|
Datum formatieren. Default-Format:
dd.MM.yyyy
Mögliche Token:
Mögliche Delimiter:
Beispiel F-Script:
«X(Date=«(today()\E»)» «(dateToStr(Date,'yyyy-MM-dd'))\E» Beispiel
BlockScript:
var resultValue:= dateToStr(today(),'yyyy-MM-dd') |
||
timeToStr
|
timeToStr(value [,"format"])
|
Zeit (Time) formatieren. Default-Format:
HH:mm:ss
Mögliche Token:
Mögliche Delimiter:
Beispiel F-Script:
«X(Time=«(time(now()))\E»)» «(timeToStr(Time,'HH:mm:ss'))\E» Beispiel
BlockScript:
var resultValue:= timeToStr(time(now()),'HH:mm:ss') |
||
timestampToStr
|
timestampToStr(value [,"format"])
|
Zeitstempel (Timestamp) formatieren. Default-format:
dd.MM.yyyy HH:mm:ss
Mögliche Token:
Mögliche Delimiter:
Beispiel F-Script:
«X(DateTimeValue=«(now())\E»)» «(timestampToStr(DateTimeValue,'dd.MM.yyyy - HH:mm:ss'))\E» Beispiel
BlockScript:
var resultValue:= timestampToStr(now(),'dd.MM.yyyy - HH:mm:ss') |
||
dayOfDate
|
dayOfDate(date)
|
Liefert den Tag eines Datums (als
Nummer).
Beispiel F-Script:
«(dayOfDate(now()))\E» Beispiel
BlockScript:
var resultValue:= dayOfDate(now()) |
||
monthOfDate
|
monthOfDate(date)
|
Liefert den Monat eines Datums (als
Nummer).
Beispiel F-Script:
«(monthOfDate(now()))\E» Beispiel
BlockScript:
var resultValue:= monthOfDate(now()) |
||
yearOfDate
|
yearOfDate(date)
|
Liefert das Jahr eines Datums (als
Nummer).
Beispiel F-Script:
«(yearOfDate(now()))\E» Beispiel
BlockScript:
var resultValue:= yearOfDate(now()) |
||
dateAdd
|
dateAdd(dateOrTimestamp, count
[,"datePartCd"])
|
Hinzurechnen von Datumswerten (z.B. Anzahl Tage oder
Wochen) zu einem Datum.
Beispiel
F-Script:
«X(Date=«(now())\E»)» «X(DatePart=D)» «X(DaysToAdd=11)» «SYS(MSG INFO Errechnetes Datum: «(dateAdd(Date,DaysToAdd,DatePart))\E»)» Beispiel
BlockScript:
var resultValue:= dateAdd('28.02.2023',11,'D') |
||
encodeBase64
|
encodeBase64(string)
|
Codiert den übergebenen Input-String resp. dessen Bytes
in UTF-8-Codierung als Base64-codierten String.
Beispiel
F-Script:
«X(Value=Hello World!)» «(encodeBase64(Value))\E» Beispiel
BlockScript:
var resultValue:= encodeBase64('Hello World!') |
||
decodeBase64
|
decodeBase64(string)
|
Decodiert einen Base64-codierten String und gibt die
resultierenden Bytes als UTF-8 String zurück.
Beispiel
F-Script:
«X(base64String=SGVsbG8gV29ybGQh)» «(decodeBase64(base64String))\E» Beispiel
BlockScript:
var resultValue:= decodeBase64('SGVsbG8gV29ybGQh') |
||
encrypt
|
secret, plainString
|
Verschlüsselt übergebenen Klartext-String mit dem
übergebenen Secret.
|
||
decrypt
|
secret, encryptedString
|
Entschlüsselt übergebenen String mit dem übergebenen
Secret.
|
||
escapeUriData
|
escapeUriData(string)
|
Codiert den übergebenen Input-String als URI-Data (=
Daten-Bestandteil einer URL).
Beispiel
F-Script:
«X(Value=Hello World!)» «(escapeUriData(Value))\E» Beispiel
BlockScript:
var resultValue:= escapeUriData('Hello World!') |
||
unescapeUriData
|
unescapeUriData(string)
|
Decodiert den übergebenen Input-String als URI-Data (=
Daten-Bestandteil einer URL).
Beispiel
F-Script:
«X(UriData=Hello%20World!)» «(unescapeUriData(UriData))\E» Beispiel
BlockScript:
var resultValue:= unescapeUriData('Hello%20World!') |
||
guid
|
guid()
|
Liefert eine eindeutige ID (als String) der folgenden
Art: ECE3AA77-A248-4D63-9A65-7D95B7D00CE3
Beispiel
F-Script:
«(guid())\E» Beispiel
BlockScript:
var resultValue:= guid() |
||
if(expr,valTrue,valFalse)
|
Klassischer if-then-else - Ausdruck. Trifft die
Bedingung (expr) zu, so wird valTrue zurückgegeben, sonst
valFalse.
Als Bedingung kann bei expr auch eine Zahl
(0=false) oder ein String (leer=false) angegeben
werden.
Beispiel F-Script:
«X(ValueA=10)» «X(ValueB=20)» «(if(ValueA contains ValueB,"true","false"))\E» Beispiel
BlockScript:
if(valueA < valueB) { // do something } |
|||
insert(insString,string,at)
|
Fügt einen String an einer bestimmten Position in einen
andern ein.
Beispiel: Umwandeln der Hauptstadt der Schweiz
in die Hauptstadt Deutschlands.
Beispiel
F-Script:
«X(Value=Hello! This is Mars calling...)» «X(SubString= World)» «(insert(SubString,Value,6))\E» Beispiel
BlockScript:
var resultValue:= insert(' World','Hello! This is Mars calling...',6) |
|||
integer
|
integer(val)
|
Wandelt einen String, ein Datum oder eine Realzahl
(durch Abschneiden der Nachkommastellen) in eine Ganzzahl
um.
Beispiele F-Script:
«X(A=36.758)» # «SYS(MSG INFO «(integer(«X(A)»))\E»)» «X(A=21.08.2014)» # «SYS(MSG INFO «(integer("«X(A)»"))\E»)» «X(Value=123456)» «(integer(Value))\E» Beispiel BlockScript:
var resultValue:= integer(123456) |
||
isDate
|
isDate(val)
|
Prüft ob der übergebene Wert (val) ein korrektes Datum
ist oder in ein korrekter Datum umgewandelt werden kann. Rückgabe:
1/0 bzw. true/false.
Beispiel
F-Script:
«X(Value=01.01.2018)» «(isDate(Value))\E» Beispiel BlockScript:
var resultValue:= isDate('01.01.2018') |
||
isInteger
|
isInteger(val)
|
Prüft ob der übergebene Wert (val) ein Integer ist oder
in einen Integer umgewandelt werden kann. Rückgabe: 1/0 bzw.
true/false.
Beispiel F-Script:
«X(Value=123456)» «(isInteger(Value))\E» Beispiel
BlockScript:
var resultValue:= isInteger('123456') |
||
isNumber
|
isNumber(val)
|
Prüft ob der übergebene Wert (val) eine Zahl (Number)
ist oder in eine Zahl (Number) umgewandelt werden kann. Rückgabe:
1/0 bzw. true/false.
Beispiel
F-Script:
«X(Value=123456.50)» «(isNumber(Value))\E» Beispiel
BlockScript:
var resultValue:= isNumber('123456.50') |
||
left(string,length)
|
Kürzt einen String auf die gewünschte Länge. Siehe auch
pad.
Beispiel: left('Zürich',4) ergibt
Züri.
Beispiel F-Script:
«X(Value=Zürich)» «(left(Value,4))\E» Beispiel BlockScript:
var resultValue:= left('Zürich',4) |
|||
length(string)
|
Gibt die Länge eines Strings zurück.
Beispiel
F-Script:
«X(String=Hello World!)» «(length(String))\E» Beispiel BlockScript:
var resultValue:= length('Hello World!') |
|||
lowercase(string)
|
Wandelt einen String in Kleinbuchstaben
um.
Beispiel F-Script:
«X(String=Hello World! This is Mars calling...)» «(lowercase(String))\E» Beispiel
BlockScript:
var resultValue:= lowercase('Hello World! This is Mars calling...') |
|||
ltrim(string)
|
Entfernt eventuell vorhandene führende
Leerzeichen.
Beispiel F-Script:
«X(Value=Hello World! )» «(ltrim(Value))\E» Beispiel BlockScript:
var resultValue:= ltrim(' Hello World! ') |
|||
mid(string,length,at)
|
Gibt einen Substring von string mit der Länge
length ab der Position at zurück.
Beispiel:
mid('Spanien',3,4) ergibt nie.
Beispiel
F-Script:
«X(Value=Spanien)» «(mid(Value,3,4))\E» Beispiel BlockScript:
var resultValue:= mid('Spanien',3,4)
|
|||
mod(intDividend,intDivisor)
|
Gibt die Restmenge einer Division (Modulo) aus. Dividend
und Divisor sind dabei Integer-Werte. Beachten Sie, dass
allfällige Dezimalwerte automatisch auf den nächsten Integer-Wert
gerundet werden.
Beispiel: mod(17:5) = 2
Beispiel
F-Script:
«X(IntDividend=17)» «X(IntDivisor=5)» «(mod(IntDividend,IntDivisor))\E» Beispiel
BlockScript:
var resultValue:= mod(17,5) |
|||
not
|
not(boolean)
|
Kehrt den Wert eines Boolean um. Das Argument
boolean darf dabei auch ein String oder ein Integer sein.
Dabei ergeben ein nicht leerer String bzw. ein Integer ungleich 0
den Wert true.
Beispiele
F-Script:
«X(A=0)» # Ausgabe: 1 «SYS(MSG INFO «(not(«X(A)»))\E»)» «X(A=1)» # Ausgabe: 0 «SYS(MSG INFO «(not(«X(A)»))\E»)» «X(ValueA=Hello World!)» «X(ValueB=Hello Mars!)» «(not(ValueA = ValueB))\E» Beispiel
BlockScript:
var resultValue:= not('Hello World!' = resultValue) |
||
number
|
number(var)
|
Wandelt die Variable var in eine Zahl mit maximal 14
Vor- und 8 Nachkommastellen um.
Beispiel
F-Script:
«X(A=422.85)» # «SYS(MSG INFO «(number(«X(A)»))\E»)» Beispiel
BlockScript:
var resultValue:= number(123456.50) |
||
overstrike(newStr,oldStr,at)
|
Überschreibt einen String oldStr mit einem neuen
String newStr ab einer bestimmten Position
at.
Beispiel: Um die Hauptstadt Österreichs in die
Hauptstadt der Schweiz zu verwandeln, verwenden Sie folgenden
Ausdruck: 'overstrike('Ber','Wien',1)'.
|
|||
pad
|
pad(string,length)
|
Gibt einen String in einer fixen Länge aus.
Der
String wird dabei entweder rechts abgeschnitten oder mit
Leerzeichen ergänzt. Siehe auch left.
Beispiel
F-Script:
«X(A=Art-Nr. W-100 ZL)» # «SYS(MSG INFO ***«(pad("«X(A)»",23))\E»***)» ![]() Beispiel
BlockScript:
var resultValue:= pad('Hello World!',20) |
||
pos
|
pos(subString,mainString)
|
Gibt die Position des ersten Zeichens der ersten
Übereinstimmung von subString in mainString zurück.
Gibt es keine Übereinstimmung, wird der Wert 0
zurückgegeben.
Beispiele F-Script:
«X(A=30 Tage netto)» «X(B=netto)» # Ausgabe: 9 - "netto" steht ab Stelle 9 bei "30 Tage netto" «SYS(MSG INFO «(pos("«X(B)»","«X(A)»"))\E»)» «X(Value=Hello World! This is Mars calling...)» «X(SubString=Mars)» «(pos(SubString,Value))\E» Beispiel
BlockScript:
var resultValue:= pos('subString','This is a Text with a specific subString...') |
||
random(limit)
|
Gibt eine zufällige Ganzzahl von 0 bis limit
minus 1 zurück.
Beispiel F-Script:
«X(Integer=100)» «(random(Integer))\E» Beispiel
BlockScript:
var resultValue:= random(100) |
|||
regEx
|
regEx(string,pattern)
|
Bei Abfragen (GetBo, Filter und virtuelle Attribute)
sowie bei Wertzuweisungen (SaveBo) können Sie regular expressions
verwenden.
regEx(string,pattern) - Case sensitive
Prüfung.
Beispiel F-Script:
«X(Value=10.00)» «X(RegexPattern=^\d*.{0,1}\d+$)» «(regEx(Value,RegexPattern))\E» Beispiel
BlockScript:
var resultValue:= regEx('10.00','^\d*.{0,1\d+$'}) |
||
regExCi
|
regExCi(string,pattern)
|
Bei Abfragen (GetBo, Filter und virtuelle Attribute)
sowie bei Wertzuweisungen (SaveBo) können Sie regular expressions
verwenden.
regExCi(string,pattern) - Case insensitive
Prüfung.
Beispiele F-Script:
«X(Value=hELlo WoRlD)» «X(RegexPattern=world)» «(regExCi(Value,RegexPattern))\E» # Zu prüfender Wert: «X(myString=105.299999)» # # regular expression mit Pattern für "isDigit" «nz~(«(regExCi(myString,"^(([0-9]*)|(([0-9]*)\.([0-9]*)))$"))\E»)\I»«SYS(MSG CRIT '«X(myString)»' ist kein gültiger Wert!)» # Pattern für das Prüfen eines gültigen Verzeichnis-Namens «X(Regex.Pattern=^([a-zA-Z0-9][^*/><?\|:]*)$)» # «nz~(«(regExCi(myString,Regex.Pattern))\E»)\I»«SYS(MSG CRIT '«X(myString)»' ist kein gültiges Verzeichnis!)» GetBo-Request
(Ersetzen von « und »)
Biz.GetBo SalDocCondText 12996 ne 1 0 1 SalDocCondText.Number,SalDocCondText.Name,SalDocCondText.Text CleanText=if(regExCi(SalDocCondText.Text,"[(uc_char(171)uc_char(187))]")=0,SalDocCondText.Text,replaces(uc_char(171),replaces(uc_char(187),SalDocCondText.Text,">"),"<")) Diverse
weitere Beispiele für "regular expression
Patterns"
Integer ^-{0,1}\d+$ Positive Integers ^\d+$ Negative Integers ^-\d+$ Number ^-{0,1}\d*.{0,1}\d+$ Positive Number ^\d*.{0,1}\d+$ Negative Number ^-\d*.{0,1}\d+$ only lowercase characters (a-z and not empty) ^[a-z]{1,}$ ^[a-zA-Z]{1,}$ Check for specific unicode Character («») [\u00AB\u00BB]{1,} Prüfen von Dateinamen auf ungültige Zeichen ^[\w\-. ]+\.(?i)(pdf|pcl)$ Hinweis: (?i) bedeutet: Ignore Case. Beispiele äöüàéèÄÖÜ.pdf >> OK aaabc.p >> NOK abc<DDD.pdf >> NOK abcäöü.P >> NOK ÄÖ Üabc.pdf >> OK Beispiel
BlockScript:
var resultValue:= regExCi('hELlo WoRlD','world') |
||
remove(string,at,length)
|
Löscht in einem String ab einer bestimmten Position
at eine Anzahl Zeichen length.
Beispiel:
Umwandeln der Hauptstadt Deutschlands in die Hauptstadt der
Schweiz.
Beispiel F-Script:
«X(Value=Berlin)» «(remove(Value,4,2))\E» Beispiel
BlockScript:
var resultValue:= remove('Berlin',4,2) |
|||
repeat(string,count)
|
Fügt einen String mehrmals (count) an sich selbst
an.
Beispiel F-Script:
«X(Value=Hello World! )» «(repeat(Value,3))\E» Beispiel
BlockScript:
var resultValue:= repeat('Hello World! ',3) |
|||
replace(oldSub,string,newSub)
|
Ersetzt einen Substring OldSubString in einem
String Value durch einen neuen Substring
NewSubString.
Beispiel
F-Script:
«X(Value=Hello %%THEPLANET%%! This is Mars calling...)» «X(OldSubString=%%THEPLANET%%)» «X(NewSubString=World)» «(replace(OldSubString,Value,NewSubString))\E» Beispiel
BlockScript:
var resultValue:= replace('%%THEPLANET%%','Hello %%THEPLANET%%! This is Mars calling...','World') |
|||
replaces(oldSub,string,newSub)
|
Ersetzt alle Substrings OldSubString in einem
String Value durch neue Substrings
NewSubString.
Beispiel
F-Script:
«X(Value=Hello %%THEPLANET%%! This is another %%THEPLANET%% calling...)» «X(OldSubString=%%THEPLANET%%)» «X(NewSubString=World)» «(replaces(OldSubString,Value,NewSubString))\E» Beispiel
BlockScript:
var resultValue:= replaces('%%THEPLANET%%','Hello %%THEPLANET%%! This is another %%THEPLANET%% calling...','World') |
|||
right(string,length)
|
Gibt eine bestimmte Anzahl Zeichen length von
rechts aus.
Beispiel: Verwandeln von Baden-Baden in
Baden.
Beispiel F-Script:
«X(Value=Baden-Baden)» «(right(Value,5))\E» Beispiel BlockScript:
var resultValue:= right('Baden-Baden',5) |
|||
round
|
round(number)
round(number,roundTo)
round(number,roundTo,roundMode)
|
Rundet eine Zahl mit Nachkommastellen number auf
eine Ganzzahl oder auf Nachkommastellen gemäss
Vorgabe.
Beispiele F-Script:
«X(A=522.443)» # Keine Vorgabe - Das bedeutet "runden auf Ganzzahl" - Ausgabe: 522 «SYS(MSG INFO «(round(«X(A)»))\E»)» «X(A=688.27)» # Vorgabe: ,0 - Das bedeutet "nicht runden" - Ausgabe: 688.27 «SYS(MSG INFO «(round(«X(A)»,0))\E»)» «X(A=688.27)» # Vorgabe: ,0.05 - Das bedeutet "runden auf 0.05" - Ausgabe: 688.25 «SYS(MSG INFO «(round(«X(A)»,0.05))\E»)» Runden mit Vorgabe des Rundungs-Modus roundMode.
Mögliche Werte:
# Runden mit Vorgabe des Rundungs-Modus (roundMode) «X(A=125.21)» # 125.21 wird aufgerundet - Ausgabe: 125.25 Aufrunden: «(round(«X(A)»,0.05,1))\E» «X(A=125.23)» # 125.23 wird normal gerundet - Ausgabe: 125.25 Normal Runden: «(round(«X(A)»,0.05,0))\E» «X(A=125.49)» # 125.49 wird abgerundet - Ausgabe: 125.45 Abrunden: «(round(«X(A)»,0.05,-1))\E» Beispiel
BlockScript:
var resultValue:= round(123456.147,0,0) |
||
rtrim(string)
|
Entfernt eventuell vorhandene nachfolgende
Leerzeichen.
Beispiele F-Script:
«X(Value=Hello World! )» «(rtrim(Value))\E» Beispiel BlockScript:
var resultValue:= rtrim(' Hello World! ') |
|||
set_contains
|
set_contains(valueSet, valueToSearch)
|
Zeigt an, ob ein Wert enthalten ist (kann auch in einem
Query oder GetBo verwendet werden).
«(set_contains(DELIM+ "A" +DELIM+ "B" +DELIM+ "C" +DELIM+ "D" +DELIM, "A"))\E» # Ergibt den Wert 1 (true) «(set_contains(DELIM+ "A" +DELIM+ "B" +DELIM+ "C" +DELIM+ "D" +DELIM, "X"))\E» # Ergibt den Wert 0 (false) |
||
set_add
|
set_add(valueSet, valueToAdd)
|
Fügt einen Wert zur Liste hinzu und gibt die Liste
zurück.
«(set_add(DELIM+ "A" +DELIM+ "B" +DELIM+ "C" +DELIM+ "D" +DELIM,"E"))\E» # Liefert: A B C D E getrennt durch Ogham Space Mark «(set_add(DELIM+ "A" +DELIM+ "B" +DELIM+ "C" +DELIM+ "D" +DELIM,"A"))\E» # Liefert: A B C D getrennt durch Ogham Space Mark (Die Liste kann keine doppelten Werte enthalten.) |
||
set_remove
|
set_remove(valueSet, valueToRemove)
|
Entfernt einen Wert aus der Liste und gibt die Liste
zurück.
«(set_remove(DELIM+ "A" +DELIM+ "B" +DELIM+ "C" +DELIM+ "D" +DELIM,"A"))\E» # Liefert: B C D getrennt durch Ogham Space Mark «(set_remove(DELIM+ "A" +DELIM+ "B" +DELIM+ "C" +DELIM+ "D" +DELIM,"E"))\E» # Liefert: A B C D getrennt durch Ogham Space Mark (Das Entfernen eines nicht enthaltenen Werts hat keinen Einfluss auf die Liste.) |
||
DELIM
|
Delimiter: Ogham Space Mark
|
In den obigen drei Fällen werden die einzelnen Werte
mittels Ogham Space Mark (Unicode U+1680) getrennt. Dieses
Zeichen (Ogham Space Mark) kann dabei mit dem Befehl DELIM
verwendet werden:
«(DELIM)\E» Dieser
Befehl ist insbesondere beim Splitten von Listen
hilfreich.
|
||
string
|
string(number)
|
Wandelt eine Zahl oder ein Datum in einen String
um.
«X(A=522.443)» # «SYS(MSG INFO «(string(«X(A)»))\E»)» «X(A=29.07.2015)» # «SYS(MSG INFO «(string(«X(A)»))\E»)» |
||
sqrt
|
sqrt(number)
|
Berechnet die Quadratwurzel einer
Zahl.
Beispiele F-Script:
«X(Nmb=9)» # «SYS(MSG INFO «(sqrt(«X(Nmb)»))\E»)» «X(Integer=9)» «(sqrt(Integer))\E» Beispiel BlockScript:
var operationResult:= sqrt(9) |
||
trim(string)
|
Entfernt eventuell vorhandene führende und
abschliessende Leerzeichen. Siehe auch ltrim und
rtrim.
Beispiel F-Script:
«X(Value= Hello World! )» «(trim(Value))\E» Beispiel BlockScript:
var resultValue:= trim(' Hello World! ') |
|||
uc_char(integer)
|
Liefert für einen Unicode (siehe auch
http://unicode-table.com) das entsprechende Zeichen. Das Resultat
des Ausdrucks uc_char(8364) ist beispielsweise das Zeichen
€.
Beispiel F-Script:
«X(A=8364)» # Ausgabe: € «SYS(MSG INFO «(uc_char(«X(A)»))\E»)» Beispiel
BlockScript:
var resultValue:= uc_char(64) |
|||
uc_int(string)
|
Liefert für das erste Zeichen eines String den Unicode
(siehe auch http://unicode-table.com). Das Resultat des Ausdrucks
uc_int('$') lautet beispielsweise 36.
Beispiel
F-Script:
«X(A=$)» # Ausgabe: 36 «SYS(MSG INFO «(uc_int("«X(A)»"))\E»)» Beispiel
BlockScript:
var resultValue:= uc_int('@') |
|||
uppercase(string)
|
Wandelt einen String in Grossbuchstaben
um.
Beispiel F-Script:
«X(Value=Hello World! This is Mars calling...)» «(uppercase(Value))\E» Beispiel
BlockScript:
var resultValue:= uppercase('Hello World! This is Mars calling...') |
|||
split
|
split(str, delimiter, [oneBasedItemIndex],
[removeEmptyItems])
|
Splittet Strings innerhalb von F-Script, sowie
beispielsweise innerhalb eines
GetBo-Request.
|
||
least
|
least(nmb1,nmb2)
|
Liefert die kleinere der beiden Zahlen
zurück.
|
||
greatest
|
greatest(nmb1,nmb2)
|
Liefert die grössere der beiden Zahlen
zurück.
|
||
nmbToStr
|
nmbToStr(nmb, format)
|
Aufbau des Format-String:
[minNmbOfDigitsBefore][decimalSeparatorChar][fixNmbOfDigitsAfter][groupingBeforeDecimalSeparator]
Beispiel
F-Script:
nmbToStr(123456.789, ",4'") # Ergebnis: 123'456,7890 Beispiel
BlockScript:
var resultValue:= nmbToStr(123456.789,"") |
||
nmbToStrEx |
nmbToStrEx(nmb, format)
|
Aufbau des Format-String:
[digitsBeforeDecimalSeparator], [digitsAfterDecimalSeparator],
[decimalSeparator], [groupingBeforeDecimalSeparator],
[groupingAfterDecimalSeparator]
Diese Expression-Funktion
erlaubt zusätzlich digits und Gruppierung bei den Nachkommastellen
und kann für die Umsetzung von ganz speziellen Anforderungen
verwendet werden.
nmbToStrEx(-123456.789, "8..", "7", ",", "'", ".") # Ergebnis: "-00'123'456,789.000.0"
|
||
lPad (Left Pad)
|
lPad(str, length, [character])
|
Füllt den übergebenen String mit dem übergebenen Zeichen
(standardmässig Leerzeichen) links auf, bis die gewünschte Länge
erreicht ist.
Im Gegensatz zum bisherigen "pad()" wird hier
nicht abgeschnitten, wenn der String zu lang
ist.
Beispiel F-Script:
«X(Value=Hello World!)» «(lPad(Value,20 ))\E» Beispiel
BlockScript:
var resultValue:= lPad('Hello World!',20 ) |
||
rPad (Right Pad)
|
rPad(str, length, [character])
|
Füllt den übergebenen String mit dem übergebenen Zeichen
(standardmässig Leerzeichen) rechts auf, bis die gewünschte Länge
erreicht ist.
Im Gegensatz zum bisherigen "pad()" wird hier
nicht abgeschnitten, wenn der String zu lang
ist.
Beispiel F-Script:
«X(Value=Hello World!)» «(rPad(Value,20 ))\E» Beispiel
BlockScript:
var resultValue:= rPad('Hello World!',20 ) |
||
lTruncPad (Left Truncate or Pad)
|
lTruncPad(str, length, [character])
|
Kürzt den übergebenen String, sofern nötig, auf die
gewünschte Länge, wobei die Zeichen links abgeschnitten
werden.
Wenn der übergebene String zu kurz ist, wird mit dem
übergebenen Zeichen (standardmässig Leerzeichen) links aufgefüllt,
bis die gewünschte Länge erreicht ist.
Beispiel
F-Script:
«X(Value=Hello World!)» «(lTruncPad(Value,20 ))\E» Beispiel
BlockScript:
var resultValue:= lTruncPad('Hello World!',20 ) |
||
rTruncPad (Right Truncate or Pad)
|
rTruncPad(str, length, [character])
|
Kürzt den übergebenen String, sofern nötig, auf die
gewünschte Länge, wobei die Zeichen rechts abgeschnitten
werden.
Wenn der übergebene String zu kurz ist, wird mit dem
übergebenen Zeichen (standardmässig Leerzeichen) rechts
aufgefüllt, bis die gewünschte Länge erreicht ist.
Beispiel F-Script:
«X(Value=Hello World!)» «(rTruncPad(Value,20 ))\E» Beispiel
BlockScript:
var resultValue:= rTruncPad('Hello World!',20 ) |