Skip to main content
Skip table of contents

CURSOR-Geoanalyse (Freischaltung und Konfiguration)

Voraussetzungen

Zur Einrichtung und Freischaltung der Geoanalyse sind folgende Schritte notwendig:

  • Einspielen der Geoanalyse-Lizenz in der Moduldatei

  • Freischaltung der in der Geoanalyse zu betrachtenden Entitäten über die Entitätenkonfiguration

  • Erstellung der Views über entsprechende SQL-Statements

  • Anlage der Geometadaten für die Attribute

Selbstverständlich müssen zur Nutzung der Geoanalyse die Adressen im CRM-System Geocodes (Längen-/Breitengrad) besitzen. Dafür existieren entsprechende C0-Prozesse in der Anwendung.

Freischaltung von URLs

Bei der Nutzung der Geocodierung und der Geoanalyse mit dem nicht-öffentlichen Nominatim-Dienst müssen die folgenden URLs vom System aufrufbar sein und ggf. kundenseitig für den Proxy sowie die Firewall freigeschaltet werden:

  • URL für die Routenoptimerung

  • URL für den Geocodierungsdienst

  • URL für das Kartenmaterial

Freischaltung des Moduls 'Geoanalyse'

Einspielen der Lizenzen

In der Administrationskonsole den Bereich Module wählen und über den Schalter Lizenzen importieren die XML-Dateien der Lizenzen auswählen.

Zur Nutzung der Geoanalyse müssen in Versionen < 18.2 beide Lizenzen (Professional und Business) freigeschaltet sein.
Dies ist ab der Version 18.2 und höher nicht mehr notwendig. Hier existiert ausschließlich die Professional-Lizenz.

image-20240704-210108.png

Im Folgeschritt müssen den entsprechenden Benutzern die Lizenzen zugewiesen werden.

Freischaltung einer Entität für die Geoanalyse

Hier erfolgt die Freischaltung exemplarisch für den Geschäftspartner. Über die Administrationskonsole den Punkt Entitätenkonfiguration bearbeiten öffnen. Über den Schalter Entitätseigenschaften öffnet sich der entsprechende Dialog.

image-20240704-210131.png
image-20240704-210144.png

Erstellung der Views

Für die Erstellung der Geo-Tabelle, aus der die Geoanalyse ihre Informationen enthält, ist pro betrachteter Entität eine View erforderlich. Dies kann entweder über die Datenbank oder das CRM-System erfolgen. Dazu muss in der Administrationskonsole der Bereich SQL-Statements aufgerufen werden (falls dieser nicht sichtbar ist, existiert dort ein Aktionsrecht. Um den Eintrag sehen zu können, muss man hierfür Schreibrechte besitzen!).

Pro in der Geoanalyse zu betrachtender Entität muss jeweils eine View generiert werden. Hier wurde das beispielhaft für den Geschäftspartner auf einer Oracle-Datenbank durchgeführt. Die View heißt geo_cu. Als Namenskonvention wird der Shortcut einer Entität anstelle des * in geo_* verwendet. So lautet der Name einer View in der Geoanalyse für die Anschlussobjekte (Location) beispielsweise geo_lo.

Beispiel für: create view geo_cu (Oracle DB und MS SQL)

