In Statistiken oder Individualprogrammen wird regelmäßig mit Filterfunktionen gearbeitet, um Datenbestände sinnvoll einzugrenzen.
Um die Performance der bei Ihnen eingesetzten Client-Server-Engine optimal auszunutzen, empfehlen wir, in Filtern (Select P in Statistiken, index() und filter() in Individualprogrammen) möglichst die nachfolgenden Befehle zu verwenden, welche in der folgenden Tabelle aufgelistet sind:
|
ABS() |
DTOS() |
PAD() |
STR() |
|
ALLTRIM() |
EMPTY() |
PADC() |
STRZERO() |
|
AT() |
I2BIN() |
PADL() |
SUBSTR() |
|
AT() |
IF, IIF |
PADR() |
TIME() |
|
CHR() |
L2BIN() |
RAT() |
TODAY() |
|
CTOD() |
LEFT() |
RECNO() |
TRANSFORM() |
|
CTOT() |
LEN() |
REVERSE() |
TRIM() |
|
CTOTS() |
LOWER() |
RIGHT() |
UPPER() |
|
DATE() |
LOWERW() |
ROUND() |
UPPERW() |
|
DAY() |
LTRIM() |
RTRIM() |
VAL() |
|
DELETED() |
MAX() |
SPACE() |
YEAR() |
|
DESCEND() |
MIN() |
STOD() |
|
|
DTOC() |
MONTH() |
STOTS() |
|
Nähere Informationen zu diesen Funktionen finden Sie in der separaten Codeblock-Dokumentation von business express.
Im Folgenden sind Beispiele aus dem Reportgenerator und der Codeblock-Programmierung für den richtigen Einsatz eines Filters zu finden.
Beispiel für Verwendung in einer Statistik
Aufgabe: Filter auf die Statistik
Variablen:
-
v[1] = Vertreter von
-
v[2] = Vertreter bis
Langsamer Filter, da der Server die Funktion vbfilt() nicht interpretieren kann:
Select P: vbfilt(vertreter,v[1],v[2])
Schneller Filter, da keine unbekannten Funktionen verwendet werden:
Select P: vertreter>=v[1].and.vertreter<=v[2]
Beispiel für Verwendung in einem Individualprogramm
Aufgabe: Filter auf den Auftragskopf nach Kundenmatchcode, Gesamtwert und Erfassungsdatum
Variablen:
-
v[1] = Kundenmatchcode
-
v[2] = Gesamtwert
-
v[3] = Erfassungsdatum
Langsamer Filter, da die Variablen v[1], v[2] und v[3] nicht am Server interpretieren werden können: filter("mc=v[1].and.gwert>v[2].and.erfassdat>=v[3]")
Schneller Filter, da reiner Textstring an Server gesendet wird: filter("mc='"+v[1]+"'.and.gwert>="+str(v[2])+".and.dtos(erfassdat)>='"+v[3]+"'")
Beim Statistikgenerator werden die Eingaben in Select P automatisch in einen Textstring umgewandelt. Daher können dort direkt die Variablen v[1] etc. benutzt werden. In der Individualprogrammierung muss die Variable manuell in einen Textstring umgewandelt werden.