Function Button
Mit dem Function Button kann ein Knopf eingefügt werden der diverse verschiedene fest eingebaute Funktionen ausführen kann. Eine einzelne Funktionen finden sie weiter unten.
Oft wird dieser Knopf benutzt um Spaltenwerte von anderen Tabellen in den aktuellen Datensatz zu kopieren.
Die Update Funktion beim Funktion Button geht nur wenn man Update Rechte auf die Tabelle hat auf die upgedated wird. Das Gleiche gilt für die Lösch Funktion.
Der Knopf ist nur im "Datensatz Anzeige Modus" verfügbar.
Hiermit können auch Workflow abgebildet werden d.h. es können mehrere Funktionen nacheinander in der angegebenen Reihenfolge ausgeführt werden.
z.B. wählen eine Feature in der Grafik und zuweisen eines Wertes dea Features zum aktuellen Datensatz.
Wählen Sie bei "Funktionsname" die gewünschte Funktion. Danach geben Sie bei "Parameter" ggf Parameter zu der Funktion ein.
Steuerelement spezifische Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| Commands | Ein Command/Funktion (siehe unten) |
| Kommentar | Hier können Sie eigene Kommentare hinzufügen um das Steuerelement leichter zu identifizieren wenn Sie mehrere Function Buttons verwenden. |
| Knopf Beschriftung | Die Beschriftung direkt auf dem Steuerelement |
| Knopf Bild | Ein Icon kann als Ergänzung zum Text hinzugefügt werden. |
Variablen Namen
Variable Namen sind in Eckigen Klammern an zu geben.
Der Name {ME} ist reserviert und symbolisiert den aktuellen Datensatz (das Feature).
Beispiel:
{ME.FID}
gibt die FID des Datensatzes zurück. Dies sind die wirklichen Werte der Datenbank. Die können auch gesetzt werden.
Die im Formular dargestellten Werte bekommen Sie durch Angabe der Feldnamen in eckigen Klammern. Diese können nur gelesen werden.
Beispiel: {FID}
Beachten Sie das in den Formularen z.B. bei Kennungslistenwerte oft nicht der wirkliche Datenbankwert steht sondern ein aufgelöster Wert einer anderen Tabelle.
Beispiel: In der Datenbank hat das Feld ID_BAUM_TYPE den Wert 17. Im Formular wird aber der Klartext dargestellt also der VALUE Wert (Buche) aus der Tabelle BAUM_TYPE wo die ID= 17 ist.
d.h.
{ME.ID_BAUM_TYPE} gibt den Wert 17 zurück.
ID_BAUM_TYPE {ID_BAUM_TYPE} gibt den Wert 'Buche' zurück.
In vielen Fällen arbeitet man mit Featuren, also Objekten die wiederum Eigenschaften haben.
Dann wird zuerst der Name der Feature Variable angegeben plus Punkt plus der Feldname.
Beispiel {ME.ID_BAUM_TYPE}
Bei Geometrien stehen erweiterte Funktionen zum lesen zur Verfügung. X/Y - Punkt/Zentrums Koordinaten Length = Länge einer Linie/Fläche Area = Fläche
Beispiele:
{ME.GEOM.X}
{ME.GEOM.Y}
{ME.GEOM.LENGTH}
{ME.GEOM.AREA}
Koordinaten können mit dem Ausdruck "TRANSFORMTO" transformiert werden.
Der EPSG Code des Ziel Koordinatensystems wird in Klammern angegeben.
Beispiele:
{ME.GEOM.X.TRANSFORMTO(4326)}
{ME.GEOM.Y.TRANSFORMTO(4326)}
{ME.GEOM.TRANSFORMTO(4326)}
Variablen die mit
{U.
beginnen sind benutzerdefinierte Variablen.
List der Funktionen
Benutzerdefinierte Variablen erzeugen (Create User Variables)
Hiermit können Benutzer Definierte Variablen angelegt werden.
Diese beginnen immer mit {U.
Das "U" steht für "User Defined" (Benutzer Definiert)
| Variable Name | Default Value | Bemerkung |
|---|---|---|
| {U.NAME} | Hans Maiser | richtig |
| {U.NAME} | 'Hans Maiser' | falsch, Text nicht in '' setzen |
| {U.HOEHE} | 15.123 | richtig |
| {U.HOEHE} | 15,123 | falsch, Dezimal Trenner muss ein Punkt sein |
| {U.HOEHE} | 15+3 | falsch, Formeln sind hier nicht erlaubt |
| {U.HOEHE} | NULL | falsch, NULL Ist nicht erlaubt. Dazu "Assign" benutzen. |
Spezielle, reservierte Variablennamen
| Variable Name | Bemerkung |
|---|---|
| {U.SPATIALFILTER} | Wird von der Funktion "Spatial Filter erzeugen" verwendet |
| {U.FILTER} | Enthält den aktuellen Filter des Formulars (verfügbar ab Version 25.1.29) |
| {U.REPORTFILE} | Wird im zusammenhang mit "Bericht erzeugen" verwendet um den Dateinamen zu speichern |
| {U.SHAPESUBFOLDERNAME} | Wird im zusammenhang mit "Shape Datei erzeugen" als Ordnernamen verwendet. |
| {U.USERNAME} | Der MapEdit-Anmeldename des aktuell angemeldeten Benutzers. (ab Version 26.1.249). Liefert einen Text. In einem SQL muss der Wert daher in einfache Anführungszeichen gesetzt werden |
Werte zuweisen/berechnen (Assign Values)
Hiermit können Variablen fixe Werte oder werte anderer Variablen zugewiesen werden. Sie können hiermit auch Berechnungen durchführen und das Ergebnis einer Variablen zuweisen.
Beispiele:
| Target | Source |
|---|---|
| {ME.NAME} | 'Hans Maiser' |
| {B.NAME} | {A.FID} |
| {B.NAME} | {A.FID}*15 |
| {B.NAME} | {A.NAME}||'-'||{A.NACHNAME} |
| {B.HOEHE} | 15.123 |
| {B.HOEHE} | NULL |
Texte müssen immer in einfach Anführungszeichen gesetzt werden.
Richtig: 'Hans Maiser'
Falsch: Hans Maiser
Bei Zahlen ist immer ein Punkt als Dezimal Trenner an zu geben, nicht Komma.
Richtig: 15.1234
Falsch: 15,1234
Bei Source können Formelausdrücke verwendet werden.
Für eine Liste der möglichen Formel Funktionen siehe:
Mehr Informationen
Beachten Sie das in diese Fall anders als dort Beschrieben Variablennamen in
eckige Klammern geschrieben werden müssen.
Also {A.COLUMN} statt COLUMN.
Wenn der Source Wert eine reiner Spaltenname eines Features ist wie
`{A.NAME}`
dann werden die werte direkt zugewiesen, auch NULL Werte.
In allen anderen Fällen werden NULL werte in 0 oder einen leeren Text umgewandelt.
Wenn eine reine Feature Variablen mit "Leeren Featuren" (leerer Datensatz) bei einem "Assign Values" als Source (Quelle) angegeben wird dann wird die Zuweisung ignoriert. (siehe Query Feature)
Beispiele wenn {B} leer ist.
| Target | Source | Ergebnis | Hinweis |
|---|---|---|---|
| {ME.LENGTH} | {B.LENGTH} | wird ignoriert | Ganze Zuweisung wird Ignoriert weil {B} leer ist. |
| {ME.LENGTH} | {B.LENGTH}*15 | 0 = 0 * 15 | Anweisung wird NICHT ignoriert, {B.LENGTH} wird in 0 umgewandelt |
| {ME.NAME} | {B.NAME} | ' Test' |
Wert mittels SQL abfragen (Query Value)
Hiermit kann ein Wert mittels SQL in eine Variable geladen werden. Datenbankverbindung, SQL und Variablennamen müssen ausgefüllt werden.
Feature abfragen (Query Feature)
Hiermit kann ein Feature (Datensatz) mittels SQL Where Bedingung in eine Feature Variable geladen werden. Datenbankverbindung und Tabellennamen müssen ausgefüllt werden.
Der "Feature Variable Name" wird vom Programm festgelegt. Unter diesem Namen können die Werte des Features angesprochen werden.
Wenn die Abfrage kein Feature zurückliefert wird der ganze Vorgang abgebrochen. Wenn die Abfrage mehr als ein Feature zurückliefert wird das erste Feature verwendet.
Wenn "Create Empty Feature Variable if query has no result" aktiviert wird, wird wenn kein Feature gefunden wurde der Vorgang nicht abgebrochen und in die Feature Variable wird ein "leeres Feature" (leerer Datensatz) geladen.
Wenn eine Feature Variablen mit "Leeren Featuren" bei einem "Assign Values" als Source (Quelle) angegeben wird dann wird die Zuweisung ignoriert.
Bei "Not found Message" kann eine Fehlermeldung festgelegt werden die ausgegeben werden soll wenn kein Feature gefunden wurde. Diese wird nur angezeigt wenn "Create Empty Feature if query has no result" nicht aktiviert ist.
Feature erzeugen (Create Feature)
Erzeugt ein Feature speichert es aber nicht in der Datenbank.
Das Feature wird erst in die Datenbank gespeichert wenn "Feature speichern/Update Feature" aufgerufen wird.
Ab Version 25.1.29
Wird die Option "Digitize Geometry in Map" eingeschaltet dann wird der Anwender aufgefordert für das Feature eine Geometrie zu digitalisieren.
Das Feature hat solange es nicht gespeichert ist keine FID.
Feature löschen (Delete Feature)
Löscht ein Feature. Das feature muss vorab mit "Query Feature" geladen worden sein. Hierbei werden Feature Rules ausgeführt.
Feature löschen mit SQL (Delete Features)
Ab Version 25.1.82
Löscht ein oder mehrere Feature mittels einer SQL Where Bedingung.
Hierbei werden Feature Rules ausgeführt.
Das löschen verwendet den Tabellen Aliasnamen "f". D.h. dieser kann in der Where-Bedingung verwendet werden.

Feature speichern (Update Feature)
Updated (speichert) ein Feature in die Datenbank und aktualisiert den Datensatz. Bei "Feature Variable Name" muss der Variable Name des zu speichernden Features angegeben werden.
Nach dem Update wird der aktuelle Dialog und alle Dialoge welche die Tabelle des aktualisierten Features benutzen aktualisiert.
Die Funktion ist nur ausführbar wenn die Tabelle die aktualisiert werden soll auch Update bzw Insert Rechte hat.
Ab 25.1.103
Wenn das Feature eine "Utility Attribut" Feature ist und eine Geometry enthält,
dann wird das Attribut Feature gespeichert und es wird ein Utility Geometry Feature mit der Geometry gespeichert.
Beim Attribut Feature werden FID_ATTR/TABLE_NAME_ATTR gefüllt.
Wenn das Feature eine "Utility Attribut" Feature ist und KEINE Geometry enthält,
dann wird das Attribut Feature gespeichert und KEIN Utility Geometry Feature erzeugt.
Feature eines Views können NICHT gespeichert werden, außer es handelt sich um einen Utility View der dem System bekannt ist der vom Typ "Utility" ist. Wenn das Feature KEINE Geometry hat wird kein Geometry Feature angelegt, ansonsten wird ein Attribut und ein Geometrie Feature erzeugt und in den in der View UI definierten Tabellen abgelegt und beim Attribut Feature werden FID_ATTR/TABLE_NAME_ATTR gefüllt.
Beispiel Utility View:

Feature in Karte wählen (Select Feature in Map)
Hiermit kann ein Feature in der Karte ausgewählt werden.
Datenbankverbindung und Tabellennamen müssen ausgefüllt werden.
Der "Feature Variable Name" wird vom Programm festgelegt.
Unter diesem Namen können die Werte des Features angesprochen werden.
Feature in Karte anzeigen (Highlight Feature)
Hiermit kann ein Feature das vorab mit "Query Feature" geladen wurde in der Karte gehighlighted werden.
Mehrere Feature in Karte anzeigen (Highlight Features)
Hiermit können ein oder mehrere Features mittels SQL Where Bedingung in der Karte gehighlighted werden.
Datenbankverbindung und Tabellennamen müssen ausgefüllt werden.
SQL ausführen (Execute SQL)
Führt einen SQL Befehl wie DELETE, UPDATE, INSERT etc aus.
Dieser Befehl sollte nur in sehr sehr wenigen Ausnahmefällen benutzt werden da dieser keine Feature Rules auslöst.
Zum Löschen, Anlegen und Updaten von Datensätzen sollten immer die Befehle Create Feature, Delete Feature und Update Feature verwendet werden, diese führen die Feature Rules aus.
Vermeiden Sie diesen Befehl auf alle Fälle wenn es geht da keine Feature Rules ausgelöst werden was ggf je nach Fachschale zu inkonsistenten Daten führen kann.
Meldung anzeigen (Show Message)
Hiermit können Daten in einer Meldungsbox ausgegeben werden.
Variablen können benutzt werden.
Beispiel:
FID: {ME.FID}
Name: {A.NAME}
X: {ME.GEOM.X}
Y: {ME.GEOM.Y}
Berechnungen und Formeln sind hier nicht zulässig.
Ja/Nein Frage stellen (AskYesNoQuestion)
Hiermit kann ein Dialog angezeigt werden der eine Ja/Nein Frage stellt. Die Antwort (True/False) wird dann in einer Variable abgelegt.
Variablen können in der Textausgabe benutzt werden.
Beispiel:
Wollen Sie weiter machen?
Soll die FID `{ME.FID}` gelöscht werden?
Ist Ihr Name `{A.NAME}` und Ihr Alter `{A.ALTER}`?
Berechnungen und Formeln sind hier nicht zulässig.
Eingabe Fenster - Werte eingeben (Input Values)
Zeigt ein Eingabe Fenster an in den Werte eingegeben werden können die Variablen zugewiesen werden.
Geben Sie bei Titel den Titel des Eingabefeldes ein. Wählen Sie bei "Variable Name" den Namen der Variable aus.
Bei "Format Type" kann angegeben werden von welchem Typ das Eingabe Feld sein soll.
| Format | Beschreibung |
|---|---|
| TEXT | Text Wert |
| NUMBER | Zahlen Wert |
| CHECKBOX | Ja/Nein Feld (1=Ja, 0= Nein) |
| DOMAIN(TABLENAME) | Auswahlbox Werte einer Domain Tabelle |
| DOMAIN(CONNECTION.TABLENAME) | Auswahlbox Werte einer Domain Tabelle |
| COMBOBOX(A,B,C) | Auswahlbox Manuelle Werte |
Generic Formular öffnen (Open Generic Form)
Öffnet ein Generic Formular Form mit einem SQL Filter
Feature in Topology Explorer anzeigen (Show Feature in Topology Explorer)
Öffnet den Topology Explorer und zeigt das bei "Feature Variable Name" angegebene Feature im Topology Explorer an.
Voreingestellt ist als "Feature Variable Name" der Name {ME}.
Dies symbolisiert den aktuellen Datensatz (das Feature).
Öffne URL (Open URL)
Öffnet den Browser mit der angegebenen URL.
Bei der URL können als Parameter Spaltennamen in angegeben werden. Der Spaltenname wird dann zur Laufzeit durch den Spaltenwert des Datensatzes ersetzt.
Beispiele:
https://www.mycity.de/key={ME.FID}
https://maps.google.com/maps?q={ME.GEOM.Y.TRANSFORMTO(4326)},{ME.GEOM.X.TRANSFORMTO(4326)}
Wenn sie die URL zum öffnen von Karte wie Google Maps und andere verwenden und an die falsche Stelle (oder leicht falsche Stelle) gezoomt wird, dann wurden X und Y verwechselt oder das falsche Koordinatensystem gewählt. Bei den meisten Karten die mit Lat/Lon arbeiten wird EPSG Code 4326 oder 3857 verwendet.
Vorgehen bei Utility Features:
Bei Utility Features hat das Attribut Feature keine Geometrie. In dem Fall muss das Feature das Die Geometrie hat geholt werden und dann in der URL benutzt werden.
Zuerst das Geometrie Feature abfragen:

Tabelle "BUS_STOP_POINT" ist die Tabelle welche die Geometrie enthält.
fid_attr={ME.FID}
ME.FID ist die FID des aktuellen Datensatzes. Also die Fid des Utility Attribut Features.
Mit dem Befehl wird das Feature das die Geometrie hat in die Variable "A" geladen. Den Variablennamen sehen Sie in dem Dialog
Bei "