Client-Server Funktionen
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.