Ausdrucks-Editor

Über den Ausdrucks-Editor können über eine standardisierte Funktionalität Abfragen mit Zugriff auf die aktuelle Datenbank erstellt werden.

Abschnitte der Hilfe

In der Hilfe werden folgende Abschnitte beschrieben:

So geht's

Zurück

Die folgenden Arbeitsschritte werden empfohlen:

  1. In der externen Applikation werden Fachschale und Objekttyp gewählt.

  2. Pfad und OPath werden aus der Objekthierarchie (für Knoten oder Leitung) in den Editierbereich übernommen.

  3. Zur Rückgabe der gewünschten Abfrage-Ergebnisse werden Funktionen eingebunden (inklusive Operatoren).

  4. Falls erforderlich, werden Filter-Parameter definiert (inklusive Operatoren).

  5. Falls erforderlich, werden Filter zur Eingrenzung der abzufragenden Objekte gesetzt (inklusive Operatoren).

  6. Nach Beenden des Editierens wird die Validierung des Ausdrucks durchgeführt.

  7. Die Abfrage wird in der externen Applikation mit Echtdaten getestet.

  8. Das fertige Abfragedokument wird über die BCE - Funktionalität exportiert und gesichert.

Theoretische Grundlagen

Zurück

Übersicht über die behandelten Themen:

ObjectSpace

Zurück

Beim ObjectSpace handelt es sich um den Grundbaustein einer neuartigen Datenzugriffstechnologie. Über diese Technologie kann der virtuelle Zugriff auf beliebige Daten eines Datenspeichers definiert werden.

Der ObjectSpace erzeugt automatisch eine Datenzugriffsschicht, die für alle objektorientierten Abfragen genutzt werden kann. Über den ObjectSpace können Datenbanken des Microsoft SQL Server ab Version 2000 sowie von Oracle ab Version 9i angesteuert werden, um Daten zu lesen und / oder zu aktualisieren.

Die Sprache zur Generierung der Abfragen basiert auf OPath-Ausdrücken. Diese sind mit XPath-Ausdrücken und anderen Zugriffselementen (wie Parametern) kompatibel.

Pfad und OPath

Zurück

OPath und Pfad sind spezielle Elemente zur Generierung von ObjectSpace-basierten Abfragen. Grundvoraussetzung zur Verwendung dieser Elemente ist die objektorientierte Datenbankstruktur.

Bedeutung des OPaths für den Anwender

Die Bedeutung des OPaths für den Anwender besteht darin, auf einfache Weise eine beliebige Datenbankabfrage zu beschreiben, ohne dass weitere Details über die Struktur der Datenbank bekannt sein müssen. Jeder OPath-Ausdruck kann in eine beliebige standardisierte Abfrage-Sprache wie SQL, XPath oder MSIL übersetzt werden.

Ergebnis eines OPath-Ausdrucks

Jeder OPath-Ausdruck steht für einen Einzelwert (beispielsweise ein logischer Wert oder eine Zahl), für einen Container von Werten oder für Objekte. Der Ergebnisbereich hängt von der Art der Hierarchie ab, an dessen Ende der OPath steht, also vom zugehörigen Pfad.

Datenbankspalte eines OPath-Ausdrucks

Jeder OPath-Ausdruck repräsentiert den Wert einer bestimmten Datenbankspalte des aktuellen Objekttyps. Anders ausgedrückt entspricht der OPath der Bezeichnung eines bestimmten Objektattributs.

Für den Objekttyp 'Leitung' entspricht beispielsweise der OPath 'Sohlgefaelle' der Bezeichnung des Attributs 'Sohlgefälle [‰]'.

Pfad zum OPath

Der Pfad zum OPath beschreibt die Hierarchie vom Hauptobjekt 'Knoten' oder 'Leitung' bis zum gewünschten Attribut, also bis zum OPath. Der Pfad drückt die hierarchische Beziehung der oberhalb des OPaths stehenden Objekte aus. Vom Hauptobjekt bis zum OPath leitet der Operator '.' die jeweils nächst tiefere Hierarchieebene ein. (Der Operator '^.' führt in die nächst höhere Hierarchieebene zurück).

Beispielsweise kann zum OPath 'MaxWassertiefe', also 'maximale Wassertiefe [m]' folgender Pfad führen:

  • AbwLeitung.KnotenAnf.HydKnoten.Detailergebnisse.MaxWassertiefe

Der Beispielpfad gelangt von der Abwasserleitung über Anfangsknoten, Hydraulik und Detailergebnisse zum OPath 'MaxWassertiefe'.

Elemente eines OPath-Ausdrucks

Die Elemente eines OPath-Ausdrucks werden in den Abschnitten dieser Anwenderhilfe beschrieben.

Konstanten eines OPath-Ausdrucks

Zurück

Ein OPath-Ausdruck kann eine der folgenden Konstanten besitzen:

NULL

Der Ausdruck besitzt keinen Wert.

TRUE

Der Ausdruck besitzt den logischen Wert WAHR.

FALSE

Der Ausdruck besitzt den logischen Wert FALSCH.

Werttyp eines OPath-Ausdrucks

Zurück

Ein OPath-Ausdruck kann einen der folgenden Werttypen besitzen:

Zeichenfolge

'Diese Zeichenfolge stellt ein Beispiel dar.'

Zahlenwert

-7603.251

Datumswert

#2000-09-22#

Zeitwert

#11:05:00#

Datums- und Zeitwert

#2000-09-22T11:05:00#

Filter eines OPath-Ausdrucks

Zurück

Der Filter eines OPaths-Ausdrucks muss einem logischen Wert mit den möglichen Ergebnissen WAHR oder FALSCH entsprechen. Der Filter kann an beliebiger Stelle des Pfades eingesetzt werden. Durch den Filter wird die Anzahl der abzufragenden Objekte benutzerdefiniert eingeschränkt.

Der Filter wird für das Objekt der relevanten Hierarchieebene des OPaths gesetzt.

Syntax

(Pfad).Objekt[<Filterbedingung>].(Pfad).OPath

Beispiele

Es folgen zwei einfache Beispiele zur Verwendung des Filters:

  • AbwKnoten[Material='B'].KanalartNutzung

  • AbwLeitung[Material='B'].AbwAnschlussleitungen[Material='Stz'].Profilbreite

Je Pfad können also auch mehrere Filter verwendet werden.

Hinweise zu den Funktionen

Zurück

An dieser Stelle der Hilfe werden wichtige Details zur Einbindung von Funktionen in den Pfad und zur Verwendung von C#-Programmkode erläutert.

Einbindung von Funktionen in den Pfad

Jede Funktion entspricht einem eigenständigen Objekt des Pfades, beispielsweise die Funktion IIF(<condition>,<truevalue>,[falsevalue]):

  • AbwLeitung.IIF(Material='Stz','Steinzeugrohre','Rohre mit anderem Material').

Auf einen OPath kann keine Funktion folgen. Der Ausdruck "AbwLeitung.Bezeichnung.Left(3)" ist also nicht erlaubt. Stattdessen sind folgende Ausdrücke möglich:

  • AbwLeitung.Left(Bezeichnung,3)

  • Left(AbwLeitung.Bezeichnung,3)

Pfade in Funktionen

Pfade in Funktionen sollten vermieden werden, da sie zur "Aufblähung" des Abfrageausdrucks führen:

  • Schlechte Lösung: AbwLeitung.Concat('Profilbreite: ', Profil.Profilbreite, ' / Profilhöhe: ', Profil.Profilhoehe)

  • Optimierte Lösung: AbwLeitung.Profil.Concat('Profilbreite: ', Profilbreite, ' / Profilhöhe: ', Profilhoehe)

Einbindung von C#-Programmkode

C#-Programmkode oder dessen Fragmente können in den Pfad eingebunden werden. Voraussetzung ist, dass der C#-Programmkode ein kompatibles Ergebnis zurückgibt. Der C#-Programmkode ist in geschweifte Klammern '{}' zu setzen.

Beispiel:

  • AbwKnoten.Id={MyStaticClass.StaticIdProperty}

Benutzeroberfläche

Funktionalität des Ausdruckseditors

So geht's

Theorie

Zurück

Die Benutzeroberfläche ist im Folgenden grob schematisch dargestellt. Verknüpfungen führen zu den relevanten Details der Hilfe weiter.

Ausdruckseditor

Kopfleiste.

 

Werkzeugleiste.

Arbeitsbereiche.

OK

 

Abbrechen

Schaltflächenleiste.

Werkzeuge

Arbeitsbereich des Ausdruckseditors

Zurück

Vom Bereich der Benutzeroberfläche abhängige Standard-Schaltflächen:

Rückgängig

Vorsicht! Alle nicht gespeicherten Änderungen werden ignoriert!

Validierung

Aufruf der Ausdruckskontrolle. Der eingegebene Ausdruck wird auf seine syntaktische Richtigkeit geprüft.

Rückgängig

Die letzte Editieraktion wird zurück genommen.

Reaktivieren

Die letzte zurück genommene Editieraktion wird reaktiviert.

Suchen

Es öffnet sich ein Formular, um einen beliebige Zeichenfolge im Editierbereich zu suchen.

Ersetzen

Es öffnet sich ein Formular, um einen beliebige Zeichenfolge im Editierbereich durch eine beliebige andere Zeichenfolge zu ersetzen.

Syntax

Bei aktiver Schaltfläche werden wichtige Elemente der Syntax wie Klammern oder Funktionen in unterschiedlichen Farben hervorgehoben.

Bei inaktiver Schaltfläche erfolgt keine farbliche Hervorhebung der Syntaxelemente.

Art der Benamung

Bei aktiver Schaltfläche werden alle Ausdrücke mit ihren neutralen Bezeichnungen dargestellt. Dies sind die in der BaSYS-Datenbank verwendeten originalen Systembezeichnungen.

Bei inaktiver Schaltfläche werden die lokalisierten Bezeichnungen verwendet.

