Administrationshandbuch (EVI-EFL)
Installation
Voraussetzungen für die Verwendung des Moduls
Modullizenz Kundenwert ist im System vorhanden und aktiv
Das Modul EVI-Basis ist im System vorhanden und aktiv
Das Modul EFL ist im System vorhanden und aktiv
Installation der EfL KI-Analytik zur Berechnung der Kundenwert-Informationen
Index
Auf der Datenbank sollte ein Index auf die Sync-ID des Geschäftspartners (C12SyncId.Customer) gelegt werden.
Aktivierung der Löschregel für Kundenwert-Daten
Im Standard ist eine Löschregel zum Löschen von Datensätzen der Entität Kundenwert vorhanden. Die dazugehörige Suche ermittelt alle Datensätze, deren Berechnungsdatum älter als ein Jahr ist. Bei Aktivierung der Löschregel werden Kundenwert-Datensätze, die den Suchkriterien entsprechen, beim nächsten Lauf des Timers "Systemtabellen bereinigen" aus dem System entfernt. Es wird empfohlen, die Löschregel zu aktivieren und ggf. an die individuellen Gegebenheiten, bspw. je nach Häufigkeit der Kundenwert-Datenberechnung anzupassen.
Timer
Die mit dem Modul bereitgestellten Timer C12EFLExport und C12EFLImport sind zu konfigurieren
Hinterlegung des ausführenden Users
Aktivierung der Timer
Anpassung des Zeitplans auf den gewünschten Import- bzw. Exportzeitpunkt und -zyklus
Schlüssel
Beim Import der csv-Dateien in EVI werden die Schlüssel für das Kundensegment und die Churn-Risikoklasse nicht gegen den Schlüssel-Pk sondern den Schlüsselwert geprüft. Abhängig davon, wie die Globale Variable C12CVEFLCreateKeys konfiguriert ist, werden entweder Schlüssel, die in EVI nicht vorhanden sind, angelegt und der Kundenwert-Datensatz anschließend mit diesem Wert erzeugt, oder der Import für die betroffenen Zeilen erfolgt nicht. Wenn Sie sich gegen die Aktivierung der automatischen Schlüssel-Anlage entscheiden, müssen sie vor dem Import mit eigenen Schlüsselwerten für das Kundensegment und die Risikoklasse sicherstellen, dass diese in ihrem EVI angelegt worden sind.
Technische Dokumentation
Komponentenübersicht
Prozesse
C12EFLExport
C12EFLImport
Beim Einspielen des Moduls werden die Prozesse automatisch veröffentlicht, dennoch ist eine Prüfung des Veröffentlichungsstatus empfehlenswert. Entsprechende Hinweise werden auch beim Import des Moduls ausgegeben.
Skriptbibliothek
SC12EFLUtils
Globale Variablen
C12CVEFLExportDir
C12CVEFLImportDir
C12CVEFLLogErrors
C12CVEFLCreateKeys
Mapping
Administrationsmöglichkeiten
Adminstration über Globale Variablen:
Globale Variable | Beschreibung |
---|---|
|
Deprecated! |
C12CVEFLExportDir | Text Bspw. D:\\CURSOR\\TMP\\EFL\\ Das Verzeichnis aus Sicht des Applikationsservers, in dem die Export-Daten abgelegt werden sollen. |
C12CVEFLImportDir | Text D:\\CURSOR\\TMP\\EFL\\Import\\ Das Verzeichnis aus Sicht des Applikationsservers, in dem die Export-Daten abgelegt werden sollen. |
C12CVEFLLogErrors | false: Bei Importfehlern werden keine Logdatensätze in Form von Massendatenprotokollen erstellt. true (Standard): Für jeden fehlerhaften Massendatendatz beim Import wird ein Massendatenprotokoll erstellt. In diesem Protokoll ist die SyncId des fehlerhaften Geschäftpartners hinterlegt. |
C12CVEFLCreateKeys | Steuert, ob beim EFL Import unbekannte Schlüssel für das Kundensegment und die Risikoklasse in EVI angelegt werden, oder eine Fehlermeldung geloggt werden soll. false (Standard): Unbekannte Schlüssel werden nicht angelegt und der Kundenwert-Datensatz wird nicht erzeugt. Es wird ein Eintrag im Fehlerlog erstellt. true: Unbekannte Schlüssel werden angelegt. Der Kundenwert-Datensatz wird normal erzeugt. |
Aufnahme weiterer Exporte
Um den vorhandenen Export um eine weitere Exportdatei zu erweitern müssen einige Schritte vorgenommen werden. Dadurch wird ein Export aller Daten, sowie einer Auflistung aller ungültigen Daten mit beispielsweise fehlenden Feldinhalten gewährleistet.
Methode zum Verwenden des Exportnamens aufnehmen (getActivity())
Aufnahme einer eigenen Get-Methode für den Namen der CSV-Datei, z.B. getActivity(){ return "Activity";}Dient zur Identifizierung der Feldmappings und dem Erhalten des Suchnamens und Negativ-Suchnamens.
Aufnahme des neuen Exportnamens in die Exportnamensliste (getExportNameList())
Aufnahme des neuen Exportnamens in die Liste aller Exportnamen über die Methode getExportNameList()Erzeugt eine Liste aller Entitäten die als Datei exportiert werden sollen. Der Name entspricht dabei dem Suffix der Datei vor der Dateiendung. Name der exportierten Datei lautet <yyyyMMddHHmmss>_exportName.csv z.B. 20220804153734_Activity.csv
Feldmapping für um neuen Export erweitern (getFieldMap())
Mapping von EFL-Spaltenname und CRM-Feldnamen aufnehmen in der Methode getFieldMap().
Der Schlüssel der Map entspricht den EFL-Spaltennamen. Der Value besteht aus einer Map von CRM-Feldnamen, Art des Wertes (VALUE für Standard, KEY für Schlüsselwert eines Nachschlagewertes, DESC für Beschreibung eines Nachschlagewertes) und des Beziehungspfades, falls das Feld kein Direkt-Feld der Haupt-Entität ist (Z.B. C12SyncId.Customer ist kein Feld auf der Aktivität. Der Beziehungspfad zu dem Feld lautet: Activity+rDefaultContactPersonCustomerKey_Activity.C12SyncId.Customer). Der Beziehungspfad kann der Export-Konfiguration entnommen werden, die zu der erstellten Suche generiert werden kann. (siehe Schritt 6a).
Feldmapping für den Export von fehlerhaften Daten vorbereiten (getPkMap())
Mapping von Primärschlüssel und einem Identifikationsmerkmal [optional] in der Methode getPkMap() aufnehmen. Diese Informationen dienen im späteren Verlauf zum Identifizieren von fehlerhafte Datensätzen. Als "fehlerhafte Daten" werden die Datensätze bezeichnet, die leere Feldwerte für EFL-Pflichtfelder besitzen.
Die Datensätze werden mit PK und beliebigen Zusatzinformationen ebenfalls in eine CSV-Datei exportiert.
Der Schlüssel der Map entspricht der Spaltenüberschrift. Der Wert "PK" ist Pflicht, da hier der Primärschlüssel des fehlerhaften Datensatzes ausgegeben werden sollen. Die optionalen Identifikationsmerkmale dienen nur der Lesbarkeit, Z.B. Betreff bei Aktivitäten, und sind nicht zwingend erforderlich.
Feldmapping in die Map für die einzelnen Exportdateien aufnehmen (getAllFieldMap())
Aufnahme des neuen Exportnamens in Relation zu dem erstellten Feldmapping in der Methode getAllFieldMap().
Die Methode dient dazu eine Gesamtmap über alle Exportnamen bzw. Export-Mapping zu erstellen.
Erstellung der Exportsuche
Erstellen einer Suche, welche für den CSV-Export verwendet werden kann. Die Suche muss folgende Kriterien erfüllen:- Der Name der Suche muss dem Schema C12EFL_EXPORT_<Hauptentität> (z.B. C12EFL_EXPORT_ACTIVITY) entsprechen
- Die Option "Anzahl der Ergebnisse" muss auf den Wert -1 gesetzt werden
- Der Pk der Hauptentität muss in die Suche mit aufgenommen werden
- Von EFL definierte Pflichtfelder müssen in der Suche mit der Funktion "ist nicht leer" hinterlegt werden. So wird sicher gestellt, dass alle benötigten Daten nach dem Export vorhanden sind.
- Die Suche muss als Suchtyp "MASSEXPORT" hinterlegt habenErstellen der Exportkonfiguration zum Pflegen der Beziehungspfade [optional]
Um die korrekten Beziehungspfade in der Methode getFieldMap() pflegen zu können, kann am einfachsten die fertige Suche zum Generieren einer Exportkonfig verwendet werden.
Dazu muss im Suchfenster die Option "Erweiterte Schalterleiste" aktiviert sein. Dann ist auf der linken Seite des Suchfensters die Aktion "Eine Export-Konfigutation für die Suche erstellen" vorhanden.
Wenn die Aktion ausgeführt, der Wizard durchgegangen und alle beliebigen Einstellungen angepasst wurden, erscheint eine fertige Export-Konfiguration. Hier können die jeweiligen Beziehungspfade für die einzelnen Felder entnommen werden.
Aufnahme des Mappings von Exportnamen zu Exportsuchnamen (getSearchNameByExportName())
Aufnahme des Suchnamens der erstellten Suche in die Suchnamensliste über die Methode getSearchNameByExportName().
Über die Methode wird der passende Suchname zum übergebenen Exportnamen ermittelt.
Erstellung der Negativ-Suche zum Ermitteln von fehlerhaften Datensätzen
Erstellen einer Suche, welche für das Ermitteln von fehlerhaften Datensätzen, bzw. Datensätzen mit leeren EFL-Pflichtfeldern verwendet wird.
Die Suche muss folgende Kriterien erfüllen:
- Der Name der Suche muss dem Schema C12EFL_EXPORT_<Hauptentität>_INVALID (z.B. C12EFL_EXPORT_ACTIVITY_INVALID) entsprechen
- Die Option "Anzahl der Ergebnisse" muss auf den Wert -1 gesetzt werden
- Der Pk der Hauptentität muss in die Suche mit aufgenommen, die Funktion auf "ist keiner von" gesetzt und als Template "Platzhalter (wird zur Laufzeit gesetzt) eingetragen werden
- Die in Punkt 4. (getPkMap()) aufgenommenen optionalen Informationen müssen als Felder hinzugefügt werden (z.B. Betreff)
- Die in der getPkMap() aufgenommenen optionalen Informationen müssen als Felder hinzugefügt werden (z.B. Betreff)
Aufnahme des Mappings von Exportnamen zu Negativ-Suchnamen (getInvalidSearchNameByExportName())
Aufnahme des Suchnamens für die fehlerhaften Datensätze in die Suchnamensliste über die Methode getInvalidSearchNameByExportName().
Über die Methode wird der passende Suchname für fehlerhafte Datensätze zum übergebenen Exportnamen ermittelt.
Anpassung/Erweiterung des Mappings für den Export
Sollen weitere Feldwerte in eine bestehende Exportdatei aufgenommen werden (Z.B. das Feld Zusatz 2 auf dem Geschäftspartner) müssen folgende Schritte durchgeführt werden:
Aufnahme des Feldes in das Export-Feldmapping
In der Methode getFieldMap() im case-Fall SC12EFLUtils.getCustomer() kann das Feldmapping für den Export erweitert werden. Der Schlüssel beschreibt den Spaltennamenn in der späteren Exportdatei. Der Wert erstellt ein Feldmapping, was den Feldwert des jeweiligen Datensatzes exportiert.Aufnahme des Feldes in die Exportsuche
Exportsuche für den zu erweiternden Export öffnen (C12EFL_EXPORT_CUSTOMER). Feld aufnehmen und darauf achten, dass die Informationen in der Selektionsergebnismenge aufgenommen werden.
Anpassung/Erweiterung des Mappings für den Import
Wurde die Importdatei um eine weitere Spalte z.B. Forderungsausfallscore erweitert, müssen folgende Schritte unternommen werden, damit die neuen Daten in das System importiert werden können:
Aufnahme der Spalte in das Import-Feldmapping
In der Methode getImportMap() kann die neue Spalte mit dem dazugehörigen Feldmapping ergänzt werden. Der Schlüssel beschreibt den neuen Spaltennamen, der dazugekommen ist. Der Wert definiert das Feld auf der Kundenwert-Entität, in dem der Wert aus der Importdatei eingetragen werden soll.Aufnahme des Feldes bei der Ermittlung der Import-Feldwerte
In der Methode resolveFieldValueFromImport() werden die verschiedenen Feldtypen der Kundenwert-Entität behandelt. Hier muss als case das neue Feld aufgenommen werden, welches durch den Import mit befüllt werden soll.
Übersteuerungsmöglichkeiten
Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen.
Nach dem Einspielen eines Moduls sollte geprüft werden, ob Methoden im Projekt übersteuert wurden und die Methodenänderungen im Standard im Projekt übernommen werden sollten.
Technische Ablaufbeschreibung
Datenexport (C12EFLExport)
Zur Berechnung der in der CRM-Entität Kundenwert zu speichernden Daten über die EfL KI-Analytik ist es notwendig, entsprechende Berechnungparameter aus dem CRM-System bereitzustellen. Hierzu gehören Informationen wie Stammdaten, geografische Daten, Verbrauchsverhalten, Loyalität, Soziodemographische Merkmale sowie Merkmale zur Kundenbeziehungsqualität und dem Kundenertrag aus den CRM Entitäten Vertragskonten, Geschäftspartner, Anlagenkonto, Abrechnungsverträge, Aktivitäten, Tarifzeitscheiben.
Aufruf des Export-Prozesses (C12EFLExport) durch den Timer
Auslesen des Mappings pro Export-Tabelle und Ermittlung der Daten anhand von Suchen mit den im Mapping enthaltenen Parametern
das Mapping der Felder ist in der Skriptbibliotheksmethode C12EFLUtils.getFieldMap hinterlegt
Pro Entität wird wird eine Export-Datei in Form einer CSV-Datei in das in der Globalen Variable C12CVEFLExportDir unter Angabe von YYYYMMDDHHMMSS_{def. Tabellenname} hinterlegte Verzeichnis geschrieben
der Name der jeweiligen Export-Datei pro Entität kann durch Übersteuerung der jeweiligen Skriptbibliotheksmethode C12EFLUtils.get<Entitätsname> angepasst werden
Protokollierung und Fehlerfallbehandlung des Exports
Für jeden Exportlauf wird ein Datensatz in der Tabelle Schnittstellen-Details (InterfaceDetail) geschrieben. Alle Schnittstellen-Details sind unter der Schnittstellenübersicht mit dem Schnittstellennamen EFL_EXPORT zusammengefasst.
Dem Ergebnis eines Schnittstellenlaufs in den Schnittstellendetails lassen sich folgende Informationen entnehmen:
Name des jeweiligen Exports (pro Entität)
Anzahl gefundener Einträge für den jeweiligen Export (pro Entität)
Anzahl ungültiger Einträge im jeweiligen Export (pro Entität)
Gesamtdauer des Exportlaufs
Für den Fall, dass zu einem Export ungültige Einträge ermittelt wurden, wird im Unterbereich Dokumente der Schnittstellen-Details eine csv-Datei verknüpft. Dieser können die ungültigen Einträge entnommen werden.
Schema: YYYYMMDD_<Exportname>_Invalid.csv
Import (C12EFLImport)
Nach Übergabe der Export-Datei und Berechnung der Kundenwert-Informationen durch die Efl KI-Analytik und Bereitstellung dieser in Form einer CSV-Datei muss diese im Verzeichnis, das in der Globalen Variable C12CVEFLImportDir definierte Import-Verzeichnis abgelegt werden.
Schema für den Dateinamen: YYYYMMDDHHMMSS_EFLIMPORT.csv
Aufruf des Import-Prozesses (C12EFLImport) durch den Timer
Auslesen der Kundenwertdaten, des Churn-Scores, der Churn-Risikoklasse sowie des Kundensegments aus der Import-Datei und Zuordnung zum Geschäftspartner anhand der Kundennummer
Die Daten werden in einem Kundenwert-Datensatz unterhalb des jeweiligen Geschäftspartners abgelegt
Setzen des Berechnungsdatums im Kundenwert-Datensatzes auf das aktuelle Importdatum
Abschließende Berechnung und Aktualisierung der Durchschnittswerte Churn-Score und Kundenwert sowie Anzahl der Kunden pro Kundensegment in der Tabelle "Zwischenspeicher"
diese werden auf dem ausgelieferten Standard-Dashboard "Kundenwert und Churn-Score" visualisiert
Verschieben der Importdatei in den Unterordner "success" unterhalb des Import-Verzeichnisses
Im Standard umfasst der Import die folgenden Werte
Spaltenname in Import-Datei | Mögliche Werte | Zielfeld in EVI | Hinweise |
---|---|---|---|
Geschaeftspartnernummer | Muss mit der SyncId des Geschäftspartners übereinstimmen | - | |
Kundenwert | 0 - 10 | CustomerValue.CustomerValue | |
Churnscore | 0 - 100 | Churnscore.CustomerValue | |
Churnrisikoklasse |
| RiskClass.CustomerValue | Wenn die globale Variable C12CVEFLCreateKeys aktiv ist, können beliebige alphanumerische Werte importiert werden |
Kundensegment |
| CustomerSegment.CustomerValue | Wenn die globale Variable C12CVEFLCreateKeys aktiv ist, können beliebige alphanumerische Werte importiert werden |
Forderungsausfallscore | 0 - 100 | BadDebScore.CustomerValue |
Protokollierung und Fehlerfallbehandlung des Imports
Für jeden Importlauf wird ein Datensatz in der Tabelle Schnittstellen-Details (InterfaceDetail) geschrieben. Alle Schnittstellen-Details sind unter der Schnittstellenübersicht mit dem Schnittstellennamen EFL_IMPORT zusammengefasst.
Dem Ergebnis eines Schnittstellenlaufs in den Schnittstellendetails lassen sich folgende Informationen entnehmen:
Anzahl der verarbeiteten Datensätze und Anzahl der dabei erfolgreich verarbeiteten Datensätze
Statusinformationen (Fehlerfreie Verarbeitung/Fehler)
Gesamtdauer des Importvorgangs
Info über das Verschieben der Importdatei in den Unterordner "success" (wenn fehlerfreie Verarbeitung)
Ist die Globale Variable "C12CVEFLLogErrors" aktiv, erfolgt zusätzlich eine Protokollierung des Importlaufs in der Massendatenaktion, bzw. von im Import aufgetretenen Fehlern im Unterbereich Massendaten-Protokolle.
Mögliche Fehlerursachen:
Der Geschäftspartner für die angegebene SyncID ist in EVI nicht ermittelbar
Ungültiger Wert für Churn-Score, Churn-Risikoklasse, Kundensegment oder Kundenwert