SQL
CREATE view geo_cu AS
Select Customer0.Pk AS Pk,
Customer0.MatchCode AS DisplayName,
Customer0.MatchCode AS MatchCode,
Customer0.Name1 AS Name1,
Customer0.Name2 AS Name2,
Customer0.Name3 AS Name3,
Address2.Street AS Street,
Address2.StreetNumber AS StreetNumber,
Address2.ZIPKey AS ZIPKey,
Address2.City AS City,
(SELECT Country FROM Country WHERE Pk = Address2.CountryKey) AS Country,
(SELECT p.Name1 + ', ' + p.Name2 FROM Person p, Employee e WHERE p.Pk = e.personPk AND e.Pk = Customer0.EmployeeSales) AS EmployeeSales,
(SELECT p.Name1 + ', ' + p.Name2 FROM Person p, Employee e WHERE p.Pk = e.personPk AND e.Pk = Customer0.EmployeeOffice) AS EmployeeOffice,
(SELECT Displayname FROM S_Keytab WHERE Pk = Customer0.CustTypeKey) AS CustTypeKey,
(SELECT Keyname + ' - ' + Displayname FROM S_Keytab WHERE Pk = Customer0.TradeKey) AS TradeKey,
Address2.Lng AS Lng,
Address2.Lat AS Lat,
Customer0.Active AS Active,
Customer0.CreateDate AS CreateDate,
Customer0.CreateUser AS CreateUser,
Customer0.UpdateDate AS UpdateDate,
Customer0.UpdateUser AS UpdateUser
FROM
rCuAd rCuAd2,
Address Address2,
Person Person1,
Customer Customer0
WHERE
Customer0.Active = 1 AND
Address2.Active = 1 AND
Address2.AddressType != 'pobox' AND
rCuAd2.DefaultCuAd = 1 AND
Customer0.PersonPk = Person1.Pk AND
Customer0.pk = rCuAd2.Masterpk AND
Address2.pk = rCuAd2.Slavepk AND
rCuAd2.Active= 1 AND
Address2.Lat IS NOT NULL AND
Address2.Lng IS NOT NULL

Bei diesem Statement stellen der komplette FROM- und WHERE-Part das Minimum dar, zwingend müssen außerdem die Adressfelder (Street, StreetNumber, ZIPKey, City, Lng, Lat) selektiert werden, da diese für die Anzeige der Adresse im zwingend Detaildialog benötigt werden. Ihre Benamung als Attribute in den Geometadaten muss analog zum Namen der Adressfelder auf der Datenbank erfolgen.

Ebenso muss mindestens ein Attribut als DisplayName definiert werden. Dieses wird in der Geoanalyse zusammen mit den Adressinformationen in der Detailbox eines auf der Karte dargestellten Pins und an weiteren wichtigen Stellen (Tooltip von Pins, Auflistung von Einträgen in der Selektionsliste) verwendet. Für den Geschäftspartner kann wie im obigen Beispiel redundant der Kurzname verwendet werden.

Beispiel für: create view geo_lo (Oracle DB und MS SQL) 

SQL
CREATE view geo_lo AS
Select Location0.Pk AS Pk,
Location0.ReferenceNumber AS DisplayName,
Location0.ReferenceNumber AS LocationNo,
(SELECT Displayname FROM S_Keytab WHERE Pk = Location0.RegionKey) AS RegionKey,
Address2.Street AS Street,
Address2.StreetNumber AS StreetNumber,
Address2.ZIPKey AS ZIPKey,
Address2.City AS City,
SUBSTRING(Address2.ZIPKey, 1,1) AS PLZ1,
(SELECT Country FROM Country WHERE Pk = Address2.CountryKey) AS Country,
(SELECT p.Name1 + ', ' + p.Name2 FROM Person p, Employee e WHERE p.Pk = e.personPk AND e.Pk = Location0.EmployeeTechnics) AS EmployeeTechnics,
(SELECT p.Name1 + ', ' + p.Name2 FROM Person p, Employee e WHERE p.Pk = e.personPk AND e.Pk = Location0.EmployeeOffice) AS EmployeeOffice,
Address2.Lng AS Lng,
Address2.Lat AS Lat,
Location0.Active AS Active,
Location0.CreateDate AS CreateDate,
Location0.CreateUser AS CreateUser,
Location0.UpdateDate AS UpdateDate,
Location0.UpdateUser AS UpdateUser
FROM
Address Address2,
Location Location0
WHERE
Location0.Active = 1 AND
Address2.Active = 1 AND
Address2.AddressType != 'pobox' AND
Location0.pk = Address2.LocationPk AND
Address2.IsDefault = 1 AND
Address2.Lat IS NOT NULL AND
Address2.Lng IS NOT NULL

Pflege der Geometadata

Über das Menü Administration wird der Punkt Geometadata geöffnet. Hier erscheint die Standardsuche der Geometadata-Entität. Über den Schalter Neu können die Geometadata-Einträge im System gepflegt werden. Hier besteht eine Anbindung an den Customizing-Transport, d.h. bei aktiviertem Customizingtransport erfolgt eine Abfrage zur Zuordnung eines Customizing-Pakets. Nach Abschluss der Pflege der Geometadata-Einträge kann ein Transport der Konfigurationsdaten in das Zielsystem erfolgen.

