Smarte Adress-Validierung in Salesforce via Clicks - Not Code

In Teil 1 haben wir evaluiert, was uns die Standard Funktionalität an Möglichkeiten zur Adressvalidierung gibt. Außerdem haben wir die Auswahlliste für Bundesstaat und Land/Region eingerichtet (Schritt 1) und erste Anpassungen am Account vorgenommen (Schritt 2). Heute wollen wir die benutzerdefinierten Metadaten erstellen, sowie Flows & Prozesse einrichten.

Benutzerdefinierte Metadaten-typen einrichten

Diese Architektur werden wir ein wenig erweitern: Wir legen einen benutzerdefinierten Metadaten Typ (Custom Metadata Type) für das Land (Masterdatensatz) an und einen für Postleitzahlen (Zuordnung). In der Lösung, welche wir nun aktualisieren, wurde ein benutzerdefiniertes Objekt für die Zuweisung von Land, Stadt und Postleitzahl angelegt.

Was sind Typen für benutzerdefinierte Metadaten?

Mit Typen für benutzerdefinierte Metadaten kann man Konfigurationsdaten speichern. Das klingt für viele jetzt erst mal kryptisch. Der Versuch einer verständlichen Erklärung: Hier kann man Referenzdaten erstellen, welche bestimmte Vorgänge innerhalb einer Salesforce App oder Salesforce Instanz regeln.

3. Der Masterdatensatz für das Land

Zunächst erstellen wir einen Metadaten Typ für Land und Ländercode.

Auf den ersten Blick scheint es etwas überflüssig, Land und Postleitzahl in 2 verschiedene Metadaten Typen aufzuteilen. Allerdings gibt es viele Szenarien, in denen dieser hilfreich ist und wieder benutzt werden kann, z. B. um Probleme bei der Zuordnung der Werte aus der Auswahllisten für Bundesstaat und Land/Region zu beheben, spezifische Zuordnungen von Vertriebsteams oder weitere länderbasierte Validierungen, wie z. B. Telefonvorwahlen.

Erstellung und Datenimport

Im Salesforce Setup erstellen wir den benutzerdefinierte Metadaten Typ Länderspezifische Daten und legen ein Feld Ländername sowie ein Feld Ländercode an.

Anschließend exportieren wir die aktiven Werte der Auswahllisten für Bundesstaat und Land/Region und importieren sie dann mit dem CustomMetadataloader.

4. Zuordnungsdatensätze für Postleitzahl

Für die Postleitzahlen haben wir jetzt 2 Möglichkeiten: entweder wir migrieren unser bereits existierendes benutzerdefiniertes Objekt zum Custom Metadatatyp oder wir legen es manuell an und importieren die Feldwerte.

Da wir weit über 10.000 Postleitzahl-Datensätze und nur 3 benutzerdefinierte Felder haben, legen wir den Metadaten Typ manuell an und exportieren/importieren dann die Zuordnungs-Datensätze.

Zuvor legen wir aber bereits ein Feld für die Verknüpfung zum Länderspezifische Daten Metadaten Typ an.

Die tabellarische Vorlage für die Importdatei sieht dann folgendermaßen aus:

HILFSFELDER AM ACCOUNT

Zur Speicherung der „die Postleitzahl stimmt“ Validierung benötigen wir nun ein Hilfsfeld am Account. Dazu legen wir 2 Checkbox Felder an, welche wir „Valide PLZ Rechnungsadresse“ und „Valide PLZ Lieferadresse“ nennen, zudem je ein Rich Text Area Feld, in welches wir die Validierungsmeldung schreiben (Info Rechnungsadresse und Info Lieferadresse).

5. Flow erstellen

Es gibt nun mehrere Möglichkeiten, falscher Land-Stadt-Postleitzahl-Kombinationen und entsprechend sollte ein akkurater Hilfstext ausgegeben werden.

  Fall Output
1 Postleitzahl existiert, passt zu Stadt/Ort & vice versa Valide Adresse
2 Postleitzahl existiert, Stadt ist leer Info, dass die Adresse nicht valide ist + Vorschlag Stadt
3 Postleitzahl existiert, passt nicht zu Stadt/Ort & vice versa Info, dass die Adresse nicht valide ist + Stadt/Ort zur Postleitzahl + Postleitzahl zu Stadt/Ort
4 Postleitzahl existiert, passt zu mehreren Orten Info, dass die Adresse nicht valide ist + Postleitzahl zu Stadt/Ort + Liste Orte
5 Stadt existiert, Postleitzahl ist leer Warnung + Vorschlag Postleitzahl
6 Weder Postleitzahl noch Stadt gefunden Info, dass die Adresse nicht valide ist

Beim Flow an sich beginnen wir mit den einfachsten Varianten: Übereinstimmung oder keine Übereinstimmung. 

Zum Abfragen der Metadata Typen suchen wir zu nächst mit der Postleitzahl nach passenden Ergebnissen, sonst überschreiten wir die Flow-Limits. Um den Screenshot noch übersichtlich zu halten ist hier die Validierung nach der Stadt (wenn die Postleitzahl keine Treffer liefert) noch ausgelassen.

Im Loop fragen wir ab, ob einer der Metadaten Datensätze eine Übereinstimmung liefert und speichern entsprechende Texte in Variablen. Anschließend aktualisieren wir den Account.

6. Prozess erstellen

Zum Starten des Flows benötigen wir einen Prozess.

(Denkbar wäre auch, den Flow als Screen Element anzulegen und auf Datensätzen mit invaliden Adressen anzuzeigen und sich so das Info-Feld zu sparen, aber aus Performance-Gründen haben wir uns dagegen entschieden.)

Der Prozess feuert, wenn ein neuer Datensatz angelegt wird und wenn Land, Postleitzahl oder Stadt geändert werden und löst dann den Flow aus. Dabei werden die relevanten Adress-Informationen an den Flow übergeben. 

7. Der Output

Am Account erhalten wir dann die aktualisierten Informationen. Für eine korrekte Adresse würde das folgendermaßen aussehen:

Viel interessanter ist jedoch der Output, wenn die Rechnungsadresse nicht validiert werden konnte:

 … to be continued

Im nächsten Teil modifizieren wir den Prozess dann so, dass er auch für mehrere Objekte - und vor allem benutzerdefinierte Objekte - funktioniert.

Ressourcen

Zurück zur Artikelübersicht
Topics
Relevante Seiten

Teilen Sie diesen Artikel