Platzhalter für Metadaten
Es sind folgende Platzhalter für Metadaten definiert. Bei Verwendung müssen die Platzhalter in der Form "$[...]" verwendet werden, wobei die Punkte durch den Platzhalter-Namen ersetzt werden müssen):
Platzhalter für
- SQL-Strings
- Default-Werte
- Validierungsausdrücke
- Makro-Parameter
Ergänzungen:
- "Eigenwaehrung" auch für Titel-Attribut bei Trendvergleich-Elementen
- "Call(...)" nicht für Datenklassen
Name | Inhalt |
---|---|
CheckLicence(lizenzkuerzelausdruck) (Ab Version 9.0.3) | Prüfen der übergebenen Lizenzeigenschaft Parameter:
Rückgabe:
Beispiele (Makros): $[CheckLicence(Anbu)] $[CheckLicence(Not LagerErweitert)] $[CheckLicence(xRMBasic OR xRMProfessional OR xRMEnterprise)] Beispiele (SQL): $[CheckLicence('Projekt')] <> 0 $[CheckLicence('NichtSkontierfähigeArtikel')] <> 0 |
Country | Land des Mandanten:
|
Database(kuerzel) | Tabellen-Präfix der durch „kuerzel“ referenzierten Datenbank „kuerzel“ (z.B. „CRM“ und „HR“) Hinweise:
|
Mandant | Mandantennummer der OL-Datenbank |
ApplicationName | Name der Applikation über die das Element aufgerufen wurde, mögliche Werte sind "Rewe" und "Abf" |
CurrentDate | Server-Systemdatum
|
DatenreferenceFilter (Ab Version 9.0.4) | Nur für Datenreferenzen:
|
Eigenwaehrung | Eigenwährung des Mandanten (dreistelliges Kürzel) |
Geschaeftsjahr | Aktuelles Geschäftsjahr, berechnet auf Basis des aktuellen Server-Systemdatums
Tipp: In einem Makro-Ausdruck kann das aktuell gewählte Geschäftsjahr, das beim Start der Anwendung definiert wurde, mit der vordefinierten lokalen Makro-Variablen "[_AppYear]" adressiert werden. |
GeschaeftsjahrClient (Ab Version 9.0.5) | Aktuell gewähltes Geschäftsjahr, das beim Start der Anwendung definiert wurde (Nur zulässig in Primärschlüsselfelder von Feldern einer Datenwertliste). |
Periode | aktuelle Periode (z.B. für Filter „letzte 3 Perioden“) berechnet auf Basis des aktuellen Server-Systemdatums
|
PeriodeStart | erste Periode des Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums
|
PeriodeEnde | letzte Periode des Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums
|
PeriodeStartOperativ | erste operative Periode des Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums (bei Rumpfgeschäftsjahren ist dies nicht di erste Periode)
|
PeriodeEndeOperativ | letzte Periode des Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums
|
PeriodeStartVorjahr | erste Periode des vorherigen Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums
|
PeriodeEndeVorjahr | letzte Periode des vorherigen Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums
|
PeriodeStartOperativVorjahr | erste operative Periode des vorherigen Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums Systemdatums (bei Rumpfgeschäftsjahren ist dies nicht di erste Periode)
|
PeriodeEndeOperativVorjahr | letzte operative Periode des vorherigen Geschäftsjahres berechnet auf Basis des aktuellen Server-Systemdatums
|
UserName | Anwendername |
GetString(index) | String-Ressource auf Basis der Parameter ermitteln. Als Default für „name“ wird „Common“ verwendet, für Partner- und Lösungs-ID die Lösung, aus der der Aufruf erfolgt. Die Funktion wird für die Übersetzbarkeit fester Strings – wie z.B. „Grundartikel“ in der Warenwirtschaft – verwendet. Der String wird in Hochkommata eingeschlossen. Hochkommata innerhalb des Strings werden verdoppelt. |
GetConstant(name) | Numerische Konstante auf Basis der Parameter ermitteln. Als Default für Partner- und Lösungs-ID wird die Lösung, aus der der Aufruf erfolgt, verwendet. |
Call(assemblyname, classname, params…) | Aufruf der Funktion „Entry“ der Klasse „classname“ in der Assembly „assembly“ mit maximal 4 Parametern (Rückgabewert ist vom Typ String). Zusätzlich wird ein ParameterBag übergeben, der bei mehrfacher Verwendung von „Call“ Konfigurationswerte zwischenspeichern kann, wobei die Aufrufreihenfolge nicht garantiert wird. Als Parameter können übergeben werden:
konstante String-Werte (in einfache Hochkommata ( ‘ ) eingeschlossen und enthaltene einfache Hochkommata durch Doppel-Hochkomma maskiert) |
GetMandantProperty(index) | Mandanten-Eigenschaft ermitteln Je nach Inhalt des Feldes "Typ" in der Tabelle "KHKMandanten" werden automatisch folgende Maskierungen mit eingefügt:
Parameter:
Beispiel für Makro-Ausdruck: $[GetMandantProperty(125, "Defaultwert")] oder für Leerstring als Default-Wert: $[GetMandantProperty(125, "")] Beispiel für SQL: $[GetMandantProperty(125, 'Defaultwert')] oder für Leerstring als Default-Wert: $[GetMandantProperty(125, '')] |
Platzhalter für SQL-Strings
Ergänzungen:
- "ParentKeyField(n)" ist nur in Child-Elementen sinnvoll und auch als Parameter für Drilldown-Funktionsaufrufe verfügbar
- "PartGuid" ist auch bei Parametern für VBA-Funktionsaufrufe, Drilldown-Funktionsaufrufe (nicht für Inplace) und die Eigenschaft „Aktualisierungsbenachrichtigungen“ in List-Elementen verfügbar
- "Parameter" ist auch bei Parametern für VBA-Funktionsaufrufe, Drilldown-Funktionsaufrufe, für Drag-Funktionsaufrufe, für die Where-Clause von Datenreferenzen, den Titel von Detail-Elementen in Master-Detail-Elementen und der Eigenschaft "Parameter für Anpassungen" bei den Detail-Elementen des Master-Detail-Elements verfügbar
Name | Inhalt |
---|---|
UserDefinedFieldsList(userdefinedfields) | Feldliste der benutzerdefinierten Felder „userdefinedfields“ einer Tabelle (z.B. „Artikel“) zur Verwendung in Datenquellen, die verschachtelte Abfragen enthalten (Angabe „userdefinedfields“ ohne Anführungsstriche) |
InnerClause | Platzhalter für die Filter-Kriterien einer inneren SQL-Abfrage. Dieser wird aus den in der Datenquelle mit „UseFilterInInnerClause“ markierten Feldern gebildet, wenn diese gefiltert werden. Er ist entweder leer (kein Filter für innere SQL-Abfrage gesetzt) oder beginnt grundsätzlich mit einem „AND“, auf das die einzelnen Filter (ebenfalls mit „AND“ verknüpft) folgen. Anmerkungen:
Falls die innere Where-Clause nur die Filter enthalten soll, muss sie mit einem Dummy-True beginne, damit die AND-Syntax keinen Fehler verursacht. |
IfParameterExists(name, “sqltrue“) | Die Funktion dient dem Zusammenbau von Where-Clauses bei optionalen Selektions-Parametern.
Die SQL-Ausdrücke müssen in Anführungszeichen ("") eingeschlossen werden, die bei der Ersetzung entfernt werden. Evtl. vorhandene Anführungszeichen im SQL-Ausdruck müssen verdoppelt werden. |
AppendAndParameterFromTo(name, sqlfieldname) | Die Funktion dient dem Zusammenbau von Where-Clauses für Von-Bis-Parameter, inkl. der Behandlung von Mehrfachselektion (siehe Metadaten-Attribute "IsFromTo" und "AllowMultiselect" der Datenstruktur).
Der Platzhalter wird in Abhängigkeit der Inhalte der Parameter
durch einen entsprechenden SQL-Ausdruck ersetzt:
|
ParameterValueList(name) | Enthält ein Feld eine Werteliste, wie sie in der Oberfläche und in Makros verwendet wird (Semikolon-separierte Liste von Werten; Texte müssen in Anführungszeichen eingefasst werden; innenliegende Anführungszeichen sind verdoppelt), kann sie mit diesem Platzhalter in eine SQL-konforme Werteliste umgewandelt werden, z.B. zur Verwendung im IN-Operator. Szenarien:
Hinweis: Wertelisten, die in einer Selektion mit Mehrfachauswahl entstehen können (Metadaten-Attribute "IsFromTo" und "AllowMultiselect"), müssen mittels Platzhalter "AppendAndParameterFromTo" ausgewertet werden. Achtung: Wertelisten, die im Frontend entstehen (Client-seitig). dürfen wegen der Gefahr von SQL-Injection nicht ungeprüft in SQL verwendet werden. Es ist immer eine typsichere Zerlegung in Einzelwerte und ein neues, maskiertes Erzeugen der Werteliste notwendig. Das ist mit Verwendung dieses Platzhalters sichergestellt. |
ParentKeyField(n) | An ein Child-Part übergebener Inhalt von Key-Feld <n> |
ParentFieldValue(name) | nur für Datensätze: ruft beim Lesen eines Child-Records den Inhalt des Parent-Feldes „name“ (Angabe ohne Anführungszeichen) ab. Anwendungsbeispiel: Beim Lesen mit Left Join können Felder den Wert NULL haben, die in Unterabfragen aber verwendet werden. Falls die Felder auch im Hauptsatz existieren, können sie mit diesem Platzhalter ermittelt werden |
PartGuid | GUID der Part-Instanz (z.B. für Konfigurationsdialoge der „Trend…“-Parts) |
Parameter(name) | Ein von außen übergebener benannter Parameter. Beispielsweise:
Hinweis:
|
Platzhalter für die WHERE-Bedingung bei Datenklassen-Lokatoren mit Fremdtabelle
Name | Inhalt |
---|---|
SearchValue | Dieser Platzhalter wird in der WHERE-Bedingung durch den Wert ersetzt, nach dem gesucht wird. Der Wert, der eingesetzt wird, wird automatisch so formatiert, dass er in einer WHERE-Bedingung funktioniert.
|
Platzhalter bei Parametern für VBA-Funktionsaufrufe, Drilldown-Funktionsaufrufe (nur Inplace) sowie Drag&Drop-Funktionsaufrufe verfügbar
Name | Inhalt |
---|---|
KeyField(n) | Inhalt von Key-Feld <n> im Normalfall ergibt dies direkt den Wert, bei Multiselect wird als Inhalt eine Semikolon-separierte Liste verwendet Strings werden in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert |
FieldValue(Name) | nur für Data-Edit- und Multi-Data-Edit-Elemente: Inhalt des Feldes „name“ (Angabe des Parameters ohne Anführungszeichen), im Normalfall ergibt dies direkt den Wert, bei Multiselect wird als Inhalt eine Semikolon-separierte Liste verwendet Strings werden in Anführungszeichen eingeschlossen und darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert |
KeyFieldMaskedForList(n) | Inhalt von Key-Feld <n> Der Platzhalter dient zum Zusammenstellen von Parameter-Listen, die als Funktionsparameter an Access-Funktionen übergeben werden (wie z.B. "Artikelnummer:=" & $[ KeyFieldMaskedForList (1)] & ";AuspraegungID:=" & $[ KeyFieldMaskedForList (2)] & ";Dispoauskunft:=-1"). String-Werte werden in Anführungszeichen gesetzt, darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert. Alle anderen Werte sind identisch mit den Werten aus Platzhalter "KeyField". |
FieldValueMaskedForList(n) | nur für Data-Edit- und Multi-Data-Edit-Elemente: Inhalt des Feldes „name“ (Angabe des Parameters ohne Anführungszeichen) Der Platzhalter dient zum Zusammenstellen von Parameter-Listen, die als Funktionsparameter an Access-Funktionen übergeben werden (wie z.B. "Artikelnummer:=" & $[ FieldValueMaskedForList (Artikelnummer)] & ";AuspraegungID:=" & $[ FieldValueMaskedForList (AuspraegungID)] & ";Dispoauskunft:=-1"). String-Werte werden in Anführungszeichen gesetzt, darin enthaltene Anführungszeichen durch zwei Anführungszeichen maskiert. Alle anderen Werte sind identisch mit den Werten aus Platzhalter "FieldValue". |
SenderField(n) | nur bei Drop-Funktionen: Über „SenderField(n)“ stehen die Funktions-Parameter der aufrufenden Drag-Funktion zur Verfügung (n darf zwischen 1 und 6 liegen) |
Platzhalter für Diagramm-Element-Kontextmenüs
Name | Inhalt |
---|---|
ChartSeriesNumber | Übergabe der Kurvennummer einer aufgerufenen Funktion des Kontextmenüs |
Platzhalter für die Eigenschaft "SQL-Bedingung berechneter Filter" (Datenquellenfeld)
Name | Inhalt |
---|---|
KeyValue | Filter-Wert |
Platzhalter für die Eigenschaft „SQL-Ampelermittlung“ (Datenquellenfeld)
Name | Inhalt |
---|---|
TrafficLightParameter1 | Ampel-Parameter 1 |
TrafficLightParameter2 | Ampel-Parameter 2 |
Platzhalter für Titel-Attribute
Ergänzungen:
- "ParameterValue" steht nur für Listen-Elemente zur Verfügung
Name | Inhalt |
---|---|
RecordCount | Anzahl der Datensätze in einem Listen-Element:
soweit die Daten noch nicht geladen sind: „…“ |
ParameterValue(n) | Referenziert im Titel eines Link-Element-Links auf das Link-Datenfeld mit "Type"=n |