Database Reference
In-Depth Information
In
Mapping 1
sind die Transformationsregeln für die Kundendaten von AutoMysel umzu-
setzen. Abbildung 8.7 zeigt die fertig konigurierte Komponente. Eine wesentliche Aufgabe
in
Mapping 1
ist das Aufsplitten des Quellattributes „IN_M_Kunden.Adresse“ auf die Zie-
lattribute „OUT_M_Kunden.PLZ“, „OUT_M_Kunden.ORT“ und
„OUT_M_Kunden.Strasse“.
Im Vorfeld wurde durch eine Untersuchung der existierenden Einträge festgestellt,
dass diese nach einem einheitlichen Muster aufgebaut sind.
[PLZ] [Ort], [Strasse inkl. Hausnummer]
Damit ist es hier relativ einfach, die zusammengesetzten Werte mit Hilfe der Java
String-Funktion
substring(StartIndex, EndIndex)
aufzuteilen. In der Realwelt wird dies
eher selten der Fall sein, so dass komplexere Funktionen erstellt werden müssen.
Das Aufsplitten startet mit der Postleitzahl, die durch die ersten fünf Zeichen des Adress-
Strings abgebildet wird. Für das Zielattribut
PLZ
werden daher jeweils die ersten fünf Zei-
chen extrahiert. Hierfür muss an die Funktion
substring
der Startindex mit dem Wert „0“
und der Stopindex mit dem Wert „5“ angegeben werden.
IN_M_Kunden.Adresse.substring(0, 5)
Der „Ort“ folgt auf die PLZ, so dass im nächsten Schritt der Startindex „6“ zu verwenden
ist. Die Trennung zwischen den Ortsangaben und der Straße mit Hausnummer erfolgt mit
einem „,“. Mit Hilfe der
indexOf(String)
Funktion wird Position des „,“ ermittelt und die
Zeichenkette, die bis zum Komma reicht, wird als Ort interpretiert.
IN_M_Kunden.Adresse.substring(6, IN_M_Kunden.Adresse.indexOf(",")-1)
Die letzten Zeichen im Attribut
IN_M_Kunden.Adresse
beinhalten Straße und Hausnum-
mer und können für das Zielattribut
Straße
verwendet werden. Mittels
substring()
wird der
String nun ab dem übernächsten Zeichen nach dem Komma bis zum Ende zurückgegeben.
IN_M_Kunden.Adresse.substring(IN_M_Kunden.Adresse.indexOf(",")+2)
Für das weitere Mapping sind keine zusätzlichen Transformationen erforderlich. Das Quel-
lattribut
IN_M_Kunden.Telefon
enthält die Festnetznummer des Kunden von AutoMysel
und kann somit 1:1 dem Zielattribut
Telefon_fest
zugeordnet werden. Das Zielattribut
Te-
lefon_mobil
hat keine Korrespondenz in der Quelle, so dass der Defaultwert „NN“ für al-
le Datensätze vergeben wird. Ähnlich wie das Zielattribut
Telefon_mobil
ist das Attribut
Mailadresse
zu behandeln. Da aus der Quelle kein Attribut ermitteln werden konnte, kann
dem Attribut
Mailadresse
kein Quellattribut zugeordnet werden. Leider kann dem Attribut
Mailadresse
kein Defaultwert vergeben werden, denn für dieses Attribut gilt eine
Unique
-
Einschränkung. Da das Zielsystem dies erlaubt, werden stattdessen Null-Werte übergeben.
Zuletzt wird das Attribut
LKP_SourceDB
, welches zur Identiikation der Datenherkunft
dient und im weiteren Verlauf benötigt wird, dem Datenstrom hinzugefügt. Für die Da-
ten aus AutoMysel wird das Kürzel „M“ verwendet, das jedem Datensatz für Identiikati-
onszwecke hinzugefügt wird. Falls diese Konstante bereits bei der Erzeugung der Lookup-
Tabelle in der SQL-Abfrage dem Datenstrom hinzugefügt wurde, entfällt dieser Schritt hier.