Das Umschalten zwischen Systembezeichnung und lokalisierter Bezeichnung gilt auch für die erstellten Ausdrücke. Je Einstellung sind also alle Bezeichnungen miteinander kompatibel.

Ausdruck

Arbeitsbereich des Ausdruckseditors

Zurück

Schematische Skizze:

Ausdruck

AbwKnoten[Material='B'].KanalartNutzung

Definition des SQL Abfrage-Ausdrucks. Alle Elemente der Benutzeroberfläche können für die Erstellung des Ausdrucks benutzt werden.

Das schrittweise Vorgehen zum Erstellen des Ausdrucks wird im Abschnitt So geht's beschrieben.

Validierung

Funktion für den Ausdruck

Zurück

Die Validierung wird über die Werkzeuge des Ausdruckseditors aufgerufen. Sie prüft auf die syntaktische Richtigkeit des eingegebenen Ausdrucks. Nach Abschluss der Prüfung wird das im Folgenden beschriebene Ergebnisprotokoll ausgegeben.

Fehlerhafter Algorithmus

Das Prüfergebnis weist auf einen fehlerhaften Algorithmus hin. Im Beispiel wurde eine schließende Klammer zu viel gesetzt.

Ausdrucks-Editor

Ausdruck überprüfen

Der eingegebene Ausdruck ist ungültig!

Fehlermeldung des Parsers:

Invalid expression end ')'

Meldung

 

 

OK

Fehlerfreier Algorithmus

Gemäß Prüfergebnis ist der Algorithmus fehlerfrei.

Ausdrucks-Editor

Ausdruck überprüfen

Der eingegebene Ausdruck ist gültig.

Meldung

 

 

OK

Wichtiger Hinweis

Ein gültiger Ausdruck führt nicht zwangsläufig zu einer fehlerfreien Abfrage. Zur weiteren Prüfung muss die Abfrage also mit sinnvollen Daten getestet werden.

Validierung exportieren

Zugehörige Schaltfläche

Bei Klick auf die Schaltfläche wird der Meldungstext in die Zwischenablage übernommen. Der Text kann dann in jedes beliebige Dokument eingefügt werden.

Ausdruck wählen

Arbeitsbereich des Ausdruckseditors

Zurück

Schematische Skizze:

Ausdruck wählen

Kopfleiste.

Stammelement

 

Cast(...)

 

:

Spalte 1

Objekthierarchie mit allen Datenbankobjekten, die gefiltert auf das Stammelement für den Ausdruck gewählt werden können.

Objekthierarchie des Ausdruckseditors für die Fachschale, aus welcher der Editor gestartet wurde.

  • Die Objekte werden hierarchisch in einer Baumstruktur dargestellt.

  • Oberster Ast der Hierarchie ist das aktive Objekt (Knoten oder Leitung).

  • Jedes Objekt kann direkt in den Ausdruck übernommen werden.

Objekthierarchie

Zurück

Im obersten Knoten der Objekthierarchie wird der BaSYS Objekttyp angezeigt, dessen Attribute und verknüpfte bzw. zu filternde Objekte für die Erstellung eines Abfrageausdrucks genutzt werden sollen.

Wahl des Objekttyps

Der Objekttyp, für den der Abfrageausdruck editiert werden soll, wird in der übergeordneten Applikation (beispielsweise im Legendeneditor von BaSYS LILA oder im OPath Abfragedesigner) definiert.

Das gewünschte Attribut ist per <Strg> Doppelklick in den Editierbereich zu übernehmen.

Objekte

Zurück

Die Objekte der Objekthierarchie werden in der folgenden Übersicht beispielhaft für den Objekttyp AbwKnoten dargestellt. Die Verknüpfungen führen zur Beschreibung der Details weiter.

AbwKnoten

Fachschale und Objekttyp

 

:

Art

 

:

Aussenschutz

Direkte Attribute

 

Ansprechpartner

 

Arbeitsbereich

Objektliste

 

:

:

Bezeichnung

 

:

:

Id

Attribute

 

:

Documents

 

:

GeoObjects

Zu filternde Objekte

 

:

:

:

Breite

 

:

:

:

...

 

:

:

:

XmlGeometries

Attribute

 

:

Properties

 

Betreiber

 

Dichtheitspruefungen

Weitere Hierarchien

!

Parent unbenannt

Fachschale und Objekttyp

Fachschale und Objekttyp werden über die externe Applikation definiert. In den Ausdrucks-Editor sind die Fachschalen Wasser, Gas und Abwasser integriert.

Dazu gehören jeweils die Objekttypen Knoten und Leitung.

Direkte Attribute

Direkte Attribute des Objekttyps.

Die Auswahl eines Attributes für den Editierbereich erfolgt per Doppelklick.

Objektlisten

Objektlisten des übergeordneten Objektes (hier des Objekttyps). Eine Objektliste besitzt Attribute und Unterhierarchien.

Das gewünschte Attribut wird per <Strg> Doppelklick mit der Beziehungshierarchie in den Editierbereich übernommen.

Zu filternde Objekte

Zu filternde Objekte des übergeordneten Objektes. Ein zu filterndes Objekt besitzt Attribute und Unterhierarchien.

Das gewünschte Attribut wird per <Strg> Doppelklick mit Beziehungshierarchie und eckigen Klammern [<Filter>] zur Filterdefinition in den Editierbereich übernommen.

Im Editierbereich ist innerhalb der eckigen Klammern der erforderliche Filter zu definieren.

Weitere Hierarchien

Per Klick auf <+> wird die nächste Hierarchieebene geöffnet. So kann bis zu jedem beliebigen Attribut navigiert werden. In der Abbildung ist die Navigation zum Attribut <Typ> dargestellt, das zu den Eigenschaften des Arbeitsbereiches gehört. Das Attribut wird wie folgt in den Editierbereich übernommen:

  • Arbeitsbereich.Properties[<Filter>].TypeBezeichnung

Der Filter ist danach im Editierbereich zu definieren.

Parent unbenannt

Unbenanntes übergeordnetes Objekt zum Objekt des Pfades.

Spaltenfilter

Arbeitsbereich des Ausdruckseditors

Zurück

Schematische Skizze:

 

Im Ausdruckseditor können folgende Spaltenfilter für die Baumstruktur der Objekthierarchie gewählt werden:

System

Bei aktiver Schaltfläche werden die systemverwalteten Spalten in der Baumstruktur angezeigt. Die Spalten besitzen dasselbe Symbol wie die Schaltfläche. Dadurch können sie sofort von den übrigen Spalten unterschieden werden.

Bei inaktiver Schaltfläche werden die systemverwalteten Spalten ausgeblendet.

Fremdschlüssel

Bei aktiver Schaltfläche werden die Fremdschlüssel-Spalten in der Baumstruktur angezeigt. Die Spalten besitzen dasselbe Symbol wie die Schaltfläche. Dadurch können sie sofort von den übrigen Spalten unterschieden werden.

Bei inaktiver Schaltfläche werden die Fremdschlüssel-Spalten ausgeblendet.

Operatoren

Arbeitsbereich des Ausdruckseditors

Zurück

Die Operatoren werden im Ausdruckseditor genutzt, um die Elemente eines Ausdrucks miteinander in Beziehung zu setzen.

Operatoren

=

<>

Like

In

<

<=

>=

>

And

Or

(

)

+

-

*

/

[

]

^.

.

'---'

'

#

ref:

Im Folgenden werden ausschließlich die Operatoren beschrieben, die nicht zur mathematischen Allgemeinbildung gehören. Die Beschreibung schließt jeweils mit einem Beispiel zu folgenden Objekten ab:

  • Haltung 'RW-001'

  • Anfangsschacht  'RW-001'

  • Strang 'RW-01'

LIKE-Operator

Like

Zugehöriges Symbol

Der LIKE Operator sucht nach der Übereinstimmung mit dem definierten Platzhalter.

Beispiel:

  • AbwLeitung[ref:Id LIKE 'RW'].Bezeichnung = 'RW-001'

Wert in Werten J/N

In

Zugehöriges Symbol

Falls ein Wert in In(<values>) enthalten ist, wird WAHR, sonst FALSCH zurückgegeben. Der Operator durchsucht die (gefilterte) Datenbankspalte nach den in einer Liste übergebenen Werten.

Beispiel

In Tabelle AbwLeitung befinden sich 500 Leitungen. In der Spalte Material soll die Liste mit den Materialien Steinzeug und Beton berücksichtigt werden. Dazu kann folgender Ausdruck erstellt werden:

  • Material In (‚STZ‘, ‚B‘)

 Über diesen Filter werden dann in einer Abfrage von AbwLeitung - Objekten alle Leitungen gefunden, die eines der genannten Materialen besitzen.

Mehrfachauswahl-Parameter verwenden

Der im Beispiel beschriebene Ausdruck lässt sich durch einen Mehrfachauswahl-Parameter sinnvoll erweitern. Dadurch wird die Abfrage für eine andere / benutzerdefinierte Materialauswahl flexibilisiert.

So geht's:

  1. Definition eines Mehrfachauswahlparameters, beispielsweise $LeiMaterial vom Typ Auswahlliste.

  2. Umgestaltung des im Beispiel genannten Ausdrucks:

    • Material In ($LeiMaterial)

  3. Ausführen der Abfrage.

  4. Jetzt wird auf der zweiten Seite des Parametereingabeformulars nach den gewünschten Einträgen aus der Auswahlliste Material gefragt.

Filterdefinition

[...]

Zugehöriges Symbol

Definition eines Filters. Die Filterbedingung muss einem logischen Ausdruck entsprechen.

Beispiel:

  • AbwLeitung[KanalartNutzung = 'R'].Bezeichnung = 'RW-001'

Übergeordnete Hierarchieebene

^.

Zugehöriges Symbol

Aliasbezeichnung für die übergeordnete(n) Hierarchieebene(n [^.^. usw.]) des Pfades zum OPath.