image-20240704-210225.png

Für jede in den Geo-Tabellen vorhandenen Spalte (mit Ausnahme der TableTail-Felder Anlage-/Updatedatum, Anlage-/Updateuser und Datensatzstatus) muss ein Attribut in der Geometadata angelegt werden. Entsprechend dem oben verwendeten Statement müssen also mindestens die folgenden Attribute angelegt werden:

  • Pk

  • DisplayName

  • MatchCode

  • Name1

  • Name2

  • Name3

  • Street

  • StreetNumber

  • ZIPKey

  • City

  • Country

  • Lng

  • Lat

Weiterhin empfiehlt sich die Internationalisierung der Attribute über die Geometadaten-Internationalisierung im Unterbereich.

Attribute

Ein Attribut meint vereinfacht ausgedrückt jeweils einen Spaltennamen in einer geo_*-Tabelle.

Im Folgenden Beispiel wird die Anlage einer Geometadata anhand des Kurznamens eines Geschäftspartners erläutert. Der Name der Spalte in der Tabelle geo_cu, welche die für die Geoanalyse relevanten Geschäftspartnerinfomationen bereithält, lautet in diesem Beispiel "MatchCode".

image-20240704-210242.png

Feld

Erläuterung

Attribut

Name des Attributs in der Geo-Tabelle

Tabelle

Interner Name der Entität, auf der die Geotabelle basiert

Gruppe

Technischer Name der Gruppe, in welcher das Attribut in der Geoanalyse auswählbar sein soll
Siehe auch: Anlage von Gruppen

Anzeigen in Detaildialog

Ist der Haken gesetzt, wird das Attribut im Detaildialog zu einem Pin angezeigt

Anzeigen in Attributsauswahl

Ist der Haken gesetzt, steht das Attribut in der Auswahlbox zur Verfügung

Geometadata-Internationalisierung

Des Weiteren kann nach der Anlage eines Geometa-Datensatzes pro Attribut eine Internationalisierung von Attributen vorgenommen werden. Dies erfolgt über den Unterbereich Geometadata-Internationalisierung. Über die Neuanlage können für die Attribute Bezeichnungen in unterschiedlichen Sprachen hinterlegt werden.

image-20240704-210307.png

Anlage von Gruppen und Gruppierung von Attributen

Die Anlage einer Gruppe in der Geometadata erfolgt nach demselben Prinzip wie die Anlage und Pflege eines Attributs - mit dem Unterschied, dass das Feld Attribut leer bleibt. Das nachfolgende Beispiel zeigt die Erstellung einer Gruppe "general".

image-20240704-210327.png

Um ein Attribut an der Oberfläche der Geoanalyse in einer bestimmten Gruppe erscheinen zu lassen, wird der technische Name der Gruppe in dem Feld "Gruppe" im entsprechenden Geometadata-Datensatz des Attributs eingetragen.

Internationalisierung von Attributsgruppen

Eine Gruppe kann analog zu einem Attribut über den Unterbereich Geometadata-Internationalisierung mehrsprachig hinterlegt werden.

Bedingte Attributwerte

Über den Unterbereich von Attributen können bedingte Attributswerte gepflegt werden. Ein solches Attribut existiert selbst nicht als Spalte in der generierten View. Stattdessen lädt der Geoanalyse-Javascript-Client diese Metadaten inklusive der Infos der Bedingten Attributswerte und berechnet aufgrund der angehängten Bedingungen den anzuzeigenden Wert. Dieser ist auch beliebig über den Unterbereich internationalisierbar. Die Bedingungen lassen sich mit eingeschränkten Mitteln gestalten und sind erstmal nur über UND verknüpft. Bei Bedarf könnte eine ODER-Verknüpfung realisiert werden.

Der Operator/Komparator ist ein Nachschlageschlüssel mit den möglichen Werten

  • IN

  • NOT_IN

  • EQUAL

  • NOT_EQUAL

  • EMPTY

  • NOT_EMPTY

Der Feldname bzw. Attributname ist der Name des zu vergleichenden Attributes, wie er in den Metadaten angeben ist. Als Vergleichswert lassen sich USER_GROUPS (Liste der Benutzergruppen-Namen, denen der User zugeordnet ist) und USER (Kürzel oder Pk des aktuellen Users) oder nichts (bei Operator EMPTY/NOT_EMPTY) wählen.

