Inhaltsverzeichnis

    Workflow: Doppelte Kunden prüfen

    Die Idee zu diesem Workflow kam von Andreas Petermann von unserem Servicepartner css-umsetzung.de. Der Workflow belegte im Rahmen unserer Show-Me-Your-Workflow-Aktion zur JTL-Connect 2016 den dritten Platz.

    Ihre Aufgabe/Ausgangslage

    In der Regel möchten Sie pro Kunde immer nur einen Kundendatensatz in JTL-Wawi haben. Leider kann es immer wieder passieren, dass Bestandskunden in Ihrem JTL-Shop ohne Anmeldung bestellen, über Marktplätze Bestellungen tätigen oder auch bei der manuellen Eingabe übersehen werden. Für diesen Fall möchten Sie gerne einen Workflow einrichten, der bei Neuanlage eines Kunden prüft, ob dieser bei Ihnen bereits besteht.

    Workflow

    Sie richten nun einen Workflow ein, der bei Anlage eines Kunden überprüft, ob bereits ein Kunde vorhanden ist, der entweder 1. dieselbe E-Mail-Adresse hat, oder 2. dieselbe Telefonnummer hat oder 3. über die gleiche Anschrift und denselben Nachnamen verfügt. In allen drei Fällen soll ein Mitarbeiter eine E-Mail bekommen, in der sowohl der bestehende, als auch der neue Kundensatz steht.

    Schritt 1: Workflow anlegen

    1. Öffnen Sie in JTL-Wawi die Workflowverwaltung über das Menü Admin > JTL-Workflows. Wählen Sie dann in der Ereignisbereichsleiste das Ereignis Kunden.
    2. Markieren Sie im Fensterbereich der auslösenden Ereignisse den Eintrag Kunden > Angelegt und klicken Sie anschließend auf die Schaltfläche Workflow anlegen.
    3. Geben Sie dem Workflow einen Namen. Wählen Sie nach Möglichkeit einen prägnanten, erklärenden Namen, der auch die gewünschte Aktion miteinbezieht. Wir benennen den Eintrag in „Prüfung_Doppelter Kunde“.

    Schritt 2: Bedingung festlegen

    Der Workflow soll greifen, wenn ein Kunde neu angelegt wurde.

    1. Wählen Sie Neue Bedingung um eine Bedingung zu erstellen.
    2. Wählen Sie im linken Dropdown-Menü die Schaltfläche Erweiterte Eigenschaften verwalten. Es öffnet sich das Dialogfenster Erweiterte-Eigenschaften bearbeiten.
    3. Wählen Sie im linken Dropdown-Menü die Schaltfläche Erweiterte Eigenschaften verwalten. Es öffnet sich das Dialogfenster Erweiterte-Eigenschaften bearbeiten.
    1. Legen Sie über die Schaltfläche Hinzufügen eine Eigenschaft an und geben Sie ihr einen sinnvollen Namen, zum Beispiel „Doppelter Kunde“.
    2. Kopieren Sie das folgende Code Snippet von der Guide-Seite und fügen Sie es in den Arbeitsbereich des Dialogfensters ein.
    3. Sichern und schließen Sie das Dialogfenster über die Schaltfläche OK.
    {% capture query %}
    
    SELECT cKundenNr FROM Kunde.lvKundenDaten
    
    WHERE kKunde != {{ Vorgang.InterneKundennummer }}
    AND 
    (
        ( ISNULL(cMail,'') != '' AND  cMail = '{{ Vorgang.Adresse.EMail }}' )
        OR ( ISNULL(cTel,'') != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
        OR ( 
            (ISNULL(cName,'') != '' AND cName = '{{ Vorgang.Adresse.Nachname }}') 
            AND  (ISNULL(cOrt,'') != '' AND cOrt ='{{ Vorgang.Adresse.Ort }}')
            AND  (ISNULL(cPLZ,'') != '' AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
        )
    )
    
    {% endcapture -%}
    
    \
    {% assign result = query | DirectQueryScalar %}
    
    \
    {{ result }}
    Erklärung: Diese Abfrage überprüft, ob es einen bestehenden Kunden gibt, der dem neu angelegten Kunden entspricht. Dies wird anhand folgender Daten ermittelt: entweder ist die E-Mail-Adresse gleich oder die Telefonnummer oder Nachname, Postleitzahl und Ort. Ausgegeben wird von diesem Befehl dann die Kundennummer des bereits bestehenden Kunden. Andernfalls gibt der Befehl nichts aus. Natürlich können Sie auch die Anfrage beliebig anpassen oder erweitern.
    1. Wählen Sie im linken Dropdown-Menü im Auswahlmenü Erweiterte Eigeschaften > Doppelter Kunde, Ihre soeben angelegte Eigenschaft.
    2. Wählen Sie im mittleren Dropdown-Menü Ist nicht leer.

    Ihre fertige Bedingung sieht nun wie folgt aus.

    Schritt 3: Aktion festlegen

    1. Wählen Sie Neue Aktion um eine Aktion zu erstellen.
    2. Wählen Sie im Dropdown-Menü E-Mail senden aus.
    3. Tragen Sie dort die Firma, den Empfänger (der Mitarbeiter, der die Überprüfung durchführen soll) und einen Betreff an.
    4. Klicken Sie auf die Schaltfläche bei Text um Ihren Mailtext zu definieren.
    1. Kopieren Sie das folgende Code Snippet von der Guide-Seite und fügen Sie es in den Arbeitsbereich des Dialogfensters ein.
    2. Sichern und schließen Sie das Dialogfenster über die Schaltfläche OK.
    Hallo, 
    
    folgender Kunde wurde wahrscheinlich doppelt angelegt:
    
    Alter Kunde: {% capture query %}
    
    SELECT cKundenNr FROM Kunde.lvKundenDaten
    
    WHERE kKunde != {{ Vorgang.InterneKundennummer }}
    AND 
    (
        ( ISNULL(cMail,'') != '' AND  cMail = '{{ Vorgang.Adresse.EMail }}' )
        OR ( ISNULL(cTel,'') != '' AND cTel = '{{ Vorgang.Adresse.Telefon }}' )
        OR ( 
            (ISNULL(cName,'') != '' AND cName = '{{ Vorgang.Adresse.Nachname }}') 
            AND  (ISNULL(cOrt,'') != '' AND cOrt ='{{ Vorgang.Adresse.Ort }}')
            AND  (ISNULL(cPLZ,'') != '' AND cPLZ = '{{ Vorgang.Adresse.PLZ }}')
        )
    )
    {% endcapture -%}
    
    \
    {% assign result = query | DirectQueryScalar %}
    
    \
    {{ result }}
    Neuer Kunde: {{ Vorgang.Kundennummer }}
    
    Viele Grüße

    Ihr fertiger Workflow sieht nun wie folgt aus.

    So werden dem Mitarbeiter automatisch die Kundennummer des bestehenden und des neuen Kunden mitgeteilt.

    Schritt 4: Workflow testen

    1. Schließen Sie die Workflowverwaltung und testen Sie den Workflow, indem Sie einen Testkunden anlegen, bei dem beispielsweise die E-Mail-Adresse mit der eines bestehenden Kunden übereinstimmt.
    2. Prüfen Sie die E-Mails in der angegeben E-Mail-Adresse.
    Hinweis Kunden zusammenführen: Den doppelten Kundensatz können Sie nun über die Kundenverwaltung zusammenführen. Lesen Sie dazu das Thema: Kunden zusammenführen.