Beispiel:

  • AbwLeitung.KnotenAnf.HydKnoten.Detailergebnisse.Concat(^.Bezeichnung, ' Wassertiefe: ', MaxWassertiefe, ' m')
    = 'RW-001 Wassertiefe 1.47 m'. (Dabei liefert '^.Bezeichnung' die Bezeichnung von 'HydKnoten').

OPath-Trennzeichen

.

Zugehöriges Symbol

Trennzeichen für die Hierarchieelemente eines Pfades zum OPath.

Beispiel:

  • Pfad mit OPath: AbwLeitung.KnotenAnf.HydKnoten.Detailergebnisse.MaxWassertiefe

Datums- oder Zeitwert

#

Zugehöriges Symbol

Definitionszeichen für Datums- und Zeitwerte.

Beispiele:

  • Datum: #2008-07-21#

  • Uhrzeit: #08:05:54#

  • Kombination aus Datum und Zeit: #2008-07-21T08:05:54#

Langtext Referenzwert

ref:

Zugehöriges Symbol

Für einen Referenzwert (wie Id, Auswahllistenwert) wird der Langtext ausgegeben.

Beispiel:

  • ref:AbwLeitung.Id' = 'RW-001(A)' (oder 'RW-001', falls die Verwendung von Strängen ausgeschaltet ist).

ref: kann nur für den Anfang eines Pfades definiert werden! Dies gilt auch innerhalb von Funktionen, Parametern und Filtern.

Funktionen

Arbeitsbereich des Ausdruckseditors

Zurück

Über Funktionen werden im Ausdruckseditor die Ergebnisse eines Abfrageausdrucks für den jeweiligen OPath am Ende eines Pfades generiert. Die statistischen Funktionen beziehen sich auf das letzte Pfad-Objekt vor dem OPath. Die Verknüpfungen führen zur jeweiligen Detailbeschreibung.

Funktionen

Parameter

 

Prüfung (Boolean)

Boolsche Funktionen

Zurück

Als Ergebnis der Funktion Prüfung wird WAHR oder FALSCH zurückgegeben.

:

Not

:

IsNull

:

IsType

:

IsTypeValue

:

IsBetween

:

IsNumeric

:

StartsWith

:

EndsWith

:

Contains

:

GeometryIntersects

:

GeometryFilter

:

IsGeometryValid

:

Exists

Not(<condition>)

Bei nicht erfüllter Bedingung <condition> wird WAHR, andernfalls FALSCH zurückgegeben.

Definitionsbeispiel:

Not(Material='Stz')

= WAHR für beispielsweise 'B'

= FALSCH für 'Stz'

Abfragebeispiel:

AbwLeitung.IIF(Not(Material='Stz'),Material,NULL)

Abfrageergebnis:

Für alle Haltungen ohne Steinzeugrohre wird das Material zurückgegeben.

IsNull(<valuepath>)

Falls sich im <valuepath> kein Wert befindet, wird WAHR, ansonsten FALSCH zurückgegeben.

Definitionsbeispiel:

IsNull(NULL) = WAHR

IsNull(1) = FALSCH

Abfragebeispiel:

AbwLeitung.IIF(IsNull(Laenge),Bezeichnung,NULL)

Abfrageergebnis:

Für alle Haltungen ohne Länge wird die Bezeichnung zurückgegeben.

IsType(<type>)

Falls der Objekttyp dem gewünschten Typ <type> entspricht, wird WAHR, ansonsten FALSCH zurückgegeben.

Definitionsbeispiel:

IsType(AbwSchacht)

= WAHR für Objekttyp 'Schacht'

= FALSCH für Objekttyp 'Bauwerk'

Abfragebeispiel:

AbwKnoten.IIF(IsType(AbwBauwerk),Laenge,1)

Abfrageergebnis:

Für alle Bauwerke wird die Länge, für alle Schächte die Länge 1 m zurückgegeben.

IsTypeValue(<column>, <type>)

Gibt WAHR zurück, falls der Wert der Objekttyp-Spalte <column> passend zum Objekttyp <type> ist, andernfalls FALSCH.

IsBetween(<value>, <value1>, <value2>)

Gibt WAHR zurück, falls der Ausdruck <value> zwischen den Ausdrücken <value1> und <value2> liegt (Grenzwerte eingeschlossen), andernfalls FALSCH.

IsNumeric(<value>)

Gibt WAHR zurück, falls der Ausdruck <value> eine Zahl enthält, andernfalls FALSCH.

StartsWith(<stringvalue>, <searchString>)

Gibt WAHR zurück, falls der Ausdruck <stringvalue> mit der Zeichenfolge <searchString> beginnt, andernfalls FALSCH.

EndsWith(<stringvalue>, <searchString>)

Gibt WAHR zurück, falls der Ausdruck <stringvalue> mit der Zeichenfolge <searchString> endet, andernfalls FALSCH.

Contains(<stringvalue>, <searchString>)

Gibt WAHR zurück, falls der Ausdruck <stringvalue> die Zeichenfolge <searchString> enthält, andernfalls FALSCH.

GeometryIntersects(<geometry1>, <geometry2>)

Gibt WAHR zurück, falls die erste Geometrie <geometry1> (dies sollte ein Datenfeld sein) eine Schnittmenge mit der zweiten Geometrie <geometry2> hat, andernfalls FALSCH.

GeometryFilter(<geometry1>, <geometry2>)

Gibt WAHR zurück, falls die erste Geometrie <geometry1> (dies sollte ein Datenfeld sein) eine Schnittmenge mit der zweiten Geometrie <geometry2> haben könnte (ein exakter Vergleich wird zugunsten besserer Performance nicht durchgeführt), andernfalls FALSCH.

IsGeometryValid()

Gibt WAHR zurück, falls die Geometriedaten fehlerfrei und zulässig sind, andernfalls FALSCH.

Exists(<path>)

Wenn zum Objekttyp des Pfadelementes Objekte existieren, wird WAHR, ansonsten FALSCH zurückgegeben.

Definitionsbeispiel:

Exists(AbwAnschlussleitungen)

= WAHR für vorhandene Anschlüsse

= FALSCH für fehlende Anschlüsse

Abfragebeispiel:

AbwLeitung.IIF(Exists(AbwAnschlussleitung),Bezeichnung,NULL)

Abfrageergebnis:

Für alle Haltungen mit Anschlussleitungen wird die Bezeichnung zurückgegeben.

Bedingte Werte (Conditional Value)

Bedingungsfunktionen

Zurück

Eine Bedingung wird für den OPath am Ende des Pfades ausgeführt. Die Funktion entscheidet automatisch aufgrund einer gesetzten Bedingung oder mehrerer gesetzter Bedingungen, welcher Wert ausgegeben wird.

Die Funktionsparameter werden seriell abgearbeitet, beispielsweise für CaseWhen() zuerst <value1>,<retvalue1>, dann <value2>,<retvalue2>}, usw.

:

IIF

:

CaseWhen

:

CaseWhenValue

:

CaseTrue

:

CaseNull

IIF(<condition>, <truevalue>, [falsevalue])

IIF gibt bei Erfüllung der Bedingung <condition> den Wert <truevalue> zurück. Bei Nichterfüllung wird optional [falsevalue], bei fehlendem [falsevalue] der Wert -1 zurückgegeben.

Definitionsbeispiel:

IIF(Len(PAR)=0,'Wert fehlt',PAR)
= 'Wert fehlt' für WAHR

= PAR für FALSCH

Abfragebeispiel:

AbwKnoten.IIF(Exists(AbwSchacht),'Schacht','Bauwerk')

Abfrageergebnis:

Der Hauptknotentyp wird zurückgegeben.

CaseWhen(<testvalue>, <value1>, <retvalue1>, ..., [elsevalue])

CaseWhen gibt für jeden Wert <testvalue> = <value1..n> den Wert <retvalue1..n> zurück. Für Werte <testvalue> ≠ <value1..n> wird optional [elsevalue], bei fehlendem [elsevalue] der Wert -1 zurückgegeben.

Definitionsbeispiel:

CaseWhen(1, 1,3, 2,1.5, 1) = 3
CaseWhen(2, 1,3, 2,1.5, 1) = 1.5
CaseWhen(3, 1,3, 2,1.5, 1) = 1

Abfragebeispiel:

AbwLeitung.CaseWhen(Material,'B','Beton','Stz','Steinzeug','Andere')

Abfrageergebnis:

Die Materialien 'Beton', 'Steinzeug', 'Andere' der Haltungen werden zurückgegeben.

CaseWhenValue(<value>, <value1>, <retvalue1>, ...)

Gibt <retvalueN> zurück, falls <valueN> gleich <value> ist, andernfalls den Wert <value> selbst.

CaseTrue(<condition1>, <retvalue1>, ..., [elsevalue])

CaseTrue gibt bei Erfüllung der jeweiligen Bedingung <condition1..n> den jeweiligen Wert <retvalue1..n> zurück. Bei Nichterfüllung wird optional [elsevalue], bei fehlendem [elsevalue] der Wert -1 zurückgegeben.

Definitionsbeispiel:

CaseTrue(PAR>3,1, PAR>2,1.5, 3)
= 1 für PAR > 3

= 1,5 für PAR > 2

= 3 für andere Werte von PAR

Abfragebeispiel:

AbwLeitung.CaseTrue(Sohlgefaelle<0,'Gegengefälle',Sohlgefaelle=0, 'kein Gefälle','Gefälle in Fließrichtung')

Abfrageergebnis:

Die Haltungen werden als solche mit Gegengefälle, solche ohne Sohlgefälle und als solche mit Gefälle in Fließrichtung zurückgegeben.

CaseNull(<value1>, ...)

CaseNull gibt für die Werte <value1..n> den ersten Wert zurück, der nicht leer ist. Das Ergebnis kann auch leer sein.

Definitionsbeispiel:

CaseNull(PAR1,PAR2)

= PAR1 für PAR1 ≠ {}.

= PAR2 für PAR1 = {}, PAR2 ≠ {}.

= NULL für PAR1 = {}, PAR2 = {}.

Abfragebeispiel:

AbwLeitung.CaseNull(Profilbreite,Profilhoehe)

