F-Script |
Argument | Beispiel | Kommentar | ||
Main=[Alias, ] Source
|
Main= Firma,Addr
|
Muss, bzw. darf genau ein Mal vorkommen!
|
||
{ Related=Alias, Source, [Count], [OrderArray],
[FilterExp] }
|
Related= FKP, Contact, One, , FKP.AddrNo =
Firma.Number and FKP.IsMainContact = 1
Related=
Konzern, Addr, , , Konzern.Number =
Firma.HighParentCompany
Related= KKP, Contact, , ,
KKP.AddrNo = Konzern.Number and KKP.IsMainContact =
1
Related= Top5KP, Contact, 5, [+Top5KP.Number],
Top5KP.AddrNo = Addr.Number0
|
Kann n Mal vorkommen und muss jeweils eine
Join-Vorschrift enthalten. Grundsätzlich wird ein
"Left-Outer-Join" gebildet. Bei Relationen die maximal eine Row
retournieren, kann der Relation-Specifier (Count) ToOne
verwendet werden.
In den Beispielen Links sind u.a.
folgende Alias definiert:
FKP = Alias für
Haupt-Kontaktperson von "Firma".
KKP= Alias für
Haupt-Kontaktperson von "Konzern"
|
Argument | Beispiel | Kommentar | ||
{ Column=[Alias], Attribute | ColumnExp }
|
Column=, Addr.Number
Column=FirmaName,
Addr.FullName
Column=FirmaKontakt,
AKP.FullName
Column=KonzernNr,
Konzern.Number
Column=KonzernName,
Konzern.FullName
Column=KonzernKontakt,
KKP.FullName
Column=KontaktIdentisch, if(KKP.PersonId =
AKP.PersonId, "Yes", "No")
Column=, Cust.Remark
|
Kann n Mal vorkommen.
Es können vordefinierte
Relationen analog GetBo (hier "Cust") verwendet werden.
|
||
{ Columns=Attribute {,Attribute} }
|
Columns=Addr.Number,Addr.FullName
|
Wenn keine Alias definiert werden müssen, kann direkt
mit den Attributnamen gearbeitet werden. Diese können dann
innerhalb einer "Definition" mittels "Columns" erfasst werden.
Die einzelnen Attribute werden dabei mit Komma
separiert.
|
Argument | Beispiel | Kommentar | ||
[ Filter=FilterExp ]
|
Filter=Firma.HighParentCompany <> 0 and
FKP.AddrNo <> NULL and KKP.AddrNo <>
NULL
Sie haben die Möglichkeit, Strings in Filtern
spezifisch als "ohne Escaping" zu deklarieren. Die Deklaration
erfolgt dabei mittels Backtick-Character.
// Pfadangabe in einem Filter ohne Escaping der Backslash-Character Filter=PrintJob.PrinterDevice = `\\ServerName\Share` |
Darf maximal ein Mal vorkommen!
Das
Schlüsselwort NULL ist nur mit Vergleich "<>" oder "="
erlaubt.
|
||
{ OrderBy= [+|-] Column[, StartValueLiteral] }
|
OrderBy=Konzern.Number
OrderBy=-Firma.Number
|
Kann n Mal vorkommen.
Die Reihenfolge ist
relavant! Defaultwert ist + (Ascending)
|
||
{ OrderByAsDate= [+|-] Column[, StartValueLiteral]
}
|
OrderByAsDate=WhJob.Free6,12.08.2020
OrderByAsDate=-Addr.Free8
|
Sortieren als Datum, wobei als Folge jeweils
strAsDate() angewendet werden.
|
||
{ OrderByAsNmb= [+|-] Column[, StartValueLiteral]
}
|
OrderByAsNmb=SalDoc.Free7
|
Sortieren als Zahl, wobei als Folge jeweils strAsNmb()
angewendet werden.
|
||
MaxRows=nn|All
|
MaxRows=15
|
Muss genau ein Mal vorkommen!
|
||
[Distinct=0|1]
[Distinct=FALSE|TRUE]
|
Distinct=1
Distinct=TRUE
|
Rows mit gleichem Inhalt werden
unterdrückt.
Defaultwert ist 0/FALSE (nicht
unterdrücken)
|
Argument | Beispiel | Kommentar | ||
[Scrolling=code]
|
Scrolling=ne
|
Darf maximal ein Mal vorkommen!
Default: Kein
Scrolling.
Unterstützt werden die Werte gem. GetBo, jedoch
ohne e und eif.
|
||
[#RedoData=<Redo-Data-Token von
Vorgänger-Response>]
|
#RedoData=[NE,[NULL,NULL,NULL],[14,3,16],[15,3,21]]
|
RedoData ist für die erste Page nicht
notwendig.
Inhalt 1:1 gemäss Response des
Vorgänger-Request.
Siehe auch Kapitel
"Scrolling".
|
||
[#RedoArgs=code [,Direction] [,NmbOfRows]]
|
#RedoArgs=ne
|
RedoArgs ist für die erste Page nicht
notwendig.
Siehe auch Kapitel "Scrolling".
|
Argument | Beispiel | Kommentar |
Alias
|
Muss alphanumerisch sein.
|
|
Source:=Table | BoView | CodeView |
FunctionView(Arguments)
|
AddrText(1,3)
|
Table steht nur für Opacc-Interne Zwecke zur
Verfügung.
Argumente werden jeweils durch Komma
getrennt.
|
Count:=One | ToOne | First | Last | All |
PositiveInteger
|
100
|
Defaultwert ist One.
0 ist nicht
erlaubt!
|
OrderArray:=[Column {,Column}]
|
[+Name, -Vorname]
|
+ bedeutet ASC (Ascending bzw. Aufsteigend)
-
bedeutet DESC (Descending bzw. Absteigend)
Default ist
+
|
Expression-Bestandteil | Kommentar |
(), fn(), []
|
Gruppierung, Funktionsaufrufe, Arrays
|
+ -
|
Vorzeichen
|
* /
|
Punkt-Rechnung (Multiplikation und
Division)
|
+ -
|
Strich-Rechnung (Addition und Subtraktion)
|
<, >, <=, >=, =, <>, like,
notlike
|
Vergleichs-Operatoren
|
not
|
Logische Negation
|
and
|
Logisch UND
|
or
|
Logisch ODER
|
Argument | Beispiel | Kommentar |
{ Define=@[Name], [Expression] }
|
Define=@Customer.Number,2020
|
Kann n Mal vorkommen.
|
Query Main=SalDoc MaxRows=All Filter=SalDoc.CustNo=2020 Columns=SalDoc.BoId,SalDoc.CustNo,SalDoc.SalProcLevelCd,SalDoc.ShortCut,SalDoc.Number,SalDoc.DocStateCd
Query Main=SalDoc MaxRows=All Define=@Customer.Number,2020 Filter=SalDoc.CustNo = @Customer.Number Columns=SalDoc.BoId,SalDoc.CustNo,SalDoc.SalProcLevelCd,SalDoc.ShortCut,SalDoc.Number,SalDoc.DocStateCd
Biz.Query Main=MisSal(33,397,12,NULL,'C',2020,'M',1,36) Column=MisSal2.Turnover,ifnull(MisSal2.Turnover,0) Column=MisSal2.CoverCont,ifnull(MisSal2.CoverCont,0) Column=MisSal2.Quantity,ifnull(MisSal2.Quantity,0) Column=MisSal1.Turnover,ifnull(MisSal1.Turnover,0) Column=MisSal1.CoverCont,ifnull(MisSal1.CoverCont,0) Column=MisSal1.Quantity,ifnull(MisSal1.Quantity,0) Column=MisSal0.Turnover,ifnull(MisSal0.Turnover,0) Column=MisSal0.CoverCont,ifnull(MisSal0.CoverCont,0) Column=MisSal0.Quantity,ifnull(MisSal0.Quantity,0) MaxRows=25 Related=MisSal2,MisSal(33,397,12,MisSal.L2CumulId,'C',2020,'M',1,3),1,, Related=MisSal1,MisSal(33,397,12,MisSal.L2CumulId,'C',2021,'M',1,3),1,, Related=MisSal0,MisSal(33,397,12,MisSal.L2CumulId,'C',2022,'M',1,3),1,, Related=L2Cuml,CustMisC2,1,,L2Cuml.BoId=MisSal.L2CumulId Column=L2CumlId,L2Cuml.BoId Column=L2CumlNumber,L2Cuml.BoNumber OrderBy=-MisSal0.Turnover OrderBy=MisSal.RowId Scrolling=n
Biz.Query Define=@L1Cumul,33 Define=@L1CumulId,397 Define=@L2Cumul,12 Define=@StartYearType,'C' Define=@StartYearCurrent,2022 Define=@StartYearPrevious,2021 Define=@StartYearPrePrevious,2020 Define=@StartPeriodType,'M' Define=@StartPeriod,1 Define=@MonthCountThreeYears,36 Define=@MonthCountThree,3 Define=@NullReplacementValue,0 Main=MisSal(@L1Cumul,@L1CumulId,@L2Cumul,NULL,@StartYearType,@StartYearPrePrevious,@StartPeriodType,@StartPeriod,@MonthCountThreeYears) Column=MisSal2.Turnover,ifnull(MisSal2.Turnover,@NullReplacementValue) Column=MisSal2.CoverCont,ifnull(MisSal2.CoverCont,@NullReplacementValue) Column=MisSal2.Quantity,ifnull(MisSal2.Quantity,@NullReplacementValue) Column=MisSal1.Turnover,ifnull(MisSal1.Turnover,@NullReplacementValue) Column=MisSal1.CoverCont,ifnull(MisSal1.CoverCont,@NullReplacementValue) Column=MisSal1.Quantity,ifnull(MisSal1.Quantity,@NullReplacementValue) Column=MisSal0.Turnover,ifnull(MisSal0.Turnover,@NullReplacementValue) Column=MisSal0.CoverCont,ifnull(MisSal0.CoverCont,@NullReplacementValue) Column=MisSal0.Quantity,ifnull(MisSal0.Quantity,@NullReplacementValue) MaxRows=25 Related=MisSal2,MisSal(@L1Cumul,@L1CumulId,@L2Cumul,MisSal.L2CumulId,@StartYearType,@StartYearPrePrevious,@StartPeriodType,@StartPeriod,@MonthCountThree),1,, Related=MisSal1,MisSal(@L1Cumul,@L1CumulId,@L2Cumul,MisSal.L2CumulId,@StartYearType,@StartYearPrevious,@StartPeriodType,@StartPeriod,@MonthCountThree),1,, Related=MisSal0,MisSal(@L1Cumul,@L1CumulId,@L2Cumul,MisSal.L2CumulId,@StartYearType,@StartYearCurrent,@StartPeriodType,@StartPeriod,@MonthCountThree),1,, Related=L2Cuml,CustMisC2,1,,L2Cuml.BoId=MisSal.L2CumulId Column=L2CumlId,L2Cuml.BoId Column=L2CumlNumber,L2Cuml.BoNumber OrderBy=-MisSal0.Turnover OrderBy=MisSal.RowId Scrolling=n
Datentyp | Beispiel | Kommentar |
Nummer
|
-12.87
12
+0.125
|
Punkt als Dezimaltrennzeichen, keine e-Notation, keine
Tausendertrennzeichen.
Die Angabe als String ("1.25") ist
nicht erlaubt!
|
String
|
'C:\\Temp\\'
"Dies ist ein String mit \"Titel\"
in Anführungszeichen"
"Und hier folgt ein
Unicode-Character: \u1234"
|
Limitiert durch " oder ', Escaping mittels
\
Real enthaltene \-Zeichen müssen «escaped» geschrieben
werden. Der Support für Unicode-Character ist
gegeben.
|
Boolean
|
TRUE
FALSE
|
Eigentlich Nummern (0 | 1)
Es wird aber die
Verwendung der Konstanten TRUE und FALSE empfohlen!
|
Datum
|
13.02.1946
08.11.1973
EMPTY_DATE
|
Format: tt.mm.jjjj
Die Angabe als String
("13.02.1946") ist nicht erlaubt!
«Kein-Datum» wird durch
die Konstante EMPTY_DATE repräsentiert.
Innerhalb eines
Result, wird EMPTY_DATE als Leerstring zurückgegeben!
|
Byte-Array
|
0x01020304FAFBFCFF
|
Pro Byte entsprechenden Hex-Wert mit 0x als
Prefix.
|
Listen
|
[1, 2, 3, 4]
['ABC', 'DEF‘]
Liste
innerhalb eines
Filters:
SalDocCondText.Number=[3000,3001,3002]
|
[Val1,Val2,…,Valn]
|
CodeValue | Syntax | Kommentar |
if
|
if(expr,valTrue,valFalse)
|
Klassischer if-then-else-Ausdruck. Trifft die
Bedingung (expr) zu, wird valTrue zurückgegeben, sonst valFalse.
|
ifnull
|
ifnull(expr,valInCaseOfNull)
|
Falls die übergebene Expression ungleich NULL ist,
wird die Expression zurückgegeben, sonst (im NULL-Fall)
valInCaseOfNull.
|
CodeValue | Syntax | Kommentar | ||
count
|
count([relationName.boAttribute])
|
Falls eine Relation durch ihren Namen und ein Attribut
der Source spezifiziert wird, wird die entsprechende Anzahl Rows
zurückgegeben.
Falls keine Relation angegeben wird, wird
grundsätzlich die Anzahl passender Rows einer Query
zurückgegeben.
Wird eine count()-Spalte in
Kombination mit anderen Spalten (z.B. Addr.CountrySc) verwendet,
wird zusätzlich gemäss diesen Spalten gruppiert (z.B. eine
Result-Row mit Anzahl pro Land).
|
||
countDistinct
|
countDistinct([relationName.boAttribute])
|
Es wird die Anzahl unterschiedlicher Rows einer Query
zurückgegeben.
|
||
exists
|
exists(relationName)
|
Prüft, ob mindestens eine Row durch die übergebene
Relation geliefert wird.
|
||
max
|
max(number)
|
Bestimmt den Maximalwert mehrerer Zahlen. (Allfällige
NULL-Werte werden ignoriert)
|
||
min
|
min(number)
|
Bestimmt den Minimalwert mehrerer Zahlen. (Allfällige
NULL-Werte werden ignoriert)
|
||
least
|
least(int,int)
|
Liefert die kleinere der beiden Werte
zurück.
# Beispiel 1 least(-5, 4) # Ergebnis -5 # Beispiel 2 least('AB', 'CD') # Ergebnis 'AB' Diese Funktion kann auch für Datumsvergleiche
verwendet werden.
# Beispiel 3 least(strToDate("01.02.2022"), strToDate("30.01.2022")) # Ergebnis 30.01.2022 |
||
greatest
|
greatest(int,int)
|
Liefert die grössere der beiden Werte
zurück.
# Beispiel 1 least(-5, 4) # Ergebnis 4 # Beispiel 2 least('AB', 'CD') # Ergebnis 'CD' Diese Funktion kann auch für Datumsvergleiche
verwendet werden.
# Beispiel 3 least(strToDate("01.02.2022"), strToDate("30.01.2022")) # Ergebnis 01.02.2022 |
||
sum
|
sum(number)
|
Bestimmt die Summe mehrerer Zahlen. (Allfällige
NULL-Werte werden ignoriert)
|
||
avg
|
avg(number)
|
Bestimmt den Durchschnittswert mehrerer Zahlen.
(Allfällige NULL-Werte werden ignoriert)
|
CodeValue | Syntax | Kommentar |
unicode
|
unicode(string)
|
Liefert den Unicode für das erste Zeichen eines
Strings.
Wird ein Leerstring oder NULL übergeben, gibt
diese Funktion NULL zurück.
|
length
|
length(str)
|
Gibt die Länge eines Strings zurück.
|
uppercase
|
uppercase(str)
|
Wandelt einen String in Grossbuchstaben
um.
|
lowercase
|
lowercase(str)
|
Wandelt einen String in Kleinbuchstaben
um.
|
trim
|
trim(str)
|
Entfernt allfällig vorhandene führende und
abschliessende Leerzeichen. Siehe auch 'ltrim' und 'rtrim'.
|
ltrim
|
ltrim(str)
|
Entfernt allfällig vorhandene führende
Leerzeichen.
|
rtrim
|
rtrim(str)
|
Entfernt allfällig vorhandene abschliessende
Leerzeichen.
|
left
|
left(str/bytes,length)
|
Kürzt einen String auf die gewünschte
Länge.
Beispiel: 'left('Zürich',4)' ergibt
'Züri'.
Funktioniert in analoger Art und Weise auch für
Byte-Arrays.
|
right
|
right(str/bytes,length)
|
Gibt die mit 'length' angegebene Anzahl Zeichen von
rechts aus.
Um Baden-Baden in Baden zu verwandeln, kann
folgende Syntax verwendet werden:
'right('Baden-Baden',5)'.
Funktioniert in analoger Art und
Weise auch für Byte-Arrays.
|
mid
|
mid(str/bytes,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'.
Funktioniert in analoger
Art und Weise auch für Byte-Arrays.
|
pos
|
pos(subStr,mainStr)
|
Gibt die Position eines Teilstrings (subStr) innerhalb
eines Strings (mainStr) zurück.
Ist der Teilstring nicht
vorhanden, wird 0 zurückgegeben.
Ist ein Argument NULL,
wird NULL zurückgegeben.
|
replace
|
replace(oldSubStr,str,newSubStr)
|
Ersetzt den Substring 'oldSubStr' in einem String
'str' maximal ein Mal durch den neuen Substring
'newSubStr'.
Beispiel: replace('B','Bern','Luz') liefert
als Resultat 'Luzern'.
Wenn 'oldSubStr' nicht in 'str'
enthalten ist, wird 'str' unverändert zurückgegeben.
Wenn
mindestens ein Argument NULL ist, wird als Resultat ebenfalls
NULL zurückgegeben.
|
replaces
|
replaces(oldSubStr,str,newSubStr)
|
Ersetzt alle Substrings 'oldSubStr' in einem String
'str' durch neue Substrings 'newSubStr'.
Beispiel:
replaces('u','Tuluse','ou')' liefert als Resultat
'Toulouse'.
Wenn 'oldSubStr' nicht in 'str' enthalten ist,
wird 'str' unverändert zurückgegeben.
Wenn mindestens ein
Argument NULL ist, wird als Resultat ebenfalls NULL
zurückgegeben.
|
CodeValue | Syntax | Kommentar |
abs
|
abs(number)
|
Gibt den absoluten Wert einer Zahl zurück, d.h.
negative Zahlen werden zu positiven konvertiert.
|
round
|
round(expr [,roundTo] [,roundMode])
|
Rundet den im ersten Argument übergebenen
Wert.
Das zweite Argument (roundTo) ist optional. Mit
diesem Argument können Sie die Rundung beeinflussen. (Default =
1)
Beispielwerte für roundTo
1 = Runden auf eine
Ganzzahl. (Aus 1.23456 wird, je nach roundMode, z.B.
1)
0.001 = Runden auf Tausendstel. (Aus 1.23456 wird, je
nach roundMode, z.B. 1.235)
0.05 = Runden auf fünf
Hundertstel. (Aus 1.23456 wird, je nach roundMode, z.B.
1.25)
Das dritte Argument (roundMode) ist optional. Mit
diesem Argument können Sie das Rundungs-Verhalten beeinflussen.
(Default = 0)
0 = 'Normal' Runden
1 = Immer
Aufrunden
-1 = Immer Abrunden
Für NULL wird NULL
zurückgegeben.
Um gemäss den Einstellungen im OpaccOXAS
Studio zu runden, kann als zweites Argument auch einer der
folgenden Werte verwendet
werden:
ContextInfo.RoundToPrice
ContextInfo.RoundToWeight
ContextInfo.RoundToQuantity
|
CodeValue | Syntax | Kommentar | ||
dayOfDate
|
dayOfDate(date)
|
Liefert den Tag eines Datums (als Nummer).
Für
NULL wird NULL zurückgegeben, für EMPTY_DATE wird 0
zurückgegeben.
|
||
monthOfDate
|
monthOfDate(date)
|
Liefert den Monat eines Datums (als Nummer).
Für
NULL wird NULL zurückgegeben, für EMPTY_DATE wird 0
zurückgegeben.
|
||
yearOfDate
|
yearOfDate(date)
|
Liefert das Jahr eines Datums (als Nummer).
Für
NULL wird NULL zurückgegeben, für EMPTY_DATE wird 0
zurückgegeben.
|
||
dateAdd
|
dateAdd(date, count [,datePartCd])
|
Addiert zu einem Datum eine bestimmte Anzahl
"Datums-Teile".
Standardmässig (wenn nicht weiter
angegeben) werden Tage dazu addiert. Ansonsten können für
"datePartCd" die Werte gemäss Code "DatePart" - also zum
Beispiel "DatePart.Month" - verwendet werden.
Wenn ein
Argument NULL ist, wird NULL zurückgegeben. Ebenso wird für ein
EMPTY_DATE-Argument NULL zurückgegeben.
Beispiel: Zum
Datum 31.10.2013 soll ein Monat addiert werden. Rückgabe:
30.11.2013
|
||
dateDiff
|
dateDiff(date1,date2 [,datePartCd])
|
Ermittelt die Differenz von "date1" minus
"date2".
Standardmässig (wenn nicht weiter angegeben) wird
die Differenz in Anzahl Tagen geliefert. Ansonsten können für
"datePartCd" die Werte gemäss Code "DatePart" - also zum
Beispiel "DatePart.Month" - verwendet werden.
Wenn ein
Argument NULL ist, wird NULL zurückgegeben. Ebenso wird für ein
EMPTY_DATE-Argument NULL zurückgegeben.
|
||
today
|
today()
|
Gibt das aktuelle Datum zurück.
|
||
time
|
time()
|
Gibt die aktuelle Zeit zurück.
|
CodeValue | Syntax | Kommentar |
name
|
a) name(viewColIdentifier [,context]
[,langNo])
b) name(codeViewIdentifier, value
[,langNo])
c) name(viewName, colName, value [,context]
[,langNo])
|
Gibt die Bezeichnung eines Elements zurück.
a)
Via Column-Identifier (1 bis maximal 3 Argumente)
b) Via
Code-Name und Value (2 bis maximal 3 Argumente)
c) Via
explizite/separate Angabe von View und View-Spalte sowie Value
(3 bis maximal 5 Argumente)
Für NULL als Input, wird NULL
zurückgegeben.
|
shortName
|
a) shortName(viewColIdentifier [,context]
[,langNo])
b) shortName(codeViewIdentifier, value
[,langNo])
c) shortName(viewName, colName, value
[,context] [,langNo])
|
Gibt die Kurzbezeichnung eines Elements
zurück.
a) Via Column-Identifier (1 bis maximal 3
Argumente)
b) Via Code-Name und Value (2 bis maximal 3
Argumente)
c) Via explizite/separate Angabe von View und
View-Spalte sowie Value (3 bis maximal 5 Argumente)
Für
NULL als Input, wird NULL zurückgegeben.
|
CodeValue | Syntax | Kommentar | ||
nmbToStr
|
nmbToStr(number)
|
Konvertiert eine Zahl in einen String.
Für NULL
wird NULL zurückgegeben.
Der Punkt wird als
Dezimaltrennzeichen verwendet.
Es werden keine
überflüssigen Nachkommastellen erzeugt. Falls mehr als acht
Nachkommastellen vorhanden sind, wird auf die achte Stelle
gerundet.
|
||
strToNmb
|
strToNmb(str)
|
Konvertiert einen String in eine Zahl.
Für NULL
wird NULL zurückgegeben.
Der Punkt wird als
Dezimaltrennzeichen erkannt. Ein Leerstring liefert 0.
Führende/Abschliessende Leerzeichen werden
ignoriert.
|
||
strAsNmb
|
strAsNmb(str)
|
Konvertiert einen String in eine Zahl.
Die
Funktionsweise entspricht strToNmb, jedoch mit folgendem
Unterschied:
Ist keine Konvertierung möglich (z.B. weil
der String Buchstaben enthält), hat dies keinen Fehler zur
Folge, sondern es wird NULL zurückgegeben.
|
||
dateToStr
|
dateToStr(date)
|
Konvertiert ein Datum in einen String vom Format
tt.mm.jjjj
Für NULL wird NULL zurückgegeben, für
EMPTY_DATE wird ein Leerstring zurückgegeben
|
||
strToDate
|
strToDate(str)
|
Konvertiert einen String vom Format tt.mm.jjjj in ein
Datum.
Für NULL wird NULL zurückgegeben, für Leerstrings
wird EMPTY_DATE zurückgegeben.
|
||
strAsDate
|
strAsDate(str)
|
Konvertiert einen String vom Format tt.mm.jjjj in ein
Datum.
Die Funktionsweise entspricht strToDate, jedoch mit
folgendem Unterschied:
Ist keine Konvertierung möglich
(z.B. weil der String Buchstaben enthält), hat dies keinen
Fehler zur Folge, sondern es wird NULL
zurückgegeben.
|
||
dateToInt
|
dateToInt(date)
|
Konvertiert ein Datum in einen Integer.
Achtung!
Die Abbildung ist Opacc-spezifisch und nur für den Datumsbereich
01.01.0201 bis 31.12.2500 definiert.
Für NULL wird NULL
zurückgegeben, für EMPTY_DATE wird 0 zurückgegeben.
|
||
intToDate
|
intToDate(int)
|
Konvertiert einen Integer in ein Datum.
Achtung!
Die Abbildung ist Opacc-spezifisch und nur für den Datumsbereich
01.01.0201 bis 31.12.2500 definiert.
Für NULL wird NULL
zurückgegeben, für EMPTY_DATE wird 0 zurückgegeben.
|
||
intToStr
|
intToStr(int)
|
Konvertiert einen Integer in einen String.
Für
NULL wird NULL zurückgegeben.
Wird eine Fliesskommazahl
übergeben, wird ein allfälliger Nachkommateil
abgeschnitten.
|
CodeValue | Syntax | Kommentar |
freeTableNo
|
a) freeTableNo(viewColIdentifier [,context])
b)
freeTableNo(viewName, colName [,context])
|
Liefert die Nummer der freien Hilfstabelle, die einer
Spalte zugewiesen ist. Die Hilfstabelle muss via Redefinition
zugeordnet sein.
a) Via Column-Identifier und optional
Kontext (1 bis maximal 2 Argumente)
b) Via
explizite/separate Angabe von View und View-Spalte sowie
optional Kontext (2 bis maximal 3 Argumente)
Wenn keine
Hilfstabelle zugeordnet ist, wird 0 zurückgegeben.
|
rowNo
|
rowNo()
|
Die Funktion rowNo() liefert, beginnend bei 1, eine
fortlaufende Nummer für jede angezeigte Zeile
(row).
Beispiel
Biz.Query MaxRows=50 Main=Addr Column=RowNo,rowNo() Columns=Addr.FullName Filter=Addr.FullName<>'' OrderBy=Addr.FullName |
guid
|
guid()
|
Die neue Funktion guid() liefert Ihnen eine GUID in
der Art von
B7C17D42-3EF0-4BC4-BC74-44A7E237942A.
Beispiel
... ... Column=GUID,guid() ... ... |
CodeValue | Syntax | Kommentar |
and
|
exp1 and exp2
|
Logische and-Verknüpfung zweier
Wahrheitswerte.
Sind beide Wahrheitswerte true, ist das
Ergebnis true, sonst false.
|
or
|
exp1 or exp2
|
Logische or-Verknüpfung zweier
Wahrheitswerte.
Ist mindestens einer der beiden
Wahrheitswerte true, ist das Ergebnis true, sonst
false.
|
not
|
not exp
|
Negiert die logische Expression.
|
like
|
str like pattern
|
Prüft ob der String dem Pattern entspricht. Innerhalb
des Patterns können '*' und '?' als Platzhalter benutzt werden.
Für das Escaping kann '\' benutzt werden.
|
notlike
|
str notlike pattern
|
Prüft ob der String dem Pattern nicht entspricht.
Innerhalb des Patterns können '*' und '?' als Platzhalter
benutzt werden. Für das Escaping kann '\' benutzt
werden.
|
<
|
var1 < var2
|
Vergleichsoperator "kleiner als".
|
<=
|
var1 <= var2
|
Vergleichsoperator "kleiner gleich".
|
=
|
var1 = var2
|
Vergleichsoperator "gleich".
|
>=
|
var1 >= var2
|
Vergleichsoperator "grösser gleich".
|
>
|
var1 > var2
|
Vergleichsoperator "grösser als".
|
<>
|
var1 <> var2
|
Vergleichsoperator "ungleich".
|
+
|
var1 + var2
|
Für numerische Werte: Addition.
Für Strings:
Zusammensetzen/Verketten der Strings.
|
-
|
number1 - number2
|
Subtraktion
|
*
|
number1 * number2
|
Multiplikation
|
/
|
number1 / number2
|
Division
|
CodeValue | Syntax | Kommentar |
NULL
|
NULL
|
Konstante für NULL. In unseren Daten sind keine
persistenten NULL-Werte enthalten. NULL-Werte können aber durch
Query-Relations entstehen. Beispielsweise dann, wenn für die
Relation 'keine Row vorhanden' ist.
Beispiel: Nicht jeder
Adresse (Addr) ist zwingend ein Adresskreis (AddrCircle)
zugeordnet.
|
TRUE
|
TRUE
|
Konstante für "Wahr": 1
|
FALSE
|
FALSE
|
Konstante für "Falsch": 0
|
EMPTY_DATE
|
EMPTY_DATE
|
Konstante für ein leeres Datum.
Innerhalb der
SQL-Datenbank mit dem Wert 01/01/0001 gespeichert.
|