Beispiel 1 - Vergleich mit der UserGroup

In diesem Beispiel sind unsere Geschäftspartner über ein Nachschlagefeld auf der Geschäftspartnermaske einer bestimmten Vertriebsgruppe zugeordnet.

Als Anwender, der die Geoanalyse nutzt, möchte ich sehen können, welche Geschäftspartner einer Vertriebsgruppe zugeordnet sind, die ebenfalls meinem Mitarbeiterdatensatz zugeordnet ist.

Hierfür muss im SQL-Statement zur Generierung der geo_cu-Tabelle das Feld des Customers, welche die besagte Vertriebsgruppe enthält, ebenfalls als Attribut aufgenommen werden, um später einen Feldvergleich damit durchführen zu können.

Beispiel für DB Oracle Quelle erweitern

Der SalesGroupPk muss an der Oberfläche der Geoanalyse nicht zum Tragen kommen.

Um die Vertriebsgruppenzuordnung in der Geoanalyse sichtbar zu machen, wird nun ein Bedingter Attributwert erstellt. Dies erfolgt - wie für alle Attribute - über die Geometadaten. Für Bedingte Attributwerte kann ebenfalls eine Gruppe, in der das besagte Attribut später auswählbar sein soll, zugeordnet werden.

image-20240704-210347.png

Analog zu "herkömmlichen" Attributen können die Bedingten Attribute über den Unterbereich "Geometadaten-Internationalisierung" internationalisiert werden. In diesem Beispiel lautet folglich die Internationalisierung für das Attribut "CustomerGroupRelation" auf Deutsch "Gruppenzuordnung".

image-20240704-210407.png

Über den Unterbereich "Bedingte Attributwerte" werden nun die Bedingten Attributwerte durch eine Neuanlage erzeugt. Diese stellen quasi die Ausprägungen dar, welche unser Attribut "Gruppenzuordnung" (CustomerGroupRelation) annehmen kann. Im Feld "Wert" kann pro Attributsausprägung ein beliebiger Name vergeben werden.

Umlaute oder Leerzeichen sollen vermieden werden.

image-20240704-210535.png

In unserem Beispiel kann das Attribut "Gruppenzuordnung" drei verschiedene Ausprägungen annehmen: IN_NO_GROUP, IN_OTHER_GROUP, IN_MY_GROUP.

image-20240704-210549.png

Im nächsten Schritt werden pro Attributsausprägung die jeweiligen Bedingungen hinterlegt, welche erfüllt sein müssen, damit ein Marker auf der Karte in eine unserer Attributsausprägungen einsortiert wird. Die Anlage einer Bedingung zu einem Bedingten Attributwert erfolgt über den Unterbereich "Bedingung" des jeweiligen Bedingten Attributwerts.

Nachfolgend wird dies beispielhaft für den Bedingten Attributwert "IN_NO_GROUP" gezeigt:

image-20240704-210642.png

Ergebnis: Wenn der SalesGroupPk in der Tabelle geo_cu leer ist, landet der Geschäftspartner beim Betrachten des Attribtus "Gruppenzuordnung" in der Klasse "IN_NO_GROUP".

Für den Bedingten Attributwert "IN_MY_GROUP" sieht die Bedingung zum Beispiel so aus:

image-20240704-210700.png

Letztendlich sollte noch jedes Bedingte Attributwert über den Unterbereich "Bedingter Attributwert - Internationalisierung" internationalisiert werden, da sonst  der interne Name (IN_NO_GROUP, IN_MY_GROUP, etc.) an der Oberfläche der Geoanalyse angezeigt wird.

Die Hierarchie der gesamten Konfigurationsdaten für die Anzeige des Attributs "Gruppenzuordnung" und seiner Ausprägungen sieht für das gezeigte Beispiel wie folgt aus:

image-20240704-210724.png
image-20240704-210737.png

Standort

Für die Durchführung der Umkreissuche oder die Ermittlung der optimalen Route für eine Rundreise in der Geoanalyse muss dem System der eigene Standort bekannt sein. Beim Start der Umkreissuche im Web Client erfolgt eine automatische Freigabeanfrage des Browsers an den Anwender. Im Rich Client ist dies nicht möglich. Hier kann der Standort über Klick auf das entsprechende Icon gesetzt werden. Dabei erscheint der Cursor als blauer Punkt, der an einer beliebigen Stelle der Karte platziert werden kann.

