Postleitzahlen, Ortsteile, Straßen, Länderschlüssel
Grundlagen
Unter diesen Menüpunkten können Merkmale einer Adresse erfasst werden.
Abbildung: Relevanter Abschnitt im Administration-Menü
Um ein Nachschlagen zu ermöglichen, muss ein Adressdatenbestand, d.h. Straßen- und Ortsteile-Entitäten, vorhanden sein. Über das Administrationsmenü besteht die Möglichkeit, neue Entitäten anzulegen.
Postleitzahlen
Neuanlage einer Postleitzahl erfolgt intuitiv. Falls eine Postleitzahl im System bereits erfasst ist, erscheint sie im Feld PLZ mit dem Ort.
Abbildung: Neuanlage einer Postleitzahl
Das Postleitzahlenfeld ('PLZ) ist ein Picklistenfeld. Eine genaue Auflösung des ZipCode-Datensatzes ist nicht möglich. Das betrifft alle Picklistenfelder.
Picklistenfelder speichern in der Datenbank den Schlüsselwert und nicht den Primärschlüssel der Schlüsselentität. D. h. Es wird die PLZ '35418' in der Datenbank gespeichert und nicht der dazugehörige Pk. Wenn nun mehrere Datensätze in der Postleitzahlentabelle mit dem Wert '35418' existieren, so wird irgendeiner dieser Datensätze gefunden und geladen.
Liste aller Picklistenfelder:
SELECT * FROM attributemetadata WHERE lookuppicklistfield = 1
Um das Problem zu lösen, muss man die Adress-Maske wieder auf den alten Stand zurücksetzen bzw. korrigieren. Im EVI Standard wird das Feld 'Ort' beim Ändern des Postleitzahlenwertes automatisch gefüllt. Das Beschreibungsfeld zur PLZ ist ausgeblendet und stattdessen wird dort das Ortsfeld angezeigt.
Abbildung: Validierung einer Postleitzahl, die mit 3539 beginnt.
Ortsteile
'Ortsteil' ist ein Picklistenfeld. Bei der Anlage einer Adresse kann ein Ortsteil abhängig von dem Länderschlüssel und der Postleitzahl eingetragen werden. Der Validierungsvorgang (von PLZ nach Straße) berücksichtigt die eventuell zuvor eingetragenen Werte und zeigt eine selektierte Auswahl an.
Wählen Sie einen Ortsteil aus der Liste aus und bestätigen Sie mit Ok. Somit kann sicher gestellt werden, dass ein Ortsteil aus der Tabelle übernommen wird.
Klicken Sie auf den Schalter [WERT] verwenden, wenn Sie sicher sind, dass es einen Ortsteil gibt, obwohl dieser Wert in der Tabelle nicht vorkommt.
Des Weiteren besteht die Möglichkeit, einen bestimmten Wert zu suchen, indem man die Lookup-Suche (Schalter Neu Suchen) nutzt. Bei der Übernahme besteht keine Prüfung ob der ausgewählte Wert zu der PLZ bzw. zum Länderschlüssel passt.
Abbildung: Suchmaske Ortsteile
Straßen
Straße ist ein Picklistenfeld. Bei der Anlage einer Adresse kann eine Straße abhängig von dem Länderschlüssel und der Postleitzahl eingetragen werden. Der Validierungsvorgang berücksichtigt die eventuell zuvor eingetragenen Werte und zeigt eine selektierte Auswahl an.
Abbildung: Nachschlagen Straße
Wählen Sie eine Straße aus der Liste aus und bestätigen Sie mit Ok. Somit kann sicher gestellt werden, dass eine Straße aus der Tabelle übernommen wird.
Klicken Sie auf den Schalter [WERT] verwenden, wenn Sie sicher sind, dass es eine Straße gibt, obwohl dieser Wert in der Tabelle nicht vorkommt.
Länderschlüssel
'Land' ist ein Nachschlagefeld. Es können nur Länderschlüssel eingetragen werden, die in der Tabelle definiert sind. Alternativ steht ein Leerschlüssel zur Verfügung.
Abbildung: Nachschlagen Land
Darstellung ausländischer Adressen
Die zusammengesetzten Adressen im CRM werden über ein groovy-Skript aus dem Adressdatensatz erstellt. Die groovy-Skripte ersetzten die ursprünglich fest programmierte Anwendungslogik. In den Erweiterten Einstellungen (Anwendnungsvariablen) können pro Länderschlüssel (Primärschlüssel) eigene spezifische Logiken für die Adressgenerierung hinterlegt werden.
Im Standard ist das groovy-Skript für den deutschen Länderschlüssel und ein Beispiel für das amerikanische Adressformat hinterlegt. Für weitere Länderschlüssel müssen eigene Skripte hinterlegt werden. Die Anwendungsvariable aus dem Standard kann übersteuert und kundenspezifisch angepasst werden.
Skript für die deutsche Adressgenerierung
String composedAddress = "";
if (isPOBox) {
composedAddress += coNameFields;
composedAddress += concat(poBoxTerm, " ") + street + "\r\n";
composedAddress += concat(country, " - ") + concat(zip, " ") + concat(city, " ") + concat("- ", district);
} else {
composedAddress += coNameFields;
composedAddress += concat(street, " ") + streetNumber + concat(" ", streetNumberAddition) + "\r\n";
composedAddress += concat(country, " - ") + concat(zip, " ") + concat(city, " ") + concat("- ", district);
}
return composedAddress;
Im Skript werden zwischen Postfach-Adressen und Straßen-Adressen unterschieden. Die einzelnen Adresswerte stehen als Variablen im Skript zur Verfügung. Zur Ergänzung von Leerzeichen oder Satzzeichen steht die Methode concat(String, String)
zur Verfügung. Diese Methode stellt sicher, dass die Zusatzzeichen nur dann ergänzt werden, wenn die Adresswerte gefüllt sind.
isPOBox - Ist
true
für Postfach-Adressen,false
für Straßen-AdressenpoBoxTerm - Der Postfach-Name festgelegt im Feld Postfach im Länderschlüssel
country - Die Langbezeichnung des Landes.
countryKey - Der Länderschlüssel des Landes.
isForeignCountry - kann zum Unterdrücken von Werten genutzt werden (z. B. Länderschlüssel soll nur für fremde Länder ausgegeben werden)
state - Das Bundesland oder Kanton. Für amerikanische Adressen ist das Kürzel des Staates notwendig.
zip - Die Postleitzahl
city - Der Ort
district - Der Ortsteil
street - Der Straßenname
streetNumber - Die Hausnummer
streetNumberAddition - Der Hausnummer-Zusatz