Abfrageergebnis:

Wenn die Profilbreite vorhanden ist, wird sie benutzt, ansonsten die Profilhöhe. Besitzt auch die Profilhöhe keinen Wert, so wird der Wert NULL zurückgegeben.

Formatierung (Format)

Formatfunktionen

Zurück

Die Formatdefinition wird für den OPath am Ende des Pfades ausgeführt. Für den Wert des OPaths wird über die Funktion das gewünschte Zahlen-, Datums-, Zeit- oder Logik-Format zurückgegeben.

:

FormatNumber

:

FormatNumberGrouped

:

FormatCurrency

:

FormatDate

:

FormatTime

:

FormatBool

FormatNumber(<numericvalue>, <decimalplaces>, [minnums], [decsep])

FormatNumber formatiert einen beliebigen Zahlenwert <numericvalue> auf <decimalplaces> Nachkomma- und auf optional mindestens [minnums] Vorkommastellen. Wird das optionale Dezimaltrennzeichen [decsep] nicht vorgegeben, gelten die lokalen Windows Einstellungen.

Definitionsbeispiel:

FormatNumber
(0.2, 3, 2, ',') = 00,200

FormatNumberGrouped(<numericvalue>, <decimalplaces>, [decsep], [groupsep])

FormatNumberGrouped formatiert einen beliebigen Zahlenwert <numericvalue> auf <decimalplaces> Nachkommastellen. Wird das optionale Dezimal- [decsep] und / oder Tausendertrennzeichen [groupsep] nicht vorgegeben, gelten die lokalen Windows Einstellungen.

Definitionsbeispiel:

FormatNumberGrouped
(9999.9, 3, ',', '.') = 9.999,900

FormatCurrency(<numericvalue>, <decimalplaces>, [decsep], [groupsep], [sym])

FormatCurrency formatiert einen beliebigen Zahlenwert <numericvalue> auf <decimalplaces> Nachkommastellen mit Währungssymbol [sym].

Dezimal- [decsep] und Tausendertrennzeichen [groupsep] sowie das Währungssymbol [sym] sind optional. Bei Nichtvorgabe gelten die lokalen Windows Einstellungen.

Definitionsbeispiel:

FormatCurrency
(999.9,2, ',', '.', ' ¥') = 9.999,90 ¥

FormatDate(<dateval>, [formatstring])

FormatDate gibt einen formatierten Datenwert <dateval> zurück. Bei Nichtvorgabe des Datumsformats [formatstring] gelten die lokalen Windows Einstellungen. Die Platzhalter für die Terme:

- Jahr (4 Ziffern, 2 Ziffern):   yyyy, yy

- Monat (2 Ziffern, 1 Ziffer):  mm, m

- Tag (2 Ziffern, 1 Ziffer):      dd, d  

können per '{}' in eine Zeichenfolge integriert werden.

Definitionsbeispiel:

