Konfigurationsmöglichkeiten der Compliance-Prüfung
Es gibt diverse Möglichkeiten, um die Funktionsweise bzw. den Ablauf der Compliance-Prüfung einzuschränken. In den folgenden Abschnitten werden beispielhafte Anpassungen aufgeführt. Es ist empfohlen, für die Konfiguration einen IT-Consultant hinzuzuziehen.
Startbedingungen
Im Standard des Compliance-Moduls werden grundsätzlich alle aktiven Geschäftspartner und Ansprechpartner geprüft. Die Prüfung erfolgt über den Standard-Ansprechpartner auf der zugrunde liegenden Person, damit Geschäfts- oder Ansprechpartner (beispielsweise mit mehreren Rollen) nicht mehrfach geprüft werden.
Sollen Einschränkungen bei der Prüfung innerhalb der Neuanlage von Geschäfts- oder Ansprechpartner gemacht werden (es sollen beispielsweise nur Interessenten und Kunden geprüft werden, nicht aber Marktpartner oder Wettbewerber), dann muss die Methode checkSingleContainer
in der Skript-Klasse SC0ComplianceUtils
entsprechend angepasst werden.
Sollen Einschränkung bei der regelmäßigen Überprüfung mittels Timer gemacht werden, wird die Search Condition in der Methode getTimerSearch
in der Skript-Klasse SC0ComplianceUtils
angepasst.
Dabei ist das genutzte Personen-Rollen-Modell zu beachten, welches Einfluss auf die Komplexität der Anpassung haben kann. Eine Fragestellung könnte beispielsweise sein: Soll auch ein Marktpartner geprüft werden, wenn er eine zweite Rolle als Interessent hat? Wenn ja, müsste die Einschränkung im Hintergrund auch die Informationen bei weiteren vorhandenen Rollen der Person prüfen.
Pflichtfelder für die Prüfung
Wenn die Compliance-Prüfung nur ausgelöst werden soll, wenn auch das Geburtsdatum bei einer natürlichen Person, kann in der Skriptklasse SC0ComplianceUtils
die Methode getMandatoryFieldNames
übersteuert werden. Dabei wird in der betreffenden Zeile die Auskommentierung gelöscht.
/**
* Liefert die notwendigen Felder, um zu entscheiden, ob die Complianceprüfung ausgeführt werden soll.
*
* @param entityName Der Name der Entität oder der Suchname der Massendatensuche
* @param personTypePk Der Primärschlüssel des PersonType der zu prüfenden Person
*
* @return Die Liste der notwendigen Felder
*/
@BpmScript @BpmMaskScript @EventRuleScript @MaskScript @Released @Override
List<String> getMandatoryFieldNames(String entityName, String personTypePk)
{
List<String> fields = new ArrayList<>();
if(ScriptUtils.isEmpty(personTypePk))
{
return fields;
}
if (SC0ComplianceUtils.isNaturalPersontype(personTypePk))
{
fields.add(getFieldNameNE(entityName, "Name1"));
fields.add(getFieldNameNE(entityName, "Name2"));
//fields.add(getFieldNameNE(entityName, "Name3"));
fields.add(getFieldNameNE(entityName, "DateOfOrigin"));
}
else
{
fields.add(getFieldNameNE(entityName, "Name1"));
}
//fields.add(getFieldNameNE(entityName, "CountryKey"));
return fields;
}
Treffergenauigkeit
Die Treffergenauigkeit der Suche beim Abgleich mit Einträgen auf den jeweiligen Listen ist im Standard auf “exakt” eingestellt. Damit werden nur genau übereinstimmende Ergebnisse bei der Suche ausgegeben.
Es gibt die Möglichkeit, diesen Parameter auf “fuzzy” (= unscharf) umzustellen. Damit werden auch ähnliche geschriebene Ergebnisse bei der Suche ausgegeben. So wird z.B. ebenfalls der Name Mayer gefunden, wenn nach Meyer gesucht wurde. Dies führt zu einer größeren Trefferanzahl.
Möchte man die unscharfe Suche verwenden, kann in der Skriptklasse SC0ComplianceCheckSchufa
die Methode getPrecision
übersteuert werden. Dabei wird der Wert 5
(exakt) mit dem Wert 3
(fuzzy) ausgetauscht:
/**
* Spezifikation der Treffergenauigkeit.
* Mögliche Werte: 3 (fuzzy) or 5 (exact)
*
* @return The call precision
*/
@BpmScript @Released @Override
private Integer getPrecision()
{
return 3;
}
Löschregeln
Es kann sich anbieten, dass alte Prüfprotokolle und -vorgänge nach einem gewissen Zeitraum gelöscht werden, um die Datenbankkapazitäten sowie die Übersicht der Aktivitäten und Vorgänge zu verbessern. Aus diesem Grund werden mit dem Modul Löschregeln ausgeliefert, die alte Prüfprotokolle und -vorgänge löschen, die älter als 5 Jahre sind.
Diese Löschregeln müssen aktiviert werden, wenn sie genutzt werden sollen. Sie sind im Administrationsbereich unter “Löschregeln” zu finden:
Löschregel für Aktivitäten des Compliance-Prüfung Moduls
Löschregel für Vorgänge des Compliance-Prüfung Moduls
![](../../../__attachments/27297658/image-20231130-160841.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Ausgelieferte Löschregeln (hellblau markiert)
Es können Einschränkungen oder Anpassungen an den Löschregeln vorgenommen werden (beispielsweise das Alter der Aktivitäten und Vorgänge, die gelöscht werden sollen), indem die dahinterliegenden Suchen angepasst werden:
C0Clear_Activity_Compliance (Löschregel für Aktivitäten des Compliance-Prüfung Moduls)
C0Clear_Ticket_Compliance (Löschregel für Vorgänge des Compliance-Prüfung Moduls)
Einbindung in kundeninvidiuelle Prozesse
Soll die Compliance-Prüfung neben der Neuanlage auch in anderen Prozessen erfolgen (z.B. bei der Angebotserstellung), kann der jeweilige BPM-Prozess entsprechend erweitert werden.
Beispiel A: Manuelle Compliance-Prüfung per Klick in einer weiteren Entität ermöglichen
In diesem Fall wird der Prozess C0ComplianceCheck
übersteuert und angepasst. Es wird in der Lane “Aktionsbox” ein weiteres Startereignis mit Initialisierungsaktion erstellt, die einen Attributcontainer erstellt, in dem beispielsweise der Primärschlüssel des im Angebot hinterlegten Geschäfts- und/oder Ansprechpartner gesucht wird. Das Prinzip gleicht dem Timer-Prozess, lediglich folgt daraufhin die synchrone Abarbeitung.
Damit kann eine manuelle Compliance-Prüfung per Aktionsbox im Angebot zur Verfügung gestellt werden.
Beispiel B: Compliance-Prüfung in bestehendem C2-Prozess ermöglichen
Die Compliance-Prüfung lässt sich in kundenindividuelle Prozesse einbinden, indem die Methoden (C0ComplianceUtils
) entsprechend der synchronen Compliance-Prüfung im bestehenden Prozess verwendet werden. Dabei könnte beispielhaft wie folgt vorgegangen werden:
An der gewünschten Stelle im BPM-Prozess wird der Primärschlüssel des betreffenden Geschäfts- bzw. Ansprechpartners zusammengesucht
Im Attributcontainer werden weitere Einschränkungen vorgenommen (z.B. werden die für die Compliance-Prüfung relevanten Pflichtfelder geprüft)
Die Methoden
checkSingleContainer
undcallComplianceCheck
werden in der Skript-Aktion zur Durchführung der Compliance-Prüfung ausgeführt
Je nach Ergebnis und fachlicher Anforderung kann der BPM-Prozess danach fortgeführt oder im Trefferfall abgebrochen werden.
Einrichtung der Compliance-Prüfungen in einem regelmäßigem Zeitintervall
Um Prüfungen nach einem festgelegten Zeitraum automatisiert zu wiederholen, können diese mithilfe eines Timers in einem regelmäßigen Zeitintervall im Hintergrund durchgeführt werden. Die Konfiguration erfolgt durch die Anlage eines neuen Timers vom Typ PROCESS
, der den Prozess C0ComplianceCheck
startet. Innerhalb des Timers können der Zeitpunkt sowie die Häufigkeit selbstständig definiert werden.
![image-20240514-062200.png](../../../__attachments/27297658/image-20240514-062200.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Anlage des Timers für die regelmäßige Compliance-Prüfung
Welche Geschäfts- und Ansprechpartner dabei geprüft werden sollen, kann über eine Suche gezielt definiert werden. Die zugrunde liegende Suche C0ComplianceTimer
befindet sich Prozess C0ComplianceCheck
. Bei der Suche handelt es sich um eine Ansprechpartnersuche, weil die Compliance-Prüfung technisch immer auf dem Default-Ansprechpartner erfolgt. Sollen beispielweise nur Geschäftspartner geprüft werden, muss die Suche mit entsprechenden Suchbedingungen angepasst werden. Prüfungsprotokoll und Status etc. werden dann auch automatisch auf dem mit dem Default-AP verknüpften Geschäftspartner gesetzt.
![image-20240514-062555.png](../../../__attachments/27297658/image-20240514-062555.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Prozess-Suche zur Definition der Suchkriterien
Globale Variablen
Die globalen Variablen bieten dem Kunden die komfortable und zeitsparende Möglichkeit, Anpassungen an den Modulprozessen vorzunehmen, um sie so an die eigenen Bedürfnisse anzupassen. Für den optimalen Einsatz sollten alle Variablen vor dem Betrieb überprüft und ggf. angepasst werden.
Die Variablen werden in der Regel mit Default-Werten ausgeliefert. Das Modul Compliance kann über nachstehende globale Variablen konfiguriert werden:
Anpassung | Variablenname | Default-Wert | Beschreibung |
---|---|---|---|
EMPFOHLEN | C0ComplianceGroup | ADMIN | Der Primärschlüssel der Rechte-Gruppe für die Compliance-Prüfung |
KEINE | C0ComplianceSchufaBaseUrl | Die Basis-URL zur Abfrage der Compliance bei der Schufa | |
OPTIONAL | C0ComplianceSchufaLists |
| Die zu nutzenden Compliance-Listen der Schufa
|
NOTWENDIG | C0ComplianceSchufaPass | Passwort zur Anmeldung an den Schufa Compliance-Service | |
NOTWENDIG | C0ComplianceSchufaUser | Username zur Anmeldung an den Schufa Compliance-Service | |
OPTIONAL | C0ComplianceCheckRestrictedAdhoc | false | Wenn true, dann ist die Adhoc Compliance-Prüfung nur für User in der ComplianceGroup erlaubt |