image-20240704-210810.png

Umkreissuche

Um die Umkreissuche der Geoanalyse nutzen zu können, muss dem System der eigene Standort bekannt sein. Im Web Client kann dies durch die Freigabe der Standortabfrage des Browsers erfolgen. Im Rich Client erfolgt dies durch das entsprechende Icon in der Werkzeug-Leiste.

image-20240704-210835.png

Bei Ausführung der Umkreissuche wird zunächst ein Kreis mit einem Radius von 50km um den eigenen Standort gezogen. Darin enthaltene Marker sind automatisch selektiert und werden in der Liste der ausgewählten Adressen aufgelistet. Der Radius des Umkreises ist am unteren rechten Bildschirmrand ersichtlich. Außerhalb des Kreises liegende Marker werden transparent dargestellt. Über den Plus- und Minus-Button in der Werkzeugleiste kann der Radius des Umkreises in Schritten von 50km vergrößert, bzw. verkleinert, werden.

Hinweis

Es werden nur Marker von Datensätzen in der Umkreissuche erfasst, die zuvor in der Suche/Listenansicht an die Geoanalyse übergeben wurden.

Die Umkreissuche kann über einen erneuten Klick auf das Icon der Umkreissuche verlassen werden.

Selektion von Markern auf der Karte

Marker auf der Karte können über zwei Wege selektiert werden:

  • Massenselektion (Rechteck oder Polygonzug) / 

  • Einzelselektion image-20240704-210905.png image-20240704-210938.png image-20240704-210948.png

Beide Tools befinden sich in der Werkzeugleiste. Selektierte Marker erhalten ein "Häkchen"-Symbol und erscheinen in der Liste der ausgewählten Adressen.

image-20240704-211016.png

Über das Einzelselektionstool können selektierte Marker mit erneutem Klick aus der Selektion entfernt werden. Zudem ist es möglich, einzelne Adressen aus der Auswahlliste über einen Klick auf das hinter dem Anzeigenamen befindliche Schließen-Symbol zu entfernen.

Routenoptimierung

Eine Routenoptimierung wird auf Adressen, die sich in der Auswahlliste befinden angewendet. Mit Klick auf das Kompass-Symbol am oberen rechten Rand der Auswahlbox wird die optimale Rundroute ermittelt. Die Wegbeschreibung wird am rechten Bildschirmrand angezeigt.

image-20240704-211034.png

Bei der Ermittlung der Routenoptierung kann der eigene Standort miteinbezogen werden, indem dieser vor deren Ausführung über das entsprechende Tool auf der Karte gesetzt wird.

Download der Wegbeschreibung als gpx-Datei

Über einen Klick auf das entsprechende Symbol in der Anzeige der Wegbeschreibung als gpx-Datei heruntergeladen und im Nachgang beispielsweise an ein Navigationsgerät oder Smartphone gesendet werden.

image-20240704-211103.png

Öffnen der selektierten Datensätze in einer neuen Ebene

Die selektierten Datensätze können über das Icon in der Liste der ausgewählten Adressen in einer neuen Ebene im CRM geöffnet werden. Diese Datensätze können dann beispielsweise zur weiteren Verarbeitung an einen BPM-Prozess übergeben werden.

image-20240704-211126.png

image-20240704-211150.png

Anzeigename bei Mouse-over

Beim Mouse-over einen Marker wird der in der Geo-Tabelle definierte Anzeigename des dahinterliegenden Datensatzes angezeigt.

image-20240704-211217.png

Verwendung des neuen OSM-Kartenmaterials

Um das neue OSM-Kartenmaterial zu verwenden, muss die Globale Variable "Geoanalysis_MapProvider" in der Administrationskonsole wie folgt angepasst werden:

Wert: CURSOR oder Leerstring

image-20240704-211235.png

Soll das Kartenmaterial von dem öffentlichen OSM-Server bezogen werden (nicht zu empfehlen), ist hier der Wert "OSM" einzutragen.

Verwendung des Geocodierungsdienstes

Globale Variable C0Geokodierung_NominatimBaseUrl soll entsprechend definiert werden.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.