FormatDate(#2000-07-23#, dd.mm.yyyy) = '23.07.2000'

FormatDate(#2000-07-23#, '{d}. Tag im {}. Monat, Jahr {yyyy}.')

= '23. Tag im 7. Monat, Jahr 2000.'

FormatTime(<timeval>, [formatstring])

FormatTime  gibt einen formatierten Zeitwert <timeval> zurück. Bei Nichtvorgabe des Zeitformats [formatstring] gelten die lokalen Windows Einstellungen. Die Platzhalter für die Terme:

- Stunde (2 Ziffern, 1 Ziffer):    hh, h

- Minute (2 Ziffern, 1 Ziffer):    mm, m

- Sekunde (2 Ziffern, 1 Ziffer):  ss, s

können per '{}' in eine Zeichenfolge integriert werden.

Definitionsbeispiel:

FormatTime(#08:02:11#, 'hh:mm:ss Uhr') = '08:02:11 Uhr'

FormatTime(#08:02:11#, 'Gespeichert um {h} Uhr und {m} Minuten und {s} Sekunden.')

= 'Gespeichert um 8 Uhr und 2 Minuten und 11 Sekunden.'

FormatBool(<boolval>, [formatstring])

FormatBool gibt einen formatierten logischen Wert <boolval> zurück. Das erste Zeichen von [formatstring] (2 Zeichen) entspricht dem Format von TRUE, das zweite Zeichen dem Format von FALSCH. Standardwert von [formatstring] ist 'x-'.

Definitionsbeispiel:

FormatBool(WAHR, 'JN') = 'J'

FormatBool(FALSCH, 'JN') = 'N'

FormatBool(WAHR) = 'x'

FormatBool(FALSCH) = '-'

Zeichenfolge (String)

Textfunktionen

Zurück

Zeichenfolge-Funktionen werden für den OPath am Ende des Pfades ausgeführt. Es wird eine Information zur Zeichenfolge oder eine über den Algorithmus veränderte Zeichenfolge zurückgegeben.

Ob Groß- und Kleinbuchstaben, beispielsweise 'A' und 'a', als gleiche Werte interpretiert werden, hängt von der aktuellen Systemumgebung ab.

:

Trim

:

Len

:

Substring

:

Left

:

Right

:

Mid

:

Concat

:

IndexOf

:

LastIndexOf

:

Replace

:

Reverse

:

ToUpper

:

ToLower

:

PadLeft

:

PadRight

:

Join

:

JoinEmpty

:

Suffix

:

Prefix

:

Char

:

Ascii

:

NewLine

Trim(<stringvalue>)

Trim entfernt die Leerzeichen am Beginn und Ende einer Zeichenfolge <stringvalue>.

Definitionsbeispiel:

Trim('  abc   ') = 'abc'

Len(<stringvalue>)

Len gibt die Länge einer Zeichenfolge <stringvalue> zurück.

Definitionsbeispiel:

Len('abcdefg') = 7

Substring(<stringvalue>, <startindex>, [length])

Substring gibt eine Teilfolge der Zeichenfolge <stringvalue> zurück. Die Teilfolge beginnt an der Stelle <startindex>. Dabei entspricht der Wert 0 dem ersten Zeichen. Optional kann die gewünschte Länge [length] der Teilfolge angegeben werden. Bei fehlender Angabe endet die Teilfolge mit dem letzten Zeichen von <stringvalue>).

Definitionsbeispiel:

Substring('abcdefg',2) = 'cdefg'
Substring('abcdefg',3,3) = 'def'

Substring('abcdefg',0) = 'abcdefg'

Substring('abcdefg',0,9) = 'abcdefg'

Left(<stringvalue>, <length>)

Left gibt eine Teilfolge der Zeichenfolge <stringvalue> zurück. Die Teilfolge beginnt mit dem ersten Zeichen von <stringvalue>. Die Länge der Teilfolge ist über <length> festgelegt.

Definitionsbeispiel:

Left('abcdefg',5) = 'abcde'
Left('abcdefg',9) = 'abcdefg'

Right(<stringvalue>, <length>)

Right gibt eine Teilfolge der Zeichenfolge <stringvalue> zurück. Die Teilfolge beginnt mit dem Zeichen, das sich um <length> vor dem letzten Zeichen von <stringvalue> befindet.

Definitionsbeispiel:

Right('abcdefg',5) = 'cdefg'

Right('abcdefg',9) = 'abcdefg'

Mid(<stringvalue>, <startindex>, [length])

Mid (<stringvalue>, ...) gibt die selben Werte zurück wie die Funktion Substring(<stringvalue>, ...).

Definitionsbeispiel:

Mid('abcdefg',3,3) = 'def'

Concat(<stringvalue1>, ...)

Concat verbindet die Zeichenfolgen <stringvalue1..n> zu einer neuen Zeichenfolge.

Definitionsbeispiel:

Concat('ab','cde','fg') = 'abcdefg'

IndexOf(<stringvalue>, <searchString>)

IndexOf sucht die erste Teilfolge <searchString> innerhalb der Zeichenfolge <stringvalue>. Bei gefundener Teilfolge wird der Index des ersten Zeichens, andernfalls der Wert -1 zurückgegeben. Das erste Zeichen von <stringvalue> hat den Index 0.

Definitionsbeispiel:

IndexOf('abcdefg','cde') = 2

LastIndexOf(<stringvalue>, <searchString>)

IndexOf sucht die letzte Teilfolge <searchString> innerhalb der Zeichenfolge <stringvalue>. Bei gefundener Teilfolge wird der Index des ersten Zeichens, andernfalls der Wert -1 zurückgegeben. Das erste Zeichen von <stringvalue> hat den Index 0.

Definitionsbeispiel:

IndexOf('abcdabc','bc') = 5

Replace(<stringvalue>, <searchString1>, <replaceString1>, ...)

Replace ersetzt jede Teilfolge <searchString> der Zeichenfolge <stringvalue> durch die Teilfolge <replaceString>.

Definitionsbeispiel:

Replace('Uhu','u','a') = 'Aha'
Replace('Uhu','u','a') = 'Uha'

Wert Systemumgebungs-abhängig!

Reverse(<stringvalue>)

Gibt <stringvalue> in umgekehrter Reihenfolge zurück.

ToUpper(<stringvalue>)

Gibt <stringvalue> in Großbuchstaben zurück.

ToLower(<stringvalue>)

Gibt <stringvalue> in Kleinbuchstaben zurück.

PadLeft(<stringvalue>, <totalWidth>, [paddingChar])

Gibt <stringvalue> zurück, wobei die Zeichenfolge von links mit <paddingChar> auf eine Mindestlänge von <totalWidth> aufgefüllt wird.

PadRight(<stringvalue>, <totalWidth>, [paddingChar])

Gibt <stringvalue> zurück, wobei die Zeichenfolge von rechts mit <paddingChar> auf eine Mindestlänge von <totalWidth> aufgefüllt wird.

Join(<delimiter>, <stringvalue1>, ...)

Gibt die durch <delimiter> verbundenen Werte aller <stringvalueN> zurück. Leere Werte werden ignoriert.

JoinEmpty(<delimiter>, <stringvalue1>, ...)

Gibt die durch <delimiter> verbundenen Werte aller <stringvalueN> zurück. Leere Werte werden nicht ignoriert.

Suffix(<stringvalue>, <suffix>)

Gibt den Wert <stringValue> mit angehängtem <suffix> zurück, wenn der Wert nicht leer ist.

Prefix(<stringvalue>, <prefix>)

Gibt den Wert <stringValue> mit vorangestelltem <prefix> zurück, wenn der Wert nicht leer ist.

Char(<ascii>)

Gibt das Zeichen zurück, das dem ASCII-Code <ascii> entspricht.

Ascii(<char>)

Gibt den ASCII-Code des Zeichens <char> zurück.

NewLine()

Gibt die vom Betriebsystem verwendete Zeilenumbruch-Zeichenfolge zurück.

Zahlenfunktionen (Numeric)

Rechenfunktionen

Zurück

Zahlen-Funktionen werden für den OPath am Ende des Pfades ausgeführt. Es wird eine über den Algorithmus veränderte Zahl zurückgegeben.

:

Abs

:

Round

:

Floor

:

Ceiling

:

Mod

:

Sign

:

Pow

:

Sqrt

:

Exp

:

Log

:

Ln

:

Log2

:

Log10

:

Sin

:

Cos

:

Tan

:

Asin

:

Acos

:

Atan

:

Atan2

:

Sinh

:

Cosh

:

Tanh

Abs(<numericvalue>)

Abs gibt für jeden Zahlenwert <numericvalue> den positiven Wert zurück.

Definitionsbeispiel:

Abs(-107.25) = 107,25

Round(<numericvalue>, <decimalplaces>)

Round rundet jeden Zahlenwert <numericvalue> auf die definierte Anzahl der Nachkommastellen.

Definitionsbeispiel:

Round(-107.25, 1) = -107,3

Floor(<numericvalue>)

Floor gibt für jeden Zahlenwert <numericvalue> die nächst kleinere Ganzzahl zurück.

Definitionsbeispiel:

Floor(-107.25) = -108,00

Ceiling(<numericvalue>)

Gibt den ersten Ganzzahlwert zurück, der größer als <numericvalue> ist.

Mod(<numericvalue1>, <numericvalue2>)

Gibt den Rest der Division von <numericvalue1> durch <numericvalue2> zurück.

Sign(<numericvalue>)

Gibt +1 zurück, wenn <numericvalue> positiv ist; gibt -1 zurück, wenn <numericvalue> negativ ist; sonst 0.

Pow(<x>, <y>)

Gibt die Potenz der Basis <x> mit dem Exponenten <y> zurück.

Sqrt(<numericvalue>)

Gibt die Quadratwurzel von <numericvalue> zurück.

Exp(<exponent>)

Gibt das Ergebnis der Exponentialfunktion zurück (Basis e, Exponent <exponent>).

Log(<numericvalue>, <newBase>)

Gibt den Logarithmus von <numericvalue> zur Basis <newBase> zurück.

Ln(<numericvalue>)

Gibt den Logarithmus von <numericvalue> zur Basis e zurück.

Log2(<numericvalue>)

Gibt den Logarithmus von <numericvalue> zur Basis 2 zurück.

Log10(<numericvalue>)

Gibt den Logarithmus von <numericvalue> zur Basis 10 zurück.

Sin(<numericvalue>)

Gibt den Sinus des Winkels <numericvalue> zurück.

Cos(<numericvalue>)

Gibt den Kosinus des Winkels <numericvalue> zurück.

Tan(<numericvalue>)

Gibt den Tangens des Winkels <numericvalue> zurück.

Asin(<numericvalue>)

Gibt den Arkussinus des Wertes <numericvalue> zurück.

Acos(<numericvalue>)

Gibt den Arkuskosinus des Wertes <numericvalue> zurück.

Atan(<numericvalue>)

Gibt den Arkustangens des Wertes <numericvalue> zurück.

Atan2(<y>, <x>)

Gibt den Arkustangens des Quotienten von <y> und <x> zurück.

Sinh(<numericvalue>)

Gibt den Hyperbelsinus des Wertes <numericvalue> zurück.

Cosh(<numericvalue>)

Gibt den Hyperbelkosinus des Wertes <numericvalue> zurück.

Tanh(<numericvalue>)

Gibt den Hyperbeltangens des Wertes <numericvalue> zurück.

Datum und Zeit (Date and Time)

Rechenfunktionen

Zurück

Die Funktionen ermöglichen das Abgreifen der aktuellen Datums- und Zeitwerte, das Rechnen mit den Werten sowie die Generierung von Datums- und Zeitformaten.

:

CurrentDateTime

:

CurrentDate

:

CurrentTime

:

MinDate

:

MaxDate

:

EmptyDate

:

GetDate

:

GetTime

:

GetMilliSecond

:

GetSecond

:

GetMinute

:

GetHour

:

GetDay

:

GetMonth

:

GetYear

:

GetDayOfWeek

:

GetDayOfYear

:

AddTimeSpan

:

GetTimeSpan

:

AddMilliSeconds

:

AddSeconds

:

AddMinutes

:

AddHours

:

AddDays

:

AddMonths

:

AddYears

CurrentDateTime

Gibt die aktuelle Systemzeit (mit Datum) zurück.

CurrentDate

Gibt das aktuelle Systemdatum zurück.

CurrentTime

Gibt die aktuelle Systemzeit (ohne Datum) zurück.

MinDate

Gibt die Untergrenze des vom System unterstützten Datumsbereichs zurück.

MaxDate

Gibt die Obergrenze des vom System unterstützten Datumsbereichs zurück.

EmptyDate

Gibt das Datum zurück, das vom System als leeres Datum verwendet wird, wenn nur eine Zeitangabe benötigt wird.

GetDate

Gibt das Datum des Wertes <datetime> zurück (die Zeit wird auf 00:00 gesetzt).

GetTime

Gibt die Zeit des Wertes <datetime> zurück (das Datum wird auf das leere Datum gesetzt).

GetMilliSecond

Gibt die Millisekunden-Zahl des Zeit-Wertes <datetime> zurück.

GetSecond

Gibt die Sekunden-Zahl des Zeit-Wertes <datetime> zurück.

GetMinute

Gibt die Minuten-Zahl des Zeit-Wertes <datetime> zurück.

GetHour

Gibt die Stunden-Zahl des Zeit-Wertes <datetime> zurück.

GetDay

Gibt die Tage-Zahl des Datum-Wertes <datetime> zurück.

GetMonth

Gibt die Monate-Zahl des Datum-Wertes <datetime> zurück.

GetYear

Gibt die Jahre-Zahl des Datum-Wertes <datetime> zurück.

GetDayOfWeek

Gibt die Wochentags-Zahl des Datum-Wertes <datetime> zurück (Sonntag=0, ...).

GetDayOfYear

Gibt die Jahrestags-Zahl des Datum-Wertes <datetime> zurück.

AddTimeSpan

Addiert zum Wert <datetime> die Zeitspanne <timespan> (Ganztage als Fließkommazahl) und gibt das Ergebnis zurück.

GetTimeSpan

Ermittelt die Zeitspanne (Ganztage als Fließkommazahl) zwischen den Werten <datetime1> (größer) und <datetime2> (kleiner) und gibt das Ergebnis zurück.

AddMilliSeconds

Addiert zum Wert <datetime> <number> ganze Millisekunden hinzu und gibt das Ergebnis zurück.

AddSeconds

Addiert zum Wert <datetime> <number> ganze Sekunden hinzu und gibt das Ergebnis zurück.

AddMinutes

Addiert zum Wert <datetime> <number> ganze Minuten hinzu und gibt das Ergebnis zurück.

AddHours

Addiert zum Wert <datetime> <number> ganze Stunden hinzu und gibt das Ergebnis zurück.

AddDays

Addiert zum Wert <datetime> <number> ganze Tage hinzu und gibt das Ergebnis zurück.

AddMonths

Addiert zum Wert <datetime> <number> ganze Monate hinzu und gibt das Ergebnis zurück.

AddYears

Addiert zum Wert <datetime> <number> ganze Jahre hinzu und gibt das Ergebnis zurück.

Geometrie (Geometry)

Koordinatenfunktionen

Zurück

Die Funktionen ermöglichen die Untersuchung und Überarbeitung von Punkt-, Linien-, Kurven- und Polygongeometrien.

:

ParseGeometry

:

GetGeometryText

:

GetGeometryType

:

GetEnvelope

:

GetSrid

:

GetX

:

GetY

:

GetZ

:

GeometryCount

:

GetGeometry

:

RingCount

:

GetRing

:

CurveCount

:

GetCurve

:

PointCount

:

GetPoint

ParseGeometry

Erzeugt aus einer Zeichenfolge <wkt> (Well-Known-Text) und SRID <srid> (Integer gemäß EPSG) ein Geometrie-Objekt und gibt dieses zurück.

GetGeometryText

Gibt den Well-Known-Text (Zeichenfolge) des Geometrie-Objektes <geometry> zurück.

GetGeometryType

Gibt den Typ (Zeichenfolge) des Geometrie-Objektes <geometry> zurück.

GetEnvelope

Gibt die Polygon-Geometrie (Rechteck) der kleinsten umschließenden Box des Geometrie-Objektes <geometry> zurück.

GetSrid

Gibt die SRID (Integer gemäß EPSG) des Geometrie-Objektes <geometry> zurück.

GetX

Gibt den X-Wert des Geometrie-Punktes <geometry> zurück.

GetY

Gibt den Y-Wert des Geometrie-Punktes <geometry> zurück.

GetZ

Gibt den Z-Wert des Geometrie-Punktes <geometry> zurück.

GeometryCount

Gibt die Anzahl der im aktuellen Geometrie-Objekt <geometry> vorhandenen Geometrie-Objekte zurück.

GetGeometry

Gibt anhand des Null-basierten <index> ein Geometrie-Objekt aus dem aktuellen Geometrie-Objekt <geometry> zurück.

RingCount

Gibt die Anzahl der im aktuellen Geometrie-Objekt <geometry> vorhandenen Ring-Objekte zurück.

GetRing

Gibt anhand des Null-basierten <index> ein Ring-Objekt aus dem aktuellen Geometrie-Objekt <geometry> zurück.

CurveCount

Gibt die Anzahl der im aktuellen Geometrie-Objekt <geometry> vorhandenen Curve-Objekte zurück.

GetCurve

Gibt anhand des Null-basierten <index> ein Curve-Objekt aus dem aktuellen Geometrie-Objekt <geometry> zurück.

PointCount

Gibt die Anzahl der im aktuellen Geometrie-Objekt <geometry> vorhandenen Punkt-Objekte zurück.

GetPoint

Gibt anhand des Null-basierten <index> ein Punkt-Objekt aus dem aktuellen Geometrie-Objekt <geometry> zurück.

Konvertierung (Convert)

Wertumwandlungsfunktionen

Zurück

Die Typkonvertierung wird für den OPath am Ende des Pfades ausgeführt. Dem Wert des OPaths wird der per Funktion definierte Typ zugewiesen. Die Umwandlung ist unbedingt erforderlich, falls eine übergeordnete Funktion nur einen bestimmten Werttyp (beispielsweise Float) nutzen kann.

:

ToStr

:

ToFloat

:

ToInt

ToStr(<value>)

ToStr gibt für einen beliebigen Wert dessen Zeichenfolge zurück.

Definitionsbeispiel:

ToStr(2.700) = '2.7'

ToFloat(<value>)

ToFloat gibt für einen beliebigen Wert dessen rationalen Wert zurück.

Definitionsbeispiel:

ToFloat('2.700') = 2,7

ToInt(<value>)

ToInt gibt für einen beliebigen Wert dessen positiven Ganzzahl-Wert zurück.

Definitionsbeispiel:

ToInt(-1.6) = -2

Statistik (Aggregate)

Berechnungsfunktionen

Zurück

Eine statistische Funktion wird für den Objekttyp durchgeführt, der in der Pfadhierarchie direkt vor dem Funktionsterm steht. Es wird eine statistische Information zu den OPaths aller zugehörigen Objekte zurückgegeben.

:

Count

:

Min

:

Max

:

MaxAbs

:

Sum

:

Avg

:

Distinct

:

CountDistinct

:

MinValue

:

MaxValue

:

MaxAbsValue

:

AvgValue

:

SumValue

Count(<path>)

Count gibt die Anzahl aller abgefragten Werte zurück. Die Werte können beliebig (Zahl, Zeichenfolge, usw.) sein.

Definitionsbeispiel:

Count(Knoten) = 20

Abfragebeispiel:

AbwLeitung.Count(AbwAnschlussleitungen)

Abfrageergebnis:

Anzahl der an eine Haltung angeschlossenen Leitungen.

Min(<valuepath>)

Min gibt das Minimum aller abgefragten Zahlenwerte wird zurück.

Definitionsbeispiel:

Min(Knoten.Tiefe) = 2,04 m

Abfragebeispiel:

AbwLeitung.Min(AbwAnschlussleitungen.Laenge)

Abfrageergebnis:

Kleinste Länge einer an die Haltung angeschlossenen Leitung.

Max(<valuepath>)

Max gibt das Maximum aller abgefragten Zahlenwerte zurück.

Definitionsbeispiel:

Max(Knoten.Tiefe) = 4,78 m

Abfragebeispiel:

AbwLeitung.Max(AbwAnschlussleitungen.Laenge)

Abfrageergebnis:

Größte Länge einer an die Haltung angeschlossenen Leitung.

MaxAbs(<valuepath>)

Gibt den absolut größten Wert aller abgefragten Zahlenwerte zurück.

Sum(<valuepath>)

Sum gibt die Summe aller abgefragten Zahlenwerte zurück.

Definitionsbeispiel:

Sum(Knoten.Tiefe) = 70,4 m

Abfragebeispiel:

AbwLeitung.Sum(AbwAnschlussleitungen.Laenge)

Abfrageergebnis:

Gesamtlänge der an die Haltung angeschlossenen Leitungen.

Avg(<valuepath>)

Avg gibt den Durchschnitt aller abgefragten Zahlenwerte zurück.

Definitionsbeispiel:

Avg(Knoten.Tiefe) = 3,52 m

Abfragebeispiel:

AbwLeitung.Avg(AbwAnschlussleitungen.Laenge)

Abfrageergebnis:

Durchschnittliche Länge der an die Haltung angeschlossenen Leitungen.

Distinct(<valuepath>)

Gibt eine Liste aller verschiedenen Werte zurück.

CountDistinct(<valuepath>)

Gibt die Anzahl aller verschiedenen Werte, die <valuepath> entsprechen, zurück.

MinValue(<value1>, ...)

Gibt den Kleinstwert der Wertliste <valueN> zurück.

MaxValue(<value1>, ...)

Gibt den Größtwert der Wertliste <valueN> zurück.

MaxAbsValue(<value1>, ...)

Gibt den absolut größten Wert der Wertliste <valueN> zurück.

AvgValue(<value1>, ...)

Gibt den Durchschnitt aller Werte der Wertliste <valueN> zurück.

SumValue(<value1>, ...)

Gibt die Summe aller Werte der Wertliste <valueN> zurück.

Pfadfunktionen (Special Path)

OPath-Funktionen

Zurück

Die Pfadfunktionen werden für den OPath am Ende des Pfades ausgeführt. Über die Funktionen wird gesteuert, für welche Objektattribute der OPath genutzt werden kann.

:

Cast

:

Match

:

Type

:

TypeName

:

TypeDisplayText

:

TypeUniqueDisplayText

:

GetValue

Cast(<type>)

Cast filtert die Objekte des Pfades auf den Objekttyp <type>. Vom Objekttyp abgeleitete Typen werden berücksichtigt.

Definitionsbeispiel:

Cast(AbwBauwerk) filtert auf Bauwerke mit allen Untertypen wie 'AbwKlaeranlage'.

Abfragebeispiel:

AbwKnoten.Cast(AbwBauwerk).Sum(Grundflaeche)

Abfrageergebnis:

Grundfläche aller Bauwerke; einschließlich aller Untertypen wie 'AbwBecken'.

Match(<type>)

Matchfiltert die Objekte des Pfades auf den Objekttyp <type>. Vom Objekttyp abgeleitete Typen werden nicht berücksichtigt.

Definitionsbeispiel:

Match(AbwBecken) filtert nur auf Becken, also ohne 'AbwKlaeranlage'.

Abfragebeispiel:

AbwKnoten.Match(AbwBecken).Sum(Grundflaeche)

Abfrageergebnis:

Grundfläche der Bauwerke, die nur dem Untertyp 'AbwBecken' entsprechen.

Type(<type>)

Type ermöglicht es, an einer beliebigen Stelle des aktuellen Pfades einen davon unabhängigen Pfad mit dem Objekttyp <type> zu definieren / beginnen.

Definitionsbeispiel:

AbwLeitung.Type(PicklistItem)[Value = ^.Kanalart].Description

Abfragebeispiel:

AbwLeitung.Type(PicklistItem)[Value = ^.Kanalart
And Exists(![Name=‘AbwKanalart’
And Language=1031])].Description

Abfrageergebnis:

Gibt den Langtext aus der Auswahlliste der Kanalart zurück. Die Abfrage ließe sich besser über den Operator 'ref:' editieren, wird aber hier zur Erklärung von Type() gezeigt.

In Exists(![..]) steht '!' für Picklist als Parent von PicklistItem (siehe Knoten / Leitungen).

TypeName()

Gibt den internen Namen des Typs des aktuellen Objektes zurück.

TypeDisplayText()

Gibt den Anzeigenamen des Typs des aktuellen Objektes zurück.

TypeUniqueDisplayText()

Gibt den global eindeutigen Anzeigenamen des Typs des aktuellen Objektes zurück.

GetValue(<value>)

GetValue ermöglicht es, für beliebig viele Attribute des über den Pfad angesteuerten Objekttyps die Werte <value> über Operatoren zu verknüpfen.

Definitionsbeispiel:

Getvalue(PAR1*PAR2/PAR3) = Wert

Abfragebeispiel:

AbwLeitung.GetValue(Laenge / Rohrlaenge)

Abfrageergebnis:

Anzahl der Rohre einer Haltung.

Liste der Funktionsparameter

In der folgenden Liste werden die in den Funktionen verwendeten Parameter definiert.

<...>

Zwingend erforderlicher Parameter.

Funktionsgruppe:

(alle)

Definitionsbeispiel:

IIF(<condition>,<truevalue>,[falsevalue])

[...]

Optionaler Parameter.

Funktionsgruppe:

(alle)

Definitionsbeispiel:

IIF(<condition>,<truevalue>,[falsevalue])

boolval

Wahrheitswert WAHR oder FALSCH.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatBool(WAHR)

condition

Bedingung.

Funktionsgruppe:

Boolean, Conditional value

Definitionsbeispiel:

Not(Material='Stz')
IIF(Len(PAR)=0, 'Wert fehlt', PAR) 

dateval

Datumswert.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatDate(#2000-08-15#)

decimalplaces

Anzahl der Dezimalstellen nach dem Dezimalkomma oder Dezimalpunkt (je nach Spracheinstellungen).

Funktionsgruppe:

Numeric, Format

Definitionsbeispiel:

Round(-107.25, 1) = -107,3
FormatNumber(0.2, 3) = 0,200 

decsep

Art des Dezimaltrennzeichens (, | .).

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatCurrency(999.9, 2, ',', '.') = 9.999,90 €

delimiter

Art des Verbindungszeichens zwischen zwei Zeichenfolgen.

Funktionsgruppe:

String

Definitionsbeispiel:

Join(' ... ', 1, 999) = '1 ... 999'

elsevalue

Wenn der Wert nicht der Bedingung entspricht, wird die mit <elsevalue> verbundene Funktion aktiviert.

Funktionsgruppe:

Conditional value

Definitionsbeispiel:

IIF(Len(PAR)=0, 'Wert fehlt', PAR)

falsevalue

Wenn der Wert nicht der Bedingung entspricht, wird die mit <falsevalue> verbundene Funktion aktiviert.

Funktionsgruppe:

Conditional value

Definitionsbeispiel:

IIF(Len(PAR)=0, 'Wert fehlt', PAR)

formatstring

Format, mit welchem der Wert dargestellt werden soll.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatTime(#08:02:11#, 'hh:mm:ss')

groupsep

Art des Tausendertrennzeichens.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatCurrency(999.9, 2, ',', '.') = 9.999,90 €

length

Länge einer Zeichenfolge.

Funktionsgruppe:

String

Definitionsbeispiel:

Left('abcdefg',5) = 'abcde'

minnums

Mindestanzahl von Zeichen vor dem Dezimaltrennzeichen.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatNumber(0.2, 3, 2) = 00,200

numericvalue

Beliebiger Zahlenwert.

Funktionsgruppe:

Numeric, Format

Definitionsbeispiel:

Abs(-107.25) = 107,25
FormatNumber(0.2, 3) = 0,200 

paddingChar

Zeichen, das so oft wiederholt wird, bis der für das Zeichen definierte Raum mit dem Zeichen gefüllt ist.

Funktionsgruppe:

String

Definitionsbeispiel:

PadLeft('Beispiel', 15, '-') = '-------Beispiel'

path

Pfad zum Objekttyp, der in der Hierarchie direkt vor dem OPath steht.

Funktionsgruppe:

Aggregate, Boolean

Definitionsbeispiel:

Count(Knoten) = 20
Exists(AbwAnschlussleitungen)

replaceString

Zu ersetzende Zeichenfolge.

Funktionsgruppe:

String

Definitionsbeispiel:

Replace('Uhu','u','a') = 'Aha'

retvalue

Wert, der nach erfolgreichem Wertevergleich gesetzt wird.

Funktionsgruppe:

Conditional value

Definitionsbeispiel:

CaseWhen(1, 1,3, 1) = 3

searchString

Zu suchende Zeichenfolge.

Funktionsgruppe:

String

Definitionsbeispiel:

Replace('Uhu','u','a') = 'Aha'

startindex

Start-Stelle einer Unterzeichenfolge innerhalb einer Zeichenfolge.  

Funktionsgruppe:

String

Definitionsbeispiel:

Mid('abcdefg', 3, 3) = 'def'

stringvalue

Beliebige Zeichenfolge.

Funktionsgruppe:

String

Definitionsbeispiel:

Mid('abcdefg', 3, 3) = 'def'

sym

Symbol einer beliebigen Währung.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatCurrency(999.9,2, ',', '.', ' ¥') = 9.999,90 ¥

testvalue

Testwert, mit dem andere Werte verglichen werden.

Funktionsgruppe:

Conditional value

Definitionsbeispiel:

CaseWhen(1, 1,3, 1) = 3

timeval

Zeitwert.

Funktionsgruppe:

Format

Definitionsbeispiel:

FormatTime(#08:15:00#)

totalWidth

Gewünschte Breite einer Zeichenfolge. Die Angabe entspricht der Anzahl an Zeichen.

Funktionsgruppe:

String

Definitionsbeispiel:

PadLeft('Beispiel', 15, '-') = '-------Beispiel'

truevalue

Wert, der die Bedingung WAHR erfüllt.

Funktionsgruppe:

Conditional value

Definitionsbeispiel:

IIF(Len(PAR)=0, 'Wert fehlt', PAR)

type

Objekttyp eines OPath-Ausdrucks.

Funktionsgruppe:

Special path, Boolean

Definitionsbeispiel:

Match(AbwBecken)
IsType(AbwSchacht)

value

Beliebiger Wert. Bei "Conditional value" wird dieser Wert mit einem Testwert <testvalue> verglichen.

Funktionsgruppe:

Special path, Convert, Conditional value

Definitionsbeispiel:

Getvalue(PAR1*PAR2/PAR3) = Wert
ToStr(2.700) = '2.7'
CaseWhen(1, 1,3, 1) = 3

valuepath

Pfad zum Objekttyp, der in der Hierarchie direkt vor dem OPath steht. Liste mit den OPath-Werten der zugehörigen Objekte.

Funktionsgruppe:

Aggregate

Definitionsbeispiel:

Max(Knoten.Tiefe) = 4,78 m

Parameter

Arbeitsbereich des Ausdruckseditors

Zurück

Schematische Skizze:

Funktionen

Parameter

 

Werkzeuge

Bezeichnung

Sort.

Systemdefiniert

 

Benutzerdefiniert

1

Im Parameter-Editor können Parameter zur Verwendung in OPath-Ausdrücken definiert werden. Die Parameter-Werte werden erst dann abgefragt, wenn der betreffende OPath-Ausdruck ausgeführt wird. Die Parameter-Werte sind dann über ein Eingabeformular festzulegen. Über Parameter können Abfrage-Dokumente, die beispielsweise in Berichte integriert sind, sehr flexibel gestaltet werden.

Wichtige Hinweise

Innerhalb von Abfrageausdrücken muss vor der Parameterbezeichnung das Zeichen '$' stehen!

Die Parameter werden nicht extern gespeichert:

  • Bei OPath-Abfragen werden sie in der Abfrage gespeichert.

  • In BaSYS-Arena (-> benutzerdefinierte Datenspalten) werden die Parameter je Arena-Formular lokal gespeichert.

  • Die Standardparameter Hydraulikvariante, Gemeinde, Gemeindevariante, Projektvariante und Arbeitsbereich bilden eine Ausnahme von dieser Regel, da sie global verfügbar sind.

Werkzeuge

Folgende Werkzeuge können für die Parameterliste verwendet werden:

Aufruf des Formulars zur Parameterdefinition. Anlegen eines neuen Parameters.

Überarbeitung des in der Liste gewählten Parameters im Formular Parameter bearbeiten.

Löschen des in der Liste gewählten Parameters.

Standardparameter

Die Standardparameter Aktuelle Abwasser-Hydraulikvariante, Aktuelle Gemeinde, Aktuelle Gemeindevariante, Aktuelle Projektvariante und Aktueller Arbeitsbereich können nicht aus der Liste gelöscht werden. Beispielsweise wird über den Parameter Aktuelle Projektvariante die Auswahl auf das Projekt gefiltert, das im System Manager auf aktuell gesetzt ist.

Selbst definierte Parameter

Die selbst definierten Parameter werden über die Schaltflächenleiste verwaltet. Bei Klick auf eine der links angeordneten Schaltflächen öffnet sich das Formular Parameter bearbeiten.

Parameter bearbeiten (Formular)

Funktion der Parameterliste

Zurück

Im Formular sind je nach Parameter die relevanten Felder zu bearbeiten:

Parameter bearbeiten

Name

 

 

Beschriftung

 

 

 

Beschreibung

 

 

 

 

 

 

 

 

 

 

 

Typ

 

 

Vorgabewert

 

 

 

 

 

 

 

Parameter / Ausdruck

Immer Vorgabewert verw.

 

 

 

 

OK

 

Abbrechen

Fehlende Eingabe

Dieses Zeichen steht automatisch vor jedem Feld, für das eine Eingabe erforderlich ist. Nach einer sinnvollen Eingabe wird das Zeichen ausgeblendet.

Tooltipp

Der Tooltipp wird nach folgender Konvention aufgebaut:

  1. Zeile: Beschreibung

  2. Zeile: Beschriftung

  3. Zeile: {=$}Name

Beispiel

Aus Name WandDicke, Beschriftung Wanddicke Pumpensumpf und Beschreibung An dieser Stelle ist die Wanddicke des Pumpensumpfes in Zentimeter einzugeben. wird folgender Tooltipp generiert:

An dieser Stelle ist die Wanddicke des Pumpensumpfes in Zentimeter einzugeben.
Wanddicke Pumpensumpf
=$WandDicke

Name

Der Name des Parameters ist ein Pflichtfeld. Der Name wird als Aliasname im Ausdruck angezeigt. Vor dem Namen erscheint automatisch ein $-Zeichen. Es wird empfohlen, den Namen ohne Leer- und Sonderzeichen einzugeben. Der Name kann nach der Eingabe nicht mehr editiert werden.

Der Name erscheint mit im Tooltipp zum jeweiligen Parameter.

Beschriftung

Die Beschriftung erscheint in der Parameterliste. Hier sind Sonder- und Leerzeichen erlaubt. Obwohl die Beschriftung kein Pflichtfeld ist, sollte sie aus folgenden Gründen eindeutig eingegeben werden:

  • Der gesuchte Parameter wird dadurch eindeutig in der Parameterliste gefunden.

  • Weiterhin wird die Beschriftung im zu generierenden Parameter-Eingabeformular angezeigt. Auch dort wird der Parameter eindeutige gefunden.

Die Beschriftung erscheint mit im Tooltipp zum jeweiligen Parameter.

Beschreibung

Die Beschreibung des Parameters erfolgt optional. Die Einträge des Feldes können für interne Informationen, beispielsweise zum Verwendungszweck des Parameters, genutzt werden. Außerdem erscheint sie mit im Tooltipp zum jeweiligen Parameter.

Typ

Der Typ beschreibt den Grundtyp des Parameters. Vom Typ sind die weiteren Parameter-Eigenschaften abhängig.

Nutzungsziele

Der Typ des zu definierenden Parameters kann mit folgenden Nutzungszielen verbunden sein:

V

Vorgabewert

M

Mehrfachauswahl

P

Parameter

A

Ausdruck

Die genannten Nutzungsziele werden in den nächsten Abschnitten der Hilfe weiter erläutert.

Liste der Parametertypen

Folgende Liste zeigt die geläufigen Parametertypen, ihre Nutzungsziele und eine kurze Beschreibung:

Text

V

 

 

 

Manuelle Eingabe von beliebigem Text. Optionaler Vorgabewert (V).

Zahl

V

 

 

 

Manuelle Eingabe einer Zahl. Optionaler Vorgabewert (V).

Datum

V

 

 

 

Manuelle Eingabe eines Datums. Optionaler Vorgabewert (V) per Datumsformular.

Objektauswahl

 

M

P

 

Wahl von mindestens einem Objekt aus einer Auswahlliste oder Liste (M).

Die anzuzeigenden Objekte werden über den Parameter (P) (OPath) definiert.

Wertauswahl

 

M

P

 

Wahl von mindestens einem Wert aus einer Liste (M).

Die Werte werden über den Parameter (P) (OPath) definiert.

Auswahlliste

(nach Spalte)

(nach Name)

 

M

P

 

Wahl eines oder mehrerer (M) Einträge aus einer Auswahlliste.

Die Auswahlliste wird über den Parameter (P) definiert.

Bei '(nach Spalte)' visualisiert die Parameterliste die OPaths der Auswahllisten, bei '(nach Name)' die Bezeichnungen der Auswahllisten.

Abfrage

 

M

P

 

Einbindung einer OPath-Abfrage aus dem Configuration Explorer.

Datei

 

M

 

 

Wahl eines oder mehrerer (M) Einträge aus der Spalte einer CSV-Datei.

Wert-Ausdruck

V

M

 

A

Wahl von 1 / > 1 Objekt aus einer Auswahlliste / Liste (M). Optionaler Vorgabewert (V).

Die anzuzeigenden Objekte sind über einen OPath-Ausdruck (A) zu definieren.

Wertauswahl

Zur Wahl des Wertes kann ein beliebiger OPath-Ausdruck definiert werden.

Bei der Ausführung der Abfrage werden automatisch alle Werte zur Auswahl angeboten, die sich in der gesamten angemeldeten Datenbank befinden. Deshalb wird empfohlen, die Wertauswahl auf die Gemeindevariante einzuschränken. Beispielsweise können auf diese Weise alle Baujahre der Objekte abgefragt werden, die sich in der aktuellen Gemeindevariante befinden:

  • IIF(ParentId=$CurrentMunicipalityVariantId, Baujahr)

Auswahlliste nach Spalte

Die Auswahlliste wird quasi über einen OPath zum übergeordneten Objekt gefunden.

Auswahlliste nach Name

Zum Finden der Auswahlliste muss ihr interner Name bekannt sein.

Abfrage

Über die Schaltfläche wird aus dem Configuration Explorer eine OPath-Abfrage gewählt. Diese wird als Kopie im Parameter gespeichert. Über Spalte wird die Spalte des Abfrageergebnisses, die im Parameter benutzt werden soll, eingestellt.

Datei

Über die Schaltfläche wird eine CSV-Datei gewählt. Es wird ausschließlich der Dateiname gespeichert. Dadurch können über verschiedene CSV-Dateien mit identischem Namen verschiedene Parameterwerte vorgegeben werden. Über Spalte wird die Spalte der CSV-Datei, die im Parameter benutzt werden soll, eingestellt. Spaltenindex 0 entspricht dabei der ersten Spalte gleichbedeutend mit Spalte A eines Tabellenkalkulationsprogramms.

Wichtiger Hinweis zur Kompatibilität

Der Typ des Parameters muss unbedingt mit dem Typ übereinstimmen, der an der gewünschten Stelle des Abfragealgorithmus benötigt wird. Der Parameter ist über das Feld Beschreibung so ausführlich zu dokumentieren, dass sein Einsatzbereich für die Verwendung in Abfragen eindeutig nachvollziehbar ist.

Angabe zwingend erforderlich

Bei fehlender Angabe erscheint im Parametereingabeformular eine Fehlermeldung.

Vorgabewert

Zu Definition des Vorgabewertes bestehen die im Folgenden beschriebenen Möglichkeiten.

Kein Vorgabewert definiert

Falls über das Formular <Parameter bearbeiten> kein Vorgabewert definiert ist, muss dieser manuell eingegeben werden, sobald sich das Parameter-Dialog-Formular vor Durchführung der Abfrage öffnet.

Soll das Parameterfeld beim Start der Abfrage leer sein, so ist als Vorgabewert "---" einzutragen. Ansonsten würde der zuletzt eingegebene Parameterwert automatisch vorausgewählt sein.

Immer Vorgabewert verwenden

Die Option wird auf die hier beschriebene Weise verwendet:

  • Falls das Häkchen im Kontrollkästchen gesetzt ist, wird der Vorgabewert automatisch bei der Durchführung der Abfrage verwendet. Der Vorgabewert wird nicht im Parametereingabeformular angezeigt. Er ist dann sozusagen ein versteckter konstanter Wert. Falls kein Vorgabewert definiert ist, sollte diese Option nicht gewählt werden!

  • Falls das Häkchen im Kontrollkästchen nicht gesetzt ist, wird der definierte Vorgabewert vor Durchführung der Abfrage im Parameter-Dialog-Formular angezeigt. Der Wert kann dort beliebig editiert werden.

Zahlenwerte

Bei Zahlenwerten kann als Vorgabewert kein Buchstabe oder Sonderzeichen eingegeben werden.

Formatierungsausdruck

In dieses Feld kann ein von den Konventionen her erlaubtes Wert-Format eingegeben werden. Im Folgenden werden ein paar Beispiele beschrieben. Der Umfang der verfügbaren Formatierungsausdrücke ist erheblich größer.

Datum

Für Datumsausdrücke gelten folgende Konventionen für die häufigsten Platzhalter:

Jahr

y

Monat

M

Woche

w

Tag

d

Stunde

h

Minute

m

Sekunde

s

Beispiele für das Datum 01.04.2010:

d.M.yy

1.4.10

d.M.yyyy

1.4.2010

dd.MM.yy

01.04.10

dd.MMMM yyyy

01. April 2010

Anzahl Eingabestellen

Das #-Zeichen wird für die maximal mögliche Zahl von Eingabestellen verwendet. Beispielsweise kann bei einem Zahlenformat ##0.00 maximal die Zahl 999.99 eingegeben werden. Die Eingabe von 1,000.00 ist dann nicht möglich.

Min. Wert / Max. Wert

Über diese Werte kann die Eingabe von Zahlen beschränkt werden.

Dies ist auch bei Datumsangaben möglich. Wenn beispielsweise für ein Datum der minimale Wert auf 01.01.2014 und der maximale Wert auf 14.01.2014 festgelegt ist, stehen später bei der Paramaterabfrage im Datumseditor automatisch nur die Tage der zwei Wochen vom 01. bis zum 14. Januar zur Verfügung.

Mehrfachauswahl

Für die Typen Auswahlliste und Objektauswahl kann ein Häkchen vor Mehrfachauswahl gesetzt werden. Für die Parametermehrfachwahl wird dann je Parameter mit gesetztem Häkchen im Parametereingabeformular eine eigene Seite zur Wahl von mehr als einem Listeneintrag generiert. Die Seiten werden immer hinter die Seite mit den Eingabefeldern gehängt, die auf Einfachwahl gesetzt sind.

Mehrfachauswahlparameter können nur sinnvoll mit dem In ()-Operator genutzt werden.

Parameter

Ein Parameter ist zu wählen, wenn der Typ <Objektauswahl> oder <Auswahlliste> definiert wurde. Der Parameter wird per Auswahlliste zugewiesen.

Ausdruck

Ein Ausdruck ist einzugeben, wenn der Typ <Wert-Ausdruck> definiert wurde. Der Ausdruck kann im Editierbereich bearbeitet und geprüft werden, bevor er im Formular <Parameter bearbeiten> eingefügt wird.

Erweitert

Über dieses Register werden die Metadaten der Parameter definiert.

Sortierungsindex

Über den Sortierungsindex wird die Sortierung des Parameters in der Parameterliste und im Parametereingabeformular festgelegt. Bei Parametern mit gleichem Index entscheidet das Alphabet. Für Mehrfachwahl-Parameter bezieht sich der Sortierungsindex auf die Sortierung der Seiten im Parametereingabeformular.

Gruppe beginnen / Gruppenüberschrift

Bei gesetztem Häkchen vor Gruppe beginnen startet mit dem zugehörigen Sortierungsindex eine neue Parametergruppe. Oberhalb des zugehörigen Parameters erscheint die Gruppenüberschrift. Im Parameterformular wird die Gruppenüberschrift als Gruppe ausgegeben.

Mehrfachwahl-Parameter können keine Gruppenüberschrift erhalten.

Formular nach dem Editieren

Nach der Bearbeitung ist das Formular beispielsweise folgendermaßen mit Werten gefüllt:

Parameter bearbeiten

Name

 

Kanalart

 

Beschriftung

 

Kanalart

 

 

Beschreibung

 

 

 

Abwassertyp aus der Auswahlliste

 

 

 

 

 

 

 

Typ

 

 

 

 

 

 

 

 

Mehrfachauswahl

 

 

Parameter / Ausdruck

 

 

 

 

Abwasserart

 

OK

 

Abbrechen

Allgemeine Funktionen

Elemente des Ausdruckseditors

Zurück

Die hier beschriebenen Funktionen können an vielen Stellen des Ausdruckseditors genutzt werden.

Schaltflächen

Das Formular kann über die folgenden Schaltflächen geschlossen werden:

OK

Speicherung aller Änderungen. Schließen des Formulars.

Abbrechen

Schließen des Formulars ohne Speichern.

Tooltipps

Beim Überstreichen folgender Formularbereiche mit der Maus wird ein ausführlicher Tooltipp angezeigt:

  • Schaltflächen

  • Einträge der Parameter-Liste

  • Einträge der Funktionen-Liste

  • Einträge des Operatoren-Bereiches

   

Impressum der Dokumentation

Stand:

01.12.2014

Verantwortlich:

Jörg Martin

Copyright:

Barthauer Software GmbH
Pillaustraße 1a
D-38126 Braunschweig

Erreichbarkeit:

Homepage:  www.barthauer.de
E-Mail: info